Резервное копирование и восстановление данных

Резервное копирование и восстановление данных, хранящихся в кластере ADQM, можно выполнять в интерфейсе ADCM через действие сервиса ADQMDB Backup/Restore.

Запуск действия Backup/Restore
Запуск действия Backup/Restore

При запуске действия открывается Wizard, где можно последовательно настроить все необходимые параметры для создания резервной копии (бэкапа) или восстановления объекта данных кластера ADQM.

Каждый шаг с конфигурационными параметрами содержит следующие навигационные действия:

  • Discard changes — сбрасывает значения параметров, указанные на текущем шаге, до значений по умолчанию.

  • Next step — сохраняет значения параметров, указанные на текущем шаге, и направляет на следующую страницу настройки.

Последний шаг имеет только действие Run, которое запускает резервное копирование или восстановление данных.

Чтобы выйти из Wizard, нажмите Exit в правом верхнем углу. Текущий прогресс конфигурирования будет сохранен, и при повторном запуске действия Backup/Restore будет предложено продолжить настройку с последнего завершенного шага или начать заново. Больше информации о Wizard можно узнать в документации ADCM.

ПРИМЕЧАНИЕ
  • Все операции резервного копирования и восстановления данных выполняются от имени специального пользователя ClickHouse backup, который создается бандлом ADQM. Этот пользователь имеет фиксированный набор прав: INSERT, CREATE DATABASE/TABLE/DICTIONARY, BACKUP, CLUSTER, REMOTE, TABLE ENGINE, SELECT на системные таблицы system.dictionaries и system.backup_log.

  • Резервное копирование и восстановление данных включает только базы данных, таблицы и словари (данные + схема). Аккаунты пользователей, роли, квоты, политики доступа к строкам и профили настроек не включаются.

Резервное копирование данных

Для создания резервной копии данных ADQM запустите действие сервиса ADQMDB Backup/Restore и подготовьте его к выполнению как описано ниже:

  1. Выберите действие Backup.

    Выбор действия резервного копирования данных
    Выбор действия резервного копирования данных
  2. На следующем шаге нажмите Collect info и дождитесь завершения сбора информации об объектах данных кластера ADQM (базах данных, таблицах, словарях, созданных ранее резервных копиях).

    Сбор информации об объектах данных кластера ADQM
    Сбор информации об объектах данных кластера ADQM
  3. Укажите параметры для создания резервной копии (поля, подсвеченные красным, обязательны для заполнения).

    Конфигурирование действия Backup
    Конфигурирование действия Backup
    • Cluster — логический кластер ADQM для определения, на каких узлах существует объект данных для резервного копирования. В Cluster configuration должен быть настроен хотя бы один логический кластер.

    • Select data to backup — объект данных, резервную копию которого нужно создать. Возможные значения: table, dictionary, database, all. В зависимости от выбранного значения становятся доступны поля, которые необходимо заполнить, чтобы указать конкретный объект данных для создания его резервной копии — например, для таблицы нужно указать базу данных, имя таблицы и (опционально) одну или несколько партиций.

    • Select backup storage — место размещения резервной копии. Возможные значения:

      • Local disk — сконфигурированный локальный диск;

      • S3 disk — сконфигурированный диск S3;

      • Local file — файл в локальной файловой системе;

      • S3 endpoint — конечная точка S3.

      В зависимости от выбранного значения в интерфейсе выводится соответствующий набор параметров.

      Local disk
      Параметр Описание

      Local disk name

      Имя локального диска. Диск должен быть предварительно сконфигурирован (в том числе включена опция allow_for_backup) в настройках сервиса ADQMDB — управление дисками в ADQM описано в статье Настройка хранилищ данных

      Backup name

      Имя резервной копии. Указывается без одинарных кавычек

      S3 disk
      Параметр Описание

      S3 disk name

      Имя диска S3. Диск должен быть предварительно сконфигурирован (в том числе включена опция allow_for_backup) в настройках сервиса ADQMDB — управление дисками в ADQM описано в статье Настройка хранилищ данных

      Backup name

      Имя резервной копии. Указывается без одинарных кавычек

      Local file
      Параметр Описание

      Local file path

      Путь к локальному файлу. Путь должен быть добавлен в список Other → Allowed path for backup на странице конфигурации сервиса ADQMDB

      Backup name

      Имя резервной копии. Указывается без одинарных кавычек

      S3 endpoint
      Параметр Описание

      endpoint

      Конечная точка S3

      Access key ID

      Идентификатор ключа доступа

      Secret access key

      Секретный ключ доступа

      Если указанное имя резервной копии (Backup name) оканчивается на .zip, .zipx, .tar, .tar.gz, .tgz, .tar.bz2, .tar.lzma, .tar.zst, .tzst или .tar.xz, резервная копия будет сохранена как один архивный файл (не как каталог).

    • Make incremental backup — создание инкрементальной резервной копии, куда сохранятся только те данные, которые изменились с момента создания предыдущей (базовой) копии. Чтобы указать базовую резервную копию, на основе которой будет создана инкрементальная, используйте настройку Select base backup storage. Все данные объекта могут быть восстановлены из инкрементальной резервной копии, но для этого базовая копия также должна оставаться доступной.

    • Backup settings — дополнительные настройки резервного копирования (см. список параметров в документации ClickHouse).

  4. Подтвердите запуск действия.

    Подтверждение запуска действия
    Подтверждение запуска действия

    Резервное копирование данных выполняется асинхронно. Детали выполнения задачи отображаются на странице Jobs. Также на странице Jobs можно проанализировать ошибки в случае их возникновения.

Особенности резервного копирования в ADQM
  • Для таблицы/базы данных/словаря (Select data to backup) ADQM определяет, на каких узлах выбранного логического кластера (Cluster) существует объект:

    • Объект найден более чем на одном узле — создается один кластерный бэкап (с ON CLUSTER) с данными всех этих узлов.

    • Объект найден на одном узле — снимается обычный бэкап (без ON CLUSTER) с этого узла.

    • Объект не найден — действие Backup завершается ошибкой data object could not be found on the cluster nodes. Убедитесь, что имя кластера и имя объекта указаны корректно.

  • Если в Select data to backup выбрано значение all, создается кластерный бэкап.

  • Кластерный бэкап не может быть записан как архив.

Восстановление данных

Для восстановления данных ADQM из резервной копии запустите действие сервиса ADQMDB Backup/Restore и настройте его следующим образом:

  1. Выберите действие Restore и через параметр Restore source укажите резервную копию, из которой нужно восстановить данные. В конфигурации источника восстановления данных доступны те же типы хранилища (Local disk, S3 disk, Local file, S3 endpoint) с теми же параметрами для каждого из них, что и для хранилища резервной копии (см. описание параметров выше).

    Выбор действия восстановления данных
    Выбор действия восстановления данных

    Обратите внимание:

    • Для восстановления с локального диска или с диска S3 у него должен быть включен параметр allow_for_backup — в списке источников показываются только такие диски.

    • При проверке S3-бэкапа во время восстановления TLS-сертификат не проверяется.

  2. На следующем шаге нажмите Collect info и дождитесь завершения сбора информации о выбранной резервной копии.

    Сбор информации о резервной копии
    Сбор информации о резервной копии
  3. Укажите параметры для восстановления данных из резервной копии.

    Конфигурирование действия Restore
    Конфигурирование действия Restore
    • Select data to restore — данные, которые нужно восстановить. Возможные значения: table, dictionary, database, all. Для каждого типа объекта (базы данных/таблицы/словаря) показываются соответствующие параметры, через которые нужно указать объект данных для восстановления, а также дополнительное поле new <object> name, где можно опционально указать новое имя, которое будет присвоено восстановленному объекту. При восстановлении таблицы через необязательный параметр partitions можно указать список ID партиций, чтобы восстановить только их. Если оставить этот параметр незаполненным, будут восстановлены все партиции таблицы.

      При восстановлении из архивного бэкапа Collect info не может прочитать его содержимое — имена баз данных/таблиц/словарей в этом случае необходимо ввести вручную.

    • Restore destination — место размещения восстановленных данных.

      Возможные значения при восстановлении из кластерного бэкапа:

      • Cluster — восстановление с ON CLUSTER '<cluster_name>' на все узлы выбранного логического кластера ADQM. Восстановление можно направить на логический кластер, отличный от того, из которого был сохранен бэкап.

      • Single host — восстановление данных только на один выбранный узел (без ON CLUSTER).

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

    • Restore settings — дополнительные настройки восстановления данных (см. список параметров в документации ClickHouse).

  4. Подтвердите запуск действия.

    Подтверждение запуска действия
    Подтверждение запуска действия

    Восстановление данных выполняется асинхронно. Информацию о выполнении задачи (в том числе ошибки в случае их возникновения) можно посмотреть на странице Jobs.

    Посмотреть результат выполнения операции резервного копирования или восстановления данных можно также в системной таблице system.backup_log:

    SELECT name, total_size, hostname, status, error, event_time
    FROM clusterAllReplicas(<cluster_name>, system.backup_log)
    WHERE (id = '<operation_id>') AND (status NOT IN ('CREATING_BACKUP', 'RESTORING'))
    ORDER BY event_time_microseconds DESC
    SETTINGS skip_unavailable_shards = 1;

    где:

    • <cluster_name> — имя логического кластера ADQM;

    • <operation_id> — идентификатор операции резервного копирования или восстановления данных, который можно посмотреть на вкладке Ansible [check] страницы Jobs в выводе результата выполнения задачи ADQMDB.Clickhouse Server: Show backup/restore result.

      Идентификатор операции Backup/Restore на странице Jobs
      Пример идентификатора операции резервного копирования данных
      Пример идентификатора операции резервного копирования данных
Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней