Резервное копирование и восстановление метаданных дедуплицированного пула

Резервное копирование метаданных дедуплицированного пула

Метаданные дедуплицированного пула хранятся в следующих таблицах СРК RuBackup:

  • pool_list.

  • pool_block_device_extention.

  • storage_block_devices.

  • deduplicated_block_device_<signature>.

Существует два способа резервного копирования метаданных дедуплицированного пула:

  • c помощью скрипта script_block_device_metadata.sh.

  • вручную, используя утилиту pg_dump.

Резервное копирование метаданных дедуплицированного пула с помощью скрипта

Для резервного копирования метаданных дедуплицированного пула с помощью скрипта необходимо:

  1. Перевести СРК RuBackup в сервисный режим. Для этого необходимо перейти в меню Настройки → Глобальная конфигурация и включить переключатель Сервисный режим (Рисунок 1).

backup dedup00001
Рисунок 1. Окно "Глобальная конфигурация"
  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" — имя файла резервной копии выбранных таблиц.

  2. Запустить скрипт script_block_device_metadata.sh с параметром dump:

    bash ./script_block_device_metadata.sh dump

    В результате в текущем каталоге будет создана резервная копия выбранных таблиц в формате .sql.

Резервное копирование метаданных дедуплицированного пула вручную

Для резервного копирования метаданных дедуплицированного пула вручную необходимо:

  1. Перевести СРК RuBackup в сервисный режим. Для этого необходимо перейти в меню Настройки → Глобальная конфигурация и включить переключатель Сервисный режим (Рисунок 1).

  2. С помощью команды 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).

      backup dedup00002
      Рисунок 2. Окно "Блочные устройства"

      Пример команды для резервного копирования таблицы deduplicated_block_device_<signature> в файл backup.sql:

      $ pg_dump -h localhost -d rubackup -U rubackup -t deduplicated_block_device_7fb0b3bac69d4fa0 >backup.sql

      В результате в текущем каталоге будет создана резервная копия выбранных таблиц в формате .sql.

Восстановление метаданных дедуплицированного пула

Для восстановления метаданных дедуплицированного пула необходимо: . После сбоя СРК, заново настроить RuBackup согласно руководству по установке (см. Развёртывание СРК).

  1. Перевести СРК RuBackup в сервисный режим (Рисунок 1).

  2. Восстановить резервные копии таблиц одним из двух способов:

    • С помощью скрипта 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
  3. С помощью утилиты rb_inventory внести в базу данных RuBackup информацию о всех резервных копиях, которые были сделаны до сбоя:

    rb_inventory -i /dir
  4. С помощью утилиты rb_block_devices обновить имя устройства, если оно было изменено:

    rb_block_devices -с ID -n block_device

    Где:

    • ID – уникальный номер блочного устройства, который можно узнать, запустив утилиту rb_block_devices -v:

      rb_block_devices -v
    • block_device – новое имя блочного устройства.

  5. Перезапустить сервер RuBackup:

    sudo systemctl stop rubackup_server
    sudo systemctl start rubackup_server

    В результате будут восстановлены метаданные дедуплицированного пула.