Инкрементальное онлайн-резервное копирование и восстановление

Функциональное описание

Функция инкрементального онлайн-резервного копирования предназначена для сохранения всех данных, находящихся в работоспособном кластере базы данных YMatrix, в определённый момент времени согласно заданным правилам. Резервные копии обеспечивают целостность и согласованность данных на этот конкретный момент времени.

Кроме того, на основе всех файлов конкретной резервной копии можно восстановить работоспособный кластер YMatrix, содержимое которого будет идентично состоянию исходного кластера в указанный момент времени.

Функция инкрементального онлайн-резервного копирования реализует режим создания инкрементальных резервных копий, основанный на функции полного резервного копирования.

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

Использование функции

Реализация функции

1. Хранение файлов резервных копий

Файлы инкрементальных онлайн-резервных копий хранятся на машинах исходного кластера базы данных в каталоге /mxarchive_<original database cluster ID>. Этот каталог используется на каждой машине для сохранения файлов, скопированных с сегментов базы данных этой машины. Структура каталога выглядит следующим образом:

/mxarchive_<Original Cluster ID>
 ├── 1                           (The dbid of the segment in the original cluster)
 │   ├── basebackup              (Save the basebackup tarball of the original cluster)
 │   │   └── <basebackup 版本>   (A full backup version)
 │   │        └── base.tar      (The tarball of the full backup created by pg_basebackup will be base.tar.gz if compression is enabled)
 │   ├── wal                     (Save WAL segment files)
 │   ├── history                 (Save WAL history files)
 │   ├── backup                  (Save the backup files created by pg_basebackup for full backups)
 │   └── misc                    (Save the fragmented WAL segment files generated due to cluster failover/failback)
 ├── 2
 │   └── ...                     (Structure is like 1)
 └── 3
      └── ...                     (Structure is like 1)

2. Управление информацией о версиях

Информация о версиях инкрементального онлайн-резервного копирования сохраняется на машине, где расположен мастер исходного кластера базы данных, в виде файла SQLite. Путь к файлу: /mxarchive_<original database cluster ID>/metadata/mxarchive.db.

Настройка кластера

Примечание!
При настройке кластера базы данных для использования функции инкрементального онлайн-резервного копирования кластер должен находиться в нормальном состоянии работы.
Для выполнения операций инкрементального онлайн-резервного копирования требуется пользователь управления кластером базы данных mxadmin.

1. Инициализация функции

Войдите на машину, где расположен мастер, и выполните от имени пользователя mxadmin следующую команду:

$ mxarchive init

Результат выполнения будет примерно таким:

$ mxarchive init
2025-04-09:14:16:12.561 mxarchive_init:mxadmin:iv-ydt9heyeioxjd1u57imv:019030-[INFO]:-Fetch deployment information of cluster: baz8hPk6Rn27YsFrq7pN3E
2025-04-09:14:16:12.565 mxarchive_init:mxadmin:iv-ydt9heyeioxjd1u57imv:019030-[INFO]:-Get cluster meta from ETCD
2025-04-09:14:16:12.570 mxarchive_init:mxadmin:iv-ydt9heyeioxjd1u57imv:019030-[INFO]:-Initialize local archive storage on every host ...
2025-04-09:14:16:12.599 mxarchive_init:mxadmin:iv-ydt9heyeioxjd1u57imv:019030-[INFO]:-Finished initializing local archive storage.
2025-04-09:14:16:14.799 mxarchive_init:mxadmin:iv-ydt9heyeioxjd1u57imv:019030-[INFO]:-Finished mxarchive initialization for database cluster: baz8hPk6Rn27YsFrq7pN3E
2025-04-09:14:16:14.799 mxarchive_init:mxadmin:iv-ydt9heyeioxjd1u57imv:019030-[INFO]:-Please check /mxarchive_baz8hPk6Rn27YsFrq7pN3E on each host for archive local storage.
2025-04-09:14:16:14.799 mxarchive_init:mxadmin:iv-ydt9heyeioxjd1u57imv:019030-[INFO]:-Please restart database cluster to make GUC changes to take effect.

2. Настройка каталога для хранения резервных копий

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

Примечание!
После настройки исходная структура каталогов должна оставаться неизменной.

3. Перезагрузка кластера

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

$ mxstop -arf

После перезагрузки в каталоге wal каждого сегментного каталога в каталоге резервных копий начнут появляться файлы WAL-сегментов резервного копирования. Далее можно приступить к созданию новой версии резервной копии.

Создание версии резервной копии

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

Создание полной версии резервной копии

Для создания полной версии резервной копии используйте следующую команду:

$ mxarchive backup --type full

Кроме того, при создании полной резервной копии, если необходимо сэкономить место на диске, можно включить опцию сжатия:

$ mxarchive backup --type full --compress

Вывод будет примерно таким:

$ mxarchive backup --type full
2025-04-09:14:17:16.105 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019553-[INFO]:-Fetch meta for cluster baz8hPk6Rn27YsFrq7pN3E
2025-04-09:14:17:16.109 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019553-[INFO]:-Get cluster meta from ETCD
2025-04-09:14:17:16.115 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019553-[INFO]:-Start to generate full version: 20250409_061716
2025-04-09:14:17:16.115 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019553-[INFO]:-Check current size of database cluster ...
2025-04-09:14:17:16.170 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019553-[DEBUG]:-It takes 55.113584ms to query DB size
2025-04-09:14:17:16.170 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019553-[INFO]:-Finished checking database cluster's database size.
2025-04-09:14:17:16.170 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019553-[INFO]:-Start to run pg_basebackup on every shard. This might take some time ...
2025-04-09:14:17:16.170 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019553-[INFO]:-Start to run base backup on all shards ...
2025-04-09:14:17:27.594 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019553-[DEBUG]:-It takes 11.423554784s to run basebackup on every shard
2025-04-09:14:17:27.594 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019553-[INFO]:-Finished running pg_basebackup on every shard.
2025-04-09:14:17:27.594 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019553-[INFO]:-Start to create global restore point: 20250409_061716
2025-04-09:14:17:29.861 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019553-[INFO]:-Finished creating global restore point: 20250409_061716
2025-04-09:14:17:29.862 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019553-[INFO]:-Collecting WAL file names for global restore point: 20250409_061716
2025-04-09:14:17:29.877 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019553-[DEBUG]:-WAL file name for LSN 0/18000100 is 000000010000000000000006
2025-04-09:14:17:29.877 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019553-[DEBUG]:-WAL file name for LSN 0/140000A0 is 000000010000000000000005
2025-04-09:14:17:29.877 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019553-[DEBUG]:-WAL file name for LSN 0/140000A0 is 000000010000000000000005
2025-04-09:14:17:29.877 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019553-[DEBUG]:-WAL file name for LSN 0/140000A0 is 000000010000000000000005
2025-04-09:14:17:29.879 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019553-[DEBUG]:-WAL file name for LSN 0/140000A0 is 000000010000000000000005
2025-04-09:14:17:29.880 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019553-[DEBUG]:-WAL file name for LSN 0/140000A0 is 000000010000000000000005
2025-04-09:14:17:29.883 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019553-[DEBUG]:-WAL file name for LSN 0/140000A0 is 000000010000000000000005
2025-04-09:14:17:29.883 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019553-[INFO]:-Finished collecting WAL file names for global restore point: 20250409_061716
2025-04-09:14:17:29.883 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019553-[INFO]:-Switching WAL segment files for archiving ...
2025-04-09:14:17:33.561 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019553-[DEBUG]:-Returned LSN is 0/18000150 in file 000000010000000000000006 for shard -1
2025-04-09:14:17:33.561 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019553-[DEBUG]:-Returned LSN is 0/140000F0 in file 000000010000000000000005 for shard 0
2025-04-09:14:17:33.561 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019553-[DEBUG]:-Returned LSN is 0/140000F0 in file 000000010000000000000005 for shard 1
2025-04-09:14:17:33.561 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019553-[DEBUG]:-Returned LSN is 0/140000F0 in file 000000010000000000000005 for shard 2
2025-04-09:14:17:33.561 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019553-[DEBUG]:-Returned LSN is 0/140000F0 in file 000000010000000000000005 for shard 3
2025-04-09:14:17:33.562 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019553-[DEBUG]:-Returned LSN is 0/140000F0 in file 000000010000000000000005 for shard 4
2025-04-09:14:17:33.562 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019553-[DEBUG]:-Returned LSN is 0/140000F0 in file 000000010000000000000005 for shard 5
2025-04-09:14:17:33.562 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019553-[INFO]:-Finished switching WAL segment files for archiving.
2025-04-09:14:17:33.562 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019553-[INFO]:-Collecting data needed to be preserved for archiving this version ...
2025-04-09:14:17:36.647 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019553-[INFO]:-Finished collecting data needed to be preserved for archiving this version.
2025-04-09:14:17:36.647 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019553-[INFO]:-Saving version information into metadata storage ...
2025-04-09:14:17:36.651 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019553-[INFO]:-Finished saving version information into metadata storage.
2025-04-09:14:17:36.651 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019553-[INFO]:-Succeed in generating full archive: 20250409_061716

Создание инкрементальной версии резервной копии

Для создания инкрементальной версии резервной копии используйте следующую команду:

$ mxarchive backup --type incr

Вывод будет примерно таким:

$ mxarchive backup --type incr
2025-04-09:14:18:45.666 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019939-[INFO]:-Fetch meta for cluster baz8hPk6Rn27YsFrq7pN3E
2025-04-09:14:18:45.670 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019939-[INFO]:-Get cluster meta from ETCD
2025-04-09:14:18:45.676 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019939-[INFO]:-Start to generate incremental version 20250409_061845
2025-04-09:14:18:45.676 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019939-[INFO]:-Check current size of database cluster ...
2025-04-09:14:18:45.738 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019939-[DEBUG]:-It takes 61.690291ms to query DB size
2025-04-09:14:18:45.738 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019939-[INFO]:-Finished checking database cluster's database size.
2025-04-09:14:18:45.738 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019939-[INFO]:-Check latest full archive version ...
2025-04-09:14:18:45.739 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019939-[DEBUG]:-It takes 907.545µs to find latest basebackup version: 20250409_061716
2025-04-09:14:18:45.739 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019939-[INFO]:-Found latest full archive version: 20250409_061716
2025-04-09:14:18:45.739 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019939-[INFO]:-Start to create global restore point: 20250409_061716
2025-04-09:14:18:45.776 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019939-[INFO]:-Finished creating global restore point: 20250409_061716
2025-04-09:14:18:45.776 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019939-[INFO]:-Collecting WAL file names for global restore point: 20250409_061716
2025-04-09:14:18:45.787 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019939-[DEBUG]:-WAL file name for LSN 0/18000C28 is 000000010000000000000006
2025-04-09:14:18:45.792 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019939-[DEBUG]:-WAL file name for LSN 0/18000AA8 is 000000010000000000000006
2025-04-09:14:18:45.792 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019939-[DEBUG]:-WAL file name for LSN 0/18000CE8 is 000000010000000000000006
2025-04-09:14:18:45.793 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019939-[DEBUG]:-WAL file name for LSN 0/18000B68 is 000000010000000000000006
2025-04-09:14:18:45.793 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019939-[DEBUG]:-WAL file name for LSN 0/18000C28 is 000000010000000000000006
2025-04-09:14:18:45.794 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019939-[DEBUG]:-WAL file name for LSN 0/18000BA8 is 000000010000000000000006
2025-04-09:14:18:45.794 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019939-[DEBUG]:-WAL file name for LSN 0/1C000758 is 000000010000000000000007
2025-04-09:14:18:45.796 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019939-[INFO]:-Finished collecting WAL file names for global restore point: 20250409_061716
2025-04-09:14:18:45.796 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019939-[INFO]:-Switching WAL segment files for archiving ...
2025-04-09:14:18:47.779 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019939-[DEBUG]:-Returned LSN is 0/1C000770 in file 000000010000000000000007 for shard -1
2025-04-09:14:18:47.779 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019939-[DEBUG]:-Returned LSN is 0/18000D38 in file 000000010000000000000006 for shard 0
2025-04-09:14:18:47.779 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019939-[DEBUG]:-Returned LSN is 0/18000C78 in file 000000010000000000000006 for shard 1
2025-04-09:14:18:47.779 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019939-[DEBUG]:-Returned LSN is 0/18000AF8 in file 000000010000000000000006 for shard 2
2025-04-09:14:18:47.779 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019939-[DEBUG]:-Returned LSN is 0/18000BB8 in file 000000010000000000000006 for shard 3
2025-04-09:14:18:47.779 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019939-[DEBUG]:-Returned LSN is 0/18000C78 in file 000000010000000000000006 for shard 4
2025-04-09:14:18:47.779 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019939-[DEBUG]:-Returned LSN is 0/18000BF8 in file 000000010000000000000006 for shard 5
2025-04-09:14:18:47.779 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019939-[INFO]:-Finished switching WAL segment files for archiving.
2025-04-09:14:18:47.779 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019939-[INFO]:-Collecting data needed to be preserved for archiving this version ...
2025-04-09:14:18:50.838 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019939-[INFO]:-Finished collecting data needed to be preserved for archiving this version.
2025-04-09:14:18:50.838 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019939-[INFO]:-Saving version information into metadata storage ...
2025-04-09:14:18:50.842 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019939-[INFO]:-Finished saving version information into metadata storage.
2025-04-09:14:18:50.842 mxarchive_backup:mxadmin:iv-ydt9heyeioxjd1u57imv:019939-[INFO]:-Succeed in generating incremental archive: 20250409_061845 based on full archive: 20250409_061716

Просмотр информации о версиях резервных копий

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

$ mxarchive list

Вывод будет примерно таким:

$ mxarchive list
2025-04-09:14:19:44.752 mxarchive_list:mxadmin:iv-ydt9heyeioxjd1u57imv:020147-[INFO]:-Fetch deployment information of cluster: baz8hPk6Rn27YsFrq7pN3E
2025-04-09:14:19:44.757 mxarchive_list:mxadmin:iv-ydt9heyeioxjd1u57imv:020147-[INFO]:-Get cluster meta from ETCD
2025-04-09:14:19:44.765 mxarchive_list:mxadmin:iv-ydt9heyeioxjd1u57imv:020147-[INFO]:-|
version         | base backup version | type | start at
20250409_061716 | 20250409_061716     | full | 2025-04-09 14:17:16
20250409_061845 | 20250409_061716     | incr | 2025-04-09 14:18:45

Если требуется получить более подробную информацию, добавьте параметр --detail:

$ mxarchive list --detail

Вывод будет примерно таким:

$ mxarchive list --detail
2025-04-09:14:20:15.514 mxarchive_list:mxadmin:iv-ydt9heyeioxjd1u57imv:020322-[INFO]:-Fetch deployment information of cluster: baz8hPk6Rn27YsFrq7pN3E
2025-04-09:14:20:15.519 mxarchive_list:mxadmin:iv-ydt9heyeioxjd1u57imv:020322-[INFO]:-Get cluster meta from ETCD
2025-04-09:14:20:15.529 mxarchive_list:mxadmin:iv-ydt9heyeioxjd1u57imv:020322-[INFO]:-|
version         | base backup version | type | start at            | end until           | base backup size | WAl size | archive size | DB size
20250409_061716 | 20250409_061716     | full | 2025-04-09 14:17:16 | 2025-04-09 14:17:36 | 322 MB           | 940 MB   | 1.3 GB       | 308 MB
20250409_061845 | 20250409_061716     | incr | 2025-04-09 14:18:45 | 2025-04-09 14:18:50 | 322 MB           | 1.4 GB   | 1.7 GB       | 311 MB

Восстановление кластера базы данных

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

1. Инициализация каталога данных

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

$ mxarchive reactivate init

Вывод будет примерно таким:

$ mxarchive reactivate init
2025-04-09:14:21:11.301 mxarchive_reactivate_init:mxadmin:iv-ydt9heyeioxjd1u57imv:020483-[INFO]:-Fetch deployment information of cluster baz8hPk6Rn27YsFrq7pN3E
2025-04-09:14:21:11.305 mxarchive_reactivate_init:mxadmin:iv-ydt9heyeioxjd1u57imv:020483-[INFO]:-Get cluster meta from ETCD
2025-04-09:14:21:11.310 mxarchive_reactivate_init:mxadmin:iv-ydt9heyeioxjd1u57imv:020483-[INFO]:-Initialize local archive reactivation storage on every host ...
2025-04-09:14:21:11.341 mxarchive_reactivate_init:mxadmin:iv-ydt9heyeioxjd1u57imv:020483-[INFO]:-Finished mxarchive reactivation initialization, and the root directory for data directory is: /mxdata_20250409142111

Здесь будет выведен каталог данных, который будет использоваться для восстановления кластера — его необходимо зафиксировать.

2. Настройка каталога данных

Если требуется настроить разные дисковые хранилища для различных сегментов, можно использовать аналогичный метод, описанный в разделе «Настройка каталога для хранения резервных копий», чтобы изменить расположение файлов в каталоге.

Примечание!
После настройки исходная структура каталогов должна оставаться неизменной.

3. Восстановление кластера

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

$ mxarchive reactivate <备份ID> \
    --data-dir <data directory recorded at initialization> \
    --port-base <The starting tcp port that can be used for the new cluster>

Примечание!
Указанный порт port-base должен быть свободен на всех машинах и не использоваться другими приложениями.

Вывод будет примерно таким:

$ mxarchive reactivate 20250409_061845 --data-dir /mxdata_20250409142111 --port-base 8000
2025-04-09:14:22:40.772 mxarchive_reactivate:mxadmin:iv-ydt9heyeioxjd1u57imv:020750-[INFO]:-Fetch deployment information of cluster baz8hPk6Rn27YsFrq7pN3E
2025-04-09:14:22:40.776 mxarchive_reactivate:mxadmin:iv-ydt9heyeioxjd1u57imv:020750-[INFO]:-Get cluster meta from ETCD
2025-04-09:14:22:40.781 mxarchive_reactivate:mxadmin:iv-ydt9heyeioxjd1u57imv:020750-[INFO]:-Query metadata for version 20250409_061845
2025-04-09:14:22:40.783 mxarchive_reactivate:mxadmin:iv-ydt9heyeioxjd1u57imv:020750-[VERBOSE]:-It takes 1.9975ms to query metadata for version 20250409_061845
2025-04-09:14:22:40.783 mxarchive_reactivate:mxadmin:iv-ydt9heyeioxjd1u57imv:020750-[INFO]:-Copy data of version 20250409_061845 from archive storage to new reactivation directory /mxdata_20250409142111
2025-04-09:14:22:50.121 mxarchive_reactivate:mxadmin:iv-ydt9heyeioxjd1u57imv:020750-[VERBOSE]:-It takes 9.337559569s to copy data to new reactivation directory for every shard
2025-04-09:14:22:50.121 mxarchive_reactivate:mxadmin:iv-ydt9heyeioxjd1u57imv:020750-[INFO]:-Try to only activated master ...
2025-04-09:14:22:51.726 mxarchive_reactivate:mxadmin:iv-ydt9heyeioxjd1u57imv:020750-[INFO]:-Start rewriting gp_segment_configuration ...
2025-04-09:14:22:51.734 mxarchive_reactivate:mxadmin:iv-ydt9heyeioxjd1u57imv:020750-[INFO]:-Stop activated master ...
2025-04-09:14:22:56.216 mxarchive_reactivate:mxadmin:iv-ydt9heyeioxjd1u57imv:020750-[INFO]:-Start to setup activated database ...
2025-04-09:14:23:02.867 mxarchive_reactivate:mxadmin:iv-ydt9heyeioxjd1u57imv:020750-[INFO]:-It takes 22.085693839s in total to reactivate a new database from archive version 20250409_061845

Теперь можно подключиться к новому кластеру базы данных через psql и проверить его содержимое:

$ psql postgres -p 8000
psql (12.12)
Type "help" for help.

postgres=# select * from gp_segment_configuration;
 dbid | content | role | preferred_role | mode | status | port |        hostname         |         address         |                datadir
-----+-----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    1 |      -1 | p    | p              | n    | u      | 8000 | iv-ydt9heyeioxjd1u57imv | iv-ydt9heyeioxjd1u57imv | /mxdata_20250409142111/master/mxseg-1
    6 |       0 | p    | p              | n    | u      | 8001 | iv-ydt9heyeiowh2yp2bv0q | iv-ydt9heyeiowh2yp2bv0q | /mxdata_20250409142111/primary/mxseg0
    7 |       1 | p    | p              | n    | u      | 8002 | iv-ydt9heyeiowh2yp2bv0q | iv-ydt9heyeiowh2yp2bv0q | /mxdata_20250409142111/primary/mxseg1
    4 |       2 | p    | p              | n    | u      | 8003 | iv-ydt9heyeio5i3z3meox2 | iv-ydt9heyeio5i3z3meox2 | /mxdata_20250409142111/primary/mxseg2
    5 |       3 | p    | p              | n    | u      | 8004 | iv-ydt9heyeio5i3z3meox2 | iv-ydt9heyeio5i3z3meox2 | /mxdata_20250409142111/primary/mxseg3
    2 |       4 | p    | p              | n    | u      | 8005 | iv-ydt9heyeioxjd1u57imv | iv-ydt9heyeioxjd1u57imv | /mxdata_20250409142111/primary/mxseg4
    3 |       5 | p    | p              | n    | u      | 8006 | iv-ydt9heyeioxjd1u57imv | iv-ydt9heyeioxjd1u57imv | /mxdata_20250409142111/primary/mxseg5
(7 rows)

Удаление версии резервной копии

Примечание!
Команда удаления удаляет файлы резервных копий, которые больше не требуются ни одной другой версией. Для экономии дискового пространства рекомендуется удалять версии резервных копий, которые больше не нужны для восстановления.

Когда определённая версия больше не требуется для восстановления, её можно удалить из резервных копий. Для удаления используйте следующую команду:

$ mxarchive delete <version to be deleted>

Вывод будет примерно таким:

$ mxarchive delete 20250409_062624
2025-04-09:14:28:00.505 mxarchive_delete:mxadmin:iv-ydt9heyeioxjd1u57imv:022489-[INFO]:-Start to delete archive versions: [20250409_062624]
2025-04-09:14:28:00.506 mxarchive_delete:mxadmin:iv-ydt9heyeioxjd1u57imv:022489-[INFO]:-Are you sure to delete archive versions: [20250409_062624]? [y|N]
y
2025-04-09:14:28:02.337 mxarchive_delete:mxadmin:iv-ydt9heyeioxjd1u57imv:022489-[INFO]:-User confirmed to delete archive versions: [20250409_062624]
2025-04-09:14:28:02.337 mxarchive_delete:mxadmin:iv-ydt9heyeioxjd1u57imv:022489-[INFO]:-Fetch deployment information of cluster: baz8hPk6Rn27YsFrq7pN3E
2025-04-09:14:28:02.342 mxarchive_delete:mxadmin:iv-ydt9heyeioxjd1u57imv:022489-[INFO]:-Get cluster meta from ETCD
2025-04-09:14:28:02.347 mxarchive_delete:mxadmin:iv-ydt9heyeioxjd1u57imv:022489-[INFO]:-Fetch metadata information of cluster's archive: baz8hPk6Rn27YsFrq7pN3E
2025-04-09:14:28:02.349 mxarchive_delete:mxadmin:iv-ydt9heyeioxjd1u57imv:022489-[INFO]:-Finished fetching metadata information of cluster's archive.
2025-04-09:14:28:02.349 mxarchive_delete:mxadmin:iv-ydt9heyeioxjd1u57imv:022489-[INFO]:-Start to delete version information from metadata: [20250409_062624]
2025-04-09:14:28:02.352 mxarchive_delete:mxadmin:iv-ydt9heyeioxjd1u57imv:022489-[INFO]:-Deleted information of version: 20250409_062624
2025-04-09:14:28:02.352 mxarchive_delete:mxadmin:iv-ydt9heyeioxjd1u57imv:022489-[INFO]:-Finished deleting version information from metadata.
2025-04-09:14:28:02.352 mxarchive_delete:mxadmin:iv-ydt9heyeioxjd1u57imv:022489-[INFO]:-Check basebackups that might need to be cleanup ...
2025-04-09:14:28:02.352 mxarchive_delete:mxadmin:iv-ydt9heyeioxjd1u57imv:022489-[INFO]:-Finished checking basebackups that need to be cleanup.
2025-04-09:14:28:02.352 mxarchive_delete:mxadmin:iv-ydt9heyeioxjd1u57imv:022489-[INFO]:-No basebackup need to be deleted.
2025-04-09:14:28:02.352 mxarchive_delete:mxadmin:iv-ydt9heyeioxjd1u57imv:022489-[INFO]:-Start to check WAL files that might need to be deleted ...
2025-04-09:14:28:02.353 mxarchive_delete:mxadmin:iv-ydt9heyeioxjd1u57imv:022489-[INFO]:-Finished checking WAL files that need to be deleted.
2025-04-09:14:28:02.353 mxarchive_delete:mxadmin:iv-ydt9heyeioxjd1u57imv:022489-[INFO]:-Delete WAL files of each segment until given position:
2025-04-09:14:28:02.353 mxarchive_delete:mxadmin:iv-ydt9heyeioxjd1u57imv:022489-[INFO]:-Shard ID:   -1 / WAL Segment File: 000000010000000000000005
2025-04-09:14:28:02.353 mxarchive_delete:mxadmin:iv-ydt9heyeioxjd1u57imv:022489-[INFO]:-Shard ID:    0 / WAL Segment File: 000000010000000000000004
2025-04-09:14:28:02.353 mxarchive_delete:mxadmin:iv-ydt9heyeioxjd1u57imv:022489-[INFO]:-Shard ID:    1 / WAL Segment File: 000000010000000000000004
2025-04-09:14:28:02.353 mxarchive_delete:mxadmin:iv-ydt9heyeioxjd1u57imv:022489-[INFO]:-Shard ID:    2 / WAL Segment File: 000000010000000000000004
2025-04-09:14:28:02.353 mxarchive_delete:mxadmin:iv-ydt9heyeioxjd1u57imv:022489-[INFO]:-Shard ID:    3 / WAL Segment File: 000000010000000000000004
2025-04-09:14:28:02.353 mxarchive_delete:mxadmin:iv-ydt9heyeioxjd1u57imv:022489-[INFO]:-Shard ID:    4 / WAL Segment File: 000000010000000000000004
2025-04-09:14:28:02.353 mxarchive_delete:mxadmin:iv-ydt9heyeioxjd1u57imv:022489-[INFO]:-Shard ID:    5 / WAL Segment File: 000000010000000000000004
2025-04-09:14:28:02.400 mxarchive_delete:mxadmin:iv-ydt9heyeioxjd1u57imv:022489-[INFO]:-Finished deleting WAL files of each segment.

Если необходимо удалить несколько версий одновременно, укажите их в одной команде:

$ mxarchive delete <version_1 to be deleted> <version_2 to be deleted> <...>

Примечания

При использовании версии v6.3.0 действуют следующие ограничения, которые будут устранены в последующих версиях:

  1. Функции восстановления и удаления по-прежнему требуют доступности исходного кластера.

    • Эта версия по-прежнему требует чтения топологии исходного кластера для восстановления версии в доступный кластер и удаления версии.
  2. Табличные пространства не поддерживаются.

    • Данная версия инкрементального онлайн-резервного копирования не поддерживает восстановление пользовательских табличных пространств.
  3. Сбой кластера не поддерживается.

    • Инкрементальное онлайн-резервное копирование в этой версии не поддерживает ситуацию, когда происходит сбой кластера (failover).