VK WorkSpace On-Premise logo
Помощь
Обновлена 20 октября 2026 г. в 14:33

Установка обновлений на кластер

Как обновлять Почту до версий ниже 26.2.3

Документация ко всем предыдущим релизам Почты собрана на странице: Документация предыдущих релизов.

Вы можете выбрать версию Почты, до которой хотите обновиться, и посмотреть соответствующее руководство по обновлению.

Дополнительная документация

Как обновить SSL-сертификаты

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

  1. Убедитесь, что представители VK предоставили вам ссылку на скачивание дистрибутива новой версии Почты.

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

  3. Проверьте наличие лицензий Почты на каждом домене. Отсутствие лицензии приведет к неработоспособности продукта после обновления.

  4. Чтобы Почта 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.

Обновление необходимо проводить в нерабочее время, когда приложением не пользуются сотрудники (в технологическое окно).

  1. При обновлении Почты отключите сервисы kesl и auditd. Они могут создавать значительную нагрузку на сервера.

Шаг 1. Выполните проверку баз данных и хранилищ

Перед установкой обновления необходимо удостовериться в консистентном состоянии кластеров баз данных:

  1. В веб-интерфейсе установщика перейдите в Настройки → Шардирование и репликация БД.
  2. Нажмите на кнопку Опросить базы данных. Таким образом будет проверено состояние баз данных.
  3. Авторизуйтесь в панели администратора Почты https://biz.<main-domain>.
  4. Перейдите в панель управления кластерами БД MySQL https://biz.<main-domain>/orchestrator/web/clusters/.
  5. Проверьте отсутствие ошибок в процессе репликации баз данных.

Проверьте дисковое пространство на серверах отведенных под хранилища:

  • На разделах выделенных для хранения данных должно быть свободно более 15% дискового пространства и обязательно более 25 Гб.
  • На всех остальных разделах должно быть занято не более 10% дискового пространства.

Шаг 2. Подготовьте новую версию к обновлению

  1. Распакуйте zip-архив c новой версией. Используйте учетную запись пользователя, от имени которого производилась первичная установка:

    # Если на машину не установлен unzip, скачиваем его:sudo apt-get install unzipexport UNZIP_DISABLE_ZIPBOMB_DETECTION=trueunzip -o <имя_архива>
  2. Поместите архив deployer.tar с дистрибутивом новой версии в ту же папку, которая использовалась при первичной установке. То есть туда же, где находится файл-установщик onpremise-deployer_linux.

  3. Распакуйте архив под той же учетной записью поверх имеющегося дистрибутива с заменой всех изменившихся файлов:

    tar -xf deployer.tar
  4. Проверьте, есть ли у файла onpremise-deployer_linux флаг на исполнение (x) с помощью команды:

    ls -la <путь к каталогу с файлом>`.
  5. Если флаг отсутствует, выполните команду:

    chmod +x onpremise-deployer_linux
  6. Распакуйте архив со статическими файлами:

    tar -xf static.tar.gz
  7. Скопируйте архив Docker-репозитория:

    cp registry/mail/dockerRepo.tar source/
  8. Скопируйте файлы md5:

    cp registry/mail/dockerRepo.md5 source/
  9. Выполните команду sudo systemctl restart deployer.

Шаг 3. Добавьте новые контейнеры

Добавьте новые контейнеры, соблюдая распределение по гипервизорам как при первичной установке: базы данных добавить на гипервизоры с базами данных, хранилища — на гипервизоры с хранилищами и так далее.

  1. Перейдите в веб-интерфейс установщика http://server-address:8888, где server-address — ip-адрес машины, на которую производится установка, либо ее доменное имя.

  2. Пролистайте список контейнеров, в нижней части страницы нажмите на кнопку Добавить и выберите пункт Несколько контейнеров.

    AddSeveralConainers

    Откроется всплывающее окно Выберите роли для добавления.

    AddRoles

  3. Задайте фильтры:

    • Установлено не более: 0.

    • Тег: контейнеры какого компонента системы необходимо добавить. Например: База данных, Хранилище, Мониторинг, Инфраструктура и т.д.

      Filters

  4. Выберите все доступные для установки контейнеры.

    AllContainers

  5. Прокрутите список контейнеров вниз и выберите гипервизоры, на которые нужно произвести установку.

  6. Выберите режим генерации На каждом гипервизоре.

    EachHypervisor

  7. Нажмите на синюю кнопку Добавить. Всплывающее окно, в котором выполнялись предыдущие действия, закроется.

  8. Откройте окно добавления контейнеров, нажав Добавить → Несколько контейнеров.

  9. Повторите шаги 1-6 для всех оставшихся компонентов в поле Теги.

  10. Убедитесь, что все контейнеры добавлены:

    • Откройте окно добавления контейнеров, нажав Добавить → Несколько контейнеров.
    • Выберите фильтр Установлено не более: 0.
    • Список контейнеров, доступных для добавления, должен быть пустым.

Вернитесь в верхнюю часть страницы и проверьте: отображается ли в правом верхнем углу зеленая кнопка Далее. Если зеленая кнопка Далее отображается и активна, то донастройте параметры системы. Логика: «Следуем за кнопкой Далее то тех пор, пока она активна». Когда зеленая кнопка Далее перестанет отображаться в верхнем углу страницы, можно запускать обновление.

Как ускорить установку

Если вы планируете провести подготовительные действия днем, а непосредственную установку ночью, необходимо заранее запустить проверку и кэширование образов:

  1. Днем нажмите кнопку Запустить проверку в выпадающем меню рядом с кнопкой Play.
  2. Дождитесь завершения проверки.
  3. Нажмите кнопку Кэшировать образы в выпадающем меню. Это позволит сэкономить время ночной установки.

При таком подходе ночью достаточно будет нажать на кнопку Play и завершить обновление согласно инструкции.

Шаг 4. Запустите обновление

Для обновления версии Почты:

  1. Запустите установку, нажав на кнопку Play напротив индикатора состояния.
  2. Подтвердите запуск автоматической установки, нажав на кнопку Запустить во всплывающем окне. В этом окне также есть возможность увеличить процент контейнеров одной роли, устанавливаемых одновременно. Допустима установка значений: 25, 50, 100. Это ускорит процесс обновления.
  3. Дождитесь завершения установки.
  4. Перейдите в панель администратора https://biz.main-domain.
  5. Авторизуйтесь под учетной записью администратора admin@admin.qdit.
  6. Убедитесь, что письма отправляются и доходят до адресата. Для проверки лучше написать письмо от одного пользователя (не от admin@admin.qdit) другому пользователю и убедиться, что оно будет доставлено.

Шаг 5. Проверьте базы данных после обновления

После завершения обновления установщик может показать статус Установка завершена, хотя отдельные кластеры баз данных или их реплики остаются в нерабочем состоянии.

Проверьте состояние всех баз данных

  1. Откройте Настройки → Шардирование и репликация БД → Кластеры баз данных.

  2. Нажмите Опросить базы данных.

  3. Перейдите в контейнер каждой роли Tarantool, например:

    kubectl exec -it -n onprem rima1-0 -- bash
  4. Перейдите в консоль:

    tarantoolctl connect /run/tarantool/tarantool.sock
  5. Выполните команду:

    box.info
  6. Убедитесь, что:

    • В box.info.status состояние — running.
    • В репликации значения box.info.replication.upstream и downstream — follow.

Если все кластеры в этом состоянии, обновление завершено корректно. Если репликация нарушена, восстановите её по инструкции ниже.

Восстановите репликацию Tarantool или OneDB

Выполняйте этот шаг, только если на предыдущем шаге обнаружены реплики с нарушенной репликацией.

Вариант 1. Ребутстрап через веб-интерфейс

  1. В составе нужного кластера найдите неисправную реплику.

  2. Откройте меню реплики и выберите Ребутстрап.

    Пункт «Ребутстрап» в меню реплики

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

    Окно подтверждения ребутстрапа

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

    Сообщение об успешном завершении ребутстрапа

  5. Повторно выполните проверку кластера по инструкции «Проверьте состояние всех баз данных».

Вариант 2. Ручной ребутстрап в Kubernetes

Порядок действий описан на примере кластера rima. В примере считаем, что rima1 - master, а для rima2, rima3 нужно выполнить ребутстрап. Для других кластеров используйте их имена.

  1. Во вкладке Шардирование и репликация выберите инстанс с наибольшим значением LSN. Остальные инстансы кластера остановите, удалив соответствующие StatefulSet:

    kubectl delete sts -n onprem rima2kubectl delete sts -n onprem rima3
  2. На Kubernetes-нодах остановленных инстансов создайте резервную копию каталогов в /opt/mailOnPremise/dockerVolumes, а оригинальные каталоги удалите переименованием:

    cd /opt/mailOnPremise/dockerVolumessudo mv rima2 rima2baksudo mv rima3 rima3bak
  3. В веб-интерфейсе установщика на вкладке Переменные окружения установите для мастера переменную:

    TARANTOOL_FORCE_RECOVERY=true
  4. Запустите установку роли для мастера в веб-интерфейсе установщика.

  5. Зайдите в консоль Tarantool мастера:

    kubectl exec -it -n onprem rima1-0 -- \  tarantoolctl connect /var/run/tarantool/tarantool.sock
  6. Удалите записи в space _cluster. Идентификаторы для удаления возьмите из результата box.space._cluster:select{}:

    box.space._cluster:select{}box.space._cluster:delete{ИДЕНТИФИКАТОР_RIMA2}box.space._cluster:delete{ИДЕНТИФИКАТОР_RIMA3}

    В результате команда должна возвращать одну запись:

    box.space._cluster:select{}
  7. Сохраните snapshot:

    box.snapshot()
  8. В веб-интерфейсе установщика установите для мастера переменную:

    TARANTOOL_FORCE_RECOVERY=false
  9. Повторно запустите установку роли для мастера.

  10. Запустите установку роли для остальных инстансов кластера. Установщик заново создаст удаленные StatefulSet rima2 и rima3.

  11. После запуска всех инстансов нажмите Опросить базы данных и проверьте состояние кластера.

Шаг 6. Выполните компактизацию и дефрагментацию etcd

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

  1. Перейдите в раздел Настройки → Шардирование и репликация БД.

  2. Найдите БД infraetcd.

  3. Кликните правой кнопкой мыши по строчке с infraetcd и нажмите кнопку Compact & defrag.

    StartMigration
  4. Найдите БД mailetcd.

  5. Кликните правой кнопкой мыши по строчке с mailetcd и нажмите кнопку Compact & defrag.

    StartMigration

Шаг 7. Проведите тестирование пользовательских интерфейсов

Чтобы убедиться, что обновление прошло успешно, рекомендуем пройти проверки из инструкции: Как вручную проверить состояние Почты.


Технический писатель: Груздев Никита

Была ли статья полезна?