Skip to main content

Добавление серверов ПринтМенеджера в кластер

Цель

Добавление второго и последующих серверов ПринтМенеджера в существующий кластер 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/ все строки станут зелёными.

Как проверить установку

Следующие шаги

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

Типовые ошибки

Ошибка Причина Решение
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 — итоговое число серверов ПринтМенеджер в кластере


Связанные страницы