Документация ко всем предыдущим релизам Почты собрана на странице: Документация предыдущих релизов.
Вы можете выбрать версию Почты, до которой хотите обновиться, и посмотреть соответствующее руководство по обновлению.
-
Убедитесь, что представители VK предоставили вам ссылку на скачивание дистрибутива новой версии Почты.
-
Обновление необходимо проводить в нерабочее время, когда приложением не пользуются сотрудники (в технологическое окно).
-
Проверьте наличие лицензий Почты на каждом домене. Отсутствие лицензии приведет к неработоспособности продукта после обновления.
-
Проверьте дисковое пространство:
- На разделах выделенных для хранения данных должно быть свободно более 15% дискового пространства и обязательно более 25 Гб.
- На всех остальных разделах должно быть занято не более 10% дискового пространства.
-
Чтобы Почта VK WorkSpace работала корректно, нужно установить оперативное обновление ядра ОС указанной ниже версии. Версия должна быть актуальной на момент обновления. Поддерживаемые операционные системы:
- Astra Linux SE Орел — версия 1.7.5+, версия ядра — 5.15.
- Astra Linux SE Орел — версия 1.8, версия ядра — 6.1.
- РЕД ОС — версия 7.3.5, версия ядра — 6.1.
- РЕД ОС — версия 7.3с (сертифицированная), версия ядра — 6.1.
- РЕД ОС — версия 8, версия ядра — 6.6 или 6.12.
- При обновлении Почты отключите сервисы kesl и auditd. Они могут создавать значительную нагрузку на сервера.
Прежде чем запустить автоматическое обновление Почты:
-
Используйте учетную запись пользователя, от имени которого производилась первичная установка.
-
Распакуйте zip-архив c новой версией. Используйте учетную запись пользователя, от имени которого производилась первичная установка:
Astra LinuxРЕД ОСMosOS Arbat# Если на машину не установлен unzip, скачиваем его:sudo apt-get install unzipexport UNZIP_DISABLE_ZIPBOMB_DETECTION=trueunzip -o <имя_архива> -
Поместите архив deployer.tar с дистрибутивом новой версии в ту же папку, которая использовалась при первичной установке. То есть туда же, где находится файл-установщик
onpremise-deployer_linux. -
Распакуйте архив под той же учетной записью поверх имеющегося дистрибутива с заменой всех изменившихся файлов:
tar -xf deployer.tar -
Проверьте, есть ли у файла
onpremise-deployer_linuxфлаг на исполнение (x) с помощью команды:ls -la <путь к каталогу с файлом>`. -
Если флаг отсутствует, выполните команду:
chmod +x onpremise-deployer_linux -
Распакуйте архив со статическими файлами:
tar -xf static.tar.gz -
Скопируйте архив Docker-репозитория:
cp registry/mail/dockerRepo.tar source/ -
Скопируйте файлы md5:
cp registry/mail/dockerRepo.md5 source/ -
Выполните команду
sudo systemctl restart deployer. -
Перейдите в веб-интерфейс установщика
http://server-address:8888, где server-address — ip-адрес машины, на которую производится установка, либо ее доменное имя. -
Пролистайте список контейнеров и в нижней части страницы нажмите на кнопку Сгенерировать автоматически.

-
Вернитесь в верхнюю часть страницы и проверьте, отображается ли в правом верхнем углу зеленая кнопка Далее.
Перед автоматической установкой необходимо добавить контейнер xtaz в разделе Хранилища → Mescalito:
-
Внутри раздела нажмите на кнопку редактирования в строке первого кластера.

-
Добавьте в кластер №1 контейнер xtaz2, который был создан при автоматической генерации.
-
Сохраните изменения.
-
Проведите донастройку других параметров системы.
Когда зеленая кнопка Далее перестанет отображаться в верхнем углу страницы, можно запускать обновление.
Для обновления версии Почты:
-
Запустите установку, нажав на кнопку Play напротив индикатора состояния.

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

-
Перейдите в панель администратора
https://biz.main-domain. -
Авторизуйтесь под учетной записью администратора
admin@admin.qdit. -
Убедитесь, что письма отправляются и доходят до адресата. Для проверки лучше написать письмо от одного пользователя (не от
admin@admin.qdit) другому пользователю и убедиться, что оно будет доставлено.
После завершения обновления установщик может показать статус Установка завершена, хотя отдельные кластеры баз данных или их реплики остаются в нерабочем состоянии.
-
Откройте Настройки → Шардирование и репликация БД → Кластеры баз данных.
-
Нажмите Опросить базы данных.
-
Перейдите в контейнер каждой роли Tarantool, например:
kubectl exec -it -n onprem rima1-0 -- bash -
Перейдите в консоль:
tarantoolctl connect /run/tarantool/tarantool.sock -
Выполните команду:
box.info -
Убедитесь, что:
- В box.info.status состояние —
running. - В репликации значения box.info.replication.upstream и downstream —
follow.
- В box.info.status состояние —
Если все кластеры в этом состоянии, обновление завершено корректно. Если репликация нарушена, восстановите её по инструкции ниже.
Выполняйте этот шаг, только если на предыдущем шаге обнаружены реплики с нарушенной репликацией.
-
В составе нужного кластера найдите неисправную реплику.
-
Откройте меню реплики и выберите Ребутстрап.

-
Нажмите Запустить.

-
Дождитесь завершения операции.

-
Повторно выполните проверку кластера по инструкции «Проверьте состояние всех баз данных».
Порядок действий описан на примере кластера rima. В примере считаем, что rima1 - master, а для rima2, rima3 нужно выполнить ребутстрап. Для других кластеров используйте их имена.
-
Во вкладке Шардирование и репликация выберите инстанс с наибольшим значением LSN. Остальные инстансы кластера остановите, удалив соответствующие StatefulSet:
kubectl delete sts -n onprem rima2kubectl delete sts -n onprem rima3 -
На Kubernetes-нодах остановленных инстансов создайте резервную копию каталогов в
/opt/mailOnPremise/dockerVolumes, а оригинальные каталоги удалите переименованием:cd /opt/mailOnPremise/dockerVolumessudo mv rima2 rima2baksudo mv rima3 rima3bak -
В веб-интерфейсе установщика на вкладке Переменные окружения установите для мастера переменную:
TARANTOOL_FORCE_RECOVERY=true -
Запустите установку роли для мастера в веб-интерфейсе установщика.
-
Зайдите в консоль Tarantool мастера:
kubectl exec -it -n onprem rima1-0 -- \tarantoolctl connect /var/run/tarantool/tarantool.sock -
Удалите записи в space
_cluster. Идентификаторы для удаления возьмите из результатаbox.space._cluster:select{}:box.space._cluster:select{}box.space._cluster:delete{ИДЕНТИФИКАТОР_RIMA2}box.space._cluster:delete{ИДЕНТИФИКАТОР_RIMA3}В результате команда должна возвращать одну запись:
box.space._cluster:select{} -
Сохраните snapshot:
box.snapshot() -
В веб-интерфейсе установщика установите для мастера переменную:
TARANTOOL_FORCE_RECOVERY=false -
Повторно запустите установку роли для мастера.
-
Запустите установку роли для остальных инстансов кластера. Установщик заново создаст удаленные StatefulSet
rima2иrima3. -
После запуска всех инстансов нажмите Опросить базы данных и проверьте состояние кластера.
Данный шаг не является обязательным, но рекомендуется выполнить его, чтобы сохранить скорость работы системы. После завершения обновления и миграции хранилищ метаданных:
-
Перейдите в раздел Настройки → Шардирование и репликация БД.
-
Найдите БД infraetcd.
-
Кликните правой кнопкой мыши по строчке с infraetcd и нажмите кнопку Compact & defrag.
-
Найдите БД mailetcd.
-
Кликните правой кнопкой мыши по строчке с mailetcd и нажмите кнопку Compact & defrag.
Чтобы убедиться, что обновление прошло успешно, рекомендуем пройти проверки из инструкции: Как вручную проверить состояние Почты.
Технический писатель: Груздев Никита