VK Private Cloud logo
Помощь
Обновлена 21 августа 2026 г. в 11:12

Создание резервной копии баз данных

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

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

Список баз данных

На Платформе используются следующие средства хранения служебных данных:

  • MySQL/Galera.
  • PostgreSQL.
  • Tarantool (сервисы Dusk и Breeze).
  • RabbitMQ.
  • Apache ZooKeeper.
  • etcd.
  • OpenSearch.

MySQL/Galera

Управляющие узлы

  1. На управляющем узле выполните команды:

    $ cd /srv/backup/galera/scripts$ sudo bash ./backup_xtra.sh
  2. Проверьте, что резервные копии созданы:

    $ sudo ls -la /srv/backup/galera/*/*$(date '+%Y%m%d')*.tgz

    Ответ должен содержать список файлов резервных копий вида:

    /srv/backup/galera/backup_<ИМЯ_БД>/xtrabackup_<ИМЯ_БД>_db_bcp_<ДАТА>_<ВРЕМЯ>.tgz.

    Здесь:

    • <ИМЯ_БД> — имя базы данных.
    • <ДАТА> — дата создания резервной копии.
    • <ВРЕМЯ> — время создания резервной копии.

Мониторинг

  1. На узле мониторинга выполните команды:

    $ cd /srv/backup/galera/scripts$ sudo bash ./backup_xtra.sh
  2. Проверьте, что резервная копия создана:

    $ sudo ls -la /srv/backup/galera/*/*$(date '+%Y%m%d')*.tgz

    Ответ должен содержать файл резервной копии вида:

    /srv/backup/galera/xtrabackup_ZABBIX_db_bcp_<ДАТА>_<ВРЕМЯ>.tgz.

    Здесь:

    • <ДАТА> — дата создания резервной копии.
    • <ВРЕМЯ> — время создания резервной копии.

Postgres

  1. На управляющем узле выполните команды:

    $ cd /srv/backup/postgres$ sudo bash ./backup_pg.sh
  2. Проверьте, что резервные копии созданы:

    $ sudo ls -la /srv/backup/postgres/*pg**$(date '+%Y%m%d')*.tgz

    Ответ должен содержать список файлов резервных копий вида:

    /srv/backup/postgres/<ИМЯ_БД>_pg_<ДАТА>_<ВРЕМЯ>.tgz.

    Здесь:

    • <ИМЯ_БД> — имя базы данных.
    • <ДАТА> — дата создания резервной копии.
    • <ВРЕМЯ> — время создания резервной копии.

Tarantool

Чтобы создать резервные копии, выполните команды на первом управляющем узле:

  1. Создайте директории для резервных копий:

    $ sudo mkdir -p /srv/backup/tarantool/
  2. Создайте резервные копии:

    $ echo 'box.backup.start()' | sudo tt connect breeze_01 \&& echo 'box.backup.start()' | sudo tt connect dusk_01 \&& sudo cp -r /var/lib/tarantool/xlogs /srv/backup/tarantool/xlogs/ \&& sudo cp -r /var/lib/tarantool/snaps /srv/backup/tarantool/snaps/ \&& echo 'box.backup.stop()' | sudo tt connect breeze_01 \&& echo 'box.backup.stop()' | sudo tt connect dusk_01
  3. Заархивируйте резервные копии:

    $ sudo tar -czvf /srv/backup/tarantool.tar.gz /srv/backup/tarantool

OpenSearch

  1. Перед созданием резервной копии убедитесь, что на сервере мониторинга нет директории /srv/backup/opensearch/$(date '+%Y%m%d').

  2. Остановите OpenSearch и выполните резервное копирование директорий и файлов.

  3. Создайте на узле мониторинга директорию для резервной копии:

    $ sudo mkdir -p /srv/backup/opensearch/$(date '+%Y%m%d')
  4. Создайте резервную копию:

    $ sudo docker stop opensearch opensearch_dashboards \&& sudo cp -pr /var/lib/docker/volumes/opensearch-data1 /srv/backup/opensearch/$(date '+%Y%m%d')/ \&& sudo cp /etc/opensearch/opensearch-dashboards.yml /srv/backup/opensearch/$(date '+%Y%m%d')/ \&& sudo docker start opensearch opensearch_dashboards
  5. Заархивируйте резервную копию:

    $ sudo tar -czvf /srv/backup/opensearch/opensearch-$(date +%Y%m%d-%H%M).tar.gz /srv/backup/opensearch/$(date '+%Y%m%d')/$ sudo rm -rf /srv/backup/opensearch/$(date '+%Y%m%d')

В результате будет создан файл /srv/backup/opensearch/opensearch-<ДАТА>-<ВРЕМЯ>.tar.gz с резервной копией базы OpenSearch.

Здесь:

  • <ДАТА> — дата создания резервной копии.
  • <ВРЕМЯ> — время создания резервной копии.

etcd

Создайте на управляющем узле директорию для резервных копий:

$ sudo mkdir -p /srv/backup/etcd/

IAM

  1. На управляющем узле создайте резервную копию:

    $ sudo etcdctl --endpoints=127.0.0.1:22379 snapshot save /srv/backup/etcd/iam-$(date +%Y%m%d-%H%M).db
  2. Проверьте, что резервная копия создана:

    $ sudo ls -lR /srv/backup/etcd/iam*

    Ответ должен содержать файл резервной копии вида:

    /srv/backup/etcd/iam-<ДАТА>_<ВРЕМЯ>.db.

    Здесь:

    • <ДАТА> — дата создания резервной копии.
    • <ВРЕМЯ> — время создания резервной копии.

Magnum

Создайте резервную копию:

$ sudo etcdctl --endpoints=127.0.0.1:23379 snapshot save /srv/backup/etcd/magnum-$(date +%Y%m%d-%H%M).db

В результате будет создан файл /srv/backup/etcd/magnum-<ДАТА>_<ВРЕМЯ>.db.

Здесь:

  • <ДАТА> — дата создания резервной копии.
  • <ВРЕМЯ> — время создания резервной копии.

Scrooge

  1. На управляющем узле создайте резервную копию:

    $ sudo etcdctl --endpoints=127.0.0.1:24379 snapshot save /srv/backup/etcd/scrooge-$(date +%Y%m%d-%H%M).db
  2. Проверьте, что резервная копия создана:

    $ sudo ls -lR /srv/backup/etcd/scrooge*

    Ответ должен содержать файл резервной копии вида:

    /srv/backup/etcd/scrooge-<ДАТА>_<ВРЕМЯ>.db.

    Здесь:

    • <ДАТА> — дата создания резервной копии.
    • <ВРЕМЯ> — время создания резервной копии.

Apache ZooKeeper

  1. Сохраните /var/lib/zookeeper на всех управляющих узлах любым удобным способом.

    Пример команды
    $ sudo tar -czvf /srv/backup/zookeeper-$(date +%Y%m%d-%H%M).tar.gz /var/lib/zookeeper
  2. Проверьте, что резервная копия создана:

    $ sudo ls -lR /srv/backup/zookeeper*

    Ответ должен содержать файл резервной копии вида:

    /srv/backup/zookeeper-<ДАТА>_<ВРЕМЯ>.db.

    Здесь:

    • <ДАТА> — дата создания резервной копии.
    • <ВРЕМЯ> — время создания резервной копии.
Была ли статья полезна?