Общие сведения

Регулярное создание резервных копий БД направлено на обеспечение возможности быстрого восстановления данных в случае их полной утраты в результате неверных действий администратора или умышленных действий третьих лиц. Резервирование системы в этом случае является недостаточным, т. к. в случае случайного или умышленного повреждения или изменения данных в БД они будут изменены на всех нодах кластера СУБД PostgreSQL. В установочных файлах NAICE добавлены скрипты, позволяющие создавать или восстанавливать данные.

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

Создание резервной копии данных однохостовой установки СУБД PostgreSQL в контейнере

При установке NAICE через OVA-образ создание резервной копии данных выполняется по инструкции v1.0_3.3.7 Резервное копирование.

Выгрузка резервной копии данных выполняется на хостовую машину в папку <папка установки NAICE>/backups/. По умолчанию это папка /etc/docker-naice/backups/.

Для создание резервной копии необходимо выполнить команду на сервере NAICE:

sudo docker exec -it naice-postgres /scripts/backup/backup.sh

Создание резервной копии данных в схеме СУБД PostgreSQL, развернутой в кластере в контейнерах

Выгрузка резервной копии данных выполняется на хостовую машину в папку <папка установки NAICE>/postgres/backups/. По умолчанию это папка /etc/docker-naice/postgres/backups/.

Доступ к папке backups возможен только пользователям с правами sudo.

Для создания резервной копии необходимо выполнить команду на сервере NAICE:

На ноде первого кластера PostgreSQL:

sudo docker exec -it naice-postgres-1 /home/worker/scripts/backup/backup.sh

На ноде второго кластера PostgreSQL:

sudo docker exec -it naice-postgres-2 /home/worker/scripts/backup/backup.sh

Создание резервной копии возможно на любой ноде кластера независимо от её состояния Primary или Standby.


Восстановление данных из резервной копии

Восстановление данных из резервной копии однохостовой установки СУБД PostgreSQL

При установке NAICE через OVA-образ восстановление из резервной копии данных выполняется по инструкции v1.0_3.3.7 Резервное копирование.

Для возможности восстановления данных файлы резервных копий БД должны быть расположены в папке < папка установки NAICE>/backups/. По умолчанию это папка /etc/docker-naice/backups/.

Просмотреть файлы в папке с сортировкой по времени (самые новые файлы - первые в списке) командой ls -tlh < папка установки NAICE>/backups/:

$ ls -tlh /etc/docker-naice/backups/
total 72K
-rw-r--r-- 1 root root 22K Dec 12 15:07 naice_2024-12-12_22-07-23_279.tar.gz
-rw-r--r-- 1 root root 22K Dec 12 11:18 naice_2024-12-12_18-18-30_970.tar.gz

Для восстановления из последней по дате создания резервной копии необходимо выполнить команду на сервере NAICE:

sudo docker exec -it naice-postgres /scripts/backup/restore.sh

Для восстановления из определенного файла необходимо через переменную -f указать путь к файлу с резервной копией (внутри контейнера все файлы резервных копий находятся в папке /var/backups/):

sudo docker exec -it naice-postgres /scripts/backup/restore.sh -f /var/backups/naice_2024-12-12_18-18-30_970.tar.gz

Восстановление данных из резервной копии в схеме СУБД PostgreSQL, развернутой в кластере

Для возможности восстановления данных файлы резервных копий БД должны быть расположены в папке <папка установки NAICE>/postgres/backups/. По умолчанию это папка /etc/docker-naice/postgres/backups/.

Доступ к папке backups возможет только пользователем с правами sudo.

Просмотреть файлы в папке с сортировкой по времени (самые новые файлы - первые в списке) командой sudo ls -tlh <папка установки NAICE>/postgres/backups/:

$ sudo ls -tlh /etc/docker-naice/postgres/backups/
total 72K
-rw-r--r-- 1 worker root 22K Dec 12 15:17 naice_2024-12-12_22-17-26_667.tar.gz
-rw-r--r-- 1 root   root 22K Dec 12 11:54 naice_2024-12-12_18-18-30_970.tar.gz

Восстановление данных возможно только на ноде, находящейся в состоянии Primary.

Как определить, какая нода находится в состоянии Primary, описано в инструкции v1.0_3.4 Установка с резервированием в разделе Проверка состояния кластера PostgreSQL.

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

Если Primary нода первого кластера:

sudo docker exec -it naice-postgres-1 /home/worker/scripts/backup/restore.sh

Если Primary нода второго кластера:

sudo docker exec -it naice-postgres-2 /home/worker/scripts/backup/restore.sh

Для восстановления из определенного файла необходимо через переменную -f указать путь к файлу с резервной копией (внутри контейнера все файлы резервных копий находятся в папке /var/backups/):

Если Primary нода первого кластера:

sudo docker exec -it naice-postgres-1 /home/worker/scripts/backup/restore.sh -f /var/backups/naice_2024-12-12_18-18-30_970.tar.gz

Если Primary нода второго кластера:

sudo docker exec -it naice-postgres-2 /home/worker/scripts/backup/restore.sh -f /var/backups/naice_2024-12-12_18-18-30_970.tar.gz
  • Нет меток