Администрирование Pangolin Manager
Текущая версия компонента Pangolin Manager 3.1.1, основан на Patroni версии 4.1.1.
Patroni – это Python-приложение для создания высокодоступных кластеров на основе потоковой репликации.
Компонент Pangolin Manager – это оркестратор кластера Pangolin, основанный на Patroni, который преобразует систему из двух и более узлов Pangolin в высокодоступный кластер с поддержкой контролируемого и аварийного переключения. Он автоматизирует добавление, обновление и удаление реплик, и реализует одновременное изменение конфигурации Pangolin на всех узлах кластера.
Предназначение компонента — реализация кластеров СУБД высокой доступности.
Компонент используется только в кластерной конфигурации (cluster).
В случае необходимости перехода из standalone-конфигурации в кластерную используйте инструкцию по реконфигурации документа «Руководство по установке».
Для хранения части конфигурации кластера в Pangolin используется распределенное хранилище конфигурации (DCS) на базе Raft алгоритма. Помимо конфигурации, в DCS в реальном времени обновляются текущие статусы и отметки активности узлов (ключи). Хранилище критически важно для кластера Pangolin, в случае его недоступности или сбоя, Pangolin Manager на основном узле (мастере) не сможет обновить свой ключ и переведет СУБД в режим «только для чтения».
Содержание
- Установка
- Конфигурирование
- Управление
- Кластер высокой доступности
- Репликация
Доработки
Компонент Pangolin Manager – это доработанная версия свободно распространяемой утилиты Patroni, Python-приложения для создания и управления кластером, работающим на основе потоковой репликации. Подробнее о Patroni в интегрированной переведенной документации утилиты.
К ключевым доработкам утилиты Patroni в рамках создания компонента Pangolin Manager относятся:
- (5.3.0) Поддержка использования сертификатов PKCS#12 и управление сертификатами для Pangolin через Secret Management System (SecMan).
- (5.4.0) Поддержка CRL (Certificate Revocation Lists) в компонентах кластера Pangolin.
- (6.2.0) Реализация встроенного компонента Pangolin DCS на базе алгоритма Raft.
- (6.3.0) Обработка параметра
ssl_legacy_providerдля совместимости с OpenSSL 3.0+. - (6.3.0) Журналирование сообщений компонента Pangolin Manager.
Доработки в части конфигурирования:
-
(6.3.0) В серверную часть DBMS, Pangolin Pooler и Pangolin Manager добавлен конфигурационный параметр ssl_legacy_provider. Параметр управляет активацией устаревших алгоритмов путем подгрузки провайдера Legacy в OpenSSL 3.0.0+ (аналог Engine API в OpenSSL 1.+) при запуске компонента.
-
(6.3.0) В Pangolin Manager вынесены отдельные параметры, определяющие местоположение и свойства файла, куда должны писаться все логи, которые раньше писались в системный лог, а также параметр переключения места логирования: файл или системный лог.
-
(6.6.0) Добавлен параметр
audit.file_mode, определяющий права на файл аудита Pangolin Manager при создании. -
(6.6.1) Добавлены параметры, позволяющие включить функциональность синхронизации запуска службы
pangolin-auth-reencryptи сервера базы данных:reencrypt.monitored_files– список файлов<username>.done, за которыми должен следить сервер;reencrypt.wait_timeout– время ожидания появления файлов<username>.doneв секундах.
Доработки валидатора конфигурации Pangolin Manager:
- (6.6.1) Добавлена новая опция
--ignore-listen-portвалидатора для игнорирования занятых портов при проверке. - (6.7.3) Добавлен квалификатор типа
секундыдля параметраfast_logical_walsender_stop_timeoutв валидатор Pangolin Manager.
Доработки в части утилит управления pangolin-manager-ctl:
- (6.5.0) Добавлена команда
validated-gucsутилиты pangolin-manager-ctl, возвращающая список параметров, для которых имеются валидаторы. - (6.5.0) Реализована утилита get-pangolin-gucs, которая возвращающая список GUC-параметров.
- (6.5.2) Консольной утилите
pangolin-manager-ctlк команде list добавлена опцияapi-address, позволяющая указать адрес REST API, к которому будет произведен запрос для получения списка узлов кластера. - (6.5.2) Добавлена функциональность обработки параметра
partner_addressиз конфигурационного файлаpostgres.yml. Указанные в этом параметре адреса REST API будут использованы в случае неудачного получения списка узлов кластера командойpangolin-manager-ctl listчерез адрес, указанный вconnect_address.