Высокая доступность: Обновление до Chef Backend 2
Предупреждение
Chef Backend устарел и больше не поддерживается. Обратитесь к своему представителю Chef для получения информации об обновлении вашей системы.
Этот документ больше не поддерживается.
В данном разделе описан процесс обновления кластера высокодоступного сервера 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: Блокировка Failover
Мы не хотим, чтобы кластер переключался на фолловер, который находится в процессе обновления. Поэтому мы начинаем с отключения Failover:
- Выполните
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: Обновление лидера
Разблокировать Failover, запустить Failover, заблокировать его снова.
% chef-backend-ctl set-cluster-failover on
% chef-backend-ctl upgrade --failover
% chef-backend-ctl set-cluster-failover off
Шаг 4: Включить Failover
Позволить Failover снова:
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, использующих обновлённый кластер Chef Backend, выполните:
chef-server-ctl reconfigure -
Чтобы продолжить обновления на узлах фронта Chef Infra Server, использующих этот кластер бэкенда, см. Обновление Frontends, связанных с кластером Chef Backend.
DRBD/Keepalived HA к Chef Backend 2.x
Настройки DRBD больше не поддерживаются. См. Продукты, выведенные из эксплуатации.
Руководство по миграции на Chef Backend с DRBD см. в вебинаре Лучшие рекомендации по миграции вашего сервера 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/server/upgrade_server_ha_v2/