Запуск действий в ADBM

Обзор

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

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

  2. В секции Clusters открывшейся страницы найдите кластер, для которого требуется запустить действие, и кликните по иконке added actions dark added actions light в табличной строке, соответствующей этому кластеру. Возможные действия доступны в выпадающем списке.

    adbm cluster action open1 dark
    Запуск действий из секции Clusters
    adbm cluster action open1 light
    Запуск действий из секции Clusters
  3. Если требуется работать с определенным кластером, нажмите на его название в таблице, расположенной в секции Clusters. Откроется страница выбранного кластера. Кнопка Backup предназначена для запуска бэкапов. Чтобы открыть меню с другими действиями, нажмите added actions dark added actions light.

    adbm cluster action open2 dark
    Запуск действий на странице выбранного кластера
    adbm cluster action open2 light
    Запуск действий на странице выбранного кластера

Запуск действий является эксклюзивной операцией. Нельзя инициализировать новое действие, не завершив предыдущее (исключение — Terminate). При попытке запуска нескольких действий одновременно возвращается следующая ошибка.

adbm cluster action error409 dark
Ошибка при одновременном запуске действий
adbm cluster action error409 light
Ошибка при одновременном запуске действий

Типы действий

Backup

Запуск бэкапов осуществляется автоматически в соответствии с расписаниями, установленными с помощью следующих параметров для текущей версии конфигурации (см. вкладку General configuration):

  • Full Backup schedule — полные бэкапы;

  • Differential backup schedule — дифференциальные бэкапы;

  • Incremental backup schedule — инкрементные бэкапы.

Если необходимо сформировать бэкап вне настроеных расписаний, выполните шаги:

  1. Нажмите на кнопку Backup на странице выбранного кластера либо выберите из выпадающего списка действие Backup для одного из кластеров в секции Clusters.

    adbm cluster action backup dark
    Переход к действию Backup
    adbm cluster action backup light
    Переход к действию Backup

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

    • Restore point — автоматически сгенерированное имя для новой точки восстановления.

    • Type — тип бэкапа. Возможные значения:

      • Full — полный;

      • Incr — инкрементный;

      • Diff — дифференциальный.

    • Configuration — версия конфигурации, которая будет применена. Можно нажать на название, чтобы просмотреть и при необходимости изменить параметры конфигурации в списке конфигураций.

    • Date — текущие дата и время.

    • Delta — флаг, указывающий на необходимость использования контрольных сумм (checksums) при создании бэкапа.

      adbm cluster action backup2 dark
      Форма действия Backup
      adbm cluster action backup2 light
      Форма действия Backup
  2. Выберите тип бэкапа в поле Type. Измените название точки восстановления в поле Restore point, если необходимо.

  3. Нажмите Run.

  4. В результате запускается действие Start 'Backup' action. Это действие, в свою очередь, порождает несколько дочерних действий (subactions). Просмотреть их можно на вкладке Actions (см. Просмотр действий в ADBM).

  5. После успешного применения всех действий бэкап становится доступен в списке бэкапов на вкладке Backups.

    adbm cluster action backup3 dark
    Созданный бэкап доступен на вкладке Backups
    adbm cluster action backup3 light
    Созданный бэкап доступен на вкладке Backups

Create restore point

Точки восстановления создаются автоматически в соответствии с расписанием, установленным с помощью параметра Restore point creation schedule для текущей версии конфигурации (см. вкладку General configuration).

Если необходимо добавить restore point вне настроенного расписания, выполните шаги:

  1. Выберите действие Create restore point на странице выбранного кластера или в секции Clusters.

    adbm cluster action rp dark
    Переход к действию Create restore point
    adbm cluster action rp light
    Переход к действию Create restore point

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

    • Restore point — автоматически сгенерированное имя для новой точки восстановления.

    • Configuration — версия конфигурации, которая будет применена. Можно нажать на название, чтобы просмотреть и при необходимости изменить параметры конфигурации в списке конфигураций.

    • Date — текущие дата и время.

      adbm cluster action rp2 dark
      Форма действия "Create restore point"
      adbm cluster action rp2 light
      Форма действия "Create restore point"
  2. Измените название точки восстановления в поле Restore point, если необходимо.

  3. Нажмите Run.

  4. В результате запускается действие Start 'Create restore point' action. Это действие, в свою очередь, порождает несколько дочерних действий (subactions). Просмотреть их можно на вкладке Actions (см. Просмотр действий в ADBM).

  5. После успешного применения всех действий новая точка восстановления становится доступной. В этом можно убедиться при следующем запуске действия Restore или Cleanup.

    adbm cluster action rp3 dark
    Новая точка восстановления доступна
    adbm cluster action rp3 light
    Новая точка восстановления доступна

Restore

Действие Restore позволяет восстановить базы данных на момент создания одной из существующих restore points. Это единственное из действий, которое можно применить как к запущенному, так и к остановленному кластеру ADB. Логика выполнения действия будет зависеть от статуса кластера:

  • Кластер запущен (отмечен статусом UP в UI ADBM). В этом случае до запуска восстановления автоматически проводятся дополнительные проверки на возможность применения выбранного бэкапа к кластеру:

    • Происходит сверка топологий — сохраненной в бэкапе и полученной из кластера ADB (из системной таблицы gp_segment_configuration).

    • Происходит проверка метаданных бэкапа (см. Verify ниже).

    Если проверки проходят успешно, кластер автоматически останавливается. Кроме этого, если в процессе восстановления фиксируется ошибка, то можно выполнить Restore retry — это перезапуск последнего упавшего процесса восстановления уже без выполнения дополнительных проверок.

  • Кластер остановлен (отмечен статусом DOWN в UI ADBM). В этом случае валидация пропускается. Однако процесс восстановления запустить возможно — за счет использования флага Skip Validation (который установлен по умолчанию и недоступен пользователям для редактирования). Данным способом рекомендуется пользоваться исключительно в случае фатальных проблем с кластером, когда он не запускается.

Для запуска восстановления БД выполните шаги:

  1. Выберите действие Restore на странице выбранного кластера или в секции Clusters.

    adbm cluster action restore dark
    Переход к действию Restore
    adbm cluster action restore light
    Переход к действию Restore

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

    • Time period — временной диапазон, используемый для поиска нужной restore point. По умолчанию установлена текущая дата.

    • Restore point — точка восстановления, на момент создания которой требуется восстановить БД.

    • Databases — базы данных, которые можно восстановить на момент выбранной restore point.

    • Processes — максимальное количество процессов для восстановления одного сегмента.

    • Configuration — версия конфигурации, использованная при создании выбранной restore point. Можно нажать на название, чтобы просмотреть параметры конфигурации в списке конфигураций.

    • Date created — время создания выбранной restore point.

    • Backup type — тип последнего бэкапа, сформированного перед добавлением выбранной restore point.

    • Backup date — время формирования последнего бэкапа перед добавлением выбранной restore point.

    • Restore mirrors — выпадающий список, значение которого определяет, восстанавливать ли данные для зеркал (mirrors) и Standby при их наличии в кластере:

      • No — не восстанавливать зеркала.

      • In parallel — восстанавливать зеркала параллельно с primary-сегментами.

      • After primary — восстанавливать зеркала после того, как все primary-сегменты восстановлены.

    • Delta — флаг, указывающий на необходимость использования контрольных сумм (checksums) при восстановлении данных.

    • Force — флаг, указывающий на необходимость полного перезаписывания путей к данным и табличным пространствам в PostgreSQL.

    • Skip Validation — флаг, указывающий на необходимость запуска восстановления БД, несмотря на невозможность валидации. Выводится в случае, если выбранный ADB кластер остановлен (DOWN). По умолчанию установлен и недоступен для редактирования.

      adbm cluster action restore2 dark
      Форма действия Restore (ADB-кластер запущен)
      adbm cluster action restore2 light
      Форма действия Restore (ADB-кластер запущен)
      adbm cluster action backup force dark
      Форма действия Restore (ADB-кластер остановлен)
      adbm cluster action backup force light
      Форма действия Restore (ADB-кластер остановлен)
  2. Заполните необходимые поля:

    • Выберите точку восстановления в выпадающем списке Restore point. Используйте фильтр Time period, если необходимо.

    • Выберите базы данных, требующие восстановления, в выпадающем списке Databases.

    • Выберите значение из списка Restore mirrors.

    • Если необходимо, установите флаги Delta и Force.

  3. Нажмите Run.

  4. В результате запускается действие Start 'Restore' action. Это действие, в свою очередь, порождает несколько дочерних действий (subactions). Просмотреть их можно на вкладке Actions (см. Просмотр действий в ADBM).

  5. После успешного применения всех действий состояние выбранных баз данных возвращается на момент указанной restore point.

Для запущенных кластеров ADB (со статусом UP) существует возможность повторного запуска последнего действия Restore, завершившегося с ошибкой. Для этого требуется повторно выбрать действие Restore (см. шаг 1 выше) и нажать Retry в открывшемся окне. Если необходимо выполнить действие Restore заново (со всеми проверками), нажмите New restore.

adbm cluster action retry dark
Попытка повторного выполнения последнего действия Restore
adbm cluster action retry light
Попытка повторного выполнения последнего действия Restore

Cleanup

Действие Cleanup выполняется автоматически в соответствии с расписанием, установленным с помощью параметра Cleanup schedule для текущей версии конфигурации (см. вкладку General configuration). Это действие удаляет:

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

  • Наиболее старые дифференциальные бэкапы — если общее число дифференциальных бэкапов превысило значение параметра Number of differential backups, установленное для текущей конфигурации.

  • Бэкапы, имеющие следующие статусы: Failed, Invalid.

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

Действие Cleanup, запущенное вручную, также удаляет приведенные выше объекты, но дополнительно позволяет удалить бэкапы, соответствующие выбранной точке восстановления. При этом ADBM находит ближайший полный либо дифференциальный бэкап, созданный перед добавлением указанной точки, после чего все связанные с ним бэкапы и restore points удаляются.

Чтобы запустить действие Cleanup вручную, выполните шаги:

  1. Выберите действие Cleanup на странице выбранного кластера или в секции Clusters.

    adbm cluster action cleanup dark
    Переход к действию Cleanup
    adbm cluster action cleanup light
    Переход к действию Cleanup

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

    • Time period — временной диапазон, используемый для поиска нужной restore point. По умолчанию установлена текущая дата.

    • Select restore point — точка восстановления, для которой требуется удалить набор связанных бэкапов и restore points.

    • Configuration — версия конфигурации, использованная при создании выбранной restore point. Можно нажать на название, чтобы просмотреть параметры конфигурации в списке конфигураций.

    • Date created — время создания выбранной restore point.

      adbm cluster action cleanup2 dark
      Форма действия Cleanup
      adbm cluster action cleanup2 light
      Форма действия Cleanup
  2. Выберите точку восстановления в выпадающем списке Select restore point. Используйте фильтр Time period, если необходимо.

  3. Нажмите Run.

  4. В результате запускается действие Start cleanup job for 'Verify backup' action. Это действие, в свою очередь, порождает несколько дочерних действий (subactions). Просмотреть их можно на вкладке Actions (см. Просмотр действий в ADBM).

  5. После успешного применения всех действий бэкапы и restore points удаляются согласно правилам, описанным выше. Чтобы убедиться в этом, можно открыть список бэкапов на вкладке Backups.

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

    adbm cluster action cleanup3 dark
    Список бэкапов перед запуском Cleanup
    adbm cluster action cleanup3 light
    Список бэкапов перед запуском Cleanup
    adbm cluster action cleanup4 dark
    Список бэкапов после запуска Cleanup
    adbm cluster action cleanup4 light
    Список бэкапов после запуска Cleanup

Для лучшего понимания логики запускаемого вручную действия Cleanup можно рассмотреть пример, приведенный ниже. Рисунок изображает временную ось с перечнем созданных за указанный период бэкапов различных типов (с именами full*, diff*, incr*) и restore points (с именами rp*). Таблица демонстрирует, какие объекты будут удалены, если на форме действия Cleanup выбрать одну из изображенных точек восстановления.

example cleanup dark
Пример со списком бэкапов и restore points
example cleanup light
Пример со списком бэкапов и restore points
Логика удаления при ручном запуске Cleanup
Выбранная restore point Объекты, которые будут удалены

rp1

Все бэкапы и restore points за приведенный на рисунке период

rp2

Все бэкапы и restore points за приведенный на рисунке период

rp3

Все бэкапы и restore points за приведенный на рисунке период

rp4

Все бэкапы и restore points за приведенный на рисунке период

rp5

diff1, incr2, rp5 — rp8

rp6

diff1, incr2, rp5 — rp8

rp7

diff1, incr2, rp5 — rp8

rp8

diff1, incr2, rp5 — rp8

Verify

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

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

Выполнение действия Verify описано ниже:

  1. Выберите действие Verify на странице выбранного кластера или в секции Clusters.

    adbm cluster action verify dark
    Переход к действию Verify
    adbm cluster action verify light
    Переход к действию Verify
  2. Подтвердите действие, нажав в открывшемся окне Run.

    adbm cluster action verify2 dark
    Подтверждение действия Verify
    adbm cluster action verify2 light
    Подтверждение действия Verify
  3. В результате запускается действие Start 'Verify backup' action. Это действие, в свою очередь, порождает несколько дочерних действий (subactions). Просмотреть их можно на вкладке Actions (см. Просмотр действий в ADBM).

  4. После успешного применения всех действий некоторые бэкапы могут перейти в статус Invalid. Чтобы найти такие бэкапы, можно воспользоваться фильтром Status на вкладке Backups.

Terminate

Действие Terminate позволяет прерывать некоторые запущенные действия. Это единственный тип действия, для которого берется отдельный распределенный lock по кластеру (в etcd), что позволяет запускать Terminate параллельно с другими типами действий.

ВАЖНО

В настоящий момент возможно прерывание действий следующих типов:

Ниже приведен пример прерывания действия Backup:

  1. Запустите действие Backup, как показано выше.

    adbm cluster action terminate0 dark
    Новый бэкап инициализирован
    adbm cluster action terminate0 light
    Новый бэкап инициализирован
  2. Выберите действие Terminate на странице выбранного кластера или в секции Clusters.

    adbm cluster action terminate dark
    Переход к действию Terminate
    adbm cluster action terminate light
    Переход к действию Terminate
  3. Подтвердите действие, нажав в открывшемся окне Run.

    adbm cluster action terminate2 dark
    Подтверждение действия Terminate
    adbm cluster action terminate2 light
    Подтверждение действия Terminate
  4. В результате запускается действие Start 'Terminate' action. Это действие, в свою очередь, порождает несколько дочерних действий (subactions). Просмотреть их можно на вкладке Actions (см. Просмотр действий в ADBM).

    Запущенный ранее бэкап приобретает статус Terminating. В этом можно убедиться, открыв список бэкапов на вкладке Backups.

    adbm cluster action terminate3 dark
    Бэкап в статусе Terminating
    adbm cluster action terminate3 light
    Бэкап в статусе Terminating
  5. После успешного применения всех действий бэкап переводится в статус Stopped.

    adbm cluster action terminate4 dark
    Статус бэкапа изменен на Stopped
    adbm cluster action terminate4 light
    Статус бэкапа изменен на Stopped
ПРИМЕЧАНИЕ

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

Resume

Действие Resume позволяет возобновить последний прерванный запуск бэкапа. Это действие становится доступным в списке кластерных действий только после появления бэкапов в статусе Stopped. Ниже приведен пример возобновления бэкапа, прерывание которого описано в предыдущем разделе:

  1. Выберите действие Resume на странице выбранного кластера или в секции Clusters.

    adbm cluster action resume dark
    Переход к действию Resume
    adbm cluster action resume light
    Переход к действию Resume

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

    • Restore point — автоматически сгенерированное имя для новой точки восстановления.

    • Configuration — версия конфигурации, которая будет применена. Можно нажать на название, чтобы просмотреть параметры конфигурации в списке конфигураций.

    • Date — текущие дата и время.

      adbm cluster action resume2 dark
      Форма действия Resume
      adbm cluster action resume2 light
      Форма действия Resume
  2. Измените название точки восстановления в поле Restore point, если необходимо.

  3. Нажмите Run.

  4. В результате запускается действие Start 'Resume backup' action. Это действие, в свою очередь, порождает несколько дочерних действий (subactions). Просмотреть их можно на вкладке Actions (см. Просмотр действий в ADBM).

    Бэкап приобретает статус Resume. В этом можно убедиться, открыв список бэкапов на вкладке Backups.

    adbm cluster action resume3 dark
    Бэкап в статусе Resume
    adbm cluster action resume3 light
    Бэкап в статусе Resume
  5. После успешного применения всех действий бэкап переводится в статус Done.

    adbm cluster action resume4 dark
    Статус бэкапа изменен на Done
    adbm cluster action resume4 light
    Статус бэкапа изменен на Done
Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней