В этом документе описывается утилита параллельного резервного копирования кластера 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 |
Максимальное количество одновременных запросов для 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:端口号>
В следующих примерах имя базы данных — 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 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.