mxbackup

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

1 Описание

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

2 Сведения о параметрах

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

Параметр Описание
--backup-dir directory Абсолютный путь, куда записываются файлы резервной копии
--compression-level level Уровень сжатия от 1 до 9; по умолчанию 1
--data-only Резервное копирование только данных таблиц, без схемы (метаданных)
--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 Идентификатор ключа доступа S3 для подключения к бакету Да
aws_secret_access_key Секретный ключ для идентификатора ключа доступа S3 Да
bucket Бакет S3, используемый для хранения файлов резервной копии mxbackup Да
endpoint URL-адрес конечной точки S3 Нет
encryption Включить SSL-шифрование для S3; допустимые значения: on, off; по умолчанию: on Нет
http_proxy URL-адрес HTTP-прокси-сервера для подключения к S3 Нет
backup_max_concurrent_requests Максимальное количество одновременных запросов при резервном копировании; по умолчанию: 6 Нет
backup_multipart_chunksize Максимальный размер буфера/блока при резервном копировании; по умолчанию: 500 МБ Нет
restore_max_concurrent_requests Максимальное количество одновременных запросов при восстановлении; по умолчанию: 6 Нет
restore_multipart_chunksize Максимальный размер буфера/блока при восстановлении; по умолчанию: 500 МБ Нет

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

$ executablepath: <absolute-path-to-gpbackup_s3_plugin>
  options: 
  region: <cloud-region>
  endpoint: <S3-endpoint>
  aws_access_key_id: <user-id>
  aws_secret_access_key: <user-key>
  bucket: <s3-bucket-name>
  folder: <folder-on-s3-for-backup-data>
  encryption: [on|off]
  backup_max_concurrent_requests: [int]
  backup_multipart_chunksize: [string] 
  restore_max_concurrent_requests: [int]
  restore_multipart_chunksize: [string] 
  http_proxy:
        <http://<username>:<password>@proxy.<domain>.com:port>

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 # Absolute path to S3 plugin
options: 
  region: us-west-2  # Cloud region
  aws_access_key_id: test-s3-user # S3 login ID
  aws_secret_access_key: asdf1234asdf # S3 login key
  bucket: matrixdb-backup # S3 bucket name
  folder: backup3 # Directory name in S3 object storage

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

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

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

$ backup3/backups/20221208/20221208185654

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

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