Известные проблемы
Не работает вход от имени пользователя у администратора
У администратора есть возможность выполнить вход в аккаунт пользователя от его имени. Это действие не требует знания пароля, оно выполняется анонимно.
Как правило, доступ к аккаунту пользователя необходим для выполнения каких-либо операций, связанных с поддержкой. Например, если пользователь случайно очистил содержимое корзины, и нужно восстановить удаленные письма.
Чтобы получить доступ к конкретному ящику, администратор использует опцию Войти как пользователь в профиле пользователя в административной панели. Доступ к ящику пользователя предоставляется по сгенерированной ссыле. При попытке воспользоваться этой ссылкой администратор может получить сообщение про неверный пароль.
Для того чтобы исправить ситуацию, необходимо выполнить следующие действия:
-
В веб-интерфейсе установщика перейти к списку контейнеров (вкладка AdminPanel)
-
Найти в списке контейнеров autogen-tar1 и нажать на значок шестеренки справа от названия контейнера.
-
Запустить выполнение шага init_autogen_tokens.
Не удается зайти в Почту, на экране отображается колесо (буква С градиентом)
Последовательность действий
-
Проверить, что сертификаты и DNS в порядке.
-
Проверить наличие ошибок в консоли браузера (инструменты разработчика, Development Tools).
Вероятные ошибки: «ошибка загрузки login.css - 404 not found».
-
Выполнить up_container для контейнера img1:
- В веб-интерфейсе установщика VK WorkMail перейти на вкладку AdminPanel
- Найти в списке контейнеров img1 и нажать на значок шестеренки справа от названия контейнера
- Выполнить шаг up_container.
Система не стартует, падает haproxy-pg
Симптомы
Не стартует контейнер onpremise-container-haproxy-pgN, N - номер контейнера.
В логах упоминается FD limit:
[ALERT] (1) : [haproxy.main()] Cannot raise FD limit to 120223, limit is 120082.
# первое число - значение, до которого пытаемся поднять лимит
# второе число - текущий лимит
Примечание
Числа в сообщении об ошибке могут быть разными.
Когда возникает
Ошибка может возникать при различных ситуациях: обновление до версии 1.13, установка версии 1.13, перезагрузка системы с установленной версией 1.13.
Последовательность действий для исправления ошибки
-
Перейти в папку, в которую производилась установка VK WorkMail.
-
Открыть для редактирования файл
configs/pg/roles.yaml
. -
Найти
ulimits
и увеличить до необходимого количества. -
Перезапустить установщик, выполнив команду:
bash sudo systemctl restart deployer
-
Выполнить шаг up_container для контейнера haproxy-pgN:
Ошибка слишком длинных имен сервера в nginx
Если используется слишком много имен серверов или эти имена слишком длинные то может возникать следующая ошибка:
could not build server_names_hash, you should increase server_names_hash_bucket_size: 64
Решение:
Увеличить значение параметра server_names_hash_bucket_size до 128 или 256 в настройках целевого nginx-a. По-умолчанию размер бакета равен 64.
Ошибка AIO для MySQL
Для ОС Astra Linux периодически возникает проблема с AIO для баз даныхх MySQL.
Решение:
for i in ls -1 /opt/mailOnPremise/dockerVolumes/**/mysql-conf.d/*cnf;
do echo "" >> $i; echo "innodb_use_native_aio = 0" >> $i; done
Базы данных перезапустятся сами.
В профилактических целях добавьте переменную innodb_use_native_aio = 0
в следующие контейнеры: bizdb, gravedb, mirage, seconddb, swadb, umi.
Ошибка Failed to create shim task
Может возникнуть в любом контейнере.
Ошибка:
Error response from daemon: failed to create shim task:
OCI runtime create failed: runc create failed: unable to start container process: error during container init: error running hook #0:
error running hook: exit status 1, stdout: , stderr: time="2023-05-24T13:24:04+03:00" level=fatal msg="failed to add interface temp8266b45f552 to sandbox:
error setting interface \"temp8266b45f552\" routes to [\"169.254.1.1/32\" \"fe80::7c5f:4cff:fe0c:99b6/128\"]: permission denied": unknown
Решение:
-
Проверить, что отключен ipv6:
-
Отключить ipv6 и перезапустить контейнеры, в которых возникла ошибка.
Ошибка при переполнении etcdserver: mvcc: database space exceeded
Может возникнуть во всех контейнерах связанных с etcd.
Диагностика:
docker exec -it -e ETCDCTL_API=3 infraetcd1 etcdctl endpoint status --write-out=table
docker exec -it -e ETCDCTL_API=3 infraetcd1 etcdctl alarm list
Ответ:
+----------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------------------------------+
| ENDPOINT | ID | VERSION | DB SIZE | IS LEADER | IS LEARNER | RAFT TERM | RAFT INDEX | RAFT APPLIED INDEX | ERRORS |
+----------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------------------------------+
| 127.0.0.1:2379 | 9cb9164b613d67b2 | 3.5.0 | 2.1 GB | true | false | 6 | 41175332 | 41175332 | memberID:11293082053618001842 |
| | | | | | | | | | alarm:NOSPACE |
+----------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------------------------------+
memberID:11293082053618001842 alarm:NOSPACE
Решение:
REVISION=$(docker exec -it -e ETCDCTL_API=3 infraetcd1 etcdctl endpoint status --write-out="json" | egrep -o '"revision":[0-9]*' | egrep -o '[0-9].*')
docker exec -it -e ETCDCTL_API=3 -e REVISION=$REVISION infraetcd1 etcdctl compact ${REVISION}
docker exec -it -e ETCDCTL_API=3 infraetcd1 etcdctl --command-timeout=5m defrag
docker exec -it -e ETCDCTL_API=3 infraetcd1 etcdctl alarm disarm
Ошибка keycloak: User with username 'mridme' already added
Решение:
-
Остановить keycloak:
-
Удалить файл
keycloak-add-user.json
: -
Запустить keycloak:
Ошибка связи fedman с другой установкой WorkMail
Решение:
-
Перейти в контейнер fedman:
-
Убедиться, что внутри контейнера не видно двух fedman'ов — есть только локальный fedman:
-
Остановить контейнер tnt-fedman и удалить его с содержимым:
-
В интерфейсе установщика запустить шаг up_container для контейнера tnt-fedman.
-
Остановить контейнер fedman и удалить его вместе с содержимым:
-
В интерфейсе установщика запустить шаг up_container для контейнера fedman.
-
Если пользователь добавлен в почту, но письма не отправляются, даже самому себе — проверить, есть ли он в базе данных tnt-fedman:
-
Если пользователя нет, то скорее всего нарушена репликация fedman. Нужно остановить fedman и удалить его вместе с содержимым:
-
В интерфейсе установщика запустить шаг up_container для контейнера fedman.
Ошибка nylon при кластерной установке
Ошибка:
Call to 'get_upload_pair' with '{"pair_type":"CLOUD","request_size":10903532,"req_id":"8xw2Thieg6","source":"cld-uploader1.qdit"}' failed with 'PairDB failed processing request: '{"status":"error","error_code":3,"error_desc":"Pair not found"}''
Диагностика:
Проверить s3pairdb:
Посмотреть есть ли следующие логи:
---
- 0
- #1 status:HOTBOX st1:172.20.2.207:80/1 st2:172.20.12.207:80/1 free:49820401664/49820381184 err:1970-01-01:00:00:00/1970-01-01:00:00:00 class:CLOUD karma:2 maintenance:1970-01-01:00:00:00
#2 status:HOTBOX st1:172.20.2.207:80/2 st2:172.20.1.207:80/2 free:49820401664/49820401664 err:1970-01-01:00:00:00/1970-01-01:00:00:00 class:CLOUD karma:2 maintenance:1970-01-01:00:00:00
#3 status:HOTBOX st1:172.20.1.207:80/3 st2:172.20.12.207:80/3 free:49820401664/49820381184 err:1970-01-01:00:00:00/1970-01-01:00:00:00 class:CLOUD karma:2 maintenance:1970-01-01:00:00:00
Решение:
Пометить каждую строку с помощью следующих команд:
lua pairdb.shell.run("mark", "1", "HOTBOX,REDUNDANT")
lua pairdb.shell.run("mark", "2", "HOTBOX,REDUNDANT")
lua pairdb.shell.run("mark", "3", "HOTBOX,REDUNDANT")
Ошибка CE_BADBLOB при создании файла в облаке
- В интерфейсе установщика перейти на вкладку AdminPanel.
- Найти в списке контейнеров cld-docs и нажать на значок шестеренки справа от названия контейнера.
- Выполнить шаг upload_file_templates.
См. также: Не создается документ в VK WorkDisk, и в меню «Создать» не хватает кнопок
Ошибка configure_replication_cluster
Симптомы
В логах установщика много ошибок вида:
окт 16 15:57:17 devqa-02 deployer[525686]: 2023/10/16 15:57:17 [rpopdb1][configure_replication_cluster] failed dump from master: error execute template to dump db from master: Process exited with status 2
окт 16 15:57:17 devqa-02 deployer[525686]: 2023/10/16 15:57:17 [gravedb1][configure_replication_cluster] failed dump from master: error execute template to dump db from master: Process exited with status 2
окт 16 15:57:17 devqa-02 deployer[525686]: 2023/10/16 15:57:17 [swadb1][configure_replication_cluster] failed dump from master: error execute template to dump db from master: Process exited with status 2
Есть проблема со следующими контейнерами:
Решение:
- В интерфейсе установщика перейти на вкладку AdminPanel.
- Найти в списке контейнеров все контейнеры вида bind*.
- Для каждого контейнера нажать на значок шестеренки справа от названия контейнера и выполнить шаг up_container.
- Найти в списке контейнеров все контейнеры вида consul*.
-
Внутри каждого контейнера выполнить следующие команды:
consul kv delete orchestrator/mysql/master/bibliodb/hostname consul kv delete orchestrator/mysql/master/bizdb/hostname consul kv delete orchestrator/mysql/master/fstatdb/hostname consul kv delete orchestrator/mysql/master/gravedb/hostname consul kv delete orchestrator/mysql/master/mirage/hostname consul kv delete orchestrator/mysql/master/rpopdb/hostname consul kv delete orchestrator/mysql/master/seconddb/hostname consul kv delete orchestrator/mysql/master/swadb/hostname consul kv delete orchestrator/mysql/master/umi/hostname
cluster not found at /mailonpremise/overlord/
Симптомы
- Не запускается контейнер calendar-notifytar.
-
В логах ошибка:
окт 17 21:46:29 devqa-01 onpremise-container-crow-usershards1[322669]: 2023-10-17T21:46:29.326+0300 ERROR get initial configuration failed {"error": "cluster not found at /mailonpremise/overlord/instances/crow-usershards1/, kv len 0: cluster not found"} окт 17 21:46:29 devqa-01 onpremise-container-crow-usershards1[322669]: 2023-10-17T21:46:29.326+0300 ERROR If cluster not found in ETCD, please check that ETCD is ready to accept connections and you make initial setup of overlord clusters. окт 17 21:46:29 devqa-01 systemd[1]: onpremise-container-crow-usershards1.service: Main process exited, code=exited, status=2/INVALIDARGUMENT окт 17 21:46:31 devqa-01 systemd[1]: onpremise-container-crow-usershards1.service: Failed with result 'exit-code'.
-
В интерфейсе установщика на вкладке Настройки → Шардирование и репликация БД при клике на Опросить все Overlord'ы выдает ошибку:
Решение:
- В интерфейсе установщика перейти на вкладку AdminPanel.
- Найти в списке контейнеров все контейнеры вида mailetcd*.
- Для каждого контейнера нажать на значок шестеренки справа от названия контейнера и последовательно выполнить два шага:
- overlord_clusters;
- up_container.
- Найти в списке контейнеров calendar-notifytar.
- Нажать на значок шестеренки справа от названия контейнера и выполнить шаг up_container.
Ошибка can't run gctune
- В интерфейсе установщика перейти на вкладку Настройки → Переменные окружения.
- Найти нужный контейнер и установить переменную
{name}_GCTUNE_DISABLE=false
. Например, для cexsy нужно установить переменнуюCEXSY_GCTUNE_DISABLE=false
.
Полный перечень переменных:
- SWA_FAU_MAILTO_GCTUNE_DISABLE
- OVERLORD_GCTUNE_DISABLE
- BMW_GCTUNE_DISABLE
- FEDMAN_GCTUNE_DISABLE
- MAILBOT_GCTUNE_DISABLE
- OPER_GCTUNE_DISABLE
- CLOUDBIZ_GCTUNE_DISABLE
- MAILER_GCTUNE_DISABLE
- ONPREMAPI_GCTUNE_DISABLE
- POLITICS_GCTUNE_DISABLE
- CEXSY_GCTUNE_DISABLE
Внимание
Перед установкой переменной окружения рекомендуется проконсультироваться с поддержкой.