Вы здесь

Cisco Nexus и кластеризация VPC

Когда мы задумываемся о сети 10гбит, первое что приходит на ум из оборудования - Cisco Nexus.
И первое с чем сталкиваешься, погружаясь в настройки Nexus - отсутствие поддержки традиционной кластеризации в стеке(Stack).

Традиционное стекирование

Как известно, стекирование даёт нам преимущества:

  • Единое управление всеми коммутаторами, входящими в стек
  • Возможность агрегации линков, подключенных к разным коммутаторам-участниками стека (Multi-Chassis Link Aggregation, MC-LAG)

vpc04_ciscomaster.ru.jpg
В сетевом оборудовании есть абстрагированные понятия: "Planes", которые различаются процессами, в них происходящими.
Control Plane - отвечает за логику работы сетевого устройства: маршрутизация, ARP, STP и тд. Заполнение таблиц маршрутизации, MAC адресов и др.
Data Plane - выполняет не посредственную передачу данных.

В стеке один из коммутаторов становится основным (Master), на нем запускается общий для всех control plane, который координирует работу остальных коммутаторов.
Общий control plane позволяет выполнять агрегации линков, единую маршрутизацию, т.е. стек превращается в единый виртуальный коммутатор.
Вместе с этим, общий control plane может зависнуть, с потерей управления и возможным отказом LACP. Также возможна ситуация split brain, когда коммутаторы-участники решают, что они являются активными.
Таким образом, традиционный стек обладает рядом минусов, из-за которых его не поддерживает Nexus.

Стекирование без объединения в стек

Для реализации функций MC-LAG используется технология virtual Port-channel (vPC). Каждый Nexus имеет свой независимый control и management plane. При этом мы можем агрегировать каналы, распределённые между двумя коммутаторам. Безусловно мы не получаем полной независимости устройств. В процессе работы коммутаторы синхронизируют между собой информацию, необходимую для работы агрегации (MAC-адреса, ARP и IGMP записи, состояние портов). Но с точки зрения отказоустойчивости это всё же лучше, чем единый control и management plane. Эта схема более надёжна. Даже если и произойдёт сбой в работе vPC, он будет менее фатален для инфраструктуры.

Однако vPC привносит особые нюансы работы. Настроить его можно только между двумя коммутаторами Nexus, и они оба должны иметь набор идентичных настроек. Некоторые функции требуют небольших дополнительных настроек, которые при работе обычного стека не нужны. Например, корректная маршрутизация трафика между двумя vPC портами предполагает наличие команды «peer-gateway». Иначе можно споткнуться об механизм предотвращения петель при передаче трафика через vPC. Работа динамической маршрутизации через vPC требует «layer3 peer-router».
vpc05_ciscomaster.ru.jpg

VPC

VPC, Virtual Port Channel - это особый тип Etherchannel (LAG), который позволяет подключить коммутатор или устройство не к одному коммутатору, а к двум.
vpc03_ciscomaster.ru.jpg
Таким образом два физических коммутатора образуют один логический.

VPC - это технология Cisco, которую мы и находим на наших любимых нексусах.
Другие вендоры также имеют похожие технологии.

Как нетрудно догадаться, подключение клиента по двум активным линкам позволяет увеличить пропускную способность, а также устойчивость к сбоям, благодаря избыточности. Подобно LACP, VPC создаёт виртуальный линк, в котором не живет STP и оба линка активны.

VPC Topology

В нашем случае VPC поднят на двух коммутаторах Nexus.
Коммутаторы, участвующие в VPC называются Peers.
Два peers, а также сопутствующие компоненты, как объединение, называются VPC Domain.
Каждый VPC Domain имеет свой уникальный Domain ID.
Коммутатор может находиться только в одном VPC Domain.
Один коммутатор будет Primary role, второй Secondary role.
Оба коммутатора выполняют функции Forward Traffic, но Primary role выполняет обработку Bridge Protocol Data Units (BPDUs), responds to Address Resolution Protocol (ARP) requests.
vpc05_ciscomaster.ru.jpg

VPC peer-keepalive link
Peers используют L3 VPC peer-keepalive link для проверки состояния друг друга, heartbeats.
В некоторых случаях, при потере связи по peer-keepalive link, оба коммутатора будут думать, что каждый остался один (Split Brain).
Для предотвращения подобных ситуаций, VPC peer-keepalive link должен быть изолирован в отдельном VRF.

Часто в небольших сетях VPC peer-keepalive link поднимают соединением двух коммутаторов через management интерфейсы. В крупных инсталляциях management интерфейсы могут быть подключены в management network.

И, как упоминалось ранее, для организации VPC peer-keepalive link можно использовать обычные интерфейсы, но в выделенном VRF.

VPC peer-link
VPC peer-link - это высокоскоростное соединение, которое используется для связи между двумя пирами. Он формирует "backplane", через который происходит синхронизация состояний пиров VPC: например синхронизация MAC Addresses. Peer-link также передаёт трафик Broadcast и Multicast.

Host ports
Host ports - это порты на коммутаторе VPC, предназначенные для подключения других устройств.
Host ports бывают двух типов:

  • Member ports - это порт, на котором настроен VPC. Всё VLAN-ы настроенные на Member port, должны быть также разрешены и на VPC peer-link. VPC всегда проверяет Member ports на ошибки.
  • Orphan ports - это порт, на котором настройки VPC отсутствуют. VLAN-ы настроенные на Orphan port, могу отсутствовать на VPC peer-link

Как упоминалось, VPC постоянно проверяет Member ports на ошибки.
Разделяют на два типа ошибок inconsistency errors:

  • Type-1 inconsistency error. Часто возникает, при несовпадении конфигураций. Secondary Switch отключает порт. Primary оставляет в апе. В нашем случае отключится правый зеленый. Трафик продолжит ходить.
  • Type-2 inconsistency error. Оба коммутатора оставляют порты в апе, но пишут об ошибке в сислог

VPC и LACP

VPC очень похож на Etherchannel.
Подключаемые устройства всё также используют LACP для негоциации LAG, но различия всё же есть.
В обычном LAG, каждый LACP device использует System-ID. В случае же подключения как разным коробкам, System-ID будет разным, и обычный LACP не собертся.
VPC же использует Domain-ID для обхода этой проблемы.

Пример конфигурации VPC

vpc06_ciscomaster.ru.jpg
В данном примере приведён сервер, подключенный к кластеру VPC.
Синим цветом выделена конфигурация интерфейса mgmt, а также peer-keepalive.
VPC peer-keepalive link необходим пирам для проверки состояния друг друга, heartbeats
VPC peer-keepalive link здесь реализован через интерфейсы mgmt. Физически чаще всего это провод, соединяющий коммутаторы непосредственно друг с другом. Здесь самое главное, что коммутаторы были друг для друга доступны, могли пинговать друг друга.

Чёрным цветом выделена конфигурация VPC peer-link, - высокоскоростное соединение, обеспечивающее работу самого стека и через который происходит синхронизация состояний пиров VPC. Как видно, в настройках port-channel присутствует директива vpc peer-link. VPC peer-link должен включать в себя все используемые VLAN для подключения серверов.

Зелёным цветом выделена конфигурация для подключения сервера.
Физически сервер подключается к двум коммутаторам. Тут также описывается обычный port-channel, но этот port-channel живет на двух коммутаторах. Директива vpc 2 должна совпадать на обоих коммутаторах. Если мы будем добавлять следующий сервер, у нас будет соответственно port-channel3, vpc 3, channel-group 2.


hostname sw1 ! interface mgmt0 ip address 10.21.10.1/24 ! vpc domain 1 peer-keepalive destination 10.21.10.2


hostname sw2 ! interface mgmt0 ip address 10.21.10.2/24 ! vpc domain 1 peer-keepalive destination 10.21.10.1


interface port-channel1
 switchport mode trunk
 switchport trunk allowed vlan 10,20,30
 vpc peer-link
!
interface ethernet1/1
 description VPC peer-link
 switchport mode trunk
 switchport trunk allowed vlan 10,20,30
 channel-group 1 mode active
!
interface ethernet1/2
 description VPC peer-link
 switchport mode trunk
 switchport trunk allowed vlan 10,20,30
 channel-group 1 mode active


interface port-channel1
 switchport mode trunk
 switchport trunk allowed vlan 10,20,30
 vpc peer-link
!
interface ethernet1/1
 description VPC peer-link
 switchport mode trunk
 switchport trunk allowed vlan 10,20,30
 channel-group 1 mode active
!
interface ethernet1/2
 description VPC peer-link
 switchport mode trunk
 switchport trunk allowed vlan 10,20,30
 channel-group 1 mode active


interface port-channel2 switchport mode trunk switchport trunk allowed vlan 10,20,30 vpc 2 ! interface ethernet1/3 description server1_vpc switchport mode trunk switchport trunk allowed vlan 10,20,30 channel-group 2 mode active


interface port-channel2 switchport mode trunk switchport trunk allowed vlan 10,20,30 vpc 2 ! interface ethernet1/3 description server1_vpc switchport mode trunk switchport trunk allowed vlan 10,20,30 channel-group 2 mode active

VMWare и PVC

Безусловно, для работы с кластером VPC, необходимы настройки и со стороны сервера.
В качестве сервера рассмотрим хост VMWare.

Для начала посмотрим как выглядят настройки для обычного LACP:
Как известно, коммутаторы Сиско поддерживают два типа агрегации физических линков - LACP и Etherchannel. VMware ESX поддерживает оба типа агрегации, однако без активированной лицензии на виртуальные коммутаторы Nexus поддерживается только режим etherchannel.


interface Port-channel1
 description LACP to srv-hv-01
 switchport trunk encapsulation dot1q
 switchport mode trunk
!
interface GigabitEthernet3/0/9
 description description srv-hv-01
 switchport trunk encapsulation dot1q
 switchport mode trunk
 channel-group 1 mode on
 spanning-tree portfast trunk
!
interface GigabitEthernet3/0/10
 description description srv-hv-01
 switchport trunk encapsulation dot1q
 switchport mode trunk
 channel-group 1 mode on
 spanning-tree portfast trunk

Со стороны VMWare:
vpc07_ciscomaster.ru.jpg

Рассмотрим вариант подключения VMWare к nexus vPC stack
SW1

interface Ethernet1/5
  description esx01 port 1
  switchport
  switchport mode trunk
  switchport trunk allowed vlan 10,20,30
  speed 10000
  storm-control broadcast level 20.00
  storm-control multicast level 20.00
  storm-control unicast level 20.00
  storm-control action shutdown
  no shutdown
! 
interface Ethernet1/6
  description esx01 port 2
  switchport
  switchport mode trunk
  switchport trunk allowed vlan 10,20,30
  speed 10000
  storm-control broadcast level 20.00
  storm-control multicast level 20.00
  storm-control unicast level 20.00
  storm-control action shutdown
  no shutdown


SW2

interface Ethernet1/5
  description esx01 port 3
  switchport
  switchport mode trunk
  switchport trunk allowed vlan 10,20,30
  speed 10000
  storm-control broadcast level 20.00
  storm-control multicast level 20.00
  storm-control unicast level 20.00
  storm-control action shutdown
  no shutdown
!
interface Ethernet1/6
  description esx01 port 4
  switchport
  switchport mode trunk
  switchport trunk allowed vlan 10,20,30
  speed 10000
  storm-control broadcast level 20.00
  storm-control multicast level 20.00
  storm-control unicast level 20.00
  storm-control action shutdown
  no shutdown

Настройки со стороны VMWare
vpc08_ciscomaster.ru.jpg

vpc09_ciscomaster.ru.jpg

2960x и PVC

SW1

interface port-channel3 description nexus_2960x switchport switchport mode trunk switchport trunk allowed vlan 10,20,30 spanning-tree guard root vpc 3 ! interface Ethernet1/7 description nexus_2960x switchport switchport mode trunk switchport trunk allowed vlan 10,20,30 channel-group 3 mode active no shutdown

SW2

interface port-channel3 description nexus_2960x switchport switchport mode trunk switchport trunk allowed vlan 10,20,30 spanning-tree guard root vpc 3 ! interface Ethernet1/7 description nexus_2960x switchport switchport mode trunk switchport trunk allowed vlan 10,20,30 channel-group 3 mode active no shutdown

2960x

interface Port-channel1 description nexus_2960x switchport trunk allowed vlan 10,20,30 switchport mode trunk ! interface GigabitEthernet1/0/23 description nexus_2960x switchport trunk allowed vlan 10,20,30 switchport mode trunk channel-group 1 mode active ! interface GigabitEthernet1/0/24 description nexus_2960x switchport trunk allowed vlan 10,20,30 switchport mode trunk channel-group 1 mode active

VPC в реальной жизни

Подключаем NEXUS-C9372 и C3750

hostname NEXUS-C9372-PX-1 feature lacp feature vpc ! ! interface mgmt0 ip address 10.21.10.1/24 ! vpc domain 101 peer-switch role priority 100 peer-keepalive destination 10.21.10.2 source 10.21.10.1 delay restore 180 peer-gateway auto-recovery ip arp synchronize interface port-channel1 spanning-tree port type network switchport mode trunk vpc peer-link ! interface ethernet1/47 description VPC peer-link switchport mode trunk channel-group 1 mode active ! interface ethernet1/48 description VPC peer-link switchport mode trunk channel-group 1 mode active
hostname NEXUS-C9372-PX-2 feature lacp feature vpc ! interface mgmt0 ip address 10.21.10.2/24 ! vpc domain 101 peer-switch role priority 100 peer-keepalive destination 10.21.10.1 source 10.21.10.2 delay restore 180 peer-gateway auto-recovery ip arp synchronize interface port-channel1 spanning-tree port type network switchport mode trunk vpc peer-link ! interface ethernet1/47 description VPC peer-link switchport mode trunk channel-group 1 mode active ! interface ethernet1/48 description VPC peer-link switchport mode trunk channel-group 1 mode active

Диагностика:

NEXUS-C9372-PX-1# show running-config vpc feature vpc ! vpc domain 101 peer-switch role priority 100 peer-keepalive destination 10.21.10.2 source 10.21.10.1 delay restore 180 peer-gateway auto-recovery ip arp synchronize ! interface port-channel1 vpc peer-link NEXUS-C9372-PX-1# show vpc Legend: (*) - local vPC is down, forwarding via vPC peer-link vPC domain id : 101 Peer status : peer adjacency formed ok vPC keep-alive status : peer is alive Configuration consistency status : success Per-vlan consistency status : success Type-2 consistency status : success vPC role : primary Number of vPCs configured : 0 Peer Gateway : Enabled Dual-active excluded VLANs : - Graceful Consistency Check : Enabled Auto-recovery status : Enabled, timer is off.(timeout = 240s) Delay-restore status : Timer is off.(timeout = 180s) Delay-restore SVI status : Timer is off.(timeout = 10s) Operational Layer3 Peer-router : Disabled Virtual-peerlink mode : Disabled vPC Peer-link status --------------------------------------------------------------------- id Port Status Active vlans -- ---- ------ ------------------------------------------------- 1 Po1 up 1,250 NEXUS-C9372-PX-1# show vpc peer-keepalive vPC keep-alive status : peer is alive --Peer is alive for : (495) seconds, (491) msec --Send status : Success --Last send at : 2025.06.16 07:47:03 198 ms --Sent on interface : mgmt0 --Receive status : Success --Last receive at : 2025.06.16 07:47:03 198 ms --Received on interface : mgmt0 --Last update from peer : (0) seconds, (978) msec vPC Keep-alive parameters --Destination : 10.21.10.2 --Keepalive interval : 1000 msec --Keepalive timeout : 5 seconds --Keepalive hold timeout : 3 seconds --Keepalive vrf : management --Keepalive udp port : 3200 --Keepalive tos : 192 NEXUS-C9372-PX-1# show vpc consistency-parameters global Legend: Type 1 : vPC will be suspended in case of mismatch Name Type Local Value Peer Value ------------- ---- ---------------------- ----------------------- STP MST Simulate PVST 1 Enabled Enabled STP Port Type, Edge 1 Normal, Disabled, Normal, Disabled, BPDUFilter, Edge BPDUGuard Disabled Disabled STP MST Region Name 1 "" "" STP Disabled 1 None None STP Mode 1 Rapid-PVST Rapid-PVST STP Bridge Assurance 1 Enabled Enabled STP Loopguard 1 Disabled Disabled STP MST Region Instance to 1 VLAN Mapping STP MST Region Revision 1 0 0 Interface-vlan admin up 2 250 250 Interface-vlan routing 2 1,250 1,250 capability QoS (Cos) 2 ([0-7], [], [], [], ([0-7], [], [], [], [], [], [], []) [], [], [], []) Network QoS (MTU) 2 (1500, 1500, 1500, (1500, 1500, 1500, 1500, 0, 0, 0, 0) 1500, 0, 0, 0, 0) Network Qos (Pause: 2 (F, F, F, F, F, F, F, (F, F, F, F, F, F, F, T->Enabled, F->Disabled) F) F) Input Queuing (Bandwidth) 2 (0, 0, 0, 0, 0, 0, 0, (0, 0, 0, 0, 0, 0, 0, 0) 0) Input Queuing (Absolute 2 (F, F, F, F, F, F, F, (F, F, F, F, F, F, F, Priority: T->Enabled, F) F) F->Disabled) Output Queuing (Bandwidth 2 (100, 0, 0, 0, 0, 0, (100, 0, 0, 0, 0, 0, Remaining) 0, 0) 0, 0) Output Queuing (Absolute 2 (F, F, F, T, F, F, F, (F, F, F, T, F, F, F, Priority: T->Enabled, F) F) F->Disabled) Allowed VLANs - 1,250 1,250 Local suspended VLANs - - - NEXUS-C9372-PX-1# show port-channel summary -------------------------------------------------------------------------------- Group Port- Type Protocol Member Ports Channel -------------------------------------------------------------------------------- 1 Po1(SU) Eth LACP Eth1/47(P) Eth1/48(P) NEXUS-C9372-PX-1# show spanning-tree VLAN0001 Spanning tree enabled protocol rstp Root ID Priority 24577 Address 001a.6c47.b080 Cost 5 Port 4096 (port-channel1) Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority 32769 (priority 32768 sys-id-ext 1) Address 0023.04ee.be65 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Interface Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- Po1 Root FWD 1 128.4096 (vPC peer-link) Network P2p VLAN0250 Spanning tree enabled protocol rstp Root ID Priority 33018 Address 001a.6c47.b080 Cost 5 Port 4096 (port-channel1) Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority 33018 (priority 32768 sys-id-ext 250) Address 0023.04ee.be65 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Interface Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- Po1 Root FWD 1 128.4096 (vPC peer-link) Network P2p

Подключение к 3750
C3750:

interface Port-channel10 description C3750G-48TS_NEXUS-C9372-PX switchport trunk encapsulation dot1q switchport mode trunk ! interface GigabitEthernet1/0/44 description C3750G-48TS_NEXUS-C9372-PX switchport trunk encapsulation dot1q switchport mode trunk channel-group 10 mode passive ip dhcp snooping trust ! interface GigabitEthernet2/0/44 description C3750G-48TS_NEXUS-C9372-PX switchport trunk encapsulation dot1q switchport mode trunk channel-group 10 mode passive ip dhcp snooping trust

NEXUS-C9372-PX-1

interface port-channel2 description C3750G-48TS_NEXUS-C9372-PX switchport switchport mode trunk vpc 2 ! interface Ethernet1/46 description C3750G-48TS_NEXUS-C9372-PX switchport switchport mode trunk channel-group 2 mode active no shutdown

NEXUS-C9372-PX-2

interface port-channel2 description C3750G-48TS_NEXUS-C9372-PX switchport switchport mode trunk vpc 2 ! interface Ethernet1/46 description C3750G-48TS_NEXUS-C9372-PX switchport switchport mode trunk channel-group 2 mode active no shutdown

Дигностика:

C3750G-48TS#show etherchannel 10 summary Group Port-channel Protocol Ports ------+-------------+-----------+----------------------------------------------- 10 Po10(SU) LACP Gi1/0/44(P) Gi2/0/44(P) NEXUS-C9372-PX-2# show vpc Legend: (*) - local vPC is down, forwarding via vPC peer-link vPC domain id : 101 Peer status : peer adjacency formed ok vPC keep-alive status : peer is alive Configuration consistency status : success Per-vlan consistency status : success Type-2 consistency status : success vPC role : secondary Number of vPCs configured : 1 Peer Gateway : Enabled Dual-active excluded VLANs : - Graceful Consistency Check : Enabled Auto-recovery status : Enabled, timer is off.(timeout = 240s) Delay-restore status : Timer is off.(timeout = 180s) Delay-restore SVI status : Timer is off.(timeout = 10s) Operational Layer3 Peer-router : Disabled Virtual-peerlink mode : Disabled vPC Peer-link status --------------------------------------------------------------------- id Port Status Active vlans -- ---- ------ ------------------------------------------------- 1 Po1 up 1,250 vPC status ---------------------------------------------------------------------------- Id Port Status Consistency Reason Active vlans -- ------------ ------ ----------- ------ --------------- 2 Po2 up success success 1,250 Please check "show vpc consistency-parameters vpc " for the consistency reason of down vpc and for type-2 consistency reasons for any vpc. NEXUS-C9372-PX-2# show port-channel summary Flags: D - Down P - Up in port-channel (members) I - Individual H - Hot-standby (LACP only) s - Suspended r - Module-removed b - BFD Session Wait S - Switched R - Routed U - Up (port-channel) p - Up in delay-lacp mode (member) M - Not in use. Min-links not met -------------------------------------------------------------------------------- Group Port- Type Protocol Member Ports Channel -------------------------------------------------------------------------------- 1 Po1(SU) Eth LACP Eth1/47(P) Eth1/48(P) 2 Po2(SU) Eth LACP Eth1/46(P)

Проверка и диагностика

https://www.cisco.com/c/en/us/td/docs/dcn/nx-os/nexus9000/104x/troublesh...

Использовались материалы:
https://habr.com/ru/companies/cbs/articles/324964/
https://www.cloudflare.com/ru-ru/learning/network-layer/what-is-the-cont...
https://learningnetwork.cisco.com/s/question/0D53i00000Kt2nHCAR/control-...
https://www.youtube.com/watch?v=EaJsb2PNBqg&t=644s
https://www.cisco.com/c/en/us/support/docs/ios-nx-os-software/nx-os-soft...
https://www.k-max.name/vmware/razbiraemsya-s-lacp-i-nic-teaming-v-vmware/
https://sliderweb.ru/blog/post/vmware-link-aggregation-cisco-catalyst

Добавить комментарий

Filtered HTML

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Допустимые HTML-теги: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и абзацы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и абзацы переносятся автоматически.
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
Target Image