This is an old revision of the document!
Создание динамического кластера CGP
Динамический кластер CGP с общим хранилищем
В данном примере я рассмотрю создание динамического кластера CommuniGate с общим хранилищем, совмещенная конфигурация (роли Frontend и Backend выполняют одни и те же серверы).
В данном материале подразумевается, что общее хранилище (в моем конкретном случае NFS + Ceph) уже настроено и на всех серверах доступна общая папка, в которой будут располагаться кластеризованные данные.
/storage
Более того: CGP вполне возмождно установить на серверы, которые являются непосредственно нодами Ceph.
Настройка
1. В первую очередь необходимо выполнить установку CGP на все серверы, которые будут участвовать в кластере.
2. Следующим загом согласно документации CGP должна выступать настройка каналов внутрикластерного взаимодействия, количество которых необходимо увеличить.
HTTPA -> Установки-> Услуги -> PWD 5* (число Бэкенд-Серверов) + 3*(число Фронтенд-Серверов)
https://doc.communigatepro.ru/russian/admin/cluster/Dynamic.html
3. На данном этапе необходимо перечислить IP нод CGP в качестве backend и frontend серверов. Поскольку мы настраиваем совмещенную симметричную конфигурацию, список бэкенд и фронтенд серверов у нас идентичен.
HTTPA -> Установки -> Общее -> Кластер Frontend 192.168.X.X 192.168.X.X 192.168.X.X Backend 192.168.X.X 192.168.X.X 192.168.X.X
Пример:
4. Останавливаем ноды.
systemctl stop CommuniGate
5. Теперь необходимо создать директорию, в которой будут расположены общекластерные данные, она должна называться SharedDomains. Делаем её прямо на нашем общем Ceph-storage.
mkdir /storage/SharedDomains
Необходимо убедиться, что все бэкенд-серверы имеют полные права доступа на папку и могут создавать, удалять, читать и изменять файлы и директории внутри директории SharedDomains.
6. Теперь каждому участнику кластера необходимо передать параметры запуска, содержащие флаг о том, что данный сервер будет состоять в кластере, а также информацию о созданной общей директории. Для передачи параметров необходимо на каждом сервере создать специальный файл Startup.sh в директории CommuniGate. Данный файл должен иметь права на запуск.
touch /var/CommuniGate/Startup.sh chmod +x /var/CommuniGate/Startup.sh
Теперь укажем в файле параметры запуска следующим образом:
SUPPLPARAMS="--SharedBase /storage/SharedDomains --ClusterBackend"
В CGP существует отдельный параметр для запуска серверов в режиме frontend: –ClusterFrontend. Несмотря на то, что наша конфигурация является совмещенной и серверы будут выполнять в том числе и роль фронтендов, данный параметр указыввать НЕ ТРЕБУЕТСЯ, т.к. он предназначен для выделенных frontend-серверов.
7. На следующем этапе мы можем запустить серверы. Один из них должен стать контроллером кластера.
Проверить, что сервер подцепил необходимые параметры запуска можно так:
systemctl status CommuniGate.service
В нормальном случае мы увидим:
● CommuniGate.service - CommuniGate Pro Communication Server
Loaded: loaded (/usr/lib/systemd/system/CommuniGate.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2026-08-24 13:56:26 MSK; 2 weeks 2 days ago
Main PID: 1995264 (CGServer)
Tasks: 69 (limit: 19161)
Memory: 104.2M
CPU: 30min 34.540s
CGroup: /system.slice/CommuniGate.service
└─ 1995264 /opt/CommuniGate/CGServer --SharedBase /storage/SharedDomains --ClusterBackend
8. Мониторинг можно осуществить в разделе:
Monitors -> Cluster
Пример:


