SelfHeal статической группы
Важно
Эта статья посвящена кластерам YDB, в которых используется конфигурация V2. Данный способ конфигурирования пока является экспериментальным и доступен только для версий YDB начиная с v25.1. Для использования в продакшене мы рекомендуем выбирать конфигурацию V1 — она является основной и официально поддерживаемой для всех кластеров YDB.
При использовании конфигурации V2 механизм SelfHeal может автоматически переносить VDisk статической группы с неисправных PDisk и восстанавливать отказоустойчивость группы.
Важно
На кластерах с конфигурацией V1 SelfHeal статической группы включить нельзя.
Общий механизм SelfHeal обнаруживает неисправный PDisk и инициирует перенос VDisk. Для динамических групп конфигурацию изменяет Blob Storage Controller, а конфигурацию статической группы изменяет распределённая конфигурация.
Чтобы разрешить распределённой конфигурации автоматически изменять статическую группу, включите параметр self_management_config.automatic_static_group_management. По умолчанию этот параметр выключен.
Включение и выключение SelfHeal статической группы
Для работы SelfHeal статической группы должны быть включены:
- распределённая конфигурация V2 —
self_management_config.enabled: true; - общий механизм SelfHeal, который включён по умолчанию.
Параметр self_management_config.enabled включает саму распределённую конфигурацию. Параметр self_management_config.automatic_static_group_management отдельно разрешает автоматический перенос VDisk статической группы.
Чтобы включить или выключить автоматическое управление статической группой:
-
Получите текущую конфигурацию кластера с помощью команды ydb admin cluster config fetch:
ydb [global options...] admin cluster config fetch > config.yaml -
В конфигурационном файле
config.yamlустановите значения параметровself_management_config.enabledиself_management_config.automatic_static_group_management:config: self_management_config: enabled: true automatic_static_group_management: trueЗначение
self_management_config.automatic_static_group_management: trueвключает автоматическое управление статической группой, аfalse— выключает. -
Примените новую конфигурацию с помощью команды ydb admin cluster config replace:
ydb [global options...] admin cluster config replace -f config.yaml
Ограничение набора целевых узлов
По умолчанию SelfHeal может перенести VDisk статической группы на любой подходящий узел. Чтобы ограничить набор целевых узлов, укажите их идентификаторы в параметре static_group_self_heal_allowed_nodes:
config:
self_management_config:
enabled: true
automatic_static_group_management: true
static_group_self_heal_allowed_nodes:
- 1
- 2
- 3
Пустой список означает отсутствие ограничений. Для каждого разрешённого узла выберите подходящий PDisk и проверьте, что его свободная ёмкость не меньше объёма, занятого VDisk на исходном PDisk, плюс эксплуатационный запас до порога предупреждения о заполнении. Единого числового значения запаса нет: ориентируйтесь на порог предупреждения, используемый в мониторинге вашего кластера. Размещение после переноса должно соответствовать модели отказа.