Резервное копирование и восстановление PostgreSQL и Tantor
1. Назначение
Резервное копирование и восстановление СУБД PostgreSQL, Tantor Special Edition и Jatoba выполняется с помощью модуля PostgreSQL Universal, входящего в состав СРК RuBackup.
PostgreSQL |
11, 12, 13, 14, 15, 16, 17, 18 |
Tantor Special Edition |
15, 1С 15, 16, 17, 18 |
Jatoba |
6 |
|
Использует низкоуровневый API СУБД для выполнения резервного копирования |
|
Использует утилиту |
|
Резервное копирование и восстановление СУБД в режиме непрерывного резервного копирования и резервного копирования архивных журналов транзакций |
2. Резервируемые данные
Осуществляется резервное копирование всей СУБД и архивных журналов транзакций (WAL).
При выполнении резервного копирования данных для подмодулей postgresql
и superb создаются резервные копии:
-
файлов данных СУБД, расположенных в директории, которая определяется автоматически или задается параметром
data_directoryв файлеpostgresql.conf(Подготовка СУБД PostgreSQL); -
архивных журналов транзакций (WAL-файлов), расположенных в директории, которая определяется параметром
archive_catalogв файле/opt/rubackup/etc/rb_module_postgresql.conf(Подготовка СУБД PostgreSQL); -
файлов настроек СУБД, независимо от их расположения:
-
postgresql.conf. Если в конфигурационный файлpostgresql.confвключены другие конфигурационные файлы (с помощью директивinclude,include_if_exists,include_dir), то будет создана резервная копия этих файлов; -
pg_hba.conf; -
pg_ident.conf.
-
3. Типы резервного копирования
Модуль поддерживает следующие типы резервного копирования СУБД:
4. Типы восстановления данных
Модуль поддерживает полное восстановление СУБД из резервных копий с развертыванием и без развертывания на целевом ресурсе.
5. Способы резервного копирования
Модуль поддерживает резервное копирование СУБД с помощью:
-
приложений:
-
Tucana (рекомендуемый способ),
-
6. Способы восстановления данных
Модуль поддерживает следующие способы восстановления СУБД из резервных копий:
-
Централизованное восстановление с помощью:
-
приложений:
-
Tucana (рекомендуемый способ),
-
-
-
Локальное восстановление на клиенте резервного копирования с помощью:
-
приложения Менеджер клиента RuBackup (RBC),
-
7. Способы аутентификации в СУБД
Модуль поддерживает три способа аутентификации в СУБД.
-
Базовый. Для аутентификации используются учетные данные пользователя СУБД из конфигурационного файла модуля.
-
Через Unix-сокет с помощью метода
peer. Для аутентификации используются полномочия пользователя ОС. -
С помощью внешнего хранилища секретов. Для аутентификации используются учетные данные пользователя СУБД в зашифрованном виде.
Таблица 3. Хранилища секретов Хранилище секретов Операционные системы HashiCorp Vault 1.16.3
Astra Linux 1.7
Ubuntu 20.04
RHEL 8
8. Комплект поставки
Дистрибутив модуля поставляется в виде deb-пакета с именем rubackup-postgresql_<version>_amd64_signed.deb и в виде rpm-пакета с именем rubackup-postgresql-<version>.x86_64.rpm, где <version> — номер версии поставляемого модуля.
Пакет доступен для скачивания на официальном сайте https://www.rubackup.ru/go/.
9. Ограничения
Запустить одновременно две операции резервного копирования или восстановления для модуля на одном хосте невозможно. Выполнение резервного копирования СУБД производится методом, не предусматривающим параллельных задач резервного копирования и восстановления для одной и той же СУБД. Если параллельная задача будет запущена, она завершится с ошибкой.
|
Во время выполнения задачи на создание инкрементальной резервной копии в
RuBackup производится анализ WAL-файлов. Если анализ показывает, что в
текущем WAL-файле изменилась линия времени по сравнению с последним
WAL-файлом из предыдущей итерации создания резервной копии, то вместо
инкрементальной копии создается полная резервная копия. Это актуально
для подмодулей При выполнении восстановления с развертыванием существующий кластер баз данных СУБД PostgreSQL будет уничтожен, а на его месте будет восстановлен кластер баз данных из резервной копии. Перед операцией восстановления рекомендуется принудительно остановить работу всех клиентов с СУБД и выполнить базовое (полное) резервное копирование! Рекомендуем отключить возможность централизованного восстановления СУБД на клиенте и выполнять восстановление из резервной копии только со стороны клиента под контролем администратора СУБД. Централизованное восстановление и восстановление с развертыванием рекомендуем предварительно выполнять на резервном хосте (виртуальной машине) для проверки корректности восстановления СУБД. |
Если на хосте, который не является лидером, в поле Ресурс отсутствуют необходимые ресурсы, то выберите клиент, который является лидером.
Сделать инкрементальную резервную копию одного ресурса в разные пулы при
включенном параметре auto_remove_wal невозможно, потому что файлы журналов
удаляются. Чтобы создать инкрементальную резервную копию одного ресурса
в разных пулах, установите в конфигурационном файле
/opt/rubackup/etc/rb_module_postgresql.conf параметр auto_remove_wal
в значение no.
При создании инкрементальной резервной копии ресурса следует учитывать метод получения секрета при выполнении предыдущих резервных копий выбранного ресурса. Созданные РК будут находится в одном репозитории при условии использования одного и того же метода получения секрета для подключения к резервируемому ресурсу. В случае выполнения инкрементальной РК ресурса с другим методом получения секрета, который был использован для получения предыдущей РК, будет выполнено полное резервное копирование ресурса и созданная РК будет помещена в другой репозиторий.