Управление конфигурациями в ADBM

Обзор

В ADBM конфигурация (configuration) означает набор опций, используемых для формирования бинарных бэкапов ADB. Эти опции включают в себя расписания для различных типов бэкапов, пути для сохранения бэкапов, уровни логирования, тайм-ауты, настройки сжатия данных и так далее. ADBM поддерживает несколько версий конфигураций. Но в каждый момент времени может быть только одна активная версия, которая отмечена статусом current в web-интерфейсе.

Возможные операции с конфигурациями описаны ниже. Все операции запускаются на вкладке Configuration. Чтобы открыть эту вкладку, выполните шаги:

  1. Откройте страницу Backup Manager в web-интерфейсе ADB Control.

  2. Нажмите на имя кластера ADB в таблице, расположенной в секции Clusters открывшейся страницы.

    adbm cluster open dark
    Выбор кластера ADB
    adbm cluster open light
    Выбор кластера ADB
  3. Выберите вкладку Configuration.

    adbm config open dark
    Вкладка Configuration
    adbm config open light
    Вкладка Configuration

Изначально конфигурации в списке отсутствуют. Чтобы начать работу с бэкапами в ADBM, требуется добавить новую конфигурацию.

Ограничения
  • ADBM не поддерживает топологию кластера из одного сегмент-хоста с включенным зеркалированием. Для таких кластеров формируется ошибка при попытке сохранения конфигурации. При отсутствии такого ограничения возникли бы дубликаты в конфигурации pgBackRest для каждой stanza.

  • Если перед редактированием конфигурации изменилась топология кластера (путем применения действия Expand в ADCM), конфигурация не применится, пока есть хотя бы один валидный бэкап в ADBM. Это связано с тем, что после применения конфигурации на кластере с измененной топологией все предыдущие бэкапы автоматически становятся невалидными. Поэтому в таких случаях необходимо сначала явно удалить все имеющиеся бэкапы, а затем изменить конфигурацию.

Добавление новой конфигурации

  1. Откройте вкладку Configuration, как описано выше.

  2. Заполните поля, расположенные в секциях General configuration, Timeout, Repository и Compression. При заполнении полей обратите внимание на следующее:

    • Обязательные параметры выделены красным цветом.

    • Для параметров, определяющих время, допускаются следующие единицы измерения:

      • ms — миллисекунды;

      • sec — секунды;

      • min — минуты;

      • hr — часы;

      • d — дни;

      • w — недели.

    • Для параметров, определяющих объем данных, можно использовать следующие единицы измерения:

      • b — байты;

      • kb — килобайты;

      • mb — мегабайты;

      • gb — гигабайты.

    • При заполнении параметров, обозначающих время или объем данных, используйте следующий формат: <value><unit> (без пробела), где <value> — количество; <unit> — единица измерения (см. выше). Например, 1min, 2hr. Если необходимо составное значение, используйте пробел (например, 30min 30sec).

    • Нажав на иконку qm dark qm light, которая появляется справа от названий некоторых полей во время их заполнения, можно вывести справочную информацию по полям: допустимые единицы измерения, минимальное и максимальное значения и так далее.

    • Иконка cron dark cron light указывает на возможность редактирования значения поля в отдельной форме, которую можно открыть нажатием на иконку. В настоящий момент иконка используется в полях, где вводятся расписания создания и очистки бэкапов. Нажмите на иконку, чтобы открыть окно Cron expression generator, в котором можно установить расписание путем выбора секунд, минут, часов, дней, месяцев и лет. Выбранные на форме параметры автоматически трансформируются в cron-выражение, которое будет сохранено как значение поля. Выражение и его описание можно увидеть в верхней части окна. Для сохранения текущего выражения и возврата на основную страницу нажмите Save.

      adbm config cron dark
      Окно "Cron expression generator"
      adbm config cron light
      Окно "Cron expression generator"
      General configuration
      Параметр Описание Значение по умолчанию

      Number of full backups

      Максимальное количество полных (full) бэкапов. При достижении этого лимита наиболее старые бэкапы с типом full будут удалены во время следующего автоматического или ручного запуска действия Cleanup. Дополнительную информацию можно получить в разделе Cleanup

      3

      Number of differential backups

      Максимальное количество дифференциальных (differential) бэкапов. При достижении этого лимита наиболее старые бэкапы с типом differential будут удалены во время следующего автоматического или ручного запуска действия Cleanup. Дополнительную информацию можно получить в разделе Cleanup

      6

      Full Backup schedule

      Расписание для автоматического создания полных (full) бэкапов. Если бэкапы предполагается формировать вручную, оставьте переключатель напротив поля в неактивном состоянии

       — 

      Differential backup schedule

      Расписание для автоматического создания дифференциальных (differential) бэкапов. Если бэкапы предполагается формировать вручную, оставьте переключатель напротив поля в неактивном состоянии

       — 

      Incremental backup schedule

      Расписание для автоматического создания инкрементных (incremental) бэкапов. Если бэкапы предполагается формировать вручную, оставьте переключатель напротив поля в неактивном состоянии

       — 

      Restore point creation schedule

      Расписание для автоматического создания точек восстановления (restore points). Если точки восстановления предполагается формировать вручную, оставьте переключатель напротив поля в неактивном состоянии

       — 

      Cleanup schedule

      Раписание для автоматического удаления избыточных бэкапов (см. Number of full backups и Number of differential backups выше) и бэкапов со статусами failed и invalid. Если процедуру очистки предполагается осуществлять вручную, оставьте переключатель напротив поля в неактивном состоянии

       — 

      File Log level

      Уровень логирования.

      Возможные значения:

      • off — отсутствие логов;

      • error;

      • warn;

      • info;

      • detail;

      • debug;

      • trace.

      info

      Log path

      Путь к месту хранения логов

      /home/gpadmin/gpAdminLogs

      Bundle size

      Целевой размер бандлов с файлами. Бандл (bundle) означает группировку отдельных файлов в один перед формированием бэкапа. Значение параметра не рекомендуется устанавливать слишком большим, поскольку при повторных попытках снятия бэкапов будет необходимо формировать весь бандл целиком

      100mb

      Bundle limit

      Ограничение на размер файлов, включаемых в бандл (см. Bundle size выше). Файлы большего размера будут сохраняться отдельно (вне бандла). Файлы в бандлах не могут быть переиспользованы при возобновлении бэкапа (resume) — поэтому параметр фактически контролирует файлы для возобновления бэкапов

      2mb

      adbm config general dark
      Секция "General configuration"
      adbm config general light
      Секция "General configuration"
      Timeout
      Параметр Описание Значение по умолчанию

      Database query timeout

      Устанавливает тайм-аут для запросов к базе данных, включая функции запуска/остановки резервного копирования, которые могут занять значительное время. Следует установить большое значение, если нет уверенности, что функции быстро возвращают результат. Значение Database query timeout должно быть меньше, чем Protocol timeout

      30min

      Protocol timeout

      Устанавливает время, в течение которого локальный или удаленный процесс может ожидать получения нового сообщения на протокольном уровне. Использование тайм-аута предотвращает бесконечное ожидание со стороны процессов. Значение Protocol timeout должно быть больше, чем Database query timeout

      30min 30sec

      I/O timeout

      Тайм-аут, используемый для подключений и операций чтения/записи. Следует учесть, что операция чтения/записи не должна завершиться полностью в течение указанного времени, однако должен быть достигнут некоторый прогресс, даже если это всего лишь один байт

      1min

      Job wait timeout

      Тайм-аут ожидания захвата блокировки на уровне кластера перед началом выполнения задачи (job)

      15min

      adbm config timeout dark
      Секция Timeout
      adbm config timeout light
      Секция Timeout
      Repository
      Параметр Описание Значение по умолчанию

      Archive command

      Команда, выполняемая когда файлы WAL (Write Ahead Log) передаются в archive directory. Если значение параметра Archive command изменяется, то при применении конфигурации кластер ADB автоматически перезапускается (для изменения значения GUC archive_command).

       
      Префикс имени конфигурации stanza для сегментов, используемый в Archive command, должен совпадать со значением Stanza template (см. ниже): --stanza=<Stanza template>%c

      PGOPTIONS=\"-c gp_session_role=utility\" /usr/lib/gpdb/bin/pgbackrest --stanza=seg%c archive-push %p

      Archive timeout

      Максимальное время, в течение которого каждый WAL-сегмент (необходимый для консистентности бэкапа) должен достигнуть архивного репозитория

      1min

      Stanza template

      Префикс имени конфигурации stanza для сегментов. Должен совпадать с префиксом, используемым в Archive command (см. выше): --stanza=<Stanza template>%c

      seg

      Repository type

      Тип репозитория.

      Возможные значения:

      • posix

      • s3

      • cifs

      posix

      Exclude path

      Определяет пути и файлы, которые необходимо исключить из процесса бэкапирования

      • pg_log/gp_era

      • backups

      • gpperfmon/data/

      • gpbackup_history.yaml

      Repository path

      Репозиторий, в котором будут храниться бэкапы и архив WAL-сегментов. Указанная директория должна быть предварительно создана и доступна с хостов Master и Segment. Можно использовать shared-директорию NFS, которая подключена ко всем сегмент-хостам. Если в кластере настроено зеркалирование сегментов, не используйте локальную директорию (созданную на сегментах) — в этом случае на хостах с зеркалами не будет необходимых stanza

       — 

      URI Type

      Тип Endpoint для S3-хранилища. Отображается, если в поле Repository type указано значение s3. Возможные значения:

      • host — хост;

      • path — путь.

       — 

      Endpoint

      Конечная точка (endpoint) для S3-хранилища. Отображается, если в поле Repository type указано значение s3

       — 

      Bucket

      Бакет в S3-хранилище. Имя бакета не должно содержать точек. Отображается, если в поле Repository type указано значение s3

       — 

      Key

      Ключ S3-хранилища. Отображается, если в поле Repository type указано значение s3

       — 

      Key secret

      Секретный ключ S3-хранилища. Отображается, если в поле Repository type указано значение s3

       — 

      Region

      Регион S3-хранилища. Отображается, если в поле Repository type указано значение s3

       — 

      Repository storage CA file

      PEM-файл от доверенного центра сертификации (Certificate Authority, CA) S3-хранилища. Отображается, если в поле Repository type указано значение s3. Для загрузки файла нажмите Upload

       — 

      adbm config repository dark
      Секция Repository
      adbm config repository light
      Секция Repository
      Compression
      Параметр Описание Значение по умолчанию

      Compression type

      Алгоритм сжатия данных.

      Возможные значения:

      • none — сжатие данных не используется;

      • bz2;

      • gz;

      • lz4;

      • zst.

      gz

      Compression level

      Уровень сжатия данных. Возможные значения: 0 — 9

      0

      Max processes to use for compress/transfer

      Максимальное количество процессов, используемых на каждом сегменте для сжатия/передачи данных

      1

      Buffer size

      Размер буфера для операций I/O

      1mb

      adbm config compression dark
      Секция Compression
      adbm config compression light
      Секция Compression
  3. Нажмите Save. Эта кнопка расположена до и после секций с параметрами.

    adbm config save dark
    Сохранение конфигурации
    adbm config save light
    Сохранение конфигурации
  4. В результате запускается действие Start 'Apply backup configuration' action. Это действие, в свою очередь, порождает несколько дочерних действий (subactions). Просмотреть их можно на вкладке Actions (см. Просмотр действий в ADBM).

    До успешного завершения всех действий конфигурация будет иметь статус Draft.

  5. После успешного применения действий конфигурация получает статус Current. Наряду со статусом, становится доступна следующая информация о конфигурации:

    • Номер версии (начиная с 1).

    • Имя пользователя, создавшего текущую версию.

    • Дата создания в формате DD/MM/YYYY.

      adbm config save2 dark
      Успешный результат
      adbm config save2 light
      Успешный результат

Редактирование конфигурации

После добавления конфигурации отредактировать ее параметры нельзя. Однако можно создать новую версию конфигурации на базе одной из добавленных ранее. Для этого выполните следующие шаги:

  1. Откройте вкладку Configuration, как описано выше.

  2. В списке доступных версий выберите ту, на основе которой необходимо создать новую. Значения всех параметров выбранной версии выводятся под списком версий (недоступные для редактирования).

    ПРИМЕЧАНИЕ

    Добавить конфигурацию можно на базе любой имеющейся версии, не только последней.

    adbm config edit dark
    Выбор версии
    adbm config edit light
    Выбор версии
  3. Нажмите Create new.

  4. Внесите необходимые изменения в секции General configuration, Timeout, Repository и Compression. Параметры в этих секциях полностью идентичны описанным выше.

  5. Нажмите Save для добавления новой версии конфигурации. Эта кнопка расположена до и после секций с параметрами.

    adbm config edit2 dark
    Сохранение новой версии конфигурации
    adbm config edit2 light
    Сохранение новой версии конфигурации
  6. В результате запускается действие Start 'Apply backup configuration' action. Это действие, в свою очередь, порождает несколько дочерних действий (subactions). Просмотреть их можно на вкладке Actions (см. Просмотр действий в ADBM).

  7. После успешного применения всех действий новая версия конфигурации становится доступной на вкладке Configuration и приобретает статус Current.

    ПРИМЕЧАНИЕ
    • ADBM использует версию конфигурации, добавленную последней.

    • Неактивные версии конфигурации, которые не имеют связанных бэкапов, будут удалены при следующем автоматическом либо ручном запуске действия Cleanup.

    adbm config edit3 dark
    Новая версия конфигурации
    adbm config edit3 light
    Новая версия конфигурации

Черновики конфигураций

В ADBM 1.6.3 добавлен начальный статус Draft для конфигураций бэкапов. Этот статус присваивается всем конфигурациям при попытке их сохранения до успешного применения всех действий и перевода в статус Current. Однако, если конфигурация не может быть успешно применена, она остается в статусе Draft — во избежание повторного ввода всей информации в дальнейшем. Черновик конфигурации можно отредактировать (и попытаться повторно применить) либо удалить, нажав на кнопки Edit и Delete, соответственно.

adbm config draft dark
Конфигурация в статусе Draft
adbm config draft light
Конфигурация в статусе Draft
Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней