Перемещение State Storage

Статья находится в разработке

Важно

Эта статья посвящена кластерам YDB, в которых используется конфигурация V2. Данный способ конфигурирования пока является экспериментальным и доступен только для версий YDB начиная с v25.1. Для использования в продакшене мы рекомендуем выбирать конфигурацию V1 — она является основной и официально поддерживаемой для всех кластеров YDB.

Если нужно вывести из эксплуатации узел кластера YDB, на котором располагается часть State Storage, необходимо переместить её на другой узел.

Важно

Ошибка в конфигурации подсистем распространения метаданных (в том числе в секции domains_config) или неправильная последовательность изменений могут привести к недоступности кластера YDB.

При использовании Конфигурации V2 конфигурирование State Storage осуществляется автоматически. Для внесения изменений в конфигурацию необходимо выполнить следующие действия: остановить автоматическое управление конфигурацией State Storage, получить акутальную конфигурацию State Storage, изменить актуальную конфигурацию желаемым способом и указать ее в явном виде как целевую, после чего применить ее, убедиться в примененеии, выполнить вывод узла из эксплуатации, убрать явное указание конфигурации State Storage и включить автоматическое конфигурирование State Storage.

В качестве примера рассмотрим кластер YDB в котором узел 1 входит в состав State Storage, а узел 10 - не входит, и будем считать что цель изменения конфигурации State Storage заключается в выводе узла 1 из эксплуатации.

  1. Остановить автоматическое управление конфигурацией State Storage

  2. Получить акутальную конфигурацию State Storage

  3. Изменить актуальную конфигурацию желаемым способом и указать ее в явном виде как целевую

    Допутсим, получена следующая конфигурациея State Storage:

    ...
      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, в конфигурационном файле config.yaml измените список узлов node, заменив идентификатор удаляемого узла на идентификатор добавляемого:

    ...
      state_storage:
      - ring:
          node: [10, 2, 3, 4, 5, 6, 7, 8, 9]
          nto_select: 9
        ssid: 1
    ...
    
  4. Применить конфигурацию

  5. Убедиться в примененеии
    Учтите, что наполненприменение новых узлов State Storage после реконфигурации происходит с задержкой не менее 15 секунд.

  6. Выполнить вывод узла из эксплуатации

  7. Убрать явное указание конфигурации State Storage

  8. Включить автоматическое конфигурирование State Storage