Резервное копирование и восстановление метаданных дедуплицированного пула
Резервное копирование метаданных дедуплицированного пула
Метаданные дедуплицированного пула хранятся в следующих таблицах СРК 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
В результате будут восстановлены метаданные дедуплицированного пула.