Перейти к содержанию

Известные проблемы

Перестала работать синхронизация с Exchange после обновления до версии 1.24

  1. На машине с установщиком откройте для редактирования файл $DEPLOYER_HOME/configs/rimap/zubr/picker-zubr.yaml, где $DEPLOYER_HOME — папка в которую распаковывался установщик. Например, /home/deployer:

    vim /home/deployer/configs/rimap/zubr/picker-zubr.yaml
    
  2. Добавьте сервис - 94 # arbuzapi в раздел:

    constructor:
        services:
    

    Общий вид раздела после изменения:

    services:
        - 12 # MEMC_NEWMAIL
        - 25 # ADDRBOOK
        - 36 # autoreply_limiter
        - 37 # PDD
        - 41 # RIMA
        - 46 # IRINA
        - 57 # SPAMABUSE
        - 62 # DOMEN
        - 64 # HERMES
        - 76 # RICO
        - 94 # arbuzapi
        - 103 # USPATH 2
        - 108 # XTAZIK
        - 130 # RIMAP-API
    
  3. В веб-интерфейсе установщика Почты перейдите на вкладку AdminPanel.

  4. Для всех контейнеров вида picker* выполните шаг up_container.

При запуске установщика выдалась ошибка no such file or directory

Это не ошибка, а предупреждение о том, что файлов нет, так как их действительно пока еще нет (не сформировались). Не обращайте внимание, это нормально.

После запуска установщика в веб-браузере отображается «Не удается получить доступ к сайту»?

Убедитесь, что firewall отключен.

Не проходит первая авторизация в панели администратора после установки Почты

При попытке залогинится в панель администратора под пользователем admin@admin.qdit после установки Почты возникает сообщение "Неверный пароль, попробуйте еще раз"

fmail

  1. Перепроверить, что пароль скопирован верно.

    Пароль находится в файле bizOwner.pass, файл расположен в директории с установщиком Почты onpremise-deployer_linux. Например, если установка происходила под пользователем deployer, проверить пароль можно, используя команду:

    cat /home/deployer/bizOwner.pass
    
  2. В веб-интерфейсе установщика перейти на вкладку AdminPanel

  3. Найти в списке контейнеров fmail1 и нажать на значок шестеренки справа от названия контейнера

    fmail

  4. Запустить выполнение шага get_biz_owner

    HowToFixWrongPasswordForAdmin

  5. Поcле того как шаг get_biz_owner будет выполнен, скопировать новый пароль из файла bizOwner.pass.

Не работает вход от имени пользователя у администратора

У администратора есть возможность выполнить вход в аккаунт пользователя от его имени. Это действие не требует знания пароля, оно выполняется анонимно.

Как правило, доступ к аккаунту пользователя необходим для выполнения каких-либо операций, связанных с поддержкой. Например, если пользователь случайно очистил содержимое корзины, и нужно восстановить удаленные письма.

Чтобы получить доступ к конкретному ящику, администратор использует опцию Войти как пользователь в профиле пользователя в административной панели. Доступ к ящику пользователя предоставляется по сгенерированной ссылке. При попытке воспользоваться этой ссылкой администратор может получить сообщение про неверный пароль.

Чтобы исправить ситуацию:

  1. В веб-интерфейсе установщика перейдите на вкладку AdminPanel..

  2. Найдите в списке контейнеров autogen-tar1 и нажмите на значок шестеренки справа от названия контейнера.

    autogen-tar1

  3. Запустите выполнение шага init_autogen_tokens.

    autogen-tokens

Не удается зайти в Почту, на экране отображается колесо (буква С градиентом)

интерфейс не прогружается

Последовательность действий

  1. Проверьте, что сертификаты и DNS в порядке.

  2. Проверьте наличие ошибок в консоли браузера (инструменты разработчика, Development Tools).

    Вероятные ошибки: «ошибка загрузки login.css - 404 not found».

  3. Выполните up_container для контейнера img1:

    1. В веб-интерфейсе установщика Почты перейдите на вкладку AdminPanel.
    2. Найдите в списке контейнеров img1 и нажмите на значок шестеренки справа от названия контейнера.
    3. Выполните шаг up_container.

Установщик не может получить доступ до гипервизора

При кластерной установке после добавления гипервизора в установщике может появиться ошибка: установщик не может получить доступ до гипервизора по ssh. Это может произойти из-за того, что автоматически выбранная сетевая маска не покрывает все узлы или соединение между машинами работает по конкретному сетевому интерфейсу.

Чтобы исправить проблему:

  1. В веб-интерфейсе установщика перейдите на вкладку AdminPanel.
  2. Найдите проблемный гипервизор и нажмите на значок шестеренки справа от названия.
  3. На странице гипервизора еще раз нажмите на значок шестеренки.

    up_haproxy_pg

  4. В поле Интерфейс для межсерверного взаимодействия выберите сетевую маску, по которой установщик сможет получить доступ по SSH к гипервизору.

    up_haproxy_pg

  5. Нажмите на кнопку Обновить.

Установка зависла, и нет явной ошибки в логах

  1. Зафиксировать имя сервиса, на котором зависла установка (далее «целевой сервис»)

    Найти такой сервис можно, например, в веб-интерфейсе установщика, посмотрев, установка какого сервиса находится в статусе in progress.

    Также определить, на каком шаге зависла установка, можно по логам установщика. Для просмотра логов используйте следующую команду:

    sudo journalctl -fu deployer
    
  2. Проверить, какие сервисы еще не запустились и могут препятствовать установке целевого сервиса:

    sudo systemctl | grep onprem | grep -v running
    
  3. Проверить, какие сервисы необходимы для установки целевого сервиса. Убедиться, что незапущенные сервисы с предыдущего шага препятствуют установке:

    sudo cat /etc/systemd/system/<целевой сервис> | grep <незапущенный сервис>
    Wants=<название незапущенного сервиса>
    After=<название незапущенного сервиса>
    
  4. Устранить причину сбоя незапущенного сервиса.

Ниже приведен пример для случая, когда зависла установка сервиса 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'ов на виртуальной машине:

sudo docker rm $(docker ps -a | grep data-container | awk {'print $1'})

Не завершается установка обновлений

Процесс установки обновления доходит до определенного этапа, после чего останавливается. Перезапуск автоматической установки, отдельный запуск шага, отмеченного красным цветом в веб-интерфейсе установщика, не дают результата.

ошибка установки обновления

Один из самых распространенных сценариев — проблемы на шаге генерации контейнеров. В 99% случаев не запускаются какие-то из уже установленных контейнеров. Соответственно, следует начать с их починки и запуска.

Для просмотра логов установщика используется команда:

sudo journalctl -fu deployer

Что исследовать?

  1. Получить список всех не запущенных контейнеров:

    sudo systemctl | grep onpremise | grep -v running
    
  2. Найти контейнеры со статусом auto-restrating.

    У этих контейнеров, как правило, более высокий приоритет на запуск, поэтому они тормозят запуск всех остальных контейнеров.

  3. Посмотреть логи конкретного контейнера

    sudo journalctl -eu 'имя контейнера'
    

Один из вариантов решения — удалить контейнер, чтобы systemd его пересоздал.

sudo docker rm имя контейнера

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.

Последовательность действия для устранения ошибки:

  1. Проверить какие БД в read_only (проверяем по master)

    cat /home/deployer/main.yaml | egrep "mysql.*db:$" -A 5 | grep master | awk -F ":" '{print $NF}' | xargs -I % sh -c "echo DB=%; docker exec % mysql -uroot -e 'SELECT @@global.read_only;'"
    
  2. Снять read_only на master

    cat /home/deployer/main.yaml | egrep "mysql.*db:$" -A 5 | grep master | awk -F ":" '{print $NF}' | xargs -I % sh -c "echo DB=%; docker exec % mysql -uroot -e 'UNLOCK TABLES; SET GLOBAL read_only=OFF;’"
    

Почта не доходит до сервера

Проверить состояние и логи контейнера pub-mx.

Запущенный на машине Postfix – одна из возможных причин, почему контейнер pub-mx не стартует. Соответственно, Postfix нужно остановить и отключить.

systemctl disable postfix
systemctl stop postfix
systemctl mask --now 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, и в меню «Создать» не хватает кнопок

не хватает кнопок

  1. В интерфейсе установщика перейти на вкладку AdminPanel.
  2. Найти в списке контейнеров mailetcd и нажать на значок шестеренки справа от названия контейнера.
  3. Выполнить шаг lightning_etcd_settings.
  4. Найти следующие контейнеры и выполнить для каждого из них команду up_container:

    • fcloud
    • beaver
    • lightning1
  5. Найти в списке контейнеров cld-docs и нажать на значок шестеренки справа от названия контейнера.

  6. Выполнить шаг upload_file_templates.

См. также Ошибка CE_BADBLOB при создании файла в облаке

Не создается или не включается сборщик почты

Проблема может воспроизводить при миграции, например при миграции с MS Exchange.

Симптомы

В логах контейнера biz-celery-worker-pdd*:

{"email":"user@vk.tech","status":400,"htmlencoded":true,"body":{"collect[0].server":
{"value":"exchange.vk.tech","error":"invalid"},"collect[0].port":{"error":"invalid","value":993},
"collect[0].ssl":{"value":true,"error":"invalid"}}})

В логах контейнера mpop*:

2024-09-06T14:54:48.902 E 12345 @ abcdef0123 >>> Connection error: server: exchange.vk.tech  port: 993  ssl: 1

Решение

  1. Перейдите в веб-интерфейс установщика http://server-ip-address:8888/.
  2. Перейдите в раздел Настройки -> Интеграции -> Сборщик почты.
  3. Нажмите кнопку редактировать edit_icon.
  4. Нажмите на кнопку + Добавить.
  5. В появившемся поле введите адрес вашего exchange. Например: exchange.vk.tech.
  6. Нажмите на кнопку Сохранить.
  7. Перейдите на вкладку AdminPanel и запустите автоматическую установку.

    img

  8. Подтвердить запуск автоматической установки, нажав на кнопку Запустить во всплывающем окне.

Дождитесь окончания установки.

Ошибка refused local port forward

Симптомы

В логах установщика выводится ошибка:

2024-10-03T12:53:06.119295+03:00 m-mail sudo[26695]: deployer : TTY=pts/3 ; PWD=/home/deployer ; USER=root ; COMMAND=/bin/echo ok
2024-10-03T12:53:06.129066+03:00 m-mail sudo[26695]: pam_unix(sudo: session): session opened for user root(uid=0) by deployer(uid=1007)
2024-10-03T12:53:06.130101+03:00 m-mail sudo[26695]: pam_unix(sudo: session): session closed for user root
2024-10-03T12:53:06.700493+03:00 m-mail sshd[4840]: refused local port forward: originator 0.0.0.0 port 0, target 10.132.65.24 port 2379

Решение

Ошибка возникает в случае, если в настройках SSH на машине не разрешен TCP Forwarding. Чтобы изменить настройку TCP Forwarding, в файле /etc/ssh/sshd_config установите следующее значение:

AllowTcpForwarding yes

Если ошибка была найдена во время установки Почты, то после изменения файла /etc/ssh/sshd_config перезапустите установщик, чтобы он сбросил активные ssh подключения:

sudo systemctl restart deployer

ICS файлы не обрабатываются Календарем

Чтобы файлы с расширением .ics корректно обрабатывались Календарем, нужно настроить отправку уведомлений под пользователем отличным от admin@admin.qdit:

  1. Перейдите в панель администратора по адресу biz.<mail_domain>.
  2. Перейдите в раздел Почта -> Настройки.
  3. Переключитесь на вкладку Письма календаря.
  4. В поля Логин для SMTP и Email отправителя писем введите адрес пользователя, от имени которого будут отправляться письма-уведомления.

    img

  5. Нажмите кнопку Сохранить.

Ошибка в контейнере addrbook-tar1.service при установке Почты 1.20.2

Симптомы

При попытке установки VKWorkMail 1.20.2 происходит ошибка контейнера onpremise-container-addrbook-tar1.service. В логах dmesg в момент воспроизведения проблемы присутствуют ошибки:

cali0: renamed from temp6ccdc4087c0
docker-entrypoi[732625] vsyscall attempted with vsyscall=none ip:ffffffffff600400 cs:33 sp:7ffd3bb7fe68 ax:ffffffffff600400 si:7ffd3bb81daf di:0
docker-entrypoi[732625]: segfault at ffffffffff600400 ip ffffffffff600400 sp 00007ffd3bb7fe68 error 15 likely on CPU 28 (core 0, socket 56)
Code: Unable to access opcode bytes at 0xffffffffff6003d6.

Решение

  1. Добавьте в файл /etc/default/grub строку:

    vsyscall=emulate
    
  2. Перезагрузите операционную систему.