Централизованное восстановление резервных копий с помощью RBM

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

Рекомендуется отключить в конфигурационном файле (подробнее об включении и отключении централизованного восстановления см. в документе «Руководство системного администратора RuBackup») возможность централизованного восстановления СУБД на клиенте и выполнять восстановление из резервной копии только со стороны клиента под контролем администратора СУБД.

Централизованное восстановление и восстановление с развертыванием рекомендуется предварительно выполнять на резервном хосте (виртуальной машине) для проверки корректности восстановления СУБД.

Система резервного копирования RuBackup предусматривает возможность восстановления резервных копий как со стороны клиента системы, так и со стороны администратора.

В тех случаях, когда централизованное восстановление на клиенте включено, его можно инициировать, вызвав правой кнопкой мыши контекстное меню Восстановить во вкладке Репозиторий (Рисунок 1):

21
Рисунок 1. Восстановление резервной копии

В окне централизованного восстановления можно увидеть основные параметры резервной копии (Рисунок 2):

22
Рисунок 2. Основные параметры резервной копии

Также в разделе Репозиторий можно увидеть дополнительные параметры резервных копий, сделанных для модуля PostgreSQL universal. Для этого нажмите кнопку Дополнительно и выберите нужный модуль (Рисунок 3):

23
Рисунок 3. Раздел Репозиторий

Откроется таблица с дополнительными параметрами резервных копий (Рисунок 4):

24
Рисунок 4. Таблица с дополнительными параметрами резервных копий
Значения параметров
record

id резервной копии.

client_hostname

имя (хост) клиента, с которого сделана резервная копия.

client_hwid

уникальный id клиента.

resource

ресурс, для которого сделана резервная копия.

backup_type

тип резервной копии.

incremental_subtype

подтип инкрементального резервного копирования. Колонка может принимать значения в зависимости от режима, в котором сделана резервная копия (см. Тонкие настройки модуля при резервном копировании).

TLI

timeline id начального и конечного WAL-файлов в резервной копии, разделенные символом /.

WAL

общий объём WAL-файлов в резервной копии, выражается в байтах, килобайтах, мегабайтах и т.д.

WAL_MODE

принимает значение ARCHIVE_WAL (режим непрерывной архивации) или STREAM (стрим режим).

START_LSN

начальный LSN при вызове pg_start_backup().

STOP_LSN

конечный LSN при вызове pg_stop_backup().

1. Режим восстановления с развертыванием

Существует два режима восстановления резервной копии — с развертыванием и без. Чтобы восстановить резервную копию с развертыванием, установите флаг Восстановить на целевом ресурсе (Рисунок 5). В том случае если опция включена, восстановление базы данных из резервной копии будет выполнено автоматически — дополнительные действия со стороны пользователя не требуются.

2. Режим восстановления без развертывания

Если выбран режим без развертывания, при восстановлении необходимо указать каталог для восстановления резервной копии (Рисунок 5).

После завершения задачи по восстановлению необходимо:

  1. Перенести файлы из каталога для восстановления в целевые каталоги, т.е. из каталога для восстановления /restore_dir/number.rest/var/lib/postgresql/11/main (где number — это номер резервной копии) в /var/lib/postgresql/11/main с заменой файлов, а также из каталога для восстановления /restore_dir/number.rest/opt/rubackup/mnt/postgresql_archives перенести wal-файлы (где number — это номер резервной копии) для восстановления в /opt/rubackup/mnt/postgresql_archives/;

  2. В RBM в разделе Репозиторий выберите восстанавливаемую РК и нажмите кнопку Restore Восстановить.

  3. В открывшемся окне в блоке Место восстановления (Рисунок 5) нажмите […] в поле Параметры восстановления для модуля.

    25
    Рисунок 5. Блок Место восстановления
  4. (опционально) При использовании хранилища секретов: в параметрах восстановления деактивируйте переключатель «Использовать настройки по умолчанию» [1] и выберите метод получения аутентификационной информации для подключения к восстанавливаемой базе данных (Рисунок 6). При восстановлении данных СУБД PostgreSQL можно использовать любой доступный секрет.

    26
    Рисунок 6. Выбор метода получения аутентификационной информации
  5. Нажмите кнопку Apply Применить для применения выбранных настроек и восстановления данных.

  6. Проверить ход выполнения восстановления резервной копии можно в разделе Tasks Задачи (Рисунок 7):

    27
    Рисунок 7. Раздел Tasks Задачи

При успешном завершении восстановления задача переходит в статус Done.

Так же можно проконтролировать ход восстановления резервной копии в журнальном файле:

Пример 1. Журнальный файл
root@ubuntu-server:~# cat /opt/rubackup/log/task_2.log
Wed Feb 15 12:30:18 2023: Media server ql has 'New' task in the queue. Task ID: 2. Task type: Backup global
Wed Feb 15 12:30:18 2023: Task ID: 2. New status: Assigned
Wed Feb 15 12:30:18 2023: Task ID: 2. New status: At_Client
Wed Feb 15 12:30:18 2023: Task ID: 2. New status: Execution
Wed Feb 15 12:30:19 2023: Set unlimited bandwidth for task ID: 2
Wed Feb 15 12:30:22 2023: Task ID: 2. New status: Start Transfer
Wed Feb 15 12:30:22 2023: Set unlimited bandwidth for task ID: 2
Wed Feb 15 12:30:23 2023: Transfer of snapshot client2 TaskID 2 NORuleOrStrategy_0 D2023_2_15H09 30 18 BackupType 1 ResourceType 11 has succeeded. Task ID: 2
Wed Feb 15 12:30:23 2023: Task ID: 2. New record ID was created in repository: 2
Wed Feb 15 12:30:23 2023: Task ID: 2. New status: Transmission
Wed Feb 15 12:30:24 2023: Task ID: 2. New status: Done
Thu Feb 16 11:21:20 2023: Media server ubuntu-server has 'New' task in the queue. Task ID: 2. Task type: Restore
Thu Feb 16 11:21:20 2023: Task ID: 2. New status: Assigned
Thu Feb 16 11:21:21 2023: Task ID: 2. New status: At_Client
Thu Feb 16 11:21:21 2023: Task ID: 2. New status: Start-Transfer
Thu Feb 16 11:21:21 2023: Task ID: 2. New status: Transmission
Thu Feb 16 11:21:21 2023: Set unlimited bandwidth for task ID: 2
Thu Feb 16 11:21:24 2023: Blocks are ready, time: 2
Thu Feb 16 11:21:26 2023: Task ID: 2. New status: Done
Права на папку, которая была создана для восстановления резервной копии после завершения восстановления будет иметь права root:root.

1. Настройки по умолчанию будут добавлены в последующих релизах программного продукта в это же окно для поля «Параметры восстановления для модуля»