Настройка 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:
-
Установите значение параметра:
zepto: true -
Проверьте параметры 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 так же, как при обычной установке с шифрованием.