Резервное копирование и восстановление метаданных дедуплицированного пула
Резервное копирование метаданных дедуплицированного пула
Метаданные дедуплицированного пула хранятся в следующих таблицах СРК RuBackup:
-
pool_list. -
pool_block_device_extention. -
storage_block_devices. -
deduplicated_block_device_<signature>.
Существует два способа резервного копирования метаданных дедуплицированного пула:
-
c помощью скрипта
script_block_device_metadata.sh. -
вручную, используя утилиту
pg_dump.
Резервное копирование метаданных дедуплицированного пула с помощью скрипта
Для резервного копирования метаданных дедуплицированного пула с помощью скрипта необходимо:
-
Перевести СРК RuBackup в сервисный режим. Для этого необходимо перейти в меню Настройки → Глобальная конфигурация и включить переключатель Сервисный режим (Рисунок 1).
-
Открыть на редактирование скрипт
script_block_device_metadata.sh(Листинг скрипта script_block_device_metadata.sh) и задать обязательные параметры:-
HOST="localhost"— адрес хоста с базой данных. -
DBNAME="rubackup"— имя базы данных. -
USER="rubackup"— имя пользователя базы данных. -
PASS="12345"— пароль пользователя базы данных. -
BACKUP_FILENAME="rb_block_device_metadata_backup.sql"— имя файла резервной копии выбранных таблиц.
-
-
Запустить скрипт script_block_device_metadata.sh с параметром
dump:bash ./script_block_device_metadata.sh dumpВ результате в текущем каталоге будет создана резервная копия выбранных таблиц в формате
.sql.
Резервное копирование метаданных дедуплицированного пула вручную
Для резервного копирования метаданных дедуплицированного пула вручную необходимо:
-
Перевести СРК RuBackup в сервисный режим. Для этого необходимо перейти в меню Настройки → Глобальная конфигурация и включить переключатель Сервисный режим (Рисунок 1).
-
С помощью команды pg_dump выполнить резервное копирование следующих таблиц из базы данных RuBackup:
-
pool_list. -
pool_block_device_extention. -
storage_block_devices. -
deduplicated_block_device_<signature>.Пример команды для резервного копирования таблицы
pool_listв файл backup.sql:pg_dump -h localhost -d rubackup -U rubackup -t pool_list >backup.sqlДля таблицы
deduplicated_block_device_<signature>необходимо получить параметрsignature.Signature— это уникальная подпись для каждого блочного устройства. Значениеsignatureможно получить следующими способами: -
c помощью утилиты
rb_block_devices:$ rb_block_devices -v -
В RBM в разделе «Блочные устройства» в колонке «Подпись» (Рисунок 2).
Рисунок 2. Окно "Блочные устройства"Пример команды для резервного копирования таблицы
deduplicated_block_device_<signature>в файлbackup.sql:$ pg_dump -h localhost -d rubackup -U rubackup -t deduplicated_block_device_7fb0b3bac69d4fa0 >backup.sqlВ результате в текущем каталоге будет создана резервная копия выбранных таблиц в формате
.sql.
-
Восстановление метаданных дедуплицированного пула
Для восстановления метаданных дедуплицированного пула необходимо: . После сбоя СРК, заново настроить RuBackup согласно руководству по установке (см. Развёртывание).
-
Перевести СРК RuBackup в сервисный режим (Рисунок 1).
-
Восстановить резервные копии таблиц одним из двух способов:
-
С помощью скрипта
script_block_device_metadata.sh(Листинг скрипта script_block_device_metadata.sh) с параметромrestore:bash ./script_block_device_metadata.sh restore -
С помощью команды psql восстановить заранее сохраненные таблицы (
pool_list,pool_block_device_extention,storage_block_devices,deduplicated_block_device_<signature>):psql -h localhost -d rubackup -U rubackup -f rb_block_device_metadata_backup.sql
-
-
С помощью утилиты rb_inventory внести в базу данных RuBackup информацию о всех резервных копиях, которые были сделаны до сбоя:
rb_inventory -i /dir -
С помощью утилиты rb_block_devices обновить имя устройства, если оно было изменено:
rb_block_devices -с ID -n block_deviceГде:
-
ID – уникальный номер блочного устройства, который можно узнать, запустив утилиту
rb_block_devices-v:rb_block_devices -v -
block_device – новое имя блочного устройства.
-
-
Перезапустить сервер RuBackup:
sudo systemctl stop rubackup_server sudo systemctl start rubackup_serverВ результате будут восстановлены метаданные дедуплицированного пула.