VK Object Storage logo
Помощь
Обновлена 17 июля 2026 г. в 15:35

Настройка zepto в качестве системы хранения в режиме X1.75

Для установки VK Object Storage с использованием Zepto в качестве слоя хранения необходимо выбрать соответствующий шаблон inventory и включить функциональность Zepto.

Для установки с Zepto используйте пример inventory.yml:

$ cp /deploy/installer/examples/inventory.mono.zepto-x175.split.yml /deploy/installer/inventory.yml

Заполните inventory.yml группы:

tdb:  children:    storage:zepto:  hosts:    mono01:    mono02:    mono03:

Здесь:

  • Группа tdb — используется для размещения TarantoolDB, необходимого для работы Zepto.
  • Группа zepto — определяет узлы, на которых будут запущены сервисы Zepto.

После подготовки inventory.yml включите функциональность Zepto в /deploy/installer/group_vars/all/features.yml:

  1. Установите значение параметра:

    zepto: true
  2. Проверьте параметры Zepto в /deploy/installer/group_vars/zepto/:

    • В файле cluster.yml должен быть выбран режим хранения X1.75:
    zepto_mode: x175

Параметры дисков для Zepto задаются в файле cluster.yml. Диски должны соответствовать фактическим блочным устройствам, подключенным к серверам группы Zepto.

В режиме X1.75 Zepto использует два кластера дисков:

  • Х3 — кластер, на который изначально записываются все поступающие данные.
  • Х1.75 — кластер, в который данные фоново конвертируются с расчетом избыточности.

Фоновая конвертация в Х1.75 выполняется отдельно, так как расчет «erasure coding» является ресурсоемкой операцией.

Общий случай распределения дисков для инсталляции на трех серверах описывается в файле групповых переменных:

/deploy/installer/group_vars/zepto/cluster.yml

Для более гибкой настройки значения zepto_cluster_config можно задавать на уровне отдельных хостов или групп хостов в inventory.yml. Это удобно, если разные серверы Zepto используют разные наборы дисков или выполняют разные роли в схеме хранения.

zepto:  hosts:    zepto-host-0[1:3]:      zepto_cluster_config:        x3:          disks:            - "/dev/vdb"    zepto-host-0[4:6]:      zepto_cluster_config:        x175:          disks:            - "/dev/vdc"            - "/dev/vdd"            - "/dev/vde"            - "/dev/vdf"            - "/dev/vdg"            - "/dev/vdh"            - "/dev/vdi"

В примере серверы zepto-host-01–zepto-host-03 используются для кластера Х3, а серверы zepto-host-04–zepto-host-06 — для кластера X1.75.

Перед запуском установки необходимо убедиться, что указанные блочные устройства существуют на соответствующих серверах и не используются другими сервисами.

В текущей версии не поддерживается пользовательская разбивка дисков внутри Zepto-кластера. Диски, используемые в одной схеме хранения, должны быть одинаковой емкости. Поддержка более гибкого распределения дисков планируется в будущих версиях.

Дополнительно необходимо проверить параметры бакетов Zepto в файле:

/deploy/installer/group_vars/zepto/main.yml

В файле задаются следующие параметры:

  • zepto_bucket_size — базовый размер бакета Zepto.
  • zepto_bucket_max_size — максимальный размер бакета.
  • zepto_writable_buckets — количество бакетов, доступных для записи.

Значения этих параметров должны быть подобраны под размер инсталляции, объем дисков и ожидаемую нагрузку. Перед запуском установки необходимо убедиться, что параметры соответствуют выбранной схеме хранения Х1.75 и фактической конфигурации дисков.

После подготовки inventory и включения параметра zepto в значение true установка выполняется стандартной командой:

sudo -E ~/distrib/01_deploy_helper.sh ansible-playbook -i inventory.yml -e @ansible-vault.yml vk.s3.install

Если установка выполняется с использованием Vault, дополнительно передайте файлы vault и vault-transit так же, как при обычной установке с шифрованием.