Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 33 Следующий »

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

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

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

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

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

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

В текущей версии ПО поддерживается HA Cluster из 2 юнитов. 

Настройка кластера на ESBC-3200

Схема:


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

Для начала работы необходимо полностью настроить одно устройство из кластера.

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

ESBC-1
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, юнитом которого он является:

ESBC-1
ESBC-3200# configure
ESBC-3200(config)# hostname ESBC-1 unit 1
ESBC-3200(config)# hostname ESBC-2 unit 2

В конфигурации может одновременно находиться hostname с unit и hostname без unit.

Более приоритетным является hostname, указанный с привязкой к unit.

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

ESBC-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

Смена юнита устройства вступает в силу после перезагрузки.

При изменении номера юнита ESBC не происходит автоматической конвертации конфигурации. 
В случае если до ESBC настроен удаленный доступ и у него меняется номер юнита, необходимо до перезагрузки настроить ip-интерфейсы для нового юнита аналогично текущим.

В заводской конфигурации ESBC-3200 присутствуют настройки интерфейсов только для юнита по умолчанию (unit = 1).
При копировании и применении заводской конфигурации настройка номера юнита не изменяется на значение по умолчанию.
Установить номер юнита по умолчанию возможно следующими способами:
1. используя консольное подключение;
2. зажав функциональную кнопку "F" на 15 секунд.

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

ESBC-1
ESBC-1# show unit id
Unit ID is 1
Unit ID will be 1 after reboot

Объединение устройств в кластер невозможно, если они относятся к одному и тому же юниту.
Исключение — процесс ZTP, так как в процессе ZTP нужный unit у устройства выставится автоматически.

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

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

ESBC-1
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 10
ESBC-1(config-vrrp)# ip address 192.168.83.82/22
ESBC-1(config-vrrp)# group 2
ESBC-1(config-vrrp)# enable
ESBC-1(config-vrrp)# exit
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 10
ESBC-1(config-vrrp)# ip address 192.168.83.82/22
ESBC-1(config-vrrp)# group 2
ESBC-1(config-vrrp)# enable
ESBC-1(config-vrrp)# exit
ESBC-1(config-if-twe)# exit

Также на VRRP-интерфейсе можно назначить разные приоритеты для разных юнитов.

ESR-1
ESBC-1(config-vrrp)# priority 254 unit 1
ESBC-1(config-vrrp)# priority 253 unit 2


Допускается использование IP-адреса VRRP из подсети, отличной от подсети физического интерфейса.

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

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

Так как кластер выполняет синхронизацию состояний между устройствами, необходимо создать зону безопасности SYNC (synchronization):

ESBC-1
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

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

ESBC-1
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 1
ESBC-1(config-vrrp)# group 2
ESBC-1(config-vrrp)# ip address 192.18.1.100/24
ESBC-1(config-vrrp)# enable
ESBC-1(config-vrrp)# exit
ESBC-1(config-bridge)# enable

В текущей версии ПО в качестве cluster-интерфейса поддержан только bridge.

Для работы кластерного интерфейса поддерживается только IPv4-адресация.

На cluster-интерфейсе необходима настройка адресов с привязкой к unit.

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

ESBC-1
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

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

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

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

ESBC-1
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.

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

ESBC-1
ESBC-1(config-cluster)# cluster-interface bridge 1
ESBC-1(config-cluster)# enable
ESBC-1(config-cluster)# do commit
ESBC-1(config-cluster)# do confirm

Первое устройство полностью настроено и готово к работе.
Аналогичные настройки необходимо произвести на втором устройстве, предварительно сменив у него юнит на требуемый.

Также возможна настройка второго устройства средствами ZTP.

Для активации процесса ZTP необходимо на втором устройстве запустить dhcp-client на bridge-интерфейсе, логический или физический интерфейс которого будет включен в кластерный интерфейс первого устройства.

В качестве примера такой конфигурации подойдет factory-конфигурация.

В процессе ZTP устройство автоматически выставит себе:

1) Конфигурацию;

2) Юнит;

3) Версию ПО, на котором работает Active ESBC;

4) Лицензию, если она предварительно загружена на Active ESBC.

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

ESBC-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, copy <source> system:candidate-config.

В случае если конфигурирование осуществляется на Standby, то внесенные изменения в конфигурацию засинхронизированы не будут. Все внесённые изменения в конфигурацию Standby будут потеряны при выполнении commit на Active-устройстве.

Есть возможность отключения синхронизации командой sync config disable.

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

ESBC-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

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

ESBC-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  

Через минуту после включения кластера синхронизируется время, на Standby установится время Active-юнита.

Синхронизация времени проверяется раз в минуту, в случае расхождения время синхронизируется.

Работа с лицензиями в кластере описана в разделе Лицензирование в кластере.

Настройка синхронизации сертификатов и ключей

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

Загрузить файлы можно отдельно на каждый юнит кластера или использовать механизм синхронизации crypto-sync.

Пример настройки crypto-sync.

Задача.

Использовать сертификаты CA.pem, CERT.pem и приватный ключ  PRIVATE_KEY.key в конфигурации криптопрофиля ESBC.

Решение. 

  1. После описанной выше настройки кластера, настроить ip failover:
    1. Создать две object-group, в которых указать IP-адреса кластерных интерфейсов обоих юнитов:
      ESBC-1# 
      ESBC-1# configure 
      ESBC-1(config)# object-group network SYNC_DST
      ESBC-1(config-object-group-network)# ip address-range 192.18.1.20 unit 1
      ESBC-1(config-object-group-network)# ip address-range 192.18.1.10 unit 2
      ESBC-1(config-object-group-network)# exit
      ESBC-1(config)# object-group network SYNC_SRC
      ESBC-1(config-object-group-network)# ip address-range 192.18.1.10 unit 1
      ESBC-1(config-object-group-network)# ip address-range 192.18.1.20 unit 2
      ESBC-1(config-object-group-network)# exit
      ESBC-1(config)# 
    2. Настроить ip failover:
      ESBC-1(config)# ip failover
      ESBC-1(config-failover)# local-address object-group SYNC_SRC
      ESBC-1(config-failover)# remote-address object-group SYNC_DST
      ESBC-1(config-failover)# vrrp-group 2
      ESBC-1(config-failover)# exit
      ESBC-1(config)# 
  2. Включить синхронизацию файлов crypto и применить настройки:
    ESBC-1(config)# crypto-sync
    ESBC-1(config-crypto-sync)# remote-delete
    ESBC-1(config-crypto-sync)# enable
    ESBC-1(config-crypto-sync)# exit
    ESBC-1(config)# do commit
    ESBC-1(config)# do confirm
  3. Загрузить сертификаты и приватный ключ на мастер, используя, например, tftp:
    ESBC-1#
    ESBC-1# copy tftp://192.168.1.1:/CA.pem crypto:cert/CA.pem
    |******************************************| 100% (1277B) Crypto file loaded successfully!
    ESBC-1#
    ESBC-1# copy tftp://192.168.1.1:/CERT.pem crypto:cert/CERT.pem
    |******************************************| 100% (1155B) Crypto file loaded successfully!
    ESBC-1#
    ESBC-1# copy tftp://192.168.1.1:/PRIVATE_KEY.key crypto:private-key/PRIVATE_KEY.key
    |******************************************| 100% (1675B) Crypto file loaded successfully!
  4. Проверить, что файлы сертификатов и приватного ключа были скопированы на второй юнит:
    # Проверка состояния синхронизации crypto на мастер юните
    ESBC-1# sh crypto-sync 
        Role:                        Master
        State:                       Synchronized
        Last synchronization:        2026-03-04 08:56:10
    
    
    # Проверка наличия файлов на втором юните
    ESBC-2# dir crypto:cert/
    Name                                                         Type         Size            Last modified               
    ----------------------------------------------------------   ----------   --------   --   -------------------------   
    CA.pem                                                       File         1.13       KB   Wed Mar  4 08:37:43 2026
       
    default_ca.pem                                               File         1.38       KB   Wed Feb 25 11:06:17 2026
       
    default_cert.pem                                             File         1.22       KB   Wed Feb 25 11:06:17 2026
       
    CERT.pem                                                     File         1.25       KB   Wed Mar  4 08:37:25 2026
       
    ESBC-2# dir crypto:private-key/
    Name                                                         Type         Size            Last modified               
    ----------------------------------------------------------   ----------   --------   --   -------------------------   
    default_ca_key.pem                                           File         1.66       KB   Wed Feb 25 11:06:17 2026
       
    default_cert_key.pem                                         File         1.66       KB   Wed Feb 25 11:06:17 2026
       
    PRIVATE_KEY.key                                              File         1.64       KB   Wed Mar  4 08:38:04 2026
      
  5. Настроить криптопрофиль с загруженными сертификатами и приватным ключем на мастер устройстве:
ESBC-1# 
ESBC-1# configure 
ESBC-1(config)# esbc 
ESBC-1(config-esbc)# crypto profile TEST
ESBC-1(config-esbc-crypto-profile)# ca CA.pem
ESBC-1(config-esbc-crypto-profile)# cert CERT.pem
ESBC-1(config-esbc-crypto-profile)# private-key PRIVATE_KEY.key
ESBC-1(config-esbc-crypto-profile)# exit
ESBC-1(config-esbc)# exit
ESBC-1(config)# do commit 
Configuration has been successfully applied and saved to flash. Commit timer started, changes will be reverted in 120 seconds.
ESBC-1(config)# do confirm 
Configuration has been confirmed. Commit timer canceled.
vesbc1(config)# 

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

Пример настройки кластера vESBC в гипервизоре VirtualBox

Задача:

Развернуть кластер из двух vESBC в среде виртуализации VirtualBox 7.1.0.

Схема:
Решение:
  1. Создать виртуальную машину в VirtualBox, подробно описано в разделе Создание виртуальных машин Руководства по установке vESBC в среде виртуализации VirtualBox.
  2. Установить vESBC, подробно описано в разделе Установка vESBC Руководства по установке vESBC в среде виртуализации VirtualBox.
  3. Настроить сетевые интерфейсы:
    1. Настройка внешнего интерфейса(ов):
      1. Перейдите в настройки виртуальной машины, на которой установлен vESBC.
      2. Откройте меню "Сеть" и перейдите к настройкам "Адаптер 1".
      3. Включите сетевой интерфейс.
      4. Выберите тип подключения "Сетевой мост".
      5. Выберите, через какой физический интерфейс хостовой системы будет происходить подключение.
      6. Выберите тип адаптера "Intel PRO/1000MT Server (82545EM)".
      7. Выберите "Неразборчивый режим: Разрешить всё".
    2. Настройка кластерного интерфейса:
      1. Перейдите к настройкам второго интерфейса "Адаптер 2".
      2. Включите сетевой интерфейс.
      3. Выберите тип подключения "Внутренняя сеть".
      4. Укажите имя сети (по умолчанию intnet). При настройке второй виртуальной машины. 
      5. Выберите тип адаптера "Паравитуальная сеть (virtio-net)".
      6. Выберите "Неразборчивый режим: Разрешить всё".
    3. Нажмите кнопку "OK"
  4. Выполните пункты 1-3 для второй виртуальной машины vESBC.

После успешного выполнения описанных пунктов можно приступать к настройке юнитов кластера vESBC, алгоритм настройки полностью аналогичен настройке ESBC-3200 и описан выше, за исключением конфигурации второго юнита с помощью ZTP. 

Для объединения в кластер vESBC предварительно необходимо сделать разные системные MAC-адреса на устройствах путем смены серийного номера.

Подключение второго юнита в кластере vESBC с использованием ZTP.

Для активации процесса ZTP необходимо на втором устройстве vESBC запустить dhcp-client на bridge-интерфейсе, логический или физический интерфейс которого будет включен в кластерный интерфейс первого устройства.

В процессе ZTP устройство автоматически выставит себе:

1) Конфигурацию;

2) Юнит;

3) Версию ПО, на котором работает Active ESBC;

4) Лицензию, если она предварительно загружена на Active ESBC.

Алгоритм подключения vESBC с использованием ZTP:

  1. Обеспечить сетевую связность (L2) обоих виртуальных машин между собой по всем интерфейсам.
  2. Настроить первый юнит по алгоритму выше.
  3. На втором юните установить конфигурацию по умолчанию и убедиться, что юнит имеет ID 1:
    vesbc# copy system:default-config system:candidate-config 
    |******************************************| 100% (52B) Configuration loaded successfully.
    vesbc# show unit id
    Unit ID is 1
    Unit ID will be 1 after reboot
    vesbc# commit 
    vesbc# confirm 
  4. Перевести в режим switchport интерфейс, включенный в кластерный интерфейс первого юнита:
    vesbc(config)# interface gigabitethernet 1/0/2
    vesbc(config-if-gi)# mode switchport 
    vesbc(config-if-gi)# exit
  5. В настройках bridge включить DHCP-клиент:
    vesbc(config)# bridge 1
    vesbc(config-bridge)# vlan 1
    vesbc(config-bridge)# ip address dhcp 
    vesbc(config-bridge)# enable 
    vesbc(config-bridge)# do commit
    vesbc(config-bridge)# do confirm

Через несколько секунд после применения изменений начнётся процедура синхронизации:

2026-03-30T05:40:12+00:00 %CLUSTER-I-ZTP_INFO: cluster detected by DHCP client
2026-03-30T05:40:12+00:00 %CLUSTER-I-SYNC_SYSTEM_INFO: start system synchronization with Active unit
2026-03-30T05:40:13+00:00 %FILE_MGR-I-INFO: operation started: 'copy tftp://192.168.16.100:/ESR-running-config system:candidate-config' (index: 2, origin: Cfgsync-mgr)
2026-03-30T05:40:13+00:00 %FILE_MGR-I-INFO: operation is finished: 'copy tftp://192.168.16.100:/ESR-running-config system:candidate-config' (index: 2, origin: Cfgsync-mgr)
2026-03-30T05:40:13+00:00 %FILE_MGR-I-INFO: operation started: 'copy tftp://192.168.16.100:/vESBC-active-firmware system:firmware' (index: 3, origin: Cfgsync-mgr)
2026-03-30T05:40:44+00:00 %FIRMWARE-I-INFO: Verify firmware...
2026-03-30T05:40:45+00:00 %FIRMWARE-I-INFO: Extracting firmware... 
2026-03-30T05:40:46+00:00 %FIRMWARE-I-INFO: Remove old image2...
2026-03-30T05:40:49+00:00 %FIRMWARE-I-INFO: Copy kernel to image2 ... 
2026-03-30T05:40:49+00:00 %FIRMWARE-I-INFO: Copy rootfs to image2 ... 
2026-03-30T05:40:49+00:00 %FIRMWARE-I-INFO: Copy version to image2 ... 
2026-03-30T05:40:51+00:00 %FILE_MGR-I-INFO: operation is finished: 'copy tftp://192.168.16.100:/vESBC-active-firmware system:firmware' (index: 3, origin: Cfgsync-mgr)
2026-03-30T05:40:51+00:00 %FILE_MGR-I-INFO: operation started: 'boot system image-2' (index: 4, origin: Cfgsync-mgr)
2026-03-30T05:40:51+00:00 %FILE_MGR-I-INFO: operation is finished: 'boot system image-2' (index: 4, origin: Cfgsync-mgr)
2026-03-30T05:40:53+00:00 %CLUSTER-I-SYNC_SYSTEM_INFO: system will be rebooted to apply all changes

После перезагрузки второго юнита проверьте статус кластера:

vesbc-slave# show cluster status 
Unit   Hostname               Role         MAC address         State            IP address        
----   --------------------   ----------   -----------------   --------------   ---------------   
1      vesbc-master           Active       aa:00:00:03:90:00   Joined           192.168.16.10     
2*     vesbc-slave            Standby      aa:00:00:04:10:00   Joined           192.168.16.20     

vesbc-slave# 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      

  • Нет меток