Disaster recovery
Настройка и запуск
Для настройки Disaster recovery в ADBM выполните следующие шаги:
-
Используя интерфейс ADB Control, добавьте новый кластер, в который будет осуществляться копирование данных из исходного кластера ADB. В дальнейшем добавленный кластер будет называться целевым либо DR-кластером. Обратите внимание, что в ADCM для целевого кластера должны быть добавлены оба сервиса: ADB Control и ADBM.
-
Откройте страницу Backup Manager в web-интерфейсе ADB Control. Убедитесь, что исходный и целевой кластеры доступны на странице в статусе
UP
.Оба кластера доступны на странице Backup ManagerОба кластера доступны на странице Backup ManagerВНИМАНИЕ-
Для корректной настройки копирования данных между кластерами их мажорные версии (первые две цифры в номере бандла) должны совпадать. Например, взаимодействие между кластерами с версиями
6.23.4
и6.23.5
возможно, а между6.23.4
и6.24.1
— нет. -
Основным требованием для восстановления данных в целевом кластере из бэкапа, снятого в другом кластере ADB, является совпадение числа primary-сегментов в этих кластерах. Остальные параметры топологии кластера (такие как настройки зеркалирования, standby, число сегмент-хостов) не влияют на возможность восстановления.
-
Версии и семейства операционных систем на хостах целевого и исходного кластеров должны быть совместимы друг с другом.
-
-
Добавьте конфигурации формирования бэкапов для обоих кластеров. Обратите внимание, что секция Repository в конфигурации исходного кластера должна описывать хранилище, к которому будет доступ из обоих кластеров (например, S3-хранилище).
Пример заполнения Repository для исходного кластераПример заполнения секции Repository для исходного кластераПример заполнения секции Repository для исходного кластераПример заполнения Repository для целевого кластераПример заполнения секции Repository для целевого кластераПример заполнения секции Repository для целевого кластера -
Чтобы в дальнейшем можно было убедиться, что копирование данных проведено успешно — проверьте, какие данные есть в обоих кластерах на текущий момент.
Исходный кластер-
Вывод списка таблиц в базе данных
adb
при помощи psql-команды\dt
:\dt
Результат:
List of relations Schema | Name | Type | Owner | Storage --------+-----------------+-------+---------+---------------------- public | best_books | table | gpadmin | heap public | book_type | table | gpadmin | heap public | spatial_ref_sys | table | gpadmin | heap public | test | table | gpadmin | append only columnar public | test2 | table | gpadmin | append only columnar (5 rows)
-
Просмотр данных в таблице
best_books
:SELECT * FROM best_books;
Результат:
id | author | title | public_year ----+------------+-----------------------+------------- 1 | Harper Lee | To Kill a Mockingbird | 1960 (1 row)
Целевой кластер
Вывод списка таблиц в базе данныхadb
при помощи psql-команды\dt
:\dt
Результат:
List of relations Schema | Name | Type | Owner | Storage --------+-----------------+-------+---------+--------- public | spatial_ref_sys | table | gpadmin | heap (1 row)
-
-
На вкладке Copy → Configurations страницы Backup Manager нажмите кнопку Create для добавления новой конфигурации DR.
Переход к добавлению конфигурации DRПереход к добавлению конфигурации DR -
В открывшемся окне заполните поля:
-
Source cluster — название исходного кластера.
-
Target cluster — название целевого кластера.
-
Autostart — флаг, установка которого означает автоматическое создание потока данных (stream) с типом
Copy
для выбранной пары кластеров при каждом формировании бэкапа с типом Backup type в исходном кластере. -
Backup type — типы бэкапов, при формировании которых в исходном кластере следует запускать копирование данных в целевой кластер (stream). Список становится доступен после установки флага Autostart. Возможные значения:
-
Full
— полные бэкапы; -
Diff
— дифференциальные бэкапы; -
Incr
— инкрементные бэкапы.
-
Добавление конфигурации DRДобавление конфигурации DR -
-
Нажмите Create. В результате данные о выбранной паре кластеров отобразятся на вкладке Backup Manager → Copy → Configurations.
Конфигурация добавленаКонфигурация добавлена -
Убедитесь, что для исходного кластера в ADBM существует хотя бы одна точка восстановления. Для этого в системе должен присутствовать бэкап. Создание бэкапа возможно либо автоматически согласно настроенному расписанию, либо вручную с помощью действия Backup.
Для исходного кластера создан бэкап с типом FullДля исходного кластера создан бэкап с типом Full -
Нажмите на кнопку Create stream на вкладке Backup Manager → Copy → Streams, чтобы перейти к настройке потока данных (stream) для выбранной пары кластеров.
Переход к добавлению streamПереход к добавлению stream -
В открывшемся окне заполните следующие поля:
-
Configuration — созданная ранее конфигурация, которая определяет пару кластеров.
-
Restore type — тип восстановления. Возможные значения:
-
Copy
— cold standby. Данные в целевом кластере восстанавливаются однократно на момент выбранной точки восстановления в исходном кластере. -
Streaming
— warm standby. Данные в целевом кластере непрерывно восстанавливаются по мере создания точек восстановления в исходном кластере. После прерывания репликации данные в целевом кластере будут актуальны на момент последней точки, полученной из исходного кластера.
-
-
Restore point — точка восстановления, на момент создания которой требуется восстановить БД исходного кластера в целевом кластере. При выборе типа восстановления
Streaming
поле Restore point недоступно для редактирования, т.к. всегда используется последняя точка. -
Databases — список БД исходного кластера для восстановления в целевом кластере.
-
Repository path — путь к репозиторию с бэкапами исходного кластера. По умолчанию заполняется значением из актуальной конфигурации.
-
Processes — максимальное количество процессов для восстановления одного сегмента.
-
Delta — флаг, указывающий на необходимость использования контрольных сумм (checksums) при восстановлении данных.
-
Force — флаг, указывающий на необходимость полного перезаписывания путей к данным и табличным пространствам в PostgreSQL.
-
Restore mirrors — выпадающий список, значение которого определяет, восстанавливать ли данные для зеркал (mirrors) и Standby при их наличии в кластере:
-
No
— не восстанавливать зеркала. -
In parallel
— восстанавливать зеркала параллельно с primary-сегментами. -
After primary
— восстанавливать зеркала после того, как все primary-сегменты восстановлены.Настройка stream с типом CopyНастройка stream с типом CopyНастройка stream с типом StreamingНастройка stream с типом Streaming
-
-
-
Нажмите Run. В результате для целевого кластера запускается действие Disaster recovery start stream copy (для типа восстановления
Copy
) либо Disaster recovery. Start streaming cluster (для типа восстановленияStreaming
). Это действие, в свою очередь, порождает несколько дочерних действий (subactions). Просмотреть их можно на вкладке Actions (см. Просмотр действий в ADBM).Действие Disaster recovery. Start streaming cluster остается в статусе
Started
до прерывания stream (см. примечание ниже). В процессе выполнения этого действия будут отслеживаться все точки восстановления, создаваемые в исходном кластере — для применения в целевом. -
После успешного применения всех действий данные из исходного кластера будут перенесены в целевой кластер. Чтобы убедиться в этом, можно выполнить запросы с шага 4.
ВАЖНОЕсли выбран тип восстановления
Streaming
:-
Восстановление данных завершается полностью после прерывания потока — ручного либо автоматического. Автопрерывание может произойти по одной из следующих причин:
-
Запуск действия Common restore в исходном кластере.
-
Запуск нового stream, в котором исходный кластер указан в качестве целевого.
-
Создание новой конфигурации бэкапов в исходном кластере, где изменяются настройки репозитория.
Только после успешного прерывания можно запускать запросы в целевом кластере.
-
-
БД целевого кластера будет содержать данные исходного кластера на момент последней точки восстановления, примененной в рамках streaming-процесса.
Проверка целевого кластера-
Вывод списка таблиц в базе данных
adb
при помощи psql-команды\dt
:\dt
Результат:
List of relations Schema | Name | Type | Owner | Storage --------+-----------------+-------+---------+---------------------- public | best_books | table | gpadmin | heap public | book_type | table | gpadmin | heap public | spatial_ref_sys | table | gpadmin | heap public | test | table | gpadmin | append only columnar public | test2 | table | gpadmin | append only columnar (5 rows)
-
Просмотр данных в таблице
best_books
:SELECT * FROM best_books;
Результат:
id | author | title | public_year ----+------------+-----------------------+------------- 1 | Harper Lee | To Kill a Mockingbird | 1960 (1 row)
-
Обратите внимание, что во время запуска stream в системе создается операция восстановления данных для целевого кластера. Просмотреть ее можно, как и стандартное восстановление, запущенное при помощи действия Common restore, на вкладке Backup Manager → Backup → <имя целевого кластера> → Restores. Для восстановлений, выполненных в рамках копирования данных между кластерами, в столбце Restore type отображается значение Copy
или Streaming
(в зависимости от выбранного типа восстановления). Дополнительную информацию можно найти в статье Просмотр восстановлений БД в ADBM.
Для потоков с типом Streaming
операция восстановления переводится в статус Done
только после прерывания потока — ручного либо автоматического (см. примечание выше). До этого момента она находится в статусе Running
.
Управление конфигурациями DR
Просмотр списка
Все созданные пары кластеров, между которыми сконфигурирован DR, отображаются на вкладке Copy → Configurations страницы Backup Manager.
Вкладка содержит следующую информацию.
Поле | Описание |
---|---|
Source cluster |
Исходный кластер, из которого копируются данные |
Target cluster |
Целевой кластер, в который копируются данные |
Username |
Логин пользователя, создавшего текущую конфигурацию в web-интерфейсе ADB Control |
Stream ID |
Идентификатор потока, запущенного в настоящий момент времени для пары кластеров из текущей конфигурации |
Status |
Статус потока. См. Status ниже |
Restore type |
Тип восстановления, выбранный при настройке потока |
Над таблицей со списком конфигураций DR расположены фильтры, которые можно использовать для отбора необходимых данных. Доступные фильтры приведены ниже:
-
Source cluster — фильтрация по названию исходного кластера (см. Source cluster выше). Значение следует выбрать из выпадающего списка.
-
Target cluster — фильтрация по названию целевого кластера (см. Target cluster выше). Значение следует выбрать из выпадающего списка.
-
Username — фильтрация по имени пользователя (см. Username выше). Искомое значение вводится полностью.
Редактирование
Для редактирования конфигурации выполните следующие шаги:
-
Нажмите на иконку в столбце Actions на вкладке Copy → Configurations страницы Backup Manager.
Переход к редактированиюПереход к редактированию -
В открывшемся окне измените необходимые данные. Значения полей Source cluster и Target cluster не редактируются.
Редактирование конфигурацииРедактирование конфигурации -
Нажмите кнопку Save.
Удаление
ВНИМАНИЕ
Никогда не удаляйте конфигурацию выполняющегося stream.
|
Для удаления конфигурации выполните следующие шаги:
-
Нажмите на иконку в столбце Actions на вкладке Copy → Configurations страницы Backup Manager.
Переход к удалениюПереход к удалению -
Подтвердите операцию удаления в открывшемся окне, нажав на кнопку Delete.
Подтверждение удаленияПодтверждение удаленияВ результате данные о конфигурации удаляются из системы и более не отображаются на вкладке Backup Manager → Copy → Configurations.
Конфигурация удалена из системыКонфигурация удалена из системы
Управление потоками
Просмотр списка активных потоков
Все активные потоки для копирования данных между кластерами (streams) отображаются на вкладке Copy → Streams страницы Backup Manager. К активным относятся потоки со статусами, отличными от Impossible
, Down
, Restored
(для отображения потоков в этих статусах предназначена вкладка Copy → History).
Вкладка содержит следующую информацию.
Поле | Описание |
---|---|
Stream ID |
Уникальный идентификатор потока |
Source cluster |
Исходный кластер, из которого копируются данные в рамках потока |
Target cluster |
Целевой кластер, в который копируются данные в рамках потока |
Username |
Логин пользователя, создавшего текущий поток в web-интерфейсе ADB Control |
Status |
Статус потока. Возможные значения:
|
Start time |
Дата и время создания потока в формате |
Restore type |
Тип восстановления, выбранный при настройке потока |
Replication lag |
Насколько целевой кластер "отстает" от исходного кластера. Рассчитывается как разница между текущим временем и временем применения последней точки восстановления к целевому кластеру в рамках streaming-процесса. Заполняется только для потоков с типом восстановления |
В заголовках столбцов таблицы со списком streams расположены фильтры, которые можно использовать для отбора необходимых данных. Для открытия фильтра необходимо нажать на иконку . Для тех столбцов, где набор возможных значений ограничен (например, Status), в фильтре можно выбрать значение из выпадающего списка. Для некоторых столбцов (например, Username) требуется ввести искомое значение. Для столбцов, показывающих дату и время (например, Start time), временной диапазон можно выбрать из календаря.
Иконка означает, что для столбца определен фильтр. Для сброса всех фильтров нажмите Reset.
Просмотр списка завершенных потоков
Вкладка Backup Manager → Copy → History предназначена для вывода потоков в следующих статусах:
-
Impossible
— запуск невозможен. -
Down
— сбой при выполнении. -
Restored
— восстановление выполнено успешно.
В отличие от описанной выше вкладки Streams, на вкладке History отсутствует столбец Replication lag, а действия для потоков недоступны. В остальном содержимое двух вкладок полностью совпадает.
ВАЖНО
В настоящее время таблица, расположенная на вкладке Backup Manager → Copy → History, по умолчанию показывает потоки, созданные за текущую дату. Чтобы вывести все потоки, воспользуйтесь фильтрами. |
Просмотр детальной информации о потоке
Чтобы просмотреть детальную информацию о потоке, нажмите на его идентификатор (Stream ID) в таблице на вкладке Backup Manager → Copy → Streams или Backup Manager → Copy → History.
Открывшаяся страница содержит следующие секции:
-
Overview
-
Statuses
-
Restore points (отображается только для типа восстановления
Streaming
)
Секция Overview показывает базовую информацию о потоке.
Поле | Описание |
---|---|
Source cluster |
Исходный кластер |
Target cluster |
Целевой кластер |
Username |
Логин пользователя, создавшего текущий поток в web-интерфейсе ADB Control |
Date |
Дата и время создания потока в формате |
Restore ID |
Идентификатор восстановления в целевом кластере. Для перехода к просмотру деталей восстановления нажмите на его идентификатор |
Database |
Список баз данных, выбранных для восстановления при настройке потока |
Restore type |
Тип восстановления, выбранный при настройке потока |
Repository path |
Путь к репозиторию, указанный при настройке потока |
Processes |
Количество процессов, выбранное при настройке потока |
Flags |
Флаги, выбранные при настройке потока (см. Restore mirrors, Delta, Force в описании выше) |
Action name |
Название действия, в рамках которого был запущен поток. Для перехода к просмотру деталей действия можно нажать на его название |
Restore point |
Идентификатор точки восстановления, выбранной при настройке потока |
Replication lag |
Насколько целевой кластер "отстает" от исходного кластера. Рассчитывается как разница между текущим временем и временем применения последней точки восстановления к целевому кластеру в рамках streaming-процесса. Заполняется только для потоков с типом восстановления |
Секция Statuses показывает историю изменения статуса выбранного потока.
Поле | Описание |
---|---|
Stream history ID |
Идентификатор записи о смене статуса потока |
Status |
Статус потока на момент времени, указанный в поле Date |
Date |
Дата и время смены статуса потока в формате |
Секция Restore points показывает список точек восстановления, примененных к целевому кластеру в рамках текущего stream. Секция отображается только для потоков с типом восстановления Streaming
.
Поле | Описание |
---|---|
Restore point name |
Название, присвоенное точке восстановления в исходном кластере |
Time applied |
Дата и время применения точки восстановления к целевому кластеру (в формате |
Прерывание потока
ВАЖНО
Действие Terminate доступно только для потоков с типом Streaming в статусе Streaming .
|
Чтобы прервать выполняющийся поток с типом Streaming
, выполните следующие шаги:
-
Примените действие Terminate к нужному потоку на вкладке Backup Manager → Copy → Streams. Для открытия выпадающего списка с возможными действиями нажмите кнопку в столбце Action.
Переход к прерыванию потокаПереход к прерыванию потока -
Подтвердите действие в открывшемся окне, нажав на кнопку Run.
Подтверждение действияПодтверждение действия -
В результате для целевого кластера запускается действие Disaster recovery. Start terminate. Это действие, в свою очередь, порождает несколько дочерних действий (subactions). Просмотреть их можно на вкладке Actions (см. Просмотр действий в ADBM).
В ходе выполнения прерывания:
-
Ранее запущенное действие Disaster recovery. Start streaming cluster переводится в статус
Done
. -
Операция восстановления данных для целевого кластера переводится в статус
Done
. -
Статус выбранного stream изменяется по следующей схеме: Streaming → Terminating → Restoring → Restored.
-
Stream перемещается с вкладки Backup Manager → Copy → Streams на Backup Manager → Copy → History.
-