Добавление серверов ПринтМенеджера в кластер
Цель
Добавление второго и последующих серверов ПринтМенеджера в существующий кластер Active-Active.
Предусловия
- Установлен и настроен балансировщик HAProxy.
- Установлен первый ПринтМенеджер в кластере.
- На сервере балансировщика в директории
/opt/printum_balancer/certificates/<IP_или_домен_ПМ>находится архивprintum_config.tar.gzдля нового сервера.
Шаги установки
Шаг 1. Установите второй и последующие ПМы
Установка аналогична установке первого ПринтМенеджер из раздела Установка первого ПринтМенеджера в кластере.
Отличием является только файл printum_config.tar.gz, который нужно взять из соответствующей папки на сервере с балансировщиком (с соответствующим IP-адресом или доменным именем нового сервера).
Шаг 2. Добавление дополнительного сервера (5 и более)
Если необходимо добавить сервер, не входящий в исходную конфигурацию:
- Проведите установку балансировщика ещё раз с указанием необходимых серверов.
- Установите ПринтМенеджер в шаге 1.
- Отредактируйте на каждом сервере файл
.envв директории/opt/printmanager. Измените список IP адресов или hostname в строкеREDIS_SENTINEL_LIST, указав все сервера. - Перезапустите приложение ПринтМенеджер командами:
cd /opt/printmanager sudo docker-compose down sudo docker-compose up -d
Ожидаемый результат
- ПринтМенеджеры установлена на серверах без ошибок.
- После установки всех ПринтМенеджеров на странице балансировщика
https://BALANCER_ADR:7000/все строки станут зелёными.
Как проверить установку
- Откройте страницу по адресу
https://BALANCER_ADR:7000/и убедитесь, что все строки ПринтМенеджер стали зелёными. - Выполните проверку по разделу Проверка корректности установки кластера.
Следующие шаги
Проверка корректности установки кластера
Типовые ошибки
| Ошибка | Причина | Решение |
|---|---|---|
django.db.utils.OperationalError: FATAL: sorry, too many clients already |
Превышено максимальное количество подключений к PostgreSQL после добавления новых узлов. | Увеличить max_connections в конфигурации PostgreSQL: max_connections = (3×N + 70) × Tгде N — количество ядер CPU, T — итоговое число серверов ПринтМенеджер в кластере |
Ошибка Причина Решение Увеличить max_connections в конфигурации PostgreSQL: max_connections = (3×N + 70) × T, где N — количество ядер CPU, T — итоговое число серверов ПринтМенеджер в кластере