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

Резервное копирование и восстановление Vault

Резервное копирование Vault можно выполнить двумя способами:

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

Чтобы настроить резервное копирование стандартной процедурой Hashicorp Vault:

  1. Инициализируйте переменную среды:

    $ export VAULT_ADDR='http://xxx.xxx.xxx.xxx:<НОМЕР_ПОРТА>'

    Здесь <НОМЕР_ПОРТА> — номер порта кластеров Vault, имеющий значения:

    • 8100 — для кластера Vault-transit.
    • 8200 — для кластера Vault.
  2. Определите активный сервер Vault командой vault status. В выводе команды в строке HA Cluster будет IP-адрес активного сервера.

    Если вы не на активном сервере (HA Mode: standby), переключитесь на него командой export VAULT_ADDR=….

  3. Авторизуйтесь на активном сервере:

    $ vault login <ТОКЕН_VAULT>
  4. Сохраните снапшот данных Vault. Снапшот может быть использован для восстановления данных Vault на момент времени, когда он был сделан.

    $ vault operator raft snapshot save <ИМЯ_ФАЙЛА>
  5. Проверьте сохраненный файл резервной копии:

    $ vault operator raft snapshot inspect <ИМЯ_ФАЙЛА>

    Для проверки файла не требуется подключение к кластеру и авторизация, достаточно иметь установленный Vault и файл резервной копии.

Чтобы восстановить резервную копию из снапшота стандартной процедурой Hashicorp Vault:

$ vault operator raft snapshot restore <ИМЯ_ФАЙЛА>

Чтобы настроить резервное копирование Vault скриптом для запуска плейбуков Ansible:

  1. В файле с настройками резервного копирования /deploy/installer/ansible_collections/vk/s3_ops/playbooks/vars/backup_vars.yml укажите хост для хранения резервных копий данных.

  2. Запустите один из скриптов для запуска плейбуков Ansible:

    • Через Cron:

      $ 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 vault,vault-transit
    • Вручную:

      $ 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 vault,vault-transit