===== Создание динамического кластера CGP ===== ==== Динамический кластер CGP с общим хранилищем ==== В данном примере я рассмотрю создание //динамического// кластера //CommuniGate// с общим хранилищем, совмещенная конфигурация (роли //Frontend// и //Backend// выполняют одни и те же серверы). В данном материале подразумевается, что общее хранилище (в моем конкретном случае //NFS// + //Ceph//) уже настроено и на всех серверах доступна общая папка, в которой будут располагаться кластеризованные данные. /storage Более того: //CGP// вполне возмождно установить на серверы, которые являются непосредственно нодами //Ceph//. В данном примере я рассматриваю именно такой сценарий: три //CGP//-сервера, являющиеся нодами //Ceph//. === Настройка === 1. В первую очередь необходимо выполнить [[установка_сервера_communigate_pro|установку 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 Пример: ;#; {{::cgp:cgp_front_back_addr.jpg|}} ;#; 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 Пример: ;#; {{:cgp:cgp_cluster_monitoring.jpg|}} ;#; 9. В случае возникновения каких-либо проблем, можно увеличить уровень логгирования для компонентов кластера. Это делается в разделе: HTTPA -> Установки -> Общее -> Кластер -> Log Level {{tag>CommuniGate Mail Ceph NFS}}