Инструкция по обновлению кластера Почты
Как обновлять Почту до версий ниже 1.24
Документация ко всем предыдущим релизам Почты собрана на странице: Документация предыдущих релизов.
Вы можете выбрать версию Почты, до которой хотите обновиться, и посмотреть соответствующее руководство по обновлению.
Предварительные условия для установки обновления
Внимание
Обновление до версии 1.24 возможно только с версии 1.22 и выше. Если у вас установлена версия 1.21 и ниже, то вам нужно будет обновить систему до версии 1.22 и только после этого можно будет обновиться до версии 1.24.
-
Убедитесь, что представители VK предоставили вам следующие данные:
- Ссылку на скачивание дистрибутива новой версии Почты.
- Пароль от архива с дистрибутивом.
-
У вас есть архитектурная схема кластера, показывающая, на каком гипервизоре какие компоненты системы установлены. Эти данные потребуются на этапе генерации новых контейнеров.
-
Перед обновлением на версию 1.24 проверьте наличие лицензий Почты на каждом домене. Отсутсвие лицензии приведет к неработоспособности продукта после обновления.
Обновление необходимо проводить в нерабочее время, когда приложением не пользуются сотрудники (в технологическое окно).
Внимание
Если предполагается обновление более чем на одну версию, например у вас стоит версия 1.19, а вы хотите обновиться сразу на 1.21.1, то проконсультируйтесь с представителями VK, иначе могут возникнуть проблемы при обновлении.
Шаг 1. Выполните проверку баз данных и хранилищ
Перед установкой обновления необходимо удостовериться в консистентном состоянии кластеров баз данных:
- В веб-интерфейсе установщика перейдите в Настройки -> Шардирование и репликация БД.
- Нажмите на кнопку Опросить все Overlord'ы. Таким образом будет проверено состояние баз данных.
- Авторизуйтесь в панели администратора Почты
https://biz.<main-domain>
. - Перейдите в панель управления кластерами БД MySQL
https://biz.<main-domain>/orchestrator/web/clusters/
. - Проверьте отсутствие ошибок в процессе репликации баз данных.
Проверьте дисковое пространство на серверах отведенных под хранилища:
- На разделах выделенных для хранения данных должно быть свободно более 15% дискового пространства и обязательно более 25 Гб.
- На всех остальных разделах должно быть занято не более 10% дискового пространства.
Шаг 2. Подготовьте новую версию к обновлению
Распакуйте zip-архив c новой версией. Используйте учетную запись пользователя, от имени которого производилась первичная установка:
- Поместите zip-архив с дистрибутивом новой версии в ту же папку, которая использовалась при первичной установке. То есть туда же, где находится файл-установщик
onpremise-deployer_linux
. -
Распакуйте архив под той же учетной записью поверх имеющегося дистрибутива с заменой всех изменившихся файлов. Архив защищен паролем, который потребуется указать при распаковке.
Внимание
Шаги 3 и 4 из этого раздела актуальны только для обновления на версию 1.24.
-
Откройте для редактирования файл
$DEPLOYER_HOME/configs/rimap/zubr/picker-zubr.yaml
, где$DEPLOYER_HOME
— папка в которую распаковывался установщик. Например,/home/deployer
: -
Добавьте сервис
- 94 # arbuzapi
в раздел:Общий вид раздела после изменения:
-
Проверьте, есть ли у файла
onpremise-deployer_linux
флаг на исполнение (x) с помощью команды: -
Если флаг отсутствует, выполните команду:
-
Выполните команду
sudo systemctl restart deployer
.
Шаг 3. Добавьте новые контейнеры
Добавьте новые контейнеры, соблюдая распределение по гипервизорам как при первичной установке: базы данных добавить на гипервизоры с базами данных, хранилища — на гипервизоры с хранилищами и так далее.
- Перейдите в веб-интерфейс установщика
http://server-address:8888
, где server-address — ip-адрес машины, на которую производится установка, либо ее доменное имя. -
Пролистайте список контейнеров, в нижней части страницы нажмите на кнопку Добавить и выберите пункт Несколько контейнеров.
Откроется всплывающее окно Выберите роли для добавления.
-
Задайте фильтры:
-
Выберите все доступные для установки контейнеры.
-
Прокрутите список контейнеров вниз и выберите гипервизоры, на которые нужно произвести установку.
-
Выберите режим генерации На каждом гипервизоре.
-
Нажмите на синюю кнопку Добавить. Всплывающее окно, в котором выполнялись предыдущие действия, закроется.
- Откройте окно добавления контейнеров, нажав Добавить -> Несколько контейнеров.
- Повторите шаги 1-6 для всех оставшихся компонентов в поле Теги.
-
Убедитесь, что все контейнеры добавлены:
- Откройте окно добавления контейнеров, нажав Добавить -> Несколько контейнеров.
- Выберите фильтр Установлено не более: 0.
- Список контейнеров, доступных для добавления, должен быть пустым.
В релизе 1.24 вышло крупное обновление для БД Tarantool — мигрировали с версии 1.5 на версию 2.11. Поэтому отдельное внимание нужно уделить созданию новых кластеров:
- Перейдите в раздел Настройки -> Шардирование и репликация БД.
-
Количество кластеров для новых сервисов должно быть равно количеству кластеров для сервисов предыдущей версии. Нужно создать новые кластеры в соответствии со следующей таблицей:
Название в предыдущих версиях Название в 1.24 irina-tar irina ricotar rico hermes hermes-tnt signatar signatarng filters-tar delfi spammerdb spammerdbng abookpdd-tar commonab addrbook-tar addrbook list-mailer-tar listmailer msglink-tar msglinks -
Чтобы добавить кластер:
- Нажмите кнопку Добавить в первой строке, отмеченной красным.
- Нажмите кнопку Добавить контейнер БД. В зависимости от типа базы данных может быть добавлен один или два контейнера.
- Сохраните изменения.
- Повторите шаги 1-4 для каждой строки, отмеченной красным.
Вернитесь в верхнюю часть страницы и проверьте: отображается ли в правом верхнем углу зеленая кнопка Далее. Если зеленая кнопка Далее отображается и активна, то донастройте параметры системы. Логика: «Cледуем за кнопкой Далее то тех пор, пока она активна». Когда зеленая кнопка Далее перестанет отображаться в верхнем углу страницы, можно запускать обновление.
Как ускорить установку
Если вы планируете провести подготовительные действия днем, а непосредственную установку ночью, необходимо заранее запустить проверку и кэширование образов:
- Днем нажмите кнопку Запустить проверку в выпадающем меню рядом с кнопкой Play.
- Дождитесь завершения проверки.
- Нажмите кнопку Кэшировать образы в выпадающем меню. Это позволит сэкономить время ночной установки.
При таком подходе ночью достаточно будет нажать на кнопку Play и завершить обновление согласно инструкции.
Шаг 4. Подготовьте crow-index к обновлению
Внимание
Шаг актуален только при обновлении до версии 1.24.
Для каждого контейнера crowindex* проверьте размер БД с индексами с помощью команды:
Если размер хотя бы одного каталога с шардом более 10 Гб, то выполните следующие действия:
- В веб-интерфейсе установщика, перейдите в раздел Настройки -> Переменные окружения.
- В левом боковом меню найдите crow-index.
- Нажмите кнопку редактировать
.
- Нажмите на кнопку + Добавить.
- В поле Название переменной введите
CROW_INDEX_DATABASE_SEARCH_USE_LEVELED_COMPACTION_STYLE
, в поле Значение переменной введитеfalse
. - Нажмите на кнопку + Добавить.
- В поле Название переменной введите
CROW_INDEX_DATABASE_CONTENT_USE_LEVELED_COMPACTION_STYLE
, в поле Значение переменной введитеfalse
. - Нажмите на кнопку Сохранить.
Шаг 5. Запустите обновление
Для обновления версии Почты:
- Запустите установку, нажав на кнопку Play напротив индикатора состояния.
- Подтвердите запуск автоматической установки, нажав на кнопку Запустить во всплывающем окне. В этом окне также есть возможность увеличить процент контейнеров одной роли, устанавливаемых одновременно. Допустима установка значений: 25, 50, 100. Это ускорит процесс обновления.
- Дождитесь завершения установки.
- Перейдите в панель администратора
https://biz.main-domain
. - Авторизуйтесь под учетной записью администратора
admin@admin.qdit
. - Убедитесь, что письма отправляются и доходят до адресата. Для проверки лучше написать письмо от одного пользователя (не от
admin@admin.qdit
) другому пользователю и убедиться, что оно будет доставлено.
Шаг 6. Запустите переиндексацию данных
Внимание
Шаг актуален только при обновлении до версии 1.24.
Если на шаге 1 размеры каталогов с шардами превышали 10 Гб, то выполните следующие действия:
- В веб-интерфейсе установщика, перейдите в раздел Настройки -> Переменные окружения.
- В левом боковом меню найдите crow-index.
- Нажмите кнопку редактировать
.
- Измените значение переменной
CROW_INDEX_DATABASE_SEARCH_USE_LEVELED_COMPACTION_STYLE
наtrue
или удалите эту переменную. - Выполните шаг up_container для одного из контейнеров crow_index*. Например, для контейнера crow_index1.
-
Дождитесь переиндексации данных. Узнать об окончании переиндексации можно в логе
/data/shard*/LOG
:** Compaction Stats [default] ** Level Files Size Score Read(GB) Rn(GB) Rnp1(GB) Write(GB) Wnew(GB) Moved(GB) W-Amp Rd(MB/s) Wr(MB/s) Comp(sec) CompMergeCPU(sec) Comp(cnt) Avg(sec) KeyIn KeyDrop ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- L0 4/0 4.18 GB 0.0 13.6 0.0 13.6 18.5 4.9 0.0 3.1 17.2 23.4 811.17 756.92 59 13.749 203M 0 L1 11/0 5.02 GB 0.0 6.0 4.1 1.9 5.0 3.1 0.0 1.2 32.4 27.0 190.36 268.18 1 190.358 12M 1 L2 20/0 9.70 GB 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.00 0.00 0 0.000 0 0 L3 27/0 13.35 GB 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.00 0.00 0 0.000 0 0 L4 44/0 21.73 GB 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.00 0.00 0 0.000 0 0 L5 62/0 30.74 GB 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.00 0.00 0 0.000 0 0 L6 411/0 205.27 GB 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.00 0.00 0 0.000 0 0 Sum 579/0 289.98 GB 0.0 19.6 4.1 15.6 23.5 8.0 0.0 3.9 20.1 24.1 1001.52 1025.09 60 16.692 216M 1 Int 0/0 0.00 KB 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.00 0.00 0 0.000 0 0 ** Compaction Stats [Content] ** Level Files Size Score Read(GB) Rn(GB) Rnp1(GB) Write(GB) Wnew(GB) Moved(GB) W-Amp Rd(MB/s) Wr(MB/s) Comp(sec) CompMergeCPU(sec) Comp(cnt) Avg(sec) KeyIn KeyDrop ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- L0 0/0 0.00 KB 0.0 0.0 0.0 0.0 1.4 1.4 0.0 1.0 0.0 27.0 51.67 11.31 3 17.225 0 0 L2 6/0 2.28 GB 0.0 2.5 2.5 0.0 2.3 2.3 0.0 0.9 48.7 44.0 53.10 8.20 1 53.099 729K 66K L3 8/0 3.01 GB 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.00 0.00 0 0.000 0 0 L4 8/0 3.50 GB 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.00 0.00 0 0.000 0 0 L5 36/0 17.35 GB 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.00 0.00 0 0.000 0 0 L6 89/0 44.25 GB 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.00 0.00 0 0.000 0 0 Sum 147/0 70.39 GB 0.0 2.5 2.5 0.0 3.6 3.6 0.0 2.7 24.7 35.6 104.77 19.51 4 26.193 729K 66K Int 0/0 0.00 KB 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.00 0.00 0 0.000 0 0
В столбце Files, число после / должно быть равно 0 (кроме строки L0).
-
Повторите действия 5-6 последовательно для каждого контейнера crow-index*.
- В веб-интерфейсе установщика, перейдите в раздел Настройки -> Переменные окружения.
- В левом боковом меню найдите crow-index.
- Нажмите кнопку редактировать
.
- Измените значение переменной
CROW_INDEX_DATABASE_CONTENT_USE_LEVELED_COMPACTION_STYLE
наtrue
или удалите эту переменную. - Повторите действия 5-6 последовательно для каждого контейнера crow-index*.
Шаг 7. Выполните компактизацию и дефрагментацию etcd
Данный шаг не является обязательным, но рекомендуется выполнить его, чтобы сохранить скорость работы системы. После завершения обновления и миграции хранилищ метаданных:
- Перейдите в раздел Настройки -> Шардирование и репликация БД.
- Найдите БД infraetcd.
-
Кликните правой кнопкой мыши по строчке с infraetcd и нажмите кнопку Compact & defrag.
-
Найдите БД mailetcd.
-
Кликните правой кнопкой мыши по строчке с mailetcd и нажмите кнопку Compact & defrag.