The Magician

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
создание_динамического_кластера_cgp [2026/09/10 08:21] jpсоздание_динамического_кластера_cgp [2026/09/10 08:51] (current) jp
Line 7: Line 7:
 В данном материале подразумевается, что общее хранилище (в моем конкретном случае //NFS// + //Ceph//) уже настроено и на всех серверах доступна общая папка, в которой будут располагаться кластеризованные данные.  В данном материале подразумевается, что общее хранилище (в моем конкретном случае //NFS// + //Ceph//) уже настроено и на всех серверах доступна общая папка, в которой будут располагаться кластеризованные данные. 
   /storage   /storage
-Более того: //CGP// вполне возмождно установить на серверы, которые являются непосредственно нодами //Ceph//.+Более того: //CGP// вполне возмождно установить на серверы, которые являются непосредственно нодами //Ceph//. В данном примере я рассматриваю именно такой сценарий: три //CGP//-сервера, являющиеся нодами //Ceph//.
  
 === Настройка === === Настройка ===
Line 19: Line 19:
 https://doc.communigatepro.ru/russian/admin/cluster/Dynamic.html https://doc.communigatepro.ru/russian/admin/cluster/Dynamic.html
  
-3. Останавливаем ноды.+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   systemctl stop CommuniGate
-4. Теперь необходимо создать директорию, в которой будут расположены общекластерные данные, она должна называться //SharedDomains//. Делаем её прямо на нашем общем //Ceph//-storage.+5. Теперь необходимо создать директорию, в которой будут расположены общекластерные данные, она должна называться //SharedDomains//. Делаем её прямо на нашем общем //Ceph//-storage.
  
   mkdir /storage/SharedDomains   mkdir /storage/SharedDomains
-:!: Необходимо убедиться, что все Бэкенд-Серверы имеют полные права доступа на папку и могут создавать, удалять, читать и изменять файлы и директории внутри директории //SharedDomains//.+:!: Необходимо убедиться, что все бэкенд-серверы имеют полные права доступа на папку и могут создавать, удалять, читать и изменять файлы и директории внутри директории //SharedDomains//.
  
-5. Теперь каждому участнику кластера необходимо передать параметры запуска, содержащие флаг о том, что данный сервер будет состоять в кластере, а также информацию о созданной общей директории. Для передачи параметров необходимо на каждом сервере создать специальный файл //Startup.sh// в директории //CommuniGate//. Данный файл должен иметь права на запуск.+6. Теперь каждому участнику кластера необходимо передать параметры запуска, содержащие флаг о том, что данный сервер будет состоять в кластере, а также информацию о созданной общей директории. Для передачи параметров необходимо на каждом сервере создать специальный файл //Startup.sh// в директории //CommuniGate//. Данный файл должен иметь права на запуск.
  
   touch /var/CommuniGate/Startup.sh   touch /var/CommuniGate/Startup.sh
   chmod +x /var/CommuniGate/Startup.sh   chmod +x /var/CommuniGate/Startup.sh
 +Теперь укажем в файле параметры запуска следующим образом:
 +
 +  SUPPLPARAMS="--SharedBase /storage/SharedDomains --ClusterBackend"
 +:!: В //CGP// существует отдельный параметр для запуска серверов в режиме //frontend//: //--ClusterFrontend//. Несмотря на то, что наша конфигурация является совмещенной и серверы будут выполнять в том числе и роль фронтендов, данный параметр указыввать НЕ ТРЕБУЕТСЯ, т.к. он предназначен для выделенных frontend-серверов. 
 +
 +7. На следующем этапе мы можем запустить серверы. Один из них должен стать контроллером кластера.
 +
 +Проверить, что сервер подцепил необходимые параметры запуска можно так:
 +
 +  systemctl status CommuniGate.service
 +В нормальном случае мы увидим:
 +
 +<code>
 +● 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
 +</code>
 +
 +8. Мониторинг можно осуществить в разделе: 
 +
 +  Monitors -> Cluster
 +Пример:
 +;#;
 +{{:cgp:cgp_cluster_monitoring.jpg|}}
 +;#;
 +
 +9. В случае возникновения каких-либо проблем, можно увеличить уровень логгирования для компонентов кластера. Это делается в разделе:
 +
 +  HTTPA -> Установки -> Общее -> Кластер -> Log Level
 +{{tag>CommuniGate Mail Ceph NFS}}
создание_динамического_кластера_cgp.1789028460.txt.gz · Last modified: by jp