В этом документе описывается утилита параллельного резервного копирования кластера mxbackup.
mxbackup выполняет параллельное резервное копирование кластера YMatrix. Восстановление данных должно выполняться с помощью mxrestore.mxbackup поддерживает плагин объектного хранилища S3, позволяя передавать данные напрямую в S3 без дополнительных накладных расходов ввода-вывода. Чтобы использовать S3 для резервного копирования и восстановления, необходимо подготовить учетные данные аккаунта, настроить права доступа к бакету и создать правильно сконфигурированный файл YAML. Параметры конфигурации и инструкции по использованию приведены ниже.| Параметр | Описание |
|---|---|
| --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 | Исключить глобальные метаданные из резервной копии |
| Параметр | Описание | Обязательный |
|---|---|---|
| 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>
В следующих примерах имя базы данных — 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
Перед использованием S3 для резервного копирования и восстановления убедитесь, что у вас есть правильные учетные данные облачного аккаунта и права доступа к бакету (Bucket), включая, но не ограничиваясь:
Сначала подготовьте файл конфигурации плагина 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.