Управление конфигурациями в ADBM
Конфигурация бэкапа
Обзор
В ADBM конфигурация бэкапа и восстановления (backup/restore configuration) означает набор опций, используемых для формирования и восстановления бинарных бэкапов ADB. Эти опции включают в себя пути для сохранения бэкапов, уровни логирования, тайм-ауты, настройки сжатия данных и так далее. ADBM поддерживает несколько версий конфигураций. Но в каждый момент времени может быть только одна активная версия, которая отмечена статусом current в веб-интерфейсе.
Возможные операции с конфигурациями описаны ниже. Все операции запускаются на вкладке Configuration → Backup/Restore configuration. Чтобы открыть эту вкладку, выполните шаги:
-
Откройте страницу Backup manager в веб-интерфейсе ADB Control.
-
Нажмите на имя кластера ADB в таблице, расположенной в секции Clusters открывшейся страницы.
Выбор кластера ADB
Выбор кластера ADBПРИМЕЧАНИЕНачиная с версии ADBM 2.5.0 рядом с именем каждого кластера выводится его уникальный идентификатор в системе.
-
Выберите вкладку Configuration → Backup/Restore configuration.
Вкладка Configuration → Backup/Restore configuration
Вкладка Configuration → Backup/Restore configuration
Изначально конфигурации в списке отсутствуют. Чтобы начать работу с бэкапами в ADBM, требуется добавить новую конфигурацию.
Добавление новой конфигурации
|
ВАЖНО
|
-
Откройте вкладку Configuration → Backup/Restore configuration, как описано выше.
-
Заполните поля, расположенные в секциях General configuration, Timeout, Storage и Compression. При заполнении полей обратите внимание на следующее:
-
Обязательные параметры выделены красным цветом.
-
Для параметров, определяющих время, допускаются следующие единицы измерения:
-
ms— миллисекунды; -
sec— секунды; -
min— минуты; -
hr— часы; -
d— дни; -
w— недели.
-
-
Для параметров, определяющих объем данных, можно использовать следующие единицы измерения:
-
b— байты; -
kb— килобайты; -
mb— мегабайты; -
gb— гигабайты.
-
-
При заполнении параметров, обозначающих время или объем данных, используйте следующий формат:
<value><unit>(без пробела), где<value>— количество;<unit>— единица измерения (см. выше). Например,1min,2hr. Если необходимо составное значение, используйте пробел (например,30min 30sec). -
Нажав на иконку
, которая появляется справа от названий некоторых полей во время их заполнения, можно вывести справочную информацию по полям: допустимые единицы измерения, минимальное и максимальное значения и так далее.
General configurationПараметр Описание Значение по умолчанию Number of full backups
Максимальное количество полных (full) бэкапов. При достижении этого лимита наиболее старые бэкапы с типом full будут удалены во время следующего автоматического или ручного запуска действия Cleanup. Дополнительную информацию можно получить в разделе Cleanup
3
Number of differential backups
Максимальное количество дифференциальных (differential) бэкапов. При достижении этого лимита наиболее старые бэкапы с типом differential будут удалены во время следующего автоматического или ручного запуска действия Cleanup. Дополнительную информацию можно получить в разделе Cleanup
6
Total number of backups
Общее число бэкапов, возможное для текущего кластера, включая бэкапы в статусах
StoppedиFailed, не подлежащие удалению согласно политикам действия Cleanup. Перед созданием каждого бэкапа осуществляется проверка того, не превышен ли указанный в этом параметре лимит40
File Log level
Уровень логирования.
Возможные значения:
-
off— отсутствие логов; -
error; -
warn; -
info; -
detail; -
debug; -
trace.
info
Archive command
Команда, выполняемая, когда файлы write-ahead log (WAL) передаются в archive directory. Если значение параметра Archive command изменяется, то при применении конфигурации кластер ADB автоматически перезапускается (для изменения значения GUC
archive_command).
Префикс имени конфигурации stanza для сегментов, используемый в Archive command, должен совпадать со значением Stanza template (см. ниже):--stanza=<Stanza template>%cPGOPTIONS=\"-c gp_session_role=utility\" /usr/lib/gpdb/bin/pgbackrest --stanza=seg%c archive-push %pArchive timeout
Максимальное время, в течение которого каждый WAL-сегмент (необходимый для консистентности бэкапа) должен достигнуть архивного репозитория
1min
Stanza template
Префикс имени конфигурации stanza для сегментов. Должен совпадать с префиксом, используемым в Archive command (см. выше):
--stanza=<Stanza template>%cseg
Exclude path
Определяет пути и файлы, которые необходимо исключить из процесса бэкапирования
-
pg_log/gp_era
-
backups
-
gpperfmon/data/
-
gpbackup_history.yaml
Секция General configuration
Секция "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
Секция Timeout
Секция TimeoutStorageПараметр Описание Значение по умолчанию Storage
Хранилище, настроенное на вкладке Storages
—
Relative path
Путь к репозиторию для бэкапов. Указывается относительно пути, заданного в параметре Repository path выбранного хранилища. Вы можете использовать одно и то же хранилище в разных конфигурациях, при этом указывая в каждой конфигурации свой репозиторий внутри этого же хранилища
—
Bundle size
Целевой размер бандлов с файлами. Бандл (bundle) означает группировку отдельных файлов в один перед формированием бэкапа. Значение параметра не рекомендуется устанавливать слишком большим, поскольку при повторных попытках снятия бэкапов будет необходимо формировать весь бандл целиком
100mb
Bundle limit
Ограничение на размер файлов, включаемых в бандл (см. Bundle size выше). Файлы большего размера будут сохраняться отдельно (вне бандла). Файлы в бандлах не могут быть переиспользованы при возобновлении бэкапа (resume) — поэтому параметр фактически контролирует файлы для возобновления бэкапов
2mb
Use block incremental backup
Переключатель, определяющий следует ли создавать более гранулярные резервные копии путем разделения файлов на блоки, которые могут быть забэкапированы независимо друг от друга
false
Секция Storage
Секция StorageWorkspaceПараметр Описание Значение по умолчанию Temporary directory
Директория, используемая для временного размещения данных во время выполнения действия Partial restore.
Рекомендуется использовать директорию на диске, отличном от дисков кластера — с целью уменьшения влияния на производительность кластера в ходе процесса восстановления данных. Поскольку операция восстановления данных не требует произвольного доступа к диску, HDD-диска достаточно
/tmp/adbm/table_restore
Port base
Базовый номер порта, используемый во время выполнения действия Partial restore. Фактический номер порта для каждого сегмента будет определяться как сумма
<Port base> + <dbId>, где<dbId>— это значениеgp_segment_configuration.dbid, соответствующее сегменту.Возможные значения:
[1025,65035]12000
Max processes per host
Максимальное число параллельных процессов, которое может работать на одном сегмент-хосте во время выполнения действия Partial restore.
Возможные значения:
[1,100]1
Секция Workspace
Секция WorkspaceCompressionПараметр Описание Значение по умолчанию Compression type
Алгоритм сжатия данных.
Возможные значения:
-
none— сжатие данных не используется; -
bz2; -
gz; -
lz4; -
zst.
gz
Compression level
Уровень сжатия данных. Возможные значения:
1—96
Max processes to use for compress/transfer
Максимальное количество процессов, используемых на каждом сегменте для сжатия/передачи данных
1
Buffer size
Размер буфера для операций I/O
1mb
Секция Compression
Секция Compression -
-
-
Нажмите Save. Эта кнопка расположена до и после секций с параметрами.
Сохранение конфигурации
Сохранение конфигурации -
В результате запускается действие Apply backup configuration. Это действие, в свою очередь, порождает несколько дочерних действий (subaction). Просмотреть их можно на вкладке Actions (см. Просмотр действий в ADBM).
В версии ADBM 2.6.5 появилась возможность перейти к вкладке Actions и посмотреть информацию о действии, нажав на ссылку Apply backup configuration в поле Action created, которая становится доступна после сохранения конфигурации.
До успешного завершения всех действий конфигурация будет иметь статус draft.
После успешного применения действий конфигурация получает статус current. Наряду со статусом, становится доступна следующая информация о конфигурации:
-
Номер версии (начиная с
1). -
Имя пользователя, создавшего текущую версию.
-
Дата создания в формате
DD/MM/YYYY.
Успешный результат
Успешный результат
Редактирование конфигурации
После добавления конфигурации отредактировать ее параметры нельзя. Однако можно создать новую версию конфигурации на базе одной из добавленных ранее.
|
ПРИМЕЧАНИЕ
Создание новой версии конфигурации доступно только для кластеров, не входящих в кластерную группу. Кластеры в группе используют настройки бэкапов из конфигурации текущего лидера. |
Для этого выполните следующие шаги:
-
Откройте вкладку Configuration → Backup/Restore configuration, как описано выше.
-
В списке доступных версий выберите ту, на основе которой необходимо создать новую. Значения всех параметров выбранной версии выводятся под списком версий (недоступные для редактирования).
ПРИМЕЧАНИЕДобавить конфигурацию можно на базе любой имеющейся версии, не только последней.
Выбор версии
Выбор версии -
Нажмите Create new.
-
Внесите необходимые изменения в секции General configuration, Timeout, Storage и Compression. Параметры в этих секциях полностью идентичны описанным выше.
-
Нажмите Save для добавления новой версии конфигурации. Эта кнопка расположена до и после секций с параметрами.
Сохранение новой версии конфигурации
Сохранение новой версии конфигурации -
В результате запускается действие Apply backup configuration. Это действие, в свою очередь, порождает несколько дочерних действий (subaction). Просмотреть их можно на вкладке Actions (см. Просмотр действий в ADBM).
-
После успешного применения всех действий новая версия конфигурации становится доступной на вкладке Configuration и приобретает статус
current, а прошлая версия переводится в статусprevious.ПРИМЕЧАНИЕ-
ADBM использует версию конфигурации, добавленную последней.
-
Неактивные версии конфигурации, которые не имеют связанных бэкапов, будут удалены при следующем автоматическом либо ручном запуске действия Cleanup.
Новая версия конфигурации
Новая версия конфигурации -
Черновики конфигураций
В ADBM 1.6.3 добавлен начальный статус draft для конфигураций бэкапов. Этот статус присваивается всем конфигурациям при попытке их сохранения до успешного применения всех действий и перевода в статус current. Однако, если конфигурация не может быть успешно провалидирована, она остается в статусе draft — во избежание повторного ввода всей информации в дальнейшем. Черновик конфигурации можно отредактировать (и попытаться повторно применить) либо удалить, нажав на кнопки Edit и Delete, соответственно.
Начиная с версии 1.7.3 для конфигураций доступны два дополнительных статуса:
-
Статус
Unverified draftозначает, что выполняется проверка хранилища или эта проверка завершилась ошибкой. -
Статус
Verified draftозначает, что хранилище доступно для записи, валидация конфигурации завершена успешно, однако во время ее применения возникла ошибка.
Для получения более подробной информации о попытках применения конфигурации и возможных ошибках используйте вкладку Actions.
Расписание
Вкладка Configuration → Schedule позволяет выбрать расписание для различных операций, связанных с бэкапами, таких как формирование бэкапов различных типов, создание точек восстановления и очистка данных. Вкладка доступна начиная с версии ADBM 2.5.0, до этого расписания являлись частью конфигурации бэкапа и заполнялись наряду с другими параметрами в разделе Configuration → General configuration.
Расписания, доступные для заполнения на вкладке Configuration → Schedule, описаны ниже.
| Параметр | Описание |
|---|---|
Full Backup schedule |
Расписание для автоматического создания полных (full) бэкапов. Если бэкапы предполагается формировать вручную, оставьте переключатель напротив поля в неактивном состоянии |
Differential backup schedule |
Расписание для автоматического создания дифференциальных (differential) бэкапов. Если бэкапы предполагается формировать вручную, оставьте переключатель напротив поля в неактивном состоянии |
Incremental backup schedule |
Расписание для автоматического создания инкрементных (incremental) бэкапов. Если бэкапы предполагается формировать вручную, оставьте переключатель напротив поля в неактивном состоянии |
Restore point creation schedule |
Расписание для автоматического создания точек восстановления (restore point). Если точки восстановления предполагается формировать вручную, оставьте переключатель напротив поля в неактивном состоянии |
Cleanup schedule |
Расписание для автоматического удаления избыточных бэкапов (см. Number of full backups и Number of differential backups выше) и бэкапов со статусами |
Deleted backup TTL |
Определяет, требуется ли хранить метаданные бэкапов в статусе В поле используйте формат Для новых кластеров опция Deleted backup TTL по умолчанию выключена. Для существующих кластеров, если перед обновлением до ADBM 2.12.0 использовался хотя бы один параметр из секции Schedule, то опция Deleted backup TTL включена, а значение TTL по умолчанию составляет одну неделю. Если до обновления ни один из этих параметров не использовался, опция Deleted backup TTL по умолчанию выключена |
Для ввода какого-либо расписания переведите в активное положение соответствующий ему переключатель и введите cron-выражение в ставшем доступным поле ввода.
Чтобы перейти к альтернативному способу заполнения расписания, нажмите на иконку
.
В результате откроется окно Cron expression generator, где можно установить расписание путем выбора секунд, минут, часов, дней, месяцев и лет.
Выбранные на форме параметры автоматически трансформируются в
cron-выражение, которое будет сохранено как значение исходного поля с расписанием.
Выражение и его описание можно увидеть в верхней части окна.
Для сохранения текущего выражения и возврата на основную страницу Configuration → Schedule нажмите Save.
Для сохранения всех изменений, введенных в форме Configuration → Schedule, нажмите Save; для их отмены — Revert.
Хранилища
В ADBM хранилище (storage) — это место, где хранятся резервные копии данных. Начиная с ADBM версии 2.6.5 хранилища представляют собой отдельные объекты, которые вы можете создавать и изменять, и которые могут быть использованы в нескольких конфигурациях бэкапов. Для использования хранилища вы можете выбрать его в секции Storage в конфигурации бэкапа.
Добавление нового хранилища
-
Откройте вкладку Configuration → Storages и нажмите Add storage.
Вкладка Configuration → Storages
Вкладка Configuration → Storages -
Заполните поля в секциях Alert settings for storage и General, описанные ниже. Для S3-хранилищ также заполните поля секции S3 configuration.
-
Нажмите Save.
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
Almost Full |
Пороговое значение (в процентах) уровня заполненности хранилища, при котором должен появиться желтый индикатор и статус |
80 |
Critical |
Пороговое значение (в процентах) уровня заполненности хранилища, при котором должен появиться красный индикатор и статус |
90 |
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
Storage name |
Уникальное название хранилища. Используется для выбора хранилища в конфигурации |
— |
Repository type |
Тип репозитория. Возможные значения:
|
posix |
Repository path |
Репозиторий, в котором будут храниться бэкапы и архив WAL-сегментов. Указанная директория должна быть предварительно создана и доступна с мастера и сегмент-хостов. Можно использовать shared-директорию NFS, которая подключена ко всем сегмент-хостам. Если в кластере настроено зеркалирование сегментов, не используйте локальную директорию (созданную на сегментах) — в этом случае на хостах с зеркалами не будет необходимых stanza. Убедитесь, что вы установили один и тот же путь к репозиторию для соответствующих друг другу первичных (primary) и зеркальных (mirror) сегментов |
— |
S3 bucket size |
Объем дискового пространства, который требуется выделить для бэкапов в бакете.
Отображается, если в поле Repository type указано значение Значение параметра необходимо для расчета заполненности и статуса хранилища |
— |
Check free space |
Определяет, требуется ли проверять свободное дисковое пространство в хранилище. Если опция включена, ADBM выполняет проверку раз в минуту, а также перед запуском действия Backup. Если опция выключена, проверка не выполняется и метрики дискового пространства не обновляются. Отключение может быть полезно при работе с облачными S3-провайдерами: если запросы на получение свободного места занимают слишком много времени, такие проверки могут замедлять действие Backup |
true |
Следующие параметры доступны, если в поле Repository type секции General указано значение s3.
|
ПРИМЕЧАНИЕ
SSL всегда используется для подключений агентов ADBM к S3. |
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
URI Type |
Тип Endpoint для S3-хранилища. Возможные значения:
|
|
Bucket |
Бакет в S3-хранилище. Имя бакета не должно содержать точек |
— |
Endpoint |
Конечная точка (endpoint) для S3-хранилища |
— |
Key |
Ключ S3-хранилища |
— |
Key secret |
Секретный ключ S3-хранилища |
— |
Region |
Регион S3-хранилища |
— |
Upload chunk size |
Размер загружаемого чанка данных (part size — в терминологии S3). Обратите внимание, что ограничения, отображаемые во всплывающей подсказке ( |
5mb |
Calculate checksum |
Определяет, когда S3-клиент (ADBM) должен вычислять и отправлять контрольную сумму для тела запроса:
|
When required |
Checksum algorithm |
Определяет хеш-алгоритм для вычисления контрольной суммы: |
CRC32 |
Server-side encryption options |
Определяет, требуется ли осуществлять шифрование данных резервных копий на стороне сервера. При активации переключателя становятся обязательны для заполнения поля Type и Key (см. ниже) |
false |
Type |
Тип шифрования данных на стороне сервера:
Поле обязательно для заполнения, если активирован переключатель Server-side encryption options. Значение самого ключа вводится в поле Key (см. ниже) |
— |
Key |
Ключ, используемый для шифрования данных резервных копий на стороне сервера. Тип ключа определяется в поле Type (см. выше). Поле обязательно для заполнения, если активирован переключатель Server-side encryption options. Для ввода данных поле становится доступно после выбора значения в выпадающем списке Type |
— |
Repository storage CA file |
PEM-файл от доверенного центра сертификации (Certificate Authority, CA) S3-хранилища. Для загрузки файла нажмите Upload |
— |
Certificate verification |
Необходима ли верификация сертификата S3-хранилища. При активации переключателя становится доступно для заполнения поле Repository storage CA file |
true |
Мониторинг хранилищ
Для мониторинга хранилищ используйте секцию Overview, доступную после применения конфигурации с этим хранилищем. Секция Overview позволяет отслеживать следующие параметры:
-
Availability. Показывает, доступно ли хранилище. Если ADBM не может получить доступ к хранилищу, бэкап не будет произведен.
-
Место в хранилище: общий объем (Total capacity), занятый объем (Used space), объем свободного пространства (Free space) и процент заполненности (Fill percentage).
Процент заполненности вычисляется как отношение занятого пространства к общему объему. Для хранилищ POSIX и CIFS общий объем рассчитывается автоматически. Для S3-хранилищ требуется вручную указать общий объем в поле S3 bucket size. Если не задать значение этого параметра, статус и метрики, связанные с заполненностью диска, будут недоступны.
-
Current status. В зависимости от заполненности каждое хранилище может иметь один из следующих статусов:
-
Sufficient space— процент заполненности ниже значения, заданного в Alert settings for storage в параметре Almost Full. -
Almost Full— процент заполненности выше значения, заданного в параметре Almost Full, но ниже значения Critical. -
Critical— процент заполненности выше значения, заданного в параметре Critical. Чтобы избежать переполнения хранилища во время резервного копирования, можно использовать флаг Fail on low space, который означает, что формирование бэкапа не будет запущено, если хранилище имеет статусCritical.
-
Эти метрики рассчитываются, когда вы применяете конфигурацию с выбранным хранилищем. После этого метрики и статус проверяются и обновляются каждую минуту.
|
ПРИМЕЧАНИЕ
Метрики не собираются, если применена конфигурация, в которой используется хранилище с выключенной опцией Check free space в секции General. |
Проверка наличия сегментов WAL
Когда процесс архивации (archiver) находит файл .ready для сегмента WAL, то предполагается, что сам файл сегмента тоже присутствует на диске.
Отсутствие файла (в результате случайного удаления или из-за сбоя) может приводить к многократным ошибкам в процессе архивации, что приведет к накоплению WAL-файлов и может блокировать создание бэкапов.
Для решения этой проблемы в поставку ADB ES версии 1.1.0 и выше включается скрипт pgbackrest_wrapper.sh (в составе пакета adbm-archive-wrapper), который оборачивает команду архивации, передаваемую в Archive command в конфигурации бэкапа.
В конфигурационном параметре сервера archive_command данный скрипт указан в качестве команды архивации.
В результате такой настройки каждый раз, когда сегмент WAL готов к архивации, запускается указанный скрипт, который выполняет две проверки перед собственно командой archive-push:
-
Наличие файла .ready. Если для сегмента WAL не существует файла .ready, скрипт фиксирует проблему кластера
ReadyFileMissing. -
Наличие сегмента WAL. Если файл .ready существует, а соответствующий файл сегмента WAL отсутствует, скрипт фиксирует проблему кластера
WalFileMissing.
В веб-интерфейсе ADBM детали выявленной проблемы доступны при наведении курсора на статус кластера, а также при открытии страницы кластера.
Если в кластере есть любая из этих проблем, то применяются следующие ограничения:
-
Действие Create restore point недоступно для данного кластера.
-
Задача по расписанию Create restore point не запускается.
-
Если проблема возникает во время выполнения потока данных с типом Streaming, такой поток приостанавливается (получает статус
Paused). Его можно возобновить только после устранения проблемы и начиная с новой точки восстановления.
|
ПРИМЕЧАНИЕ
Чтобы обертка adbm-archive-wrapper была доступна на хостах ADB:
ADB ES 1.1.0 совместима с ADB 6.30, но функциональность обертки adbm-archive-wrapper не предоставляется. |
Для диагностики и исправления обнаруженных проблем:
-
Удалите файл .ready, для которого отсутствует файл сегмента WAL (точный путь можно посмотреть в статусе кластера).
-
Проверьте, что процесс архивации работает штатным образом, выполнив запрос к представлению gp_stat_archiver:
SELECT archived_count, failed_count, last_archived_wal, last_archived_time, last_failed_time FROM gp_stat_archiver ORDER BY last_archived_time;Если архивация работает корректно, то значение
failed_countне увеличивается, а значениеlast_failed_timeостается неизменным:archived_count | failed_count | last_archived_wal | last_archived_time | last_failed_time ----------------+--------------+--------------------------+-------------------------------+------------------------------- 23 | 3 | 0000000D0000000100000035 | 2026-06-10 14:10:30.319881+00 | 2026-06-10 08:52:45.696705+00 22 | 3 | 00000009000000010000001F | 2026-06-10 14:10:37.204627+00 | 2026-06-10 08:52:45.356228+00 22 | 3 | 0000000D000000010000002F | 2026-06-10 14:10:37.345172+00 | 2026-06-10 08:52:45.350985+00 22 | 3 | 0000000D000000010000002F | 2026-06-10 14:10:37.360515+00 | 2026-06-10 08:52:45.351205+00 22 | 3 | 00000009000000010000001E | 2026-06-10 14:10:37.381106+00 | 2026-06-10 08:52:45.288743+00 -
На каждом сегменте проверьте каталог WAL pg_xlog на наличие файлов .ready. Например:
$ ls -l $MASTER_DATA_DIRECTORY/pg_xlog/archive_status/Каждый из файлов .ready должен иметь соответствующий файл сегмента WAL. Если все файлы сегментов WAL успешно заархивированы, файлы .ready отсутствуют:
-rw------- 1 gpadmin gpadmin 0 Jun 10 12:20 0000000D0000000100000031.done -rw------- 1 gpadmin gpadmin 0 Jun 10 13:51 0000000D0000000100000032.done -rw------- 1 gpadmin gpadmin 0 Jun 10 14:06 0000000D0000000100000033.done
-
На проблемном кластере выполните действие Backup в ADBM.