Перемещение State Storage
Если нужно вывести из эксплуатации хост кластера YDB, на котором располагается часть State Storage, необходимо переместить ее на другой хост.
Важно
Неправильная последовательность действий или ошибка в конфигурации могут привести к недоступности кластера YDB.
В качестве примера рассмотрим кластер YDB со следующей конфигурацией State Storage:
...
domains_config:
...
state_storage:
- ring:
node: [1, 2, 3, 4, 5, 6, 7, 8, 9]
nto_select: 9
ssid: 1
...
...
На хосте с node_id:1
сконфигурирован и запущен статический узел кластера, который обслуживает часть State Storage. Предположим, нам нужно вывести из эксплуатации этот хост.
Для замены node_id:1
мы добавили в кластер новый хост с node_id:10
и развернули на нем статический узел.
Чтобы переместить State Storage с хоста node_id:1
на node_id:10
:
-
Остановите статические узлы кластера на хостах с
node_id:1
иnode_id:10
.Примечание
Кластер YDB является отказоустойчивым. Временное выключение узла не приводит к недоступности кластера. Подробнее см. Топология кластера YDB.
-
В конфигурационном файле
config.yaml
измените список хостовnode
, заменив идентификатор удаляемого хоста на идентификатор добавляемого:domains_config: ... state_storage: - ring: node: [2, 3, 4, 5, 6, 7, 8, 9, 10] nto_select: 9 ssid: 1 ...
-
Обновите конфигурационные файлы
config.yaml
для всех узлов кластера, в том числе и динамических. -
С помощью процедуры rolling-restart перезапустите все узлы кластера, включая динамические, кроме статических узлов на хостах с
node_id:1
иnode_id:10
. Обратите внимание, что между рестартом хостов необходима задержка как минимум в 15 секунд. -
Запустите статические узлы кластера на хостах
node_id:1
иnode_id:10
.