Документация ко всем предыдущим релизам Почты собрана на странице: Документация предыдущих релизов.
Вы можете выбрать версию Почты, до которой хотите обновиться, и посмотреть соответствующее руководство по обновлению.
Как подготовить Почту к обновлению на версию 26.3.1?
-
Убедитесь, что представители VK предоставили вам ссылку на скачивание дистрибутива новой версии Почты.
-
Обновление необходимо проводить в нерабочее время, когда приложением не пользуются сотрудники (в технологическое окно).
-
Проверьте наличие лицензий Почты на каждом домене. Отсутсвие лицензии приведет к неработоспособности продукта после обновления.
-
Перед обновлением на версию 26.3 перевыпустите сертификаты и добавьте A-записи для поддомена:
projects. -
Проверьте дисковое пространство:
- На разделах выделенных для хранения данных должно быть свободно более 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. Они могут создавать значительную нагрузку на сервера.
-
Нажмите на значок
и перейдите в раздел Продукты. -
Включите продукт Консолидация серверов Tarantool и все дочерние продукты.

-
Нажмите кнопку Сохранить внизу страницы.
-
Запустите автоматическую установку со всеми проверками.
-
Удалите все роли, помеченные желтым цветом.
Прежде чем запустить автоматическое обновление Почты:
-
Используйте учетную запись пользователя, от имени которого производилась первичная установка.
-
Распакуйте zip-архив c новой версией. Используйте учетную запись пользователя, от имени которого производилась первичная установка:
Astra LinuxРЕД ОС# Если на машину не установлен 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-адрес машины, на которую производится установка, либо ее доменное имя. -
Пролистайте список контейнеров и в нижней части страницы нажмите на кнопку Сгенерировать автоматически.

-
Вернитесь в верхнюю часть страницы и проверьте, отображается ли в правом верхнем углу зеленая кнопка Далее.
-
Удалите текущий compute cld-unzipper:
-
Найдите cld-unzipper в списке compute'ов.
-
Подключитесь по SSH к серверу, на котором установлен deployer, и в файле
/home/deployer/computes.yamlудалите блок роли cld-unzipper:- role: cld-unzipperhostname: cld-unzipper3podK8SParams:cluster: ext-k8s1replicas:min: 1max: 1dc:dc1:min: 1max: 1dc2:min: 1max: 1zone: "" -
Удалите deployment cld-unzipper в каждом контексте k8s:
export KUBECONFIG=/home/deployer/.kube/ext-k8s<номер ext-k8s с лейблом local-k8s>.configkubectl delete deployment cld-unzipper -n <namespace, указанный в настройках kubernetes> --context=dc-<наименование dc>kubectl get cm -n <namespace, указанный в настройках kubernetes> -o name | grep cld-unzipper | xargs kubectl delete -n <namespace, указанный в настройках kubernetes>kubectl delete svc -n <namespace, указанный в настройках kubernetes> cld-unzipper-headless-service -
Выполните команду
sudo systemctl restart deployer.
-
-
В веб-интерфейсе установщика, на главной странице нажмите кнопку Добавить и выберите пункт Несколько подов.
-
В столбце Роль введите cld-unzipper.
-
Выберите контейнер доступный для установки.
-
Выберите гипервизор, на который нужно произвести установку.
-
Нажмите на синюю кнопку Добавить. Всплывающее окно, в котором выполнялись предыдущие действия, закроется.
-
Выполните шаг up_container для добавленных cld-unzipper.
В релизе 26.3 секреты из main.yaml хранятся в vault — специализированном хранилище секретов от HashiCorp. Это хранилище типа «ключ-значение», данные в котором хранятся в зашифрованном виде. Для отказоустойчивости несколько инстансов vault объединяются в кластер по алгоритму распределенного консенсуса (RAFT).
Для начала работы с хранилищем его необходимо инициализировать: при инициализации указывается, сколько ключей для разблокировки (unseal keys) сгенерировать и сколько из них требовать для распечатки. Инициализация возвращает токен суперпользователя (rootToken) и ключи для распечатки (unseal keys), которые необходимы для дальнейшей работы с хранилищем.
Каждый перезапуск vault приводит его в состояние «запечатан» (sealed), и его надо распечатать (unseal).
Пример работы с ключами
Есть 10 доверенных сотрудников, при создании хранилища мы создаем 10 ключей и раздаем каждому сотруднику по одному ключу. Чтобы распечатать хранилище, будем требовать 3 ключа. Поэтому, когда нужно будет распечатать vault, нам потребуется 3 сотрудника, чтобы его распечатать.
Чтобы добавить и инициализировать хранилище:
-
Нажмите кнопку Добавить внизу главной страницы веб-интерфейса установщика.
-
Выберите опцию Хранилище секретов.
-
Выберите контейнер vault с помощью чекбокса.
-
В списке гипервизоров отметьте гипервизоры, на которых будут размещены инстансы vault.
-
Нажмите на кнопку Добавить.
-
Запустите автоматическую установку — после ее завершения инстансы vault будут запущены.
-
Перейдите в раздел Обслуживание -> Хранилище секретов или по адресу
http://server-ip-address:8888/service/vault. -
Если vault устанавливается впервые, нажмите кнопку Инициализировать Хранилище и задайте параметры инициализации:
- Всего ключей для распечатывания — сколько ключей сгенерировать.
- Минимум ключей для распечатывания — сколько ключей потребуется ввести для распечатки (unseal) хранилища. Значение не должно превышать общее количество ключей.
- Сохранить ключи в Deployer — включите опцию, чтобы установщик сохранил ключи и мог распечатывать хранилище в автоматическом режиме.
-
После инициализации в веб-интерфейсе отобразятся ключи для распечатки и токен суперпользователя. Сохраните эту информацию.
При инициализации установщик автоматически распечатает хранилище. Если вы обновляете инсталляцию с версии 26.2.3, миграция старых секретов из main.yaml произойдет автоматически.
Распечатка хранилища
Если при инициализации вы включили опцию Сохранить ключи в Deployer, установщик будет автоматически распечатывать хранилище при каждом своем перезапуске и запуске задачи up_container. В этом случае ключи для распечатывания сохраняются на машине с установщиком в файле /home/deployer/workmail/.secStoreKeys.yaml. Если установщику не удалось распечатать хранилище, установка будет заблокирована.
Чтобы распечатать хранилище вручную:
- Перейдите на страницу
http://server-ip-address:8888/service/vault. - В блоке Распаковка Хранилища секретов введите ключи, полученные при инициализации.
- Нажмите кнопку Распаковать (unseal).
В кластерной установке инициализация выполняется только на одном инстансе vault — остальные инстансы подключатся к нему и инициализируются самостоятельно. Распечатка выполняется на каждом инстансе.
Проверка состояния хранилища
На странице http://server-ip-address:8888/service/vault отображается состояние каждого инстанса vault: запущен ли он, инициализирован, запечатан или распечатан, готов ли к работе. Также отображаются «Количество ключей для распечатывания», «Количество необходимых секретов» и «Количество доступных секретов» — последние два значения должны совпадать.
Инстанс готов к работе, когда он запущен, инициализирован и распечатан, а количество доступных секретов совпадает с количеством необходимых.
Установщик автоматически проверяет актуальность секретов при каждом перезапуске и распечатке хранилища и при необходимости мигрирует или добавляет их.
Для обновления версии Почты:
-
Запустите установку, нажав на кнопку Play напротив индикатора состояния.

-
Подтвердите запуск автоматической установки, нажав на кнопку Запустить во всплывающем окне.
-
Дождитесь завершения установки.
-
Перейдите в панель администратора
https://biz.main-domain. -
Авторизуйтесь под учетной записью администратора
admin@admin.qdit. -
Убедитесь, что письма отправляются и доходят до адресата. Для проверки лучше написать письмо от одного пользователя (не от
admin@admin.qdit) другому пользователю и убедиться, что оно будет доставлено.
Данный шаг не является обязательным, но рекомендуется выполнить его, чтобы сохранить скорость работы системы. После завершения обновления и миграции хранилищ метаданных:
- Перейдите в раздел Настройки → Шардирование и репликация БД.
- Найдите БД infraetcd.
- В строчке с infraetcd, в колонке Действия нажмите на иконку с тремя точками и нажмите кнопку Compact & defrag.
- Найдите БД mailetcd.
- В строчке с mailetcd, в колонке Действия нажмите на иконку с тремя точками и нажмите кнопку Compact & defrag.
Чтобы убедиться, что обновление прошло успешно, рекомендуем пройти проверки из инструкции:
Как вручную проверить состояние Почты.
Если при обновлении для роли cube не проходит шаг up_container, то в каждом из контейнеров swapg нужно выполнить шаг init_db_fixtures, даже если он помечен зеленым цветом и подписью done.
Технический писатель: Груздев Никита