Кластер PostgresPro-1C 17 для 1С Предприятие с использованием etcd, HAProxy и keepalived

Немного предисловия. Захотелось попробовать крайние версии PostgreSQL для работы 1С. Были испробованы решения на Consul, pgautofailover и etcd. Из всех найденных решений, успешно заработало только конфигурация с etcd. Важный момент, который не освещается ни где — это использование как минимум трех нод в реализации конфигурации. В данной статья описано простое решение, без тюнига и дополнительных плюшек, так как далее все это будет упаковано в docker контейнеры. Стек следующий — Oracle Linux 9, postgres-pro-1c-17, etcd, haproxy, keepalived. В статье я максимально упросил составление конфигураций и немного скудно добавил описание, так как важно собрать кластер, а уже потом тюнить и выяснять, что это за параметры использовались (имхо) Назовем его rc0.1 Дорастем и до релиза, после проверки материала )

Поехали!

Подготовка системы

Так как я использую в своей лаборатории исключительно образы minimal, приходиться готовить систему перед началом работ. Небольшие модификации и установка необходимого ПО.

Установка необходимого ПО и переменных окружения

Необходимые утилиты и репозитории для установки patroni, подтюним ВМ и пропишем соответствие IP адресов и имен хостов, так как на ДНС надежды нет ) В моем примере ноды имеют следующее сопоставление — node01 — 10.10.88.10, node02 — 10.10.88.20, node03 — 10.10.88.30. Выполняется на всех хостах кластера

Отключение SELinix и Firewalld

Для тестового стенда это приемлемо, для своего прода порты можно найти необходимые порты для сетевого взаимодействия

Установка PostgresSQL Pro 17

Установка ETCD

Создание конфигурации etcd для node01

Зададим переменные ETCD_NAME, INT_NAME, ETCD_HOST_IP. Данная процедура описана в официальной документации. Обратить внимание на имя ноды (для каждой свое) и сетевой интерфейс с системе

Настроем скрипт запуска для systemd для node01

Далее необходимо проинсталлировать etcd на все ноды кластера и выполним проверку. Важно для каждой ноды задавать верную переменную ETCD_NAME

Все ноды успешно подключены и выбран лидер в кластере.

Установка Partoni

Создание файла конфигурации patroni node01

Настроим скрипт запуска для systemd для node01

Проверка состояния кластера

Установка и настройка HAProxy

Настройка фала журналирования для HAProxy

Разрешим следующие параметры в файле /etc/rsyslog.conf

Конфигурационный файл HAProxy

 

Установка keepalived

Поддержка виртуального IP адреса

Скрипт проверки доступности haproxy

Файл конфигурации keepalived.conf для node01

Настройка фала журналирования для keepalived

Запуск и добавление в автозагрузку

Добавление БД в кластер 1С Предприятие

Немного полезных команд

Состояние кластера etcd

Состояние кластера patroni

Реинициализация ноды

Переключение активной ноды

Рестарт ноды

Редактирование конфигурации

Применение конфигурации

0 0 голоса
Рейтинг статьи
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (1 оценок, среднее: 5,00 из 5)
Загрузка...
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии