Функция инкрементального онлайн-резервного копирования позволяет создавать резервные копии всех данных работающего кластера базы данных YMatrix в определённый момент времени, сохраняя их в файлы согласно заданным правилам. Резервные данные обеспечивают полноту и согласованность базы данных на этот конкретный момент времени.
Кроме того, из всех файлов определённой резервной копии можно восстановить работоспособный кластер базы данных YMatrix, содержимое которого будет идентично исходному кластеру на указанное время.
На основе возможности создания полной резервной копии функция инкрементального онлайн-резервного копирования поддерживает создание инкрементальных резервных копий.
Полная резервная копия копирует все данные всего кластера базы данных. Создание полной резервной копии создаёт определённую нагрузку на ресурсы работающей базы данных. Однако восстановление кластера базы данных из полной резервной копии происходит быстро. Инкрементальная резервная копия фиксирует только изменения, внесённые в исходный кластер после предыдущей полной резервной копии. Создание инкрементальной резервной копии оказывает минимальное влияние на работу базы данных. Однако восстановление кластера из инкрементальной резервной копии занимает больше времени, чем из полной. На практике сочетание обоих методов позволяет сбалансировать нагрузку на исходный кластер и скорость восстановления из резервных копий.
1. Хранение файлов резервных копий
Файлы инкрементального онлайн-резервного копирования хранятся на машинах исходного кластера базы данных в каталоге /mxarchive_<original database cluster ID>. Каждая машина использует этот каталог для хранения файлов резервных копий, созданных из её локального сегмента базы данных. Структура каталога выглядит следующим образом:
/mxarchive_<original_cluster_ID>
├── 1 (dbid of the segment in the original cluster)
│ ├── basebackup (stores the basebackup tarball of the original cluster)
│ │ └── <basebackup_version> (a full backup version)
│ │ └── base.tar (tarball created by pg_basebackup; if compression is enabled, it will be base.tar.gz)
│ ├── wal (stores WAL segment files)
│ ├── history (stores WAL history files)
│ ├── backup (stores backup files created by pg_basebackup for full backups)
│ └── misc (stores broken WAL segment files caused by cluster failover/failback)
├── 2
│ └── ... (same structure as above)
└── 3
└── ... (same structure as above)
2. Управление информацией о версиях
Информация о версиях инкрементального онлайн-резервного копирования хранится на машине, где расположен мастер-узел исходного кластера, в файле базы данных SQLite, расположенном по пути /mxarchive_<original database cluster ID>/metadata/mxarchive.db.
Примечание!
При настройке кластера базы данных для использования функции инкрементального онлайн-резервного копирования кластер должен находиться в нормальном рабочем состоянии.
Все операции, связанные с функцией инкрементального онлайн-резервного копирования, должны выполняться на хосте мастера от имени пользователя управления кластером базы данныхmxadminс использованием командыmxarchive.
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. Настройка каталога для файлов резервных копий
После инициализации на каждом хосте кластера будет создан каталог /mxarchive_<Database cluster ID ID> для хранения файлов резервных копий. Вы можете изменить расположение дисков по необходимости (например, настроить символические ссылки из каталогов сегментов на фактические диски хранения).
Примечание!
После настройки исходная структура каталогов должна оставаться неизменной.
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. Инициализация каталога данных
Перед началом восстановления подготовьте структуру каталога данных для восстанавливаемого кластера. Запустите следующую команду на каждом хосте кластера для создания необходимых каталогов:
Примечание!
Эта команда изменилась по сравнению с версией 6.3.X: в версии 6.4.X добавлен параметр<version>для указания версии резервной копии, которую необходимо восстановить.
$ mxarchive reactivate init <version>
Пример вывода:
$ mxarchive reactivate init 20250409_061845
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 <version> \
--data-dir <recorded data directory from initialization> \
--port-base <starting TCP port available for the new cluster>
Примечание!
Порты от--port-baseдо--port-base + Nне должны быть заняты другими приложениями на любом хосте.
Пример вывода:
$ 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_delete>
Пример вывода:
$ 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> <version_2> <...>
Следующие ограничения действуют для версии v6.4.X и будут улучшены в будущих выпусках.
Инкрементальное онлайн-резервное копирование в этой версии имеет ограниченную поддержку функциональности табличных пространств:
Резервное копирование
Восстановление
CREATE TABLESPACE или DROP TABLESPACE выполняются между полной резервной копией и последующей инкрементальной, то эта инкрементальная версия и все последующие инкрементальные версии не могут быть корректно восстановлены.Инкрементальное онлайн-резервное копирование не поддерживает сценарии, при которых топология исходного кластера изменяется после настройки резервного копирования, например, добавление зеркал, инициализация резервных мастеров или масштабирование кластера.