Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Кластер организуется из двух одинаковых устройств. Работает в режиме Active-Standby, т. е. на Active запущены все модули ESBC, и он занимается обработкой сигнальных сообщений SIP и медиаданных (RTP-потоков). Устройство Standby не обрабатывает сигнальные сообщений SIP и медиаданные.

Резервирование соединения осуществляется протоколом VRRP.

Конфигурация, файлы ПО, зарегистрированные абоненты синхронизируются между устройствами в реальном времени. В случае обрыва соединения или отключения Active устройства, все существующие вызовы будут разрушены. 

Примечание

Время до начала обработки вызовов при failover зависит от вызывной нагрузки на устройство и составляет от 2 до 12 секунд. 

Более подробное описание настройки кластера приведено в документации ESR. Ниже представлен пример настройки ESBC-3200 для обработки вызовов.

...

Примечание

Значения параметров для ESBC-3200 идентичны значениям для ESR-3200. 


Пример настройки HA кластера ESBC

Схема:

Image Added

Примечание

Настроить cluster можно двумя способами:

1) Настроить каждый unit отдельно;

2) Настроить один unit, а затем второй включить в cluster по ZTP.

Ниже приведён пример ручной настройки, настройка с ZTP описана в документации ESR.

Scroll Pagebreak

Первичная настройка кластера

После включения устройства необходимо применить конфигурацию по умолчанию на устройствах, предназначенных для объединения в кластер:

Блок кода
languagec#
titleESBC-1,2
ESBC-3200# copy system:default-config system:candidate-config

Entire candidate configuration will be reset to default, all settings will be lost upon commit.

Do you really want to continue? (y/N): y

|******************************************| 100% (59B) Default configuration loaded successfully.

Для более удобного и ясного восприятия рекомендуется переименовать устройства. В кластерной версии прошивки предусмотрена возможность указать имя устройства с привязкой к юниту. Устройство будет использовать только тот hostname, юнитом которого он является:

Блок кода
languagec#
titleESBC-1,2
ESBC-3200# configure
ESBC-3200(config)# hostname ESBC-1 unit 1
ESBC-3200(config)# hostname ESBC-2 unit 2

Чтобы изменить юнит устройства, выполните следующие команды:

Блок кода
languagec#
titleESBC-1
ESBC-1# set unit id 1
Unit ID will be 1 after reboot
ESBC-1# reload system
Do you really want to reload system now? (y/N): y


Блок кода
languagec#
titleESBC-2
ESBC-2# set unit id 2
Unit ID will be 2 after reboot
ESBC-2# reload system
Do you really want to reload system now? (y/N): y

Убедитесь в том, что настройки юнитов применились успешно: 

Блок кода
languagec#
titleESBC-1
ESBC-1# show unit id
Unit ID is 1
Unit ID will be 1 after reboot


Блок кода
languagec#
titleESBC-2
ESBC-2# show unit id
Unit ID is 2
Unit ID will be 2 after reboot

В текущей схеме служебная информация по управлению кластером будет передаваться через выделенный линк синхронизации между интерфейсами twe1/0/3 и twe2/0/3.

Блок кода
languagec#
titleESBC-1,2
ESBC-1(config)# interface twentyfivegigabitethernet 1/0/3
ESBC-1(config-if-twe)# description "Network: SYNC"
ESBC-1(config-if-twe)# mode switchport
ESBC-1(config-if-twe)# exit
ESBC-1(config)# interface twentyfivegigabitethernet 2/0/3
ESBC-1(config-if-twe)# description "Network: SYNC"
ESBC-1(config-if-twe)# mode switchport
ESBC-1(config-if-twe)# exit

Настройка внешних сетевых интерфейсов

На обоих устройствах необходимо настроить IP-адрес и VRRP на внешних интерфейсах. В текущей схеме это интерфейсы twe1/0/7 и twe2/0/7.

Блок кода
languagec#
titleESBC-1,2
ESBC-1(config)# interface twentyfivegigabitethernet 1/0/7
ESBC-1(config-if-twe)# ip address 192.168.83.80/22
ESBC-1(config-if-twe)# vrrp
ESBC-1(config-if-twe)# vrrp id 10
ESBC-1(config-if-twe)# vrrp ip 192.168.83.82/22
ESBC-1(config-if-twe)# vrrp group 2
ESBC-1(config-if-twe)# exit
ESBC-1(config)# interface twentyfivegigabitethernet 2/0/7
ESBC-1(config-if-twe)# ip address 192.168.83.79/22
ESBC-1(config-if-twe)# vrrp
ESBC-1(config-if-twe)# vrrp id 10
ESBC-1(config-if-twe)# vrrp ip 192.168.83.82/22
ESBC-1(config-if-twe)# vrrp group 2
ESBC-1(config-if-twe)# exit

Scroll Pagebreak

Настройка кластерного интерфейса

Для полноценной работы кластера требуется сконфигурировать кластерный интерфейс, который будет использоваться для передачи control plane трафика, необходимого для полноценного функционирования кластера. В качестве кластерного интерфейса назначен bridge. В качестве механизма, отвечающего за определение ролей устройств, участвующих в резервировании, назначен протокол VRRP. Настройки cluster-интерфейса должны быть идентичны для всех участников кластера. Так как кластер выполняет синхронизацию состояний между устройствами, необходимо создать зону безопасности SYNC (synchronization) и разрешить прохождение трафика протокола vrrp:

Блок кода
languagec#
titleESBC-1,2
ESBC-1(config)# security zone SYNC
ESBC-1(config-zone)# exit
ESBC-1(config)#
ESBC-1(config)# security zone-pair SYNC self
ESBC-1(config-zone-pair)# rule 1
ESBC-1(config-zone-pair-rule)# action permit
ESBC-1(config-zone-pair-rule)# match protocol vrrp
ESBC-1(config-zone-pair-rule)# enable
ESBC-1(config-zone-pair-rule)# exit
ESBC-1(config-zone-pair)# exit

Далее перейдите к настройкам кластерного интерфейса:

Блок кода
languagec#
titleESBC-1,2
ESBC-1# configure
ESBC-1(config)# bridge 1
ESBC-1(config-bridge)# vlan 1
ESBC-1(config-bridge)# security-zone SYNC
ESBC-1(config-bridge)# ip address 192.18.1.10/24 unit 1
ESBC-1(config-bridge)# ip address 192.18.1.20/24 unit 2
ESBC-1(config-bridge)# vrrp id 1
ESBC-1(config-bridge)# vrrp group 2
ESBC-1(config-bridge)# vrrp ip 192.18.1.100/24
ESBC-1(config-bridge)# vrrp
ESBC-1(config-bridge)# enable

Scroll Pagebreak

Настройка кластера

Для запуска кластера нужно только указать заранее настроенный кластерный интерфейс и юниты, которые будут выполнять роли Active и Standby.

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

Блок кода
languagec#
titleESBC-1,2
ESBC-1# configure
ESBC-1(config)# cluster
ESBC-1(config-cluster)# unit 1
ESBC-1(config-cluster-unit)# mac-address 68:13:e2:e1:28:90
ESBC-1(config-cluster-unit)# exit
ESBC-1(config-cluster)# unit 2
ESBC-1(config-cluster-unit)# mac-address 68:13:e2:e1:25:30
ESBC-1(config-cluster-unit)# exit


Примечание

В качестве mac-address указывается системный MAC-адрес устройства, его можно узнать с помощью команды show system | include MAC.

Укажите кластерный интерфейс, созданный ранее, и активируйте кластер:

Блок кода
languagec#
titleESBC-1,2
ESBC-1(config-cluster)# cluster-interface bridge 1
ESBC-1(config-cluster)# enable

После выполнения этих шагов кластер будет успешно запущен. Текущее состояние кластера можно узнать, выполнив команду:

Блок кода
languagec#
titleESBC-1
ESBC-1# show cluster status 
Unit   Hostname               Role         MAC address         State            IP address        
----   --------------------   ----------   -----------------   --------------   ---------------   
1*     ESBC-1                 Active       68:13:e2:e1:28:90   Joined           192.18.1.10       
2      ESBC-2                 Standby      68:13:e2:e1:25:30   Joined           192.18.1.20       


Примечание

После включения кластера и установления юнитов в состояние Joined дальнейшая настройка кластера осуществляется путем настройки Active-юнита. Синхронизируются команды конфигурации, а также команды: commit, confirm, rollback, restore, save. В случае если конфигурирование осуществляется на Standby, то синхронизации не будет. Есть возможность отключения синхронизации командой sync config disable.

Scroll Pagebreak

Для проверки работы протокола VRRP выполните следующую команду: 

Блок кода
languagec#
titleESBC-1
ESBC-1# show vrrp
Virtual router   Virtual IP         Priority   Preemption   State    Synchronization group ID    
--------------   -----------------  --------   ----------   ------   -------------------------   
1                192.18.1.100/24      100        Enabled     Master   2
10               192.168.83.82/22     100        Enabled     Master   2

Также можно посмотреть состояние синхронизации различных подсистем в кластере, выполнив команду:

Блок кода
languagec#
titleESBC-1
ESBC-1# show cluster sync status 
System part              Synced   
----------------------   ------   
candidate-config         Yes       
running-config           Yes       
SW version               Yes      
licence                  Yes      
licence (After reboot)   Yes      
date                     Yes      
E-SBC version            Yes