mxbackup

В этом документе описывается инструмент параллельного резервного копирования кластера — mxbackup.

1 Описание

  • mxbackup предназначен для параллельного резервного копирования кластера. Для восстановления данных, созданных с помощью mxbackup, необходимо использовать mxrestore.
  • mxbackup поддерживает плагин объектного хранилища S3 и может напрямую передавать данные в хранилище S3 посредством потоковой репликации без дополнительных накладных расходов ввода-вывода. Для использования S3-хранилища при резервном копировании и восстановлении данных необходимо подготовить соответствующие учётные записи, права доступа к bucket, а также составить файл конфигурации YAML. Подробные параметры конфигурации и способы использования приведены ниже.

2 Параметры

2.1 Параметры командной строки mxbackup

Параметр Описание
--backup-dir directory Абсолютный путь для записи файлов резервной копии
--compression-level level Уровень сжатия, диапазон от 1 до 9, по умолчанию 1
--data-only Резервное копирование только данных, без схем (Schema)
--dbname db База данных, подлежащая резервному копированию
--debug Вывод информации журнала на уровне отладки
--exclude-schema schema Исключить схему из резервного копирования; данный параметр можно указывать несколько раз для исключения нескольких схем
--exclude-schema-file file Файл, содержащий список схем, которые нужно исключить
--exclude-table table Исключить таблицу из резервного копирования; данный параметр можно указывать несколько раз для исключения нескольких таблиц
--exclude-table-file file Файл, содержащий список таблиц, которые нужно исключить
--from-timestamp timestamp Начальная временная метка для инкрементного резервного копирования; должен использоваться совместно с параметром --incremental
--help Отображение справочной информации
--history Показать исторические временные метки текущего каталога резервного копирования
--include-schema schema Указать схемы, подлежащие резервному копированию; можно указывать несколько раз для выбора нескольких схем
--include-schema-file file Файл, содержащий список схем, подлежащих резервному копированию
--include-table table Указать таблицы, подлежащие резервному копированию; можно указывать несколько раз для выбора нескольких таблиц
--include-table-file file Файл, содержащий список таблиц, подлежащих резервному копированию
--incremental Инкрементное резервное копирование, применимо к таблицам AO. Должен использоваться совместно с параметром --from-timestamp
--jobs num Количество параллельных соединений при резервном копировании, по умолчанию 1
--leaf-partition-data При резервном копировании секционированных таблиц создавать отдельный файл данных для каждой секции
--metadata-only Резервное копирование только метаданных, без данных таблиц
--no-compression Не сжимать данные таблиц
--plugin-config file Указать путь к файлу конфигурации плагина
--quiet Не отображать информационные и предупреждающие сообщения, кроме ошибок
--single-data-file Резервное копирование данных в один общий файл вместо создания отдельного файла для каждой таблицы
--verbose Вывод подробной информации журнала
--version Вывести версию инструмента и завершить работу
--with-stats Резервное копирование статистики
--without-globals Не резервировать глобальные метаданные

2.2 Параметры конфигурационного файла плагина S3-объектного хранилища

Параметр Описание Обязательный
executablepath Абсолютный путь к плагину S3-хранилища Да
region Регион облачной платформы. Если задан endpoint, регион будет проигнорирован Да
aws_access_key_id ID S3-доступа облачной платформы для подключения к bucket Да
aws_secret_access_key Пароль для ID S3-доступа облачной платформы Да
bucket S3-bucket, используемый для хранения файлов резервной копии mxbackup Да
endpoint Конечная точка (endpoint) интерфейса S3 Нет
encryption Включить SSL-шифрование для S3. Допустимые значения: on и off, по умолчанию on Нет
http_proxy URL HTTP-прокси-сервера для подключения к S3 Нет
backup_max_concurrent_requests Максимальное количество одновременных запросов при резервном копировании mxbackup, по умолчанию 6 Нет
backup_multipart_chunksize Максимальный размер буфера/блока при резервном копировании mxbackup, по умолчанию 500 МБ Нет
restore_max_concurrent_requests Максимальное количество одновременных запросов при восстановлении mxrestore, по умолчанию 6 Нет
restore_multipart_chunksize Максимальный размер буфера/блока при восстановлении mxrestore, по умолчанию 500 МБ Нет

Шаблон конфигурационного файла приведён ниже. Выберите нужные строки параметров и замените содержимое в угловых скобках «<>» или квадратных скобках «[]» (включая сами символы "<>" и "[]") на фактические значения.

$ executablepath: <absolute-path-to-gpbackup_s3_plugin>
  options: 
  region: <云平台区域>
  endpoint: <S3 终端节点>
  aws_access_key_id: <用户 ID>
  aws_secret_access_key: <用户密钥>
  bucket: <S3 存储桶>
  folder: <S3 上存储数据的文件目录>
  encryption: [on|off]
  backup_max_concurrent_requests: [int]
  backup_multipart_chunksize: [string] 
  restore_max_concurrent_requests: [int]
  restore_multipart_chunksize: [string] 
  http_proxy:
        <http://<用户名>:<安全密钥>@proxy.<域名>.com:端口号>

3 Примеры

3.1 Основные функции mxbackup

В примерах используется база данных demo и схема twitter.

Резервное копирование базы данных:

$ mxbackup --dbname demo

Резервное копирование базы данных demo, за исключением схемы twitter:

$ mxbackup --dbname demo --exclude-schema twitter

Только резервное копирование данных из схемы twitter в базе данных demo:

$ mxbackup --dbname demo --include-schema twitter

Резервное копирование базы данных demo с сохранением файлов резервной копии в каталог /home/mxadmin/backup:

$ mxbackup --dbname demo --backup-dir /home/mxadmin/backup

3.2 Использование плагина объектного хранилища S3

3.2.1 Подготовка

Перед использованием S3-объектного хранилища для резервного копирования и восстановления данных необходимо иметь учётную запись облачной платформы и права доступа к bucket. В частности, должны быть предоставлены следующие права:

  • Возможность загружать и удалять файлы в S3.
  • Возможность открывать, просматривать и скачивать файлы из S3.

3.2.2 Пример использования

Сначала подготовьте конфигурационный файл плагина S3-объектного хранилища s3-config-file.yaml. В данном примере указаны некоторые часто используемые параметры. За дополнительными параметрами обратитесь к разделу 2.2 выше.

$ executablepath: $GPHOME/bin/mxbackup_s3_plugin # S3 存储插件的绝对路径
options: 
  region: us-west-2  # 云平台区域
  aws_access_key_id: test-s3-user # 登陆 S3 的 ID
  aws_secret_access_key: asdf1234asdf # 登陆 S3 的密钥
  bucket: matrixdb-backup # S3 存储桶
  folder: backup3 # S3 对象存储中的文件目录名

Затем выполните параллельное резервное копирование данных из базы данных demo с помощью инструмента mxbackup:

$ mxbackup --dbname demo --plugin-config /tmp/s3-config-file.yaml

После успешного резервного копирования mxbackup создаст в S3-объектном хранилище каталог с временной меткой. После успешного резервного копирования вы можете восстановить данные с помощью инструмента mxrestore:

$ backup3/backups/20221208/20221208185654

Внимание!
Каталог журналов инструмента mxbackup — <gpadmin_home>/gpAdminLogs/gpbackup_s3_plugin_timestamp.log, формат временной метки — YYYYMMDDHHMMSS.

Внимание!
Дополнительную информацию о резервном копировании и восстановлении данных в YMatrix см. в разделе Резервное копирование и восстановление. Информацию об инструментах восстановления данных см. в разделе mxrestore.