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 Максимальное количество одновременных запросов для 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 # Absolute path to S3 plugin
options: 
  region: us-west-2  # Cloud platform region
  aws_access_key_id: test-s3-user # S3 login ID
  aws_secret_access_key: asdf1234asdf # S3 login key
  bucket: matrixdb-backup # S3 bucket
  folder: backup3 # Directory name in S3 object storage

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

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

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

Пример пути резервного копирования в S3:

$ backup3/backups/20221208/20221208185654

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

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