Перейти к основному содержимому

Администрирование Pangolin Manager

Текущая версия компонента Pangolin Manager 4.2.0, основан на 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.