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

Настройка дополнительной функциональности для инсталляции

Файл /deploy/installer/group_vars/all/features.yml на деплой-ноде содержит параметры включения дополнительной функциональности.

По умолчанию параметры имеют следующие значения:

billing_pusher: false   go_toucher: true   policebank: false   multisite_replication: false   sse: false   sse_vault: false   usage_storage: false   zepto: false

Здесь:

  • billing_pusher — отправка собираемой статистики используемых ресурсов в сервис биллинга. Не работает без параметра usage_storage=true. Функциональность нельзя использовать для частной инсталляции.
  • go_toucher — очистка хранилища от удаленных объектов. Параметр включен по умолчанию с версии 1.51.1.
  • iam_v1_enabled — установка IAM версии 1. Флаг работает с версии 1.51.1.
  • policebank — задание набора правил в рамках одного бакета на основе информации о пользователе, запросе, IP-адресе отправителя и других параметрах, запроса.
  • multisite_replication — включает установку компонентов, необходимых для работы асинхронной репликации между двумя кластерами VK Object Storage.
  • sse — шифрование данных на стороне сервера.
  • sse_vault — установка KMS (HashiCorp Vault).
  • usage_storage — сбор статистики используемых ресурсов.
  • versioning — версионирование объектов.
  • zepto — включает установку Zepto в качестве слоя хранения объектов.

Включение дополнительной функциональности доступно после установки, но может требовать дополнительной настройки (например, функциональность шифрования данных или политик бакетов).

Настройка функциональности политики бакета

  1. В файле inventory.yml настройте две группы узлов (policebank_router и policebank_storage), указав инстансы и серверы, на которых их следует разместить.

    Пример:

    policebank_router      hosts:         policebank_router_01:            ansible_host: mcs-mono01         policebank_router_02:            ansible_host: mcs-mono02         policebank_router_03:            ansible_host: mcs-mono03   policebank_storage      hosts:         policebank_storage_01:            ansible_host: mcs-mono01         policebank_storage_02:            ansible_host: mcs-mono02         policebank_storage_03:            ansible_host: mcs-mono03
  2. Включите функциональность политик бакета:

    1. Откройте на редактирование файл features.yml:

      vim /deploy/installer/group_vars/all/features.yml
    2. Задайте значение true для параметра policebank.

Настройка функциональности шифрования данных ключом, генерируемым на стороне сервера

Для генерации и хранения ключа на стороне VK Object Storage используется ПО HashiCorp Vault — инструмент для безопасного хранения и доступа к секретам.

Определите узлы, на которых будет размещен Vault.

В архитектуре Vault используется два кластера, которые поддерживают транзитное шифрование (transit encryption):

  • Vault-transit. Хранит ключ для автоматического распечатывания (auto unseal) узлов основного кластера. При перезапуске серверов или сервисов Vault потребуется сделать unseal вручную необходимому узлу кластера. Vault-transit не несет какой-либо нагрузки, к нему только обращается кластер Vault при запуске.
  • Vault. Основной кластер. Не поддерживает unseal вручную. В случае перезапуска узлов обращается к Vault-transit и автоматически распечатывается. Кластер является рабочим (production), выполняет расшифровку ключей для бакетов с включенным шифрованием (Server-Side Encryption).

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

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

Чтобы настроить первоначальную установку VK Object Storage с функциональностью шифрования данных:

  1. Отредактируйте файлы конфигураций:

    1. Отредактируйте файл конфигурации /deploy/installer/inventory.yml: в секциях vault_transit и vault, в списке hosts укажите имена серверов, на которых будут установлены кластеры Vault.

    2. Убедитесь, что в файле /deploy/installer/group_vars/all/features.yml значения параметров sse и sse_vaulttrue.

    3. Убедитесь, что в DNS корректно указаны записи типа CNAME — разрешены имена [t|v].<installation_service_name>.<ИМЯ_ДОМЕНА> и указаны адреса балансировщиков нагрузки.

    4. Выполните установку VK Object Storage с переменными vault и vault-transit.

  2. Сохраните на стороннем хранилище, отличном от VK Object Storage, содержимое файлов Ansible Vault /deploy/installer/vault и /deploy/installer/vault-transit.

  3. Настройте регулярное резервное копирование данных кластера Vault (подробнее — в документе Руководство администратора VK Object Storage в разделе Резервное копирование и восстановлениеРезервное копирование и восстановление Vault).