Быстрый старт
Развертывание
Моделирование данных
Подключение
Запись данных
Миграция
Запросы
Операции и обслуживание
Типовое обслуживание
Секционирование
Резервное копирование и восстановление
Масштабирование
Зеркалирование
Управление ресурсами
Безопасность
Мониторинг
Настройка производительности
Устранение неполадок
Справочник
Руководство по инструментам
Типы данных
Хранилище данных
Выполняющая система
Потоковая передача
Восстановление после сбоев
Конфигурация
Индексы
Расширения
Справочник по SQL
Часто задаваемые вопросы
В этом документе описывается утилита параллельного резервного копирования кластера 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.