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

Резервное копирование метаданных

Предварительные условия для настройки резервного копирования:

  1. Отредактируйте файл /deploy/installer/ansible_collections/vk/s3_ops/playbooks/vars/backup_vars.yml.

  2. Запуск резервного копирования производится с деплой-ноды.

  3. Для запуска используется та же учетная запись пользователя deploy, что и для установки и администрирования системы. Она должна содержать:

    • Права на подключение по SSH и sudo без запроса пароля для запуска из cron.
    • SSH-ключ в профиле пользователя deploy. Необходим для подключения к остальным серверам с сервера с ролью хранения резервных копий.

Чтобы запустить резервное копирование:

$ sudo -E ./01_deploy_helper.sh ansible-playbook -i inventory.yml -e @ansible-vault.yml -e @vault-transit -e @vault vk.s3_ops.backup --tags <TAG>

Здесь <TAG> — любая комбинация из следующих значений:

  • full — резервная копия всего (tnt, etcd, distr, IAM, Grafana).
  • tnt — резервные копии всех инстансов Matter, FileDB, Hitbox, PairDB на всех серверах.
  • distr — копирование директории /deploy/installer на деплой-ноду.
  • iam — резервная копия баз MariaDB и Breeze компонента IAM.
  • grafana — резервная копия настроек и данных Grafana (не включает базы с метриками).
  • zabbix_full — резервная копия БД Zabbix, содержащей настройки Zabbix и все накопленные данные мониторинга.
  • zabbix — резервная копия БД Zabbix, содержащей только настройки Zabbix.
  • vault — резервная копия баз кластера vault.
  • vault_transit — резервная копия баз кластера vault.

Чтобы запустить автоматическое резервное копирование, применяется cron:

  • Чтобы получать отчет при каждом запуске (успешном и неуспешном):

    $ 35 0 * * * sudo -E ./01_deploy_helper.sh ansible-playbook -i inventory.yml -e @ansible-vault.yml -e @vault-transit -e @vault vk.s3_ops.backup --tags full
  • Чтобы получать отчет только при неуспешном завершении создания резервной копии:

    $ 35 0 * * * if ! cron_backup_out=$(sudo -E ./01_deploy_helper.sh ansible-playbook -i inventory.yml -e @ansible-vault.yml -e @vault-transit -e @vault vk.s3_ops.backup --tags full); then echo ${cron_backup_out}; fi