Перейти к основному содержимому

Создание резервной копии

Внимание!

:title: Экспериментальная возможность

Команда copywala-ob create-backup <tenant name> утилиты Copywala OB является экспериментальной возможностью.

Работоспособность экспериментальной возможности не гарантируется. Применять ее можно только в предварительно подготовленном тестовом окружении.

примечание

Исполнять сценарий необходимо от имени пользователя pbr.

Описание сценария​

Команда copywala-ob create-backup <tenant name> создает резервную копию (РК) указанного тенанта OceanBase Database. Команда подключается к базе данных и к хранилищу по данным из конфигурационного файла copywala-ob.yaml, создает РК средствами OceanBase Database и выводит в лог ход выполнения и минимальный SCN для восстановления.

В текущей версии резервная копия помещается только в S3-совместимое хранилище (режим backup_mode: s3-proxy конфигурационного файла copywala-ob.yaml).

Важно

:title: Использование FUSE (режим backup_mode: fuse-proxy) запрещено

Функциональность находится в разработке.

Тип копии (полная или дельта) определяется параметром backup_policy.strategy конфигурационного файла copywala-ob.yaml.

Предусловие​

Перед созданием резервной копии убедитесь, что:

  • агент copywala-ob инициализирован (сценарий );

  • в конфигурационном файле copywala-ob.yaml настроены параметры:

    • target_db – учетные данные для подключения к OceanBase Database; пользователь должен иметь права доступа к системному тенанту (sys-тенанту) и к тенанту, для которого выполняется резервное копирование;
    • backup_destination_uri – путь до хранилища резервных копий, параметр обязателен для команды;
    • backup_mode – режим создания резервной копии. В текущей версии создается только в S3-совместимое хранилище (s3-proxy);
    • backup_policy.strategy – тип копии: полная (pbr.policy.backup.strategy.full) или дельта (pbr.policy.backup.strategy.delta);
    • s3_backup_server (а также s3_logs_server, если logs_destination_uri отличается от backup_destination_uri) – параметры доступа к хранилищу.
примечание

:title: Учитывайте следующее

  • Параметр logs_destination_uri опциональный: при его отсутствии для архива логов используется backup_destination_uri (о чем выводится сообщение в лог);
  • Для указанного тенанта не должна выполняться резервная копия, иначе команда завершится ошибкой (ErrBackupAlreadyStarted).

Последовательность выполнения​

Шаги сценария:

  1. Убедитесь, что настройки подключения к целевой базе данных OceanBase Database и пути в хранилище для резервной копии и архива логов, указанные в конфигурационном файле copywala-ob.yaml, являются корректными.

  2. Запустите создание резервной копии через CLI компонента Copywala OB командой copywala-ob create-backup <tenant name>. В процессе выполнения команда:

    • подключается к базе данных OceanBase Database по данным секции target_db;
    • подключается к хранилищу по backup_destination_uri и logs_destination_uri;
    • если непрерывная архивация логов не запущена, запускает архивацию логов на время создания РК и после завершения корректно останавливает ее, дожидаясь корректного SCN. Если непрерывная архивация логов уже запущена (например, командой copywala-ob archive-logs), команда использует существующий поток и не останавливает его по завершении РК;
    • создает РК средствами OceanBase Database и отслеживает результат по служебным таблицам функциональности РК;
    • по завершении выводит в лог минимальный SCN для восстановления текущей РК.

Результат​

Процесс выполнения команды выводится в лог.

Исключительные сценарии​

  • Не удалось установить подключение к целевой базе данных или хранилищу.
  • Не задан backup_destination_uri в конфигурационном файле.
  • Агент не инициализирован (сообщение failed to load agent-id).