Self Heal State Storage

Важно

Инструкция относится только к кластерам YDB с конфигурацией V2 и распределённой конфигурацией. На кластерах с конфигурацией V1 эти шаги и команды (в том числе получение конфигурации через ydb admin cluster config fetch) недоступны или не дадут ожидаемого результата. Альтернатив для V1 здесь не приводится — см. Миграция на конфигурацию V2.

В процессе работы кластеров узлы, на которых работает YDB могут выходить из строя целиком.

Self Heal State Storage обеспечивает сохранение работоспособности подсистем распространения метаданных, Board, SchemeBoard кластера, если невозможно быстро восстановить вышедшие из строя узлы, и автоматически увеличивать количество реплик этих подсистем при добавлении новых узлов в кластер.

Self Heal State Storage обеспечивает:

  • обнаружение неисправных узлов кластера YDB;
  • перенос реплик StateStorage, Board, SchemeBoard на другие узлы или добавление новых реплик.

Компонент Self Heal State Storage, является частью системы управления кластером CMS Sentinel.

Включение и выключение Self Heal State Storage

Вы можете включать и выключать Self Heal State Storage с помощью изменения конфигурации.
Для работы механизма требуется активация как CMS Sentinel, так и распределённой конфигурации.

  1. Получить текущую конфигурацию кластера с помощью команды ydb admin cluster config fetch:

    ydb [global options...] admin cluster config fetch > config.yaml
    
  2. Изменить конфигурационный файл config.yaml, поменяв значение параметра state_storage_self_heal_config.enable на true или на false:

    config:
        self_management_config:
            enabled: true # Включение распределённой конфигурации
        cms_config:
            sentinel_config:
                enable: true # Включение Sentinel
                state_storage_self_heal_config:
                    enable: true # Включение self heal state storage
    

    Для работы механизма требуется активация как CMS Sentinel, так и распределённой конфигурации. Убедитесь, что они включены.
    Подробнее о миграции на конфигурацию V2 и включении распределённой конфигурации.
    При значении true у параметра state_storage_self_heal_config.enable включается механизм сохранения работоспособности и отказоустойчивости StateStorage, Board, SchemeBoard.

  3. Обновить конфигурацию кластера с учетом выполненных изменений с помощью ydb admin cluster config replace:

    ydb [global options...] admin cluster config replace -f config.yaml
    

Проверка результата

Проверить, что изменения применились, можно в разделе CMS в Embedded UI кластера (доступен на порту 8765): перейдите на вкладку Sentinel для просмотра статуса Sentinel и Self Heal State Storage.