02 февраля 2023, 14:39

Цитата дня:

Никогда не спорьте с дураком - люди могут не заметить между вами разницы.


Не запускается zmblobchk в Zimbra

Автор Se7enPRO, 10 октября 2022, 20:40

« предыдущая тема - следующая тема »

0 Пользователей и 1 Гость просматривают эту тему.

Вниз

Se7enPRO

Всем доброго времени суток!

Предыстория такова: по-наследству в администрирование достался почтовый сервер Zimbra. Одни из первых проблем, с которыми я столкнулся были быстрорастущие логи на системном разделе /dev/sda1, как в следствие работа почты тормозилась. Было проделано не мало шагов по уменьшению уровней логирования и их последующих ротаций, чтобы свободное место оставалось как можно дольше. Есть ещё проблема, для которой не могу найти решение: это пройтись командой zmblobchk для поиска писем, у которых нет вложений, но осталась ссылка. Логи в /opt/zimbra/log/mailbox.log показывают примерно следующие ошибки, которые появляются

2022-10-08 00:37:44,263 WARN  [Index-8] [name=spam.an5p4itehp@tds.loc;mid=3;] index - Unable to generate index data for Message 1040. Item will not be indexed.
com.zimbra.cs.mailbox.MailServiceException: No such blob: mailbox=3, item=1040, change=41037
ExceptionId:Index-8:1665167864263:412809711e2a7eb8
Code:mail.NO_SUCH_BLOB Arg:(itemId, IID, "1040") Arg:(ver, NUM, "41037")
        at com.zimbra.cs.mailbox.MailServiceException.NO_SUCH_BLOB(MailServiceException.java:339)
        at com.zimbra.cs.mailbox.MailItem.getBlob(MailItem.java:1368)
        at com.zimbra.cs.mailbox.MessageCache.fetchFromStore(MessageCache.java:338)
        at com.zimbra.cs.mailbox.MessageCache.getMimeMessage(MessageCache.java:173)
        at com.zimbra.cs.mailbox.Message.getMimeMessage(Message.java:472)
        at com.zimbra.cs.mailbox.Message.getParsedMessage(Message.java:1379)
        at com.zimbra.cs.mailbox.Message.generateIndexData(Message.java:1394)
        at com.zimbra.cs.mailbox.MailboxIndex.indexItemList(MailboxIndex.java:771)
        at com.zimbra.cs.mailbox.MailboxIndex.indexDeferredItems(MailboxIndex.java:408)
        at com.zimbra.cs.mailbox.MailboxIndex.access$600(MailboxIndex.java:86)
        at com.zimbra.cs.mailbox.MailboxIndex$BatchIndexTask.exec(MailboxIndex.java:1442)
        at com.zimbra.cs.mailbox.MailboxIndex$IndexTask.run(MailboxIndex.java:1421)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

Что пробовал сделать:
Как пользователь zimbra, я запускаю следующую команду:
zimbra@zbs:~$ zmblobchk --mailboxes 64 --export-dir /tmp --missing-blob-delete-item -v start
И отображается следующее сообщение:
[] INFO: Setting mysql connector property: maxActive=100
[] INFO: Setting mysql connector property: maxActive=100
java.lang.NullPointerException
        at com.zimbra.cs.stats.ZimbraPerf.addStatsCallback(ZimbraPerf.java:435)
        at com.zimbra.cs.db.DbPool.getPool(DbPool.java:309)
        at com.zimbra.cs.db.DbPool.getConnection(DbPool.java:335)
        at com.zimbra.cs.db.DbPool.getConnection(DbPool.java:322)
        at com.zimbra.cs.db.DbPool.waitForDatabase(DbPool.java:243)
        at com.zimbra.cs.db.DbPool.startup(DbPool.java:234)
        at com.zimbra.cs.store.file.BlobConsistencyUtil.run(BlobConsistencyUtil.java:200)
        at com.zimbra.cs.store.file.BlobConsistencyUtil.main(BlobConsistencyUtil.java:330)

И как следствие, не начинается поиск несуществующих blob-объектов для последующего их удаления.

Пробовал менять параметр "max_connections" в файле /opt/zimbra/conf/my.cnf, делал перезапуск mysql = не помогает.

В подтверждение работы БД MySQL (MariaDB), результат вывода следующей команды:
root@zbs:~# top | grep -i "mysql"
 3248 zimbra    20   0 1760368 782656  16588 S  6.2  9.6   7:57.44 mysqld

Версия Zimbra:
zimbra@zbs:~$ zmcontrol -v
Release 8.8.4.BETA.1158.UBUNTU16.64 UBUNTU16_64 FOSS edition.

Версия Ubuntu:
Код (shell) [Выделить]
root@zbs:/# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.2 LTS"

Как можно решить данную проблему? Заранее спасибо за любую помощь.

Уваров А.С.

А с чего вы взяли, что проблема именно в количестве соединений?

Так пробовали?

zmblobchk --export-dir /tmp --missing-blob-delete-item -v start

Должно проверить все ящики.

http://docs.zimbra.com/docs/ne/6.0.8/administration_guide/A_app-command-line.20.10.html


Se7enPRO

Извиняюсь за поздний ответ. Выдалось время только сегодня.
А с чего вы взяли, что проблема именно в количестве соединений?
Как "откуда"? Он же пишет:
[] INFO: Setting mysql connector property: maxActive=100
[] INFO: Setting mysql connector property: maxActive=100

maxActive=100. В связи с этим, я и предположил, что проблема может заключаться в этом, поэтому и попробовал подправить конфиг.
Так пробовали?

zmblobchk --export-dir /tmp --missing-blob-delete-item -v start
Попробовал. Ошибка вышла ровно такая же, как в первом сообщений, без каких-либо изменений.

Вверх