Всем доброго времени суток!
Предыстория такова: по-наследству в администрирование достался почтовый сервер 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:
root@zbs:/# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.2 LTS"
Как можно решить данную проблему? Заранее спасибо за любую помощь.