Trumpai apie Aruba VSX L2 ir truputis L3

Dirbant prie aukšto pasiekiamumo užtikrinimo kompiuterių tinkle, greičiausiai susidursite su viena
ar kita, dviejų ar daugiau komutatorių apjungimo į vieną grupę, technologija. Šiuo metu dauguma
gamintojų turi rinkoje bent vieną tokią technologinį sprendimą, kaip pavyzdys Cisco (VSS, StackWise), Aruba (IRF, VSF, VSX), Mikrotik (MLAG). Vienos šių technologijų yra sutinkamos rečiau, kitos tik pradedamos naudoti, siekiant užtikrinti augančius verslų poreikius ir kuriant nepertraukiamos veiklos sistemas.
Vieną iš tokių naujų technologijų Aruba VSX bandysime trumpai aprašyti, bei sukonfigūruoti, taip, kaip rekomenduoja šios technologijos kūrėjai.

Trumpai apie Aruba (VSX) – tai yra virtualizacijos technologija, skirta būtent pagrindiniams arba tarpinio lygio (angl. aggregation, distribution) tinklo komutatoriams, atsakingiems už kritinę kompiuterių tinklo dalį. Dažniausiai technologija diegiama duomenų centruose, didesnių įmonių kompiuterių tinkluose.
Toks sprendimas leidžia komutatoriams veikti kaip vienam virtualizuotam komutatoriui, sinchronizuojant visą konfigūraciją iš pagrindinio (kuris yra nustatomas pasirinktinai) komutatoriaus į antrinį komutatorių. Komutatorių konfigūraciją išlieka visada abiejuose komutatoriuose, net ir atliekant konfigūracijos pakeitimus pagrindiniame komutatoriuje, tiesa yra kai kurių niuansų.

Verta dar paminėti apie kitus šios technologijos privalumus kompiuterių tinkle:

  • Visada veikiantis komutatorius – vienam komutatoriui nustojus veikti iš grupės, kitas perima darbą nepastebimai.
  • L2 tinklo sluoksnyje apjungti kitų tinklo komutatorių tinklo prievadai yra neblokuojami STP protokolo, todėl perduodamų duomenų srautas veikia nenutrūkstamai per visus prijungtus tinklo prievadus.
  • L3 tinklo sluoksnyje galime sukurti ECMP duomenų perdavimo maršrutus su aukšto pasiekiamumo užtikrinimu.
  • Visada pasiekiamas tinklo šliuzas – automatiškai sinchronizuojamas tinklo šliužo IP adresas tarp grupės, kuris visada pasiekiamas, nebereikalingi papildomi tinklo protokolai kaip VRRP/HSRP. Pateiksime pavyzdį kaip tai lengvai yra įgyvendinama.

Minimali L2 tinklo architektūra

VSX Architeture

Pradiniai nustatymai

Pradėsime konfigūruoti nuo pagrindinių parametrų visus apjungtus komutatorių tinklo prievadus.

CORE1


hostname core1
ssh server vrf mgmt
vlan 1
interface mgmt
no shutdown
ip dhcp
interface 1/1/1
no shutdown
description KeepAlive link
interface 1/1/2
no shutdown
description ISL link
interface 1/1/3
no shutdown
description ISL link
interface 1/1/6
no shutdown
description to ACC1

CORE2


hostname core2
ssh server vrf mgmt
vlan 1
interface mgmt
no shutdown
ip dhcp
interface 1/1/1
no shutdown
description KeepAlive link
interface 1/1/2
no shutdown
description ISL link
interface 1/1/3
no shutdown
description ISL link
interface 1/1/6
no shutdown
description to ACC1

ACC1


hostname acc1
ssh server vrf mgmt
vlan 1
interface mgmt
no shutdown
ip dhcp
interface 1/1/1
no shutdown
description to CORE1
interface 1/1/2
no shutdown
description to CORE2

Patikriname ar visi komutatoriai mato vienas kitą:


show lldp neighbor-info

Aruba VSX konfigūracija

Tęsiame konfigūraciją ir vadovaujamės Aruba rekomendacijomis.

  • Apjungiami pagrindiniai komutatoriai turi turėti tą pačią veikiančią ArubaOS-CX sistemos versiją.
  • ISL sujungimui reikia naudoti bent du komutatoriaus tinklo prievadus. Geriausia tinka DAC kabeliai.

Toliau reikės sukurti tinklo portų apjungimus (anlg. LAG) vidiniam ISL ryšiui tarp komutatorių Core1 ir Core2. Taip pat paminėsime, kad LAG grupės pavadinimas nebūtinai turi sutapti abiejuose komutatoriuose. Čia tiesiog naudosime 100 abiejuose, nes taip patogiau.

Core1, Core2

interface lag 100
no shutdown
description ISL
no routing
vlan trunk allowed all
lacp mode active

interface 1/1/2
no shutdown
mtu 9198
description ISL link
lag 100

interface 1/1/3
no shutdown
mtu 9198
description ISL link
lag 100

Patikriname ar LAG apjungimai aktyvūs ir LACP tinklo protokolas veikia (prie tinklo prievadų turime matyti tokius simbolius ALFNCD).


show interface lag100
show lacp interfaces

Jei viskas veikia judame tolia prie komutatorių tarpusavio statuso apsikeitimo nustatymų. Šiam tikslui Aruba rekomenduoja sukurti atskira VRF lentelę. Todėl sukuriame tokią ir pavadiname KeepAlive.

Core1

vrf KeepAlive
interface 1/1/1
no shutdown
vrf attach KeepAlive
description VSX keepalive
ip address 172.31.254.1/30

Core2

vrf KeepAlive
interface 1/1/1
no shutdown
vrf attach KeepAlive
description VSX keepalive
ip address 172.31.254.2/30

Patikriname ar matome kaimyną kitame gale, tiesiog naudodami komandą ping su vrf KeepAlive parametru.


ping 172.31.254.1 vrf KeepAlive

Paruošiamieji darbai baigti, judame toliau ir apjungiame komutatorių į VSX komutatorių grupę. Čia vėl Aruba rekomenduoja apjungiant komutatorius į grupę, pagrindiniam komutatoriui priskirti sisteminį MAC adresą pagal jų MAC rekomendacijų lentelę. Vėliau keičiant pačius komutatorius, bus nesudėtinga pridėti naują įrangą, išlaikant tą pačią konfigūraciją. Kaip pavyzdys (gamyklinis tinklo prievado ar sistemos MAC adresas).

VSX MAC
XX bus unikalus komutatorių klasterio ID, o Y bus virtualus MAC ID (skaičiais nuo 0 iki 15)
Mes priskirstime 02:01:00:00:01:01 mūsų pasirinktam komutatoriui, kuris bus pirminis (angl. primary) ir iš kurio visa konfigūracija bus sinchronizuojama į kitą grupės komutatorių. Užtikrindami, kad viską sinchronizuotų, naudosime rekomenduojamą parametrą vsx-global. Šis parametras apima visus šiuos kitus pavienius parametrus (juos reiktų aprašinėtume atskirai pagal poreikius): inter-switch-link hello-interval, dead-interval, hold-time, peer-detect-interval, keepalive udp-port, hello-interval, keepalive dead-interval, system-mac, split-recovery, linkup-delay-timer.

Core1


vsx
system-mac 02:01:00:00:01:01
inter-switch-link lag 100
role primary
vsx-sync vsx-global

Core2


vsx
inter-switch-link lag 100
role secondary

Tikriname ar sinchronizacija veikia.


show vsx status

Papildomai yra rekomenduojame sinchronizuoti šiuos papildomus VSX parametrus, kurie bus nustatomi taip pat tik pagrindiniame komutatoriuje.

Core1

vsx
vsx-sync aaa acl-log-timer bfd-global bgp control-plane-acls copp-policy dhcp-relay dhcp-server dhcp-snooping dns icmp-tcp lldp loop-protect-global mac-lockout mclag-interfaces neighbor ospf qos-global route-map sflow-global snmp ssh stp-global time vsx-global

Jei viskas pavyko, turite matyti ISL-State: In-Sync. Liko paskutinis parametras, kuris reikalingas, jei komutatoriai prarastų ISL apjungimą ar vienas iš komutatorių būtų nepasiekiamas dėl vienokių ar kitokių priežasčių. Kitaip tokia situacija angliškai vadinama „Split Brain”. Kad to išvengti, nustatysime „Keepalive” parametrus tarp komutatorių.

Core1

vsx
keepalive peer 172.31.254.2 source 172.31.254.1 vrf KeepAlive

Core2

vsx
keepalive peer 172.31.254.1 source 172.31.254.2 vrf KeepAlive

Peržiūrime ar veikia. Turime matyti Keepalive State: Keepalive-Established.


show vsx brief
show vsx status keepalive

Dar patikriname ar pagal rekomendacijas yra įjungtas/įsijungęs „VSX Split-recovery”.


show vsx configuration split-recovery

VLAN tinklai ir VLAN tinklo šliuzai (šiek tiek L3)

Turime veikiančią apjungtą komutatorių grupę, kurią toliau paruošime darbui su duomenimis. Pradžiai jei norėsime naudoti VLAN, juos reikės kurti šiek tiek kitaip. O taip pat panaudosime vieną iš VSX technologijos privalumų VLAN tinkle, tai visada pasiekiamą tinklo šliuzą (angl. Always Active Gateway). Kuriant pastarąjį, reikia prisiminti Aruba rekomendacijas dėl MAC adresų, nes ši technologija taip pat naudos ne gamyklinį komutatoriaus MAC adresą, o tą kurį, nurodysime pagal rekomendacijas. Toks principas toliau leidžia lanksčiai keisti komutatorius, jei vienas iš jų neveiktų ir reikėtų jį pakeisti.

Konfigūraciją atliksime pagrindiniame komutatoriuje Core1, o likusią dalį Core2. VSX technologija sinchronizuos likusią konfigūraciją, vos tik baigsite konfigūruoti Core2 dalį.

Core1


vlan 100
vsx-sync
description DATA
interface vlan 100
ip address 10.10.100.252/24
active-gateway ip 10.10.100.254 mac 12:01:00:00:01:10
vsx-sync active-gateways

Core2

interface vlan 100
ip address 10.10.100.253/24

Baigus darbus VLAN 100 šliuzo IP adresas 10.10.100.254 turi būti pasiekiamas. Testuojame tiesiog paprasta komanda ping 10.10.100.254.

Prijungiame prieigos komutatorius

Toliau, kad prijungti prieigos komutatorius reikės konfigūruoti „MCLAG” tinklo prievadus (angl. Multi-Chassis Link Aggregation Group) apjungiančius Core1, Core2 komutatorius su Acc1 komutatoriumi.

Core1


interface lag 99 multi-chassis
description VSX LAG to ACC1
no shutdown
vlan trunk allowed 100

interface 1/1/6
no shutdown
mtu 9100
description to ACC1
lag 99

Core2


interface lag 99 multi-chassis
no shutdown

interface 1/1/6
no shutdown
mtu 9100
description to ACC1
lag 99

Acc1


vlan 100
interface lag 99
no shutdown
no routing
vlan trunk native 1
vlan trunk allowed 100
lacp mode active

interface 1/1/1
no shutdown
description to Core1
lag 99
interface 1/1/2
no shutdown
description to Core2
lag 99

interface 1/1/3
no shutdown
no routing
vlan access 100
description PC1

Patikriname ar viskas veikia. Turite matyti State: ALFNCD prie lag99 tinklo prievadų.

Core1, Core2

show lacp interfaces multi-chassis

Acc1

show lacp interfaces

Kad išvengti „netyčinės” tinklo kilpos (anlg. network loop), reikės įjungti vieną iš STP protokolų, bei vieną kitą jų funkciją. Šiuo atveju rekomenduojamas MSTP protokolas, kurį minimaliai sukonfigūruosime.

Keletas rekomendacijų, kurios reikalingos bus VSX pagrindiniame komutatoriuje Core1. O į kitą Core2 komutatorių konfigūracija tiesiog sinchronizuosis automatiškai.

  • Naudosime numatytą instance MST0 .
  • Kad lengviau valdyti sumažinsime spanning-tree priority iki 4, kad VSX komutatoriai taptų STP šakniniu STP tiltu.
  • Naudosime STP funkciją root-guard ant visų tinklo prievadų jungiančių į prieigos komutatorius, kad išvengtumėte prieigos komutatorių tapimo šakniniais STP tiltais.

Core1

spanning-tree
spanning-tree priority 4

interface lag 99 multi-chassis
no shutdown
description VSX LAG to ACC1
no routing
vlan trunk native 1
vlan trunk allowed 100
lacp mode active
lacp fallback
spanning-tree root-guard

Toliau leidžiamės į žemesnį tinklo architektūros lygį – prieigos komutatorių. Čia taip pat keletas rekomendacijų:

  • Naudosime numatytą instance MST0 .
  • Nekeisime spanning-tree priority ir paliksime default 8. Taip užtikrinsime, kad VSX komutatoriai visada taps STP šakniniais STP tiltais.
  • Naudosime loop-guard tinklo įrenginių apjungimo prievadams (lag99) jungiantiems prieigos komutatorių prie VSX pagrindinių komutatorių. Taip užtikrinsime, kad BPDU gavimo klaidos metu (pvz. nutrūkus optinės jungties laidui) „neužtvindytume” tinklo nereikalingais paketais.
  • Naudosime funkciją loop-protect visiems tinklo prievadams, prie kurių bus jungiama galinė tinklo įrangą. Nustatykite užblokuoto tinklo prievado automatinį atsistatymą po 1 valandos.
  • Visiems galinės įrangos prieigos prievadams nustatysime tinklo tipą į admin-edge ir įjungsime funkciją tcn-guard, kad sustabdyti gavimą BPDU paketų iš šių prievadų.
  • Papildomai apsaugai taip pat naudosime funkciją loop-protect visiems galinių įrenginių prieigos prievadams, jei būtų prijungtas nevaldomas komutatorius, kuris nufiltruoja BPDU paketus ir sukuria tinklo kilpą.

Acc1

spanning-tree
loop-protect re-enable-timer 3600

interface lag 99
spanning-tree loop-guard

interface 1/1/3
no shutdown
description PC1
no routing
vlan access 100
spanning-tree bpdu-guard
spanning-tree port-type admin-edge
spanning-tree tcn-guard
loop-protect

Publikavo: 

Padedame prisijungti prie pasaulio ipv4/ipv6 lygio tinklų pagalba. ITIL, CISCO, Mikrotik, MCP, CompTIA, LPI