Траблшутинг
Установка зависла, и нет явной ошибки в логах
-
Зафиксировать имя сервиса, на котором зависла установка (далее «целевой сервис»)
Найти такой сервис можно, например, в веб-интерфейсе установщика, посмотрев, установка какого сервиса находится в статусе in progress.
Также определить, на каком шаге зависла установка, можно по логам установщика. Для просмотра логов используйте следующую команду:
-
Проверить, какие сервисы еще не запустились и могут препятствовать установке целевого сервиса:
-
Проверить, какие сервисы необходимы для установки целевого сервиса. Убедиться, что незапущенные сервисы с предыдущего шага препятствуют установке:
-
Устранить причину сбоя незапущенного сервиса.
Ниже приведен пример для случая, когда зависла установка сервиса pub1:
sudo systemctl | grep onprem | grep -v running
onpremise-container-mailapi1.service loaded activating auto-restart Mail.Ru onpremise mailapi1 service
# видим, что не запустился сервис mailapi1
sudo cat /etc/systemd/system/onpremise-container-pub1.service | grep mailapi
# проверяем, что для продолжения установки pub1 должна завершить установка mailapi1
Wants=onpremise-container-mailapi1.service
After=onpremise-container-mailapi1.service
Если деплоер зависает на этапе запуска data-compose файла, то может помочь принудительное удаление data-container'ов на виртуальной машине:
Не завершается установка обновлений
Процесс установки обновления доходит до определенного этапа, после чего останавливается. Перезапуск автоматической установки, отдельный запуск шага, отмеченного красным цветом в веб-интерфейсе установщика, не дают результата.
Один из самых распространенных сценариев — проблемы на шаге генерации контейнеров. В 99% случаев не запускаются какие-то из уже установленных контейнеров. Соответственно, следует начать с их починки и запуска.
Для просмотра логов установщика используется команда:
Что исследовать?
-
Получить список всех не запущенных контейнеров:
-
Найти контейнеры со статусом auto-restrating.
У этих контейнеров, как правило, более высокий приоритет на запуск, поэтому они тормозят запуск всех остальных контейнеров.
-
Посмотреть логи конкретного контейнера
Один из вариантов решения — удалить контейнер, чтобы systemd его пересоздал.
Error 1290: The MySQL server is running with the --read-only option
Примечание
В командах ниже используется директория /home/deployer/
. Но если при установке Почты вы распаковали архив с дистрибутивом в другую директорию, корректно укажите ее в командах.
При установке обновлений в логах установщика:
deployer[377192]: [mirage1][add_profile_keys] add prfoile key <ParentEmail> fail: cant insert into 'mPOP.profile_keys':
[Error 1290: The MySQL server is running with the --read-only option so it cannot execute this statement]
В веб-интерфейсе установщика красным подсвечен контейнер mirage1.
Последовательность действия для устранения ошибки:
-
Проверить какие БД в read_only (проверяем по master)
-
Снять read_only на master
Ошибки с кодом 500
Не открывается веб-интерфейс Почты
Симптомы
- Веб-интерфес деплоера открывается
- Панель администратора открывается
- Почтовые ящики не открываются с ошибкой 500
Что исследовать?
Посмотреть состояние и логи контейнеров mpop и mailapi.
Последовательность действий
-
Запустить просмотр логов контейнера
-
Перезагрузить страницу почты в браузере.
- Проверить, какая информация запишется в логи.
Ошибка 500 при входе в Почту, и в логах сервиса swa есть ошибка типа Connection refused
Симптомы
В логах сервиса swa отображается информация, аналогичная приведенной ниже:
Sep 15 21:23:34 gpuat-front-02.novalocal onpremise-container-swa2[2445500]:
2023/09/15 18:23:34 [error] 22#0: *166 connect() failed (111: Connection refused) while connecting to upstream, client:
172.20.84.196, server: account.gpuat-mail.dev.onprem.ru, request: "GET /favicon.ico HTTP/1.0", upstream:
"http://127.0.0.1:8845/oldaccount", host: "account.gpuat-mail.dev.onprem.ru",
referrer: "https://account.gpuat-mail.dev.onprem.ru/login?page=https%3A%2F%2Fe.gpuat-mail.dev.onprem.ru%2Finbox&allow_external=1&from=octavius"
Что делать?
Удалить контейнеры swa-sota и перезапустить их:
for sota_container in $(docker container ls --filter name=swa-sota* | awk -F '[[:space:]][[:space:]]+' 'NR>1 {print $6}'); do
echo "Stopping container $sota_container"
docker container stop $sota_container
echo "Removing container $sota_container"
docker rm $sota_container
echo "Restarting service onpremise-container-$sota_container"
systemctl restart "onpremise-container-$sota_container"
done
Почта не доходит до сервера
Проверить состояние и логи контейнера pub-mx.
Запущенный на машине Postfix – одна из возможных причин, почему контейнер pub-mx не стартует. Соответственно, Postfix нужно остановить и отключить.
Пользователи загружены, но адресная книга пустая
Проверить tarantool'ы в abookpdd-tar
docker exec -it abookpdd-tar1 bash
tarantool -a 3303
lua box.space[0]:len()
lua for k, v in box.space[0]:pairs() do print(v) end
Не создается документ в VK WorkDisk, и в меню «Создать» не хватает кнопок
- В интерфейсе установщика перейти на вкладку AdminPanel.
- Найти в списке контейнеров mailetcd и нажать на значок шестеренки справа от названия контейнера.
- Выполнить шаг lightning_etcd_settings.
-
Найти следующие контейнеры и выполнить для каждого из них команду up_container:
- fcloud
- beaver
- lightning1
-
Найти в списке контейнеров cld-docs и нажать на значок шестеренки справа от названия контейнера.
- Выполнить шаг upload_file_templates.