vPC dayanıqlı və yüksək ötürücülük qabiliyyətinə malik şəbəkə qurmaq üçün istifadə olunan texnologiyalrdandır. Bu yazıda vPC-dən danışacağıq.
Şəbəkənin dayanıqlılığını təmin etmək olduqca vacib məsələdir. 2023-cü ildə aylıq ortalama İnternet trafikinin həcmi 150 ekzabaytdan çox olub və bu göstərici getdikcə artır. Mobil bankinq, alış-veriş saytları, sosial şəbəkələr, xəbər portalları və son zamanlar insanları qorxuya salan süni intellekt (AI) belə şəbəkəsiz çalışa bilməz. Deməli şəbəkə mühəndislərinin üzərinə dayanıqlı şəbəkə təmin etmək kimi mühüm bir vəzifə düşür.
Ənənəvi şəbəkədə bir cihazı iki xətt ilə bir kommutatora qoşanda Spannig-Tree (STP) protokolu işə düşür və şəbəkədə dövrənin qarşısını almaq məqsədi ilə xəttlərdən birini bloklayır. Yəni faktiki olaraq cihaz bir xətt üzərindən işləyir. Bu çatışmazlığı aradan qaldırmaq üçün EtherChannel texnologiyasından istifadə etmək olar. Lakin, EtherChannel texnologiyası cihazı iki və daha çox xəttlə yalnız bir komutatora bağlamaq imkanı verir. Bu da tək çökmə nöqtəsi (Single Point of Failure) problemini üzə çıxarır. Yəni o bir kommutator sönərsə, dayanıqlı şəbəkə cəhdimiz boşa çıxacaq.

Multichassis Etherchannel
Şəbəkə avadanlıqları istehsal edən şirkətlər bünün qarşısını almaq üçün Multichassis EtherChannel texnologiyası əsasında çalışan müxtəlif həllər təklif edir. Adından da görünsüyü kimi, bu texnologiya aşağı axın (downstream) cihazlarını iki fərqli yuxarı axın (upstream) cihazına (chassi) EtherChannel ilə bağlamağa imkan verir.

Dell cihazlarında VLT, Cisco avadanlıqlarında StackWise, StackWise Virtual (Catalyst3850, 9400, 9500, 9600), VSS (Catalyst 6500 və 4500) və vPC (Nexus) kimi həllər var. Təbii ki, hər bir texnologiyanın üstünlükləri və çatışmazlıqları var. Məsələn, StackWise ancaq fiziki olaraq bir-birinə yaxın olan cihazlar arasında qurula bilər. Digər üç texnologiya isə avadanlıqların müxtəlif mərtəbələrdə, hətta müxtəlif data mərkəzlərində (DataCenter) olmasına baxmayaraq bir-birinə bağlayıb vahid cihaz kimi təqdim etməyə imkan verir. Bu yazıda daha çox vPC (Virtual Port-channel) haqqında danışacağıq.
vPC Cisco şirkətinin məhsullarından olan Nexus avadanlıqlarında çalışır. Bu cihazlar daha çox data mərkəzlərində istifadə olunur. Digər üç texnologiyadan fərqli olaraq vPC vahid məlumat səthi (Data Plane) ilə barəbər müstəqil idarətmə səthi (Control Plane) təqdim edir. Bu o deməkdir ki, vPC ilə qoşulmuş cihazlarda marşrutlama protokolları (OSPF, EIGRP, BGP), STP və digər Control Plane funksiyaları müstəqil çalışır. Bu da öz növbəsində cihazın birində hər hansı sabəbdən Control Plane sıradan çıxarsa ikinci cihaz işinə davam edə bilir.
Vahid məlumat səthi isə hər iki cihazın aktiv olaraq məlumatın emalında iştirakını təmin edir. Data Plane məlumatları (STP, IGMP, ARP cədvəli, MAC ünvanları cədvəli) vPC qonşular arasında CFSoE (Cisco Fabric Services over Ethernet) protokolu üzərindən ötürülür. Bir vPC qonşunun öyrəndiyi MAC ünvanı CFSoE ilə digərinə ötürülür. vPC qonşular isə öz növbələrində aşağı axın cihazları üçün vahid komutator qismində çıxış edir (STP, LACP kimi L2 protokolları üçün). Sual çıxa bilər ki, bəs BPDU sorğular aşağı axın cihazına iki fərqli cihazdan gələrsə nə olacaq? Heç nə, çünki gəlməyəcək. vPC domenində yalnız Primary vPC qonşu BPDU sorğularını göndərir.
vPC-də əsas anlayışlar
- vPC peer device — vPC Peer-Link ilə bir-birinə bağlanan cihazlardan biri.
- vPC Peer-Link—Bu bağlantı vPC qonşuları arasında məlumat mübadiləsi üçün istifadə olunur.
- vPC member port—vPC üzvü olan port.
- vPC domain—vPC-nin əsas elementidir. Bir domendə olan bütün vPC qonşularda eyni domen ID qeyd olunmalıdır.
- vPC peer-keepalive link— qonşu cihazın “sağ” olub olmadığını yoxlayır. Bunun üçün mütəmadi xüsusi mesajlar göndərir. Mesajların göndərmə aralığı tənzimlənə bilər.
vPC topologiyası
vPC texnologiyasının istənilən kimi çalışması üçün Cisco şirkətinin tövsiyə etdiyi topologiya var. vPC qonşular bir-birinə ən azı iki xətt ilə bağlanmalıdır. Keep-Alive xətti qismində idarəetmə interfeysləri (mgmt0) çıxış edə bilər. Əsas şərt qonşuların bir-birini L3 yəni İP səviyyəsində görə bilmələridir. Cisco Peer-Keepalive xəttini ayrı VRF-ə salmağı tövsiyyə edir. Əgər xüsusi VRF yaradılmayıbsa bağlantı üçün management VRF istifadə olunacaq.
Digər xətt isə Peer-Link xəttidir. Bu xətt ən azı 10gigabitlik interfeyslər arasında olmalıdır. Əslində bir bağlantı kifayət edir, lakin dayanıqlılıq üçün ən azı iki xətt olması tövsiyə olunur.

vPC konfiqurasiyası
NX OS əməliyyat sistemi funksiya əsaslı ƏS-dir. Yəni digər Cisco məhsullarında varsayılan olaraq qoşulu olan demək olar bütün protokollar, NX OS-də ayrı-ayrılıqda işə salınmalıdır. Məhz bu özəllik Nexus cihazlarının avadanlığın resurslarını səmərəli istifadə etməyə imkan verir. Necə deyərlər, lazım olmayanı söndür! vPC texnologiyası EtherChannel protokolu olan LACP ilə işləyir. Buna görə də vPC konfiqurasiya etmək üçün iki funksiya – lacp və vpc funksiyaları aktiv edilməlidir:
switch(config)# feature vpc
switch(config)# feature lacp
vPC qonşuların vahid cihaz kimi çıxış etmələrini təmin edən hissə vPC domendir. vPC qonşu olacaq hər iki cihazda eyni vPC domen olması mütləqdir. vPC konfiqurasiyası vpc domain açar sözü ilə başlayır:
switch(config)# vpc domain 100
switch(config)#
Daha sonra vPC peer-keeaplive link qurulur. Nexus cihazlarında ayrılmış idarəetmə interfeysləri var. Sistemdə bu interfeyslər mgmt0 kimi görülür:
CSW1(config)# show ip int brief vrf management
IP Interface Status for VRF "management"(2)
Interface IP Address Interface Status
mgmt0 10.10.10.1 protocol-up/link-up/admin-up
CSW2(config)# show ip int brief vrf management
IP Interface Status for VRF "management"(2)
Interface IP Address Interface Status
mgmt0 10.10.10.2 protocol-up/link-up/admin-up
Peer-keepalive link üçün biz məhz bu mgmt0 interfeysini istifadə edəcəyik:
CSW1(config-vpc-domain)# peer-keepalive destination 10.10.10.2 vrf management
CSW2(config-vpc-domain)# peer-keepalive destination 10.10.10.1 vrf management
CSW1(config-vpc-domain)# show vpc brief | i keep-alive
vPC keep-alive status : peer is alive
Yuxarıda gördüyümüz kimi qonşular bir-birini görür. Lakin vPC hələ qurulmayıb:
CSW1(config-vpc-domain)# show vpc
vPC domain id : 100
Peer status : peer link not configured
vPC-ni işə salmaq üçün mütləq peer-link konfiqurasiya edilməlidir. Bunun üçün biz iki interfeysdən istifadə edəcəyik. Yuxarıdakı topologiyadan göründüyü kimi komutatorlar bir-birinə Eth1/1 və 1/2 interfeysləri ilə bağlanıb. vPC peer-link üçün öncə Port-Channel interfeysi yaradılmalıdır və hər iki fiziki inerfeys bu port-channellin üzvü olur. Cisco vPC peer-link üçün Layer 2 trunk port-channel qurulmasını tövsiyə edir. Nexus avadanlıqlarında bütün interfeyslər başlanğıcda marşrutlanan (routed) L3 interfeysi qismində çıxış edir. Bu səbəbdən öncə interfeysləri L2 kimi konfiqurasiya etmək lazımdır:
CSW1# show int eth1/1-2 status
--------------------------------------------------------------------------------
Port Name Status Vlan Duplex Speed Type
--------------------------------------------------------------------------------
Eth1/1 -- connected routed full 40G QSFP-H40G-AOC2M
Eth1/2 -- connected routed full 40G QSFP-H40G-AOC2M
CSW1# conf t
Enter configuration commands, one per line. End with CNTL/Z.
CSW1(config)# int eth1/1-2
CSW1(config-if-range)# switchport
CSW1(config-if-range)# switchport mode trunk
CSW1(config-if-range)# channel-group 100 mode active
CSW1(config-if-range)# int po 100
CSW1(config-if)# switchport mode trunk
Konfiqurasiya etdikdən sonra port-channel interfeysin statusunu yoxlayaq:
CSW1(config-if)# 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
--------------------------------------------------------------------------------
100 Po100(SU) Eth LACP Eth1/1(P) Eth1/2(P)
Göründüyü kimi, hər şey qaydasındadır, deməli növbəti addıma keçə bilərik. Nəhayət, vPC peer-link aktiv edib vPC-ni işə salmaq vaxtıdır. Bunun üçün hər iki komutatorda port-channel 100 altında vpc peer-link komandasını yazmaq lazımdır:
CSW1(config-if-range)# int po 100
CSW1(config-if)# vpc peer-link
Daha sonra isə vPC-nin vəziyyətini yoxlamaq üçün show vpc [brief] komandasını istifadə edirik:
CSW1(config-vpc-domain)# show vpc brief | begin "vPC domain"
vPC domain id : 100
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 : Disabled
Dual-active excluded VLANs : -
Graceful Consistency Check : Enabled
Auto-recovery status : Disabled
Delay-restore status : Timer is off.(timeout = 30s)
Delay-restore SVI status : Timer is on.(timeout = 10s, 9s left)
Operational Layer3 Peer-router : Disabled
Virtual-peerlink mode : Disabled
vPC Peer-link status
---------------------------------------------------------------------
id Port Status Active vlans
-- ---- ------ -------------------------------------------------
1 Po100 up 1
CSW2(config-if)# show vpc brief | begin "vPC domain "
vPC domain id : 100
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 : 0
Peer Gateway : Disabled
Dual-active excluded VLANs : -
Graceful Consistency Check : Enabled
Auto-recovery status : Disabled
Delay-restore status : Timer is off.(timeout = 30s)
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 Po100 up 1
Göründüyü kimi, vPC qonşuluq qurulub və hər iki qonşu bir-birini görə bilir.
vPC member-link. Aşağı axın cihazının konfiqurasiyası
Core cihazların sazlanmasından sonra aşağı axın cihazlarının yuxarı axın avadanlıqlarına bağlanması lazımdır. Aşağı axın cihazları üçün qeyri-adi heç nə yoxdur. Ənənəvi LACP port-channel konfiqurasiya edirik. Topologiyaya əsasən ASW cihazına hər iki Core komutatordan Eth1/3 interfeysləri qoşulub. Öncə aşağı axın cihazını sazlayaq. Bundan əvvəl yaxşı olar ki, core komutatorda aşağı axın cihazına bağlı olan interfeysləri söndürəsiniz:
ASW(config-if)# sh run int eth1/97,eth1/99
interface Ethernet1/97
switchport
switchport mode trunk
channel-group 1 mode active
no shutdown
interface Ethernet1/99
switchport
switchport mode trunk
channel-group 1 mode active
no shutdown
interface port-channel1
switchport
switchport mode trunk
İndi isə keçək ikinci, “no oçen vajnı” məsələyə. Core cihazlarının hər ikisində Eth1/3 interfeysini L2 kimi sazlayırıq və müvafiq port-channel-ə əlavə edirik. Port-channel nömrəsi hər iki Core komutatorda eyni olmalıdır, əks halda işləməyəcək:
CSW1(config)# int eth1/3
CSW1(config-if)# shutdown
CSW1(config-if)# switchport
CSW1(config-if)# channel-group 1 mode active
Bundan sonra sazlamaları Port-channel üçün edirik. Burada əsas məsələ vpc açar sözüdür. Onu yazmasaq Port-channel ənənəvi port-channel olacaq və yalnız bir bağlantı işləyəcək. Çünki ASW fərqli cihazlara bağlandığını görəcək. Bunu çox sadə yolla yoxlamaq olar:
ASW# show cdp neighbors
CSW1(FLM...) Eth1/97 122 R S s N9K-C9332C Eth1/3
CSW2(FDO...) Eth1/99 135 R S s N9K-C9332C Eth1/3
ASW# show lacp neighbor
Flags: S - Device is sending Slow LACPDUs F - Device is sending Fast LACPDUs
A - Device is in Active mode P - Device is in Passive mode
port-channel1 neighbors
Partner's information
Partner Partner Partner
Port System ID Port Number Age Flags
Eth1/97 32768,38-fd-f8-ea-a6-a 0x109 4 SA
LACP Partner Partner Partner
Port Priority Oper Key Port State
32768 0x8000 0x3d
Partner's information
Partner Partner Partner
Port System ID Port Number Age Flags
Eth1/99 32768,b0-8b-cf-db-a8-b 0x109 1738 FA
LACP Partner Partner Partner
Port Priority Oper Key Port State
32768 0x8000 0xf
Yuxarıd show cdp neighbor komandasının nəticəsinə görə Eth1/97 CSW1-ə Eth1/99 isə CSW2-yə bağlıdır. show lacp neighbor komandasının nəticəsinə diqqət yetirsək görəcəyik ki, iki interfeys üçün Partner System ID fərqlidir. Belə olan halda port-channel qurula bilməz və aşağıdakı nəticə bunu bizə göstərir.
ASW# show port-channel summary
Flags: s - Suspended r - Module-removed
--------------------------------------------------------------------------------
Group Port- Type Protocol Member Ports
Channel
--------------------------------------------------------------------------------
1 Po1(SU) Eth LACP Eth1/97(P) Eth1/99(s)
Davam edək. vpc açar sözündən sonra vPC ID qeyd edilməlidir. Bu ID hər iki Core komutatorda eyni olmalıdır. Əgər ID qeyd olunmazsa sistem avtomatik olaraq port-channel nömrəsini əlavə edir.
CSW1(config-if)# int po 1
CSW1(config-if)# vpc 1
CSW1(config-if)#
vPC-nin yoxlanılması
Öncə vPC statusunu yoxlayaq:
CSW1# show vpc brief
Legend:
(*) - local vPC is down, forwarding via vPC peer-link
vPC domain id : 100
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 : 1
Peer Gateway : Disabled
Dual-active excluded VLANs : -
Graceful Consistency Check : Enabled
Auto-recovery status : Disabled
Delay-restore status : Timer is off.(timeout = 30s)
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 Po100 up 1
vPC status
----------------------------------------------------------------------------
Id Port Status Consistency Reason Active vlans
-- ------------ ------ ----------- ------ ---------------
1 Po1 up success success 1
Göründüyü kimi hər şey qaydasındadır. Aşağı axın cihazında show lacp neighbor komandasını yazaq və nəticəyə baxaq:
ASW(config-if)# show cdp neighbors
Device-ID Local Intrfce Hldtme Capability Platform Port ID
CSW1(FLM...) Eth1/97 122 R S s N9K-C9332C Eth1/3
CSW2(FDO...) Eth1/99 136 R S I s N9K-C9332C Eth1/3
ASW(config-if)# show lacp neighbor
Flags: S - Device is sending Slow LACPDUs F - Device is sending Fast LACPDUs
A - Device is in Active mode P - Device is in Passive mode
port-channel1 neighbors
Partner's information
Partner Partner Partner
Port System ID Port Number Age Flags
Eth1/97 32667,0-23-4-ee-be-64 0x4109 277 SA
LACP Partner Partner Partner
Port Priority Oper Key Port State
32768 0x8001 0x3d
Partner's information
Partner Partner Partner
Port System ID Port Number Age Flags
Eth1/99 32667,0-23-4-ee-be-64 0x4109 263 SA
LACP Partner Partner Partner
Port Priority Oper Key Port State
32768 0x8001 0x3d
show lacp neighbor komandasının nəticəsinə diqqət yetirsək görəcəyik ki, hər iki interfeys üçün Partner System ID eynidir. Deməli vPC lazım olan kimi çalışır.
Yekun
Bu vPC-nin ilkin sazlanmasıdır. Bu konfiruqasiya ilə artıq hər şey çalışmalıdır. Aşağı axın cihazına baxan hər iki link aktivdir və trafiki ötürməyə hazırdır. Lakin vPC-nin daha irəliləmiş sazlamaları var ki, onlara da növbəti yazımda toxunacağam.
netadmin.az IT haqqında Azərbaycan dilində