В данном материале мы рассмотрим кластеризацию SRX на примере Juniper SRX 1500.
Кластеризация SRX характеризуется термином High Availability, и обладает характеристиками:
High Availability позволяет собрать кластер максимум из двух нод, одна из которых Primary Node, вторая Secondary node.
Обе ноды должны быть идентичны: Hardware model, SPC, Network Processing Cards (NPC), input/output cards (IOCs)
Кластер состоит из следующих компонент:
cluster-id
SRX может принадлежать только к одному кластеру.
Если cluster-id=0, функция кластеризации выключается.
user@srx> set chassis cluster cluster-id 1 node 0
user@srx> show chassis cluster status Cluster ID: 1 Node Priority Status Preempt Manual Monitor-failures Redundancy group: 0 , Failover count: 1 node0 100 primary no no None node1 1 secondary no no None Redundancy group: 1 , Failover count: 2 node0 100 secondary no no None node1 1 primary no no None
node id
node id определяет девайс внутри кластера, может быть 0 или 1.
Нумерация портов.
Поскольку в кластере все порты обоих нодов доступны из единой консоли, порты необходимо уникально нумеровать.
Нумерация определяется по формуле:
(node id * max FPC slots) + standalone FPC slot number
Для SRX 1500 max FPC slots = 7, поэтому:
Интерфейсы первой ноды нумеруются начиная с ge-0/0/0
Интерфейсы второй ноды нумеруются начиная с ge-7/0/0
По другим моделям можно посмотреть здесь:
Understanding Chassis Cluster Slot Numbering and Physical Port and Logical Interface Naming
https://www.juniper.net/documentation/en_US/junos/topics/reference/gener...
Redundancy Group - это объект, который может в себя включать набор других объектов.
В любой момент RG является Primary на одной node, и Secondary на другой node.
Мы можем создавать несколько RG, и делать так, чтобы одна RG была Primary на одном ноде, а другая RG была Primary на другой ноде. Таким образом достигается Active-Active Redundancy
RG может находиться в состояниях:
Состояние RG (Primary/Secondary/Blank) определяется через Priority. RG становится Primary для нода, у которого более высокая Priority.
Priority range 1 - 254
Например:
redundancy-group 0 { node 0 priority 100; node 1 priority 1; }
node 0 имеет priority 100 для RG0.
node 1 имеет priority 1 для RG0.
node 0 становится primary для RG0
reth - (Redundancy Ethernet) это виртуальный интерфейс, включающий в себя два физических интерфейса от каждой ноды: member interfaces.
member interface может быть либо active либо passive, и зависит от конфигурации RG, в которую он включен.
member interface имеет виртуальный mac.
Reth могут быть объединены в LAG (802.3ad)
Пример настройки Reth:
set chassis cluster reth-count 8 set chassis cluster heartbeat-interval 1000 set chassis cluster heartbeat-threshold 3 set chassis cluster redundancy-group 1 node 0 priority 100 set chassis cluster redundancy-group 1 node 1 priority 1 set interfaces ge-0/0/1 gigether-options redundant-parent reth1 set interfaces ge-0/0/2 gigether-options redundant-parent reth2 set interfaces ge-7/0/1 gigether-options redundant-parent reth1 set interfaces ge-7/0/2 gigether-options redundant-parent reth2 set interfaces reth1 redundant-ether-options redundancy-group 1 set interfaces reth1 unit 0 description "LAN" set interfaces reth1 unit 0 family inet address 10.200.0.212/17 set interfaces reth2 redundant-ether-options redundancy-group 1 set interfaces reth2 unit 0 description "BEELINE" set interfaces reth2 unit 0 family inet address 194.18.75.237/28
fxp0 - management interface. Является выделенным интерфейсом для SRX 1500.
На каждый fxp0 каждого нода вешается свой IP.
fxp1 - Control link для кластера. Используется для синхронизации configuration.
Система использует Control link с внутренним адресом и своим протоколом, поэтому интерфейсы двух нод достаточно лишь соединить.
fab n - интерфейсы ethernet по одному на каждой ноде.
n - отражает номер ноды (0 или 1)
fab n необходим для session synchronization, а также для передачи трафика для active/active cluster.
В отличие от Control link, который является выделенным системным интерфейсом, fab определяется пользователем.
set interfaces fab0 fabric-options member-interfaces ge-0/0/0 set interfaces fab1 fabric-options member-interfaces ge-7/0/0
swfab n - интерфейсы ethernet по одному на каждой ноде.
n - отражает номер ноды (0 или 1)
swfab n необходим для switching Layer2 Ethernet traffic между нодами.
Рассмотрим этапы настройки кластера на SRX1500:
set chassis cluster disable reboot
set chassis cluster cluster-id 1 node 0 reboot set chassis cluster cluster-id 1 node 1 reboot
- Cluster ID должен совпадать. Node ID должно различаться (0 или 1)
- Команда должна быть выполнены на каждом девайсе
- Cluster ID может быть 0-15, но значение 0 то же самое что и disable
- Понадобится ребут обоих нод.
Проверка:
show chassis cluster status
Далее мы можем выполнять настройки на Primary node0, и все изменения будут скопированы на secondary node1.
set groups node1 system host-name SRX1500-N2 set groups node1 interfaces fxp0 unit 0 family inet address 10.20.200.2/24 set groups node0 system host-name SRX1500-N1 set groups node0 interfaces fxp0 unit 0 family inet address 10.20.200.1/24 set groups global system services ftp set groups global system services ssh set groups global system services telnet set apply-groups "${node}" set apply-groups global
set interfaces fab0 fabric-options member-interfaces ge-0/0/0 set interfaces fab1 fabric-options member-interfaces ge-7/0/0
Для проверки интерфейсов:
show chassis cluster interfaces
set chassis cluster redundancy-group 0 node 0 priority 100 set chassis cluster redundancy-group 0 node 1 priority 1 set chassis cluster redundancy-group 1 node 0 priority 100 set chassis cluster redundancy-group 1 node 1 priority 1
Проверка Redundancy Groups:
show chassis cluster status
Redundancy group 0 по умолчанию представляет control plane. Мы же будем работать с redundancy-group 1.
Можно также добавить команду preempt, что позволит node0 становиться primary, если он временно вышел из строя, но затем вернулся:
set chassis cluster redundancy-group 1 preempt
set chassis cluster heartbeat-interval 1000 set chassis cluster heartbeat-threshold 3
heartbeat-interval частота запросов heartbeat
heartbeat-threshold количество пропущенных запросов, после которых нода будет считаться умершей
set chassis cluster reth-count 2 set interfaces ge-0/0/1 gigether-options redundant-parent reth1 set interfaces ge-0/0/2 gigether-options redundant-parent reth2 set interfaces ge-7/0/1 gigether-options redundant-parent reth1 set interfaces ge-7/0/2 gigether-options redundant-parent reth2
Далее настраиваем сами reth:
set interfaces reth1 redundant-ether-options redundancy-group 1 set interfaces reth1 unit 0 description "LAN" set interfaces reth1 unit 0 family inet no-redirects set interfaces reth1 unit 0 family inet address 10.0.0.212/17 set interfaces reth2 redundant-ether-options redundancy-group 1 set interfaces reth2 unit 0 description "BEELINE" set interfaces reth2 unit 0 family inet address 194.86.75.27/28
Далее все остальные настройки делаем как обычно.
show chassis cluster status
show chassis cluster interfaces
show interfaces terse | match "fab"
show chassis cluster statistics
Ссылки:
https://blog.marquis.co/creating-ha-juniper-srx-chassis-cluster/
Добавить комментарий