Высокая доступность: обновление до Chef Backend 2
В этом разделе описан процесс обновления кластера высокодоступных серверов Chef Infra Server.
Процесс обновления Chef Infra Server 14 требует простоя для остановки сервера, установки нового пакета и последующего обновления сервера, что включает автоматическую переиндексацию Elasticsearch для существующих пользователей Solr. Мы оцениваем, что операция переиндексации займет 2 минуты на каждые 1000 узлов, но время может быть больше, в зависимости от аппаратного обеспечения сервера и сложности ваших данных Chef.
Обзор
Эти инструкции описывают процесс обновления кластера Chef Backend. Обратитесь к соответствующим инструкциям для версии Chef Backend, которую вы используете, и версии, до которой вы планируете обновить:
Обновление Chef Backend
Обновление мажорной версии подходит для всех обновлений кластера Chef Backend в рамках одной версии. Например, обновление с 1.x на 1.x или с 2.x на 2.x.
Примечание
Шаг 1: Блокировка переключения по отказу
Мы не хотим, чтобы кластер переключался на ведомого узла, который в процессе обновления. Поэтому начнем с отключения переключения по отказу:
- Выполните
chef-backend-ctl set-cluster-failover off
Шаг 2: Обновление ведомых узлов
Ведомые узлы следует обновлять последовательно. Одновременное обновление не поддерживается и может привести к потере данных. Проверьте успешное повторное подключение после каждого обновления.
-
Установите новый пакет chef-backend:
RHEL и CentOS:
yum install PATH_TO_FILE.rpmDebian и Ubuntu:
dpkg -i PATH_TO_FILE.debВы также можете ознакомиться с кулинарной книгой chef-ingredient для автоматизации загрузки и установки последней версии пакета.
-
Выполните команду обновления:
chef-backend-ctl upgrade
Команда обновления внесет необходимые изменения для запуска новой службы и проверит, что обновленный узел подключился к кластеру.
Повторите предыдущие шаги в этом разделе для каждого оставшегося ведомого узла.
Шаг 3: Обновление лидера
Разблокировать переключение по отказу, запустить переключение по отказу, заблокировать снова.
% chef-backend-ctl set-cluster-failover on
% chef-backend-ctl upgrade --failover
% chef-backend-ctl set-cluster-failover off
Шаг 4: Возобновление переключения по отказу
Разрешить переключение по отказу снова:
chef-backend-ctl set-cluster-failover on
Шаг 5: Проверка стабильности кластера
Проверьте статус кластера:
chef-backend-ctl status
Обновление Chef Backend с 1.x на 2.x
Предупреждение
-
Определите узел с ролью лидера, используя команду
chef-backend-ctl cluster-status:Name IP GUID Role PG ES backend-1 192.168.33.215 dc0c6ea77a751f94037cd950e8451fa3 leader leader not_master backend-2 192.168.33.216 008782c59d3628b6bb7f43556ac0c66c follower follower not_master backend-3 192.168.33.217 1af654172b1830927a571d9a5ba7965b follower follower masterВ этом примере,
backend-1является узлом лидера, как указано в столбце Роль. -
Установите новый пакет Chef Backend на все узлы кластера:
RHEL и CentOS:
yum install PATH_TO_FILE.rpmDebian и Ubuntu:
dpkg -i PATH_TO_FILE.deb -
На лидере выполните следующую команду, чтобы остановить узел для обновления:
chef-backend-ctl down-for-upgrade -
Затем выполните ту же команду на ведомых узлах:
chef-backend-ctl down-for-upgrade -
Инициализируйте обновление на ведомых узлах сначала:
chef-backend-ctl upgrade -
Затем инициализируйте обновление на узле-лидере:
chef-backend-ctl upgrade -
На любых узлах Chef Infra Server frontend, использующих обновленный кластер Chef Backend, выполните:
chef-server-ctl reconfigure Для продолжения обновлений на узлах Chef Infra Server frontend, использующих этот кластер backend, см. Обновление Frontend, связанных с кластером Chef Backend.
DRBD/Keepalived HA к Chef Backend 2.x
Конфигурации DRBD больше не поддерживаются. См. Продукты, достигшие конца жизненного цикла.
Руководство по миграции с DRBD на Chef Backend см. в вебинаре Лучшие практики для миграции вашего сервера Chef от блога Chef.
© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/upgrade_server_ha_v2/