Балансировка нагрузки на диски

В YDB балансировать нагрузку на диски можно двумя способами:

Распределить нагрузку равномерно по группам

На странице Hive web-viewer, в нижней части экрана есть кнопка "Reassign Groups".

Распределить VDisk'и равномерно по устройствам

В результате некоторых операций, например декомиссии, VDisk'и могут быть распределены на блочных устройствах неравномерно. Улучшить равномерность распределения можно одним из способов:

  • Перевезти VDisk'и по одному с перегруженных устройств.

  • Воспользоваться утилитой YDB DSTool. Следующая команда перевезет VDisk с перегруженного устройства на менее нагруженное:

    ydb-dstool -e <bs_endpoint> cluster balance
    

    <bs_endpoint> - эндпоинт произвольного узла хранения кластера.
    Команда перевозит не более одного VDisk'а за один запуск.

Изменение количествa слотов для VDisk'ов на PDisk'ах

Для добавления групп хранения требуется переопределить конфиг хоста, увеличив для него количество слотов на PDisk'ах. Это можно осуществить, проделав следующие шаги:

  1. Получить текущую конфигурацию кластера:

    ydb -e <endpoint> admin cluster config fetch > config.yaml
    

    <endpoint> - grpc/grpcs эндпоинт произвольного узла кластера.

  2. Добавить (или изменить) поле expected_slot_count для нужного устройства drive в секции host_configs.

    Примерный вид секции конфигурации:

    config:
    host_configs:
    - host_config_id: 1
        drive:
        - path: <path_to_device>
          type: <type>
          expected_slot_count: <number>
        - path: ...
    - host_config_id: 2
        ...
    
  3. Загрузить обновленный конфигурационный файл на кластер:

    ydb -e endpoint admin cluster config replace -f config.yaml