Установка конфигурации
Настройка кластера
Для настройки кластера необходимо собрать pgbackrest, утилиту и выполнить необходимые настройки.
Настройка pgbackrest
При использовании утилиты gpdr для выполнения операций резервного копирования и восстановления конфигурационные файлы pgbackrest.conf можно оставить пустыми. Утилита автоматически заполнит необходимые параметры конфигурации.
1. Установка pgbackrest
git clone https://git.angara.cloud/gbgp/greenplum.disaster.recovery/pgbackrest-sync -b integration_cdump
Примечание: Если ссылка для клонирования недоступна, можно использовать готовый бинарный файл pgbackrest. Зависимости всё равно необходимо установить (см. п.2).
2. Установка зависимостей
Установить зависимости на всех сегментах кластера. Набор пакетов может различаться в зависимости от операционной системы:
-
Ubuntu:
-
CentOS:
Примечание: При установке пакета
postgresql10-develвозможен конфликт. Для решения проблемы необходимо удалить старые пакеты:
1. Просмотрите установленные пакеты:rpm -qa | grep postgres
2. Удалите пакет:sudo yum remove <name_rpm>
3. Повторите установку нового пакета
3. Сборка pgbackrest
Примечание: На CentOS возможны проблемы с выполнением
./configure, чаще всего связанные с библиотекой-lpq. Дополнительно установите пакет:sudo yum install postgresql-devel
4. Установка исполняемого файла
Скопировать исполняемый файл в директорию:
5. Установка Perl
6. Создание директорий и настройка прав доступа
# Создание директории для логов
sudo mkdir -p -m 770 /var/log/pgbackrest
sudo chown gpadmin:gpadmin /var/log/pgbackrest
# Создание директорий конфигурации
sudo mkdir -p /etc/pgbackrest
sudo mkdir -p /etc/pgbackrest/conf.d
sudo touch /etc/pgbackrest/pgbackrest.conf
sudo chmod 640 /etc/pgbackrest/pgbackrest.conf
sudo chown gpadmin:gpadmin /etc/pgbackrest/pgbackrest.conf
Сборка утилиты gpdr
Требования:
- Golang версии 1.20. (инструкцию по установке см. в официальной документации - https://go.dev/doc/install)
Процесс сборки:
-
Клонирование репозитория:
Примечание: Используйте последний доступный tag
-
Сборка утилиты:
-
Установка: Скопировать полученный бинарный файл в удобное для использования место.
Правила заполнения общего конфигурационного файла
Конфигурационный файл создается перед выполнением любой команды утилиты.
Описание конфигурационного файла и список флагов см. на странице Описание.
По умолчанию файл находится в каталоге с исполняемым файлом утилиты gpdr, альтернативный путь указывается через параметр - project-config.
Общие правила заполнения конфигурационного файла
Конфигурационный файл заполняется в формате TOML:
- Устанавливается значение
key = "value" - Все строковые переменные указываются в кавычках
- Для флагов с массивом данных значения разделяются запятыми
Правила заполнения конкретных флагов
- Флаги, в которые вводятся пути к каталогам (
repo-path,config-path), должны завершаться слешем/, иначе возможны проблемы при чтении файлов из каталогов - Флаги, определяющие файл и путь к нему (
project-config), должны содержать полный путь включая имя файла, а не только путь к каталогу - Флаги, в которых вводится массив данных (
exclude-db,exclude), указываются в кавычках через запятую - В конфигурационный файл можно добавлять блоки (master, segment+номер сегмента), которые содержат расположение удаленного хоста с репозиторием для соответствующего сегмента. В каждый блок обязательно включаются два параметра:
repo-hostиrepo-host-user. Параметрrepo-host-userуказывается даже в случае, если его значение одинаково для всех блоков - Остальные флаги заполняются согласно стандартным правилам формата TOML