Быстрый старт
Развертывание
Моделирование данных
Подключение
Запись данных
Миграция
Запросы
Операции и обслуживание
Типовое обслуживание
Секционирование
Резервное копирование и восстановление
Масштабирование
Зеркалирование
Управление ресурсами
Безопасность
Мониторинг
Настройка производительности
Устранение неполадок
Справочник
Руководство по инструментам
Типы данных
Хранилище данных
Выполняющая система
Потоковая передача
Восстановление после сбоев
Конфигурация
Индексы
Расширения
Справочник по 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-path-on-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://<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
### 3.2 Использование плагина объектного хранилища S3
#### 3.2.1 Предварительные требования
Перед использованием S3 для резервного копирования и восстановления убедитесь, что у вас есть соответствующий доступ к облачному аккаунту и права на бакет, включая:
- Загрузку и удаление объектов в 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
Затем запустите `mxbackup`, чтобы выполнить резервное копирование базы данных `demo` с использованием плагина S3:
$ mxbackup --dbname demo --plugin-config /tmp/s3-config-file.yaml
После успешного резервного копирования `mxbackup` создаёт каталог с временной меткой в S3. Позже вы сможете восстановить эти данные с помощью [mxrestore](/ru/doc/4.8/tools/mxrestore).
Пример пути в S3 после резервного копирования:
$ backup3/backups/20221208/20221208185654
>***Примечание!***
Каталог журналов `mxbackup` находится по адресу `<gpadmin_home>/gpAdminLogs/gpbackup_s3_plugin_timestamp.log`, временные метки имеют формат `YYYYMMDDHHMMSS`.
>***Примечание!***
Дополнительную информацию о резервном копировании и восстановлении в YMatrix см. в разделе [Резервное копирование и восстановление](/ru/doc/4.8/maintain/backup_restore). Подробности об инструментах восстановления см. в разделе [mxrestore](/ru/doc/4.8/tools/mxrestore).