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

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

Не работает SSO после обновления до версии 1.24.3

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

  1. Проверьте наличие закрывающего символа ; в конфигурационном файле $DEPLOYER_HOME/configs/swa/nginx/auth.mail.ru.conf, где $DEPLOYER_HOME — папка в которую распаковывался установщик. Например, /home/deployer:

    {{- if .products.sso }}
    ...
            location ~ ^/sso/clauth/?$ {
                ...
                proxy_set_header X-Real-IP   $x_k8s_real_ip; // Эта строка должна заканчиваться на ;
            }
    
  2. Перейдите в веб-интерфейс установщика.

  3. Перейдите в раздел Настройки -> Настройки компонентов -> Авторизация.
  4. Нажмите кнопку редактировать edit_icon.
  5. Включите опцию Включить систему ограничения SSO-авторизации по IP/группе в LDAP.

    autogen-tokens

  6. Нажмите Сохранить.

Перестала работать синхронизация с 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.

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

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

    vim /home/deployer/configs/rimap/envoy/envoy-rimap.yaml
    
  2. В раздел static_resources добавьте следующие разделы:

    static_resources:
      listeners:
        {{- genEnvoyTarListener "mfiledb" "127.0.77" false }}
        {{- genEnvoyTarListener "mpairdb" "127.0.79" false }}
      clusters:
        {{- genEnvoyTarCluster "mfiledb" "127.0.77" false }}
        {{- genEnvoyTarCluster "mpairdb" "127.0.79" false }}
    
  3. Откройте для редактирования файл $DEPLOYER_HOME/configs/rimap/zubr/zubr.yaml:

    vim /home/deployer/configs/rimap/zubr/zubr.yaml
    
  4. Обновите разделы services и variables:

    constructor:
        services:
            - 77 # FILEDB_NONCORP  
            - 79 # PAIRDB
    
        ...
    
        variables:
            filedb_noncorp_server:
            {{- range $k, $v := (index . "tarantool15::mfiledb").clusters }}
                - 127.0.77.{{$k}}:3301,127.0.77.{{$k}}:3401
            {{- end }}
            pairdb_noncorp_server:
            {{- range $k, $v := (index . "tarantool15::mpairdb").clusters }}
                - 127.0.79.{{$k}}:3301,127.0.79.{{$k}}:3401
            {{- end }}
    
  5. Выполните команду:

    sudo systemctl restart deployer
    
  6. В веб-интерфейсе установщика Почты перейдите на вкладку AdminPanel.

  7. По очереди выполните шаг up_container для всех контейнеров rimap*.

Некорректная конфигурация кластера БД после обновления до версии 1.24

Проблема может возникать для различных контейнеров с БД, рассмотри проблему на примере контейнера cinemadb*.

Если до обновления на версию 1.24 вы по каким-то причинам удаляли контейнеры cinemadb*, то после обновления возникают проблемы с нумерацией контейнеров, репликацией кластера и запуском сервисов.

Пример 1

До обновления вы по каким-то причинам удаляли контейнеры cinemadb2 и cinemadb3. И у вас остались контейнеры cinemadb1 и cinemadb4.

Решение

  1. Удалите контейнер cinemadb4.
  2. Переименуйте Volume в cinemadb2 с помощью команды:

    mv /opt/mail/dockerVolumes/cinemadb11 /opt/mail/dockerVolumes/cinemadb2
    
  3. В веб-интерфейсе установщика создайте новый контейнер cinemadb2.

Пример 2

После обновления у вас следующая нумерация контейнеров: cinemadb1, cinemadb11, cinemadb23.

Решение

  1. Предварительно запишите или запомните как собираетесь переименовать контейнеры cinemadb11 и cinemadb23. Например: cinemadb11 -> cinemadb2 и cinemadb23 -> cinemadb3.
  2. Остановите и удалите контейнеры cinemadb11 и cinemadb23. Если удалить только контейнер cinemadb23, то новый контейнер создастся с названием cinemadb12.
  3. В веб-интерфейсе установщика создайте новые контейнеры cinemadb2 и cinemadb3.
  4. Переименуйте Volume в cinemadb2 и cinemadb3 с помощью команд:

    mv /opt/mail/dockerVolumes/cinemadb11 /opt/mail/dockerVolumes/cinemadb2
    mv /opt/mail/dockerVolumes/cinemadb23 /opt/mail/dockerVolumes/cinemadb3
    
  5. Выполните шаг up_container для контейнеров cinemadb2 и cinemadb3.

При запуске установщика выдалась ошибка 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. Перезагрузите операционную систему.