Menu Zavrieť

17. Viac switchov ako Stack – technológia StackWise

Čo je to stack

Cisco switche sa dajú deliť podľa mnohých parametrov, ja by som si teraz dovolil delenie do troch skupín. Základné pevné switche (fixed), ktoré pracujú na 2. vrstve podľa OSI, zástupca je napríklad Catalyst 2960 . Pokročilejšie pevné switche , ktoré dokážu pracovať aj na vyšších vrstvách, hlavne na 3. a teda vykonávať routovanie, zástupcom je Catalyst 3750 . A modulárny switche , ktoré sa skladajú z chassis, do ktorého sa vkladajú rôzne moduly (prvý musí byť supervízor), zástupca je Catalyst 6509 .

Pre switche prostrednej kategórie (C3750) má Cisco technológiu zvanú StackWise a StackWise Plus (u novších C3750E), ktorá umožní spojiť switcha do stacku . Základné vlastnosti (dalo by sa povedať výhody) stacku sú:

  • celý stack sa konfiguruje (a vlastne aj chová) ako jeden switch so súčtom portov
  • konfigurácia je spoločná a zdieľaná všetkými členmi (každý má uloženú kópiu)
  • má jednu spoločnú IP adresu a vstupné rozhrannie pre správu (telnet, web, ssh)
  • členmi stacku môžeme jednoducho pridávať aj odstraňovať
  • v prípade poškodenia jedného člena stacku sa dá jednoducho nahradiť novým (väčšinou bez potreby konfigurácie)
  • stacky teda slúži k zvýšeniu spoľahlivosti

Vytvorenie stacku

Vytvorenie stacku sa vykoná tak, že switche prepojíme špeciálnym stackovacím káblom (býva súčasťou dodávky switche). Konektory sa nachádza na zadnej strane switche a sú dva, pretože sa stack zapája do uzavretého kruhu . Tento kruh vždy prechádza obvody vnútri switche, ak chýba kábel, tak sa na mieste nezapojeného porte aplikuje loopback. Táto zbernica (Interconnect) má rýchlosť 16 Gbps alebo 32 Gbps u StackWise Plus, ale dáta putujú obojsmerne s inteligentným výpočtom trasy, takže sa uvádza rýchlosť dvojnásobná, teda 32Gbps alebo 64Gbps.

Master switch

Jednotlivé switche sa označujú ako členovia (members) stacku. Jeden switch je vždy vedúci (master), ten spravuje celý stack (k nemu sa pripájame na CLI, riadi výmenu routovacích informácií, odovzdáva forwardovacou tabuľky ostatným členom, atď). Master switch sa volí určitým procesom a teoreticky sa ním môže stať ktorýkoľvek switch. Dohromady môžeme prepojiť až 9 switchov a vo stacku sa im prideľujú poradové čísla – identifikátory. Z výroby má každý switch nastavené číslo 1 a po zapojení do stacku sa mu priradí najnižšie voľné.

Voľba master switche

Proces, ktorý volí master switch, prechádza určité kritériá, ktoré sú hierarchicky uvedené tu:

  • voľba používateľa – môžeme nakonfigurovať kto má byť master (pomocou najvyššej priority)
  • priorita podľa HW a SW – najnovšie switch, najvyšší HW verzie s najvyššou SW verzií (funkciami – feature set) má prednosť
  • existujúce konfigurácie – switch s konfiguráciou má prednosť pred novým switchom
  • uptime – najdlhšie bežiaci switch
  • MAC address – najnižšia MAC adresa víťazí

Pridanie nového člena

Po pripojení nového člena by mal master skontrolovať jeho IOS a prípadne nahrať správnu verziu. Všetci členovia stacku musia mať rovnakú verziu IOSu s rovnakými funkciami. Ďalej master nakonfigurovať switch, nakopíruje mu konfiguráciu a ďalšie údaje. Takže ak všetko prebehne ako má, nemal by po zapojení konektorov a naštartovanie switche, byť potrebný žiadny zásah.

Pripojenie nového člena môžeme vykonať za behu. Rozpojíme jedno miesto stacku (tak aby sa nám nerozpadol) a pripojíme vypnutý (to je dôležité) nový switch. Samozrejme nové zapojenie musí byť opäť do kruhu. Ale pozor, v praxi sa mi stalo, že po zapojení nového člena a upgradu jeho IOSu sa stack softvérovo rozpadol. Síce sa potom automaticky nakonfiguroval, ale jednotlivé switche sa reštartovali.

Ešte pár informácií k  upgradu / downgrade IOSu , ktorý vykonáva master switch. Po pripojení nového člena sa zistí informácie o HW, a ak je rovnaký ako master, tak sa nahrá jeho IOS. Pre inštalácie sa používa príkaz archive. Ak je verzia HW iná, tak master hľadá potrebný IOS vo svojej flash pamäte alebo na TFTP servera (ak má nastavené). Ak sa nenájde správna verzia, tak sa pripojovaný switch nastaví do stavu Version mismatch a pravidelne rebootuje (pri štarte vždy hľadá, či je k dispozícii správna verzia).

Odstránenie člena stacku

Pri odstránení switche alebo poškodenie kábla sa to stack dozvie a smeruje komunikáciu mimo odstránený switch alebo poškodenú cestu. Konfigurácia portov, ale stále zostáva, takže po pripojení nového switche tento získa pôvodnú konfiguráciu (záleží na čísle člena stacku).

Ak sa preruší vedenie na jednom mieste, tak sa preruší kruh, čím sa zredukujte rýchlosť na polovicu, ale všetko funguje ďalej. Po obnovení kruhu, sa automaticky vráti funkčnosť späť.

StackWise a StackWise Plus

Technológia StackWise má rad vlastností, ktoré slúžia na efektívne a výkonné funkciu. StackWise Plus pridáva ešte niekoľko vylepšení, tiež sa zdvojnásobila rýchlosť zbernice a sú podporované 10 Gigabitové ethernetové porty.

Switche s technológiou StackWise a StackWise Plus sa dajú kombinovať dohromady , ale dojedná sa globálna mód StackWise. Hlavné teda je, že sa degraduje rýchlosť Interconnect na teoretických 32 Gbps.

Kombinácia HW verzií switchov

Zaujímavé riešenie pre prax môže byť kombinácia switchov tak, že použijeme jeden alebo dva (podľa počtu linkov do core) Catalyst 3750 , ktoré majú 10 Gbps uplink porty, a ostatné Catalyst 3750G , ktoré sú predsa len lacnejšie. Síce sa degraduje rýchlosť interconenctu na polovicu, ale to nemusí byť obmedzujúce bod.

V takomto riešení som sa stretol s problémom, že po pripojení nového člena s inou verziou IOSu, sa spustil jeho upgrade, ale nejakým spôsobom sa zablokovala flash pamäť na master switchi. Takže je potrebné vykonať upgrade ručne a reštartovať master, aby sa uvoľnila jeho pamäť. Najjednoduchšie je vykonať upgrade IOSu ešte skôr ako switch pripojíme do stacku.

Tlačidlo Mode – Stack

Ak sme fyzicky u switche a potrebujeme zistiť základné údaje o stacku, počet členov a aktuálne id switche vo stacku, tak môžeme využiť tlačidlo MODE. Opakovaným stláčaním rozsvietime diódu vedľa nápisu STACK. V tejto chvíli sa rozsvietia diódy nad prvými porty. Počet rozsvietených portov určuje počet členov stacku, blikajúce port je aktuálna pozícia.

Konfigurácia v CLI

Stack príkazy

Základné operácie, ktoré môžeme sa stackom vykonať pomocou CLI, je zistenie informácií o členoch, nastavenie identifikačného čísla switche a nastavenie priority (v podstate nastavení master switche).

SWITCH # show switch                   // informácie o členoch stacku (vrátane id a priority) 
SWITCH # show switch detail            // navyše informácie o prepojení vo stacku

SWITCH (config) # switch 1 renumber 3   // zmení identifikačné číslo z 1 na 3 
SWITCH (config) # switch 3 priority 15 // priorita switche 3 na hodnotu 15 (možnosti 1 až 15), čím väčšie tým väčšia šanca byť zvolený ako master

SWITCH (config) # no switch 3 provision // odstránenie člena stacku

Provisioned switch

Je tu tiež možnosť nakonfigurovať switch skôr než ho zapojíme do stacku. Vytvoríme provisioned switch (záložné), tým pádom máme možnosť konfigurovať porty a ďalšie vlastnosti switche, aj keď fyzicky nie je pripojený (porty sa nedajú prepnúť do funkčného stavu – no shutdown). A po pripojení nového switche, ten získa túto konfiguráciu.

Pozn .: Globálna konfigurácia je rovnaká pre všetkých členov stacku, ale môžeme konfigurovať jednotlivé porty.

SWITCH (config) # switch 4 provision ws-C3750E-48PD   // vytvoríme switch s daným id a modelom

Adresovanie portov

Prístup k jednotlivým portom v rámci stacku sa teraz využije pomocou čísla člena stacku. To sa zadáva ako prvý v trojici čísel identifikujúcich port, napríklad Gi2/0/1je prvý port na druhom switchi vo stacku.

Iba jeden člen stacku

Čísla switchov môžeme použiť ešte na niekoľkých miestach. V niektorých informačných hláseniach sa tiež zobrazuje špecifický switch pomocou názvu-id, treba SWITCH-2.

SWITCH # reload slot 2  // reštart iba druhého switche 
SWITCH # session 2      // prepneme sa priamo na switch 2, v praxi ale len pre show a debug (späť sa vrátime pomocou exit)

Upgrade IOSu vo stacku

Stručne tu spomeniem možnosti, ktoré môžeme využiť (nielen) v rámci stacku, pre manuálne upgrade IOSu. Hlavne sa využíva príkaz archive, ktorá je bližšie uvedený v kapitole  – zálohy a obnovy konfigurácie a obrazov .

Pozn .: Upgrade IOSu na stack vykoná upgrade všetkých členov, ale pozor u rôznych HW verzií. Inak povedané, keď upgradujeme master switch, tak ten po reštartuje upgraduje ostatných členov.

V rámci stacku má príkaz archiveparameter copy-sw, ktorý kopíruje IOS medzi členmi stacku. Nasledujúci príklad skopíruje IOS zo switche 2 na 3 a prepíše (vymaže) pôvodnú verziu. Dal by sa použiť aj parameter /reload, ktorý zaistí automatický reštart switche po inovácii, ale ak upgradujeme viac switchov, tak je treba je reštartovať, až budú mať všetky rovnakú verziu.

SWITCH # archive copy-sw / overwrite / destination-system 3 2 
SWITCH # reload slot 3    // reštart iba switche 3 
SWITCH # reload in 10:30 // naplánovanie reštartu celého stacku (nejde iba switch) za 10 hod a 30 min

Upgrade kombinovaného stacku

Ak chceme upgradovať stack na novú verziu a máme členmi s rozdielnou verziou StackWise (StackWise sa označuje ako verzia 0 a StackWise Plus ako 1), tak môžeme do tarupre 3750 do adresára s  binemnakopírovať tarpre 3750G (samozrejme rovnaké verzie). Potom upgradujeme 3750 (master) napríklad takto:

SWITCH # archive download-sw / no-version-check / destination-system 1 ftp: // user: password@10.0.0.10/  C3750E-universalk9-tar.122-44.SE2.tar

Členovia stacku by sa mali upgradovať automaticky z uloženého imidž, ak je tu ale problém, tak to môžeme vykonať ručne. Ďalšieho člena stacku (3750G) teda upgradujeme z mastra:

SWITCH # archive download-sw / no-version-check / destination-system 2 flash1: /c3750e-universalk9-mz.122-40.SE/c3750-ipbasek9-tar.122-44.SE2.tar

Potom, čo máme nový IOS na všetkých členoch stacku, ho môžeme reštartovať (aby sa nová verzia načítala) pomocou reload.

Pozn .: Parameter/no-version-checkje občas potreba. Napríklad v niektorom novšom IOSu je novšia verzia stackovacího protokolu a pretože ostatné switche zatiaľ používajú staršiu verziu, tak je možné vykonať upgrade iba bez kontroly. A následne sa musí upgradovať ostatní členovia.

Ďalšie príkazy k upgradu

V prípade nejakých problémov sa môžu hodiť nasledujúce príkazy:

SWITCH # copy flash2: /c3750-ipbasek9-mz.122-40.SE/c3750-ipbasek9-mz.122-40.SE.bin Flash3: // ručné skopírovanie image 
SWITCH # show boot                 // zobrazí info odkiaľ switche bootuje 
SWITCH (config) # boot system switch 3 flash: /c3750-ipbasek9-mz.122-40.SE.bin // nastaví z akého image má switch 3 bootovať

Pozn .: Bootovanie môžeme nastaviť Aj pre všetkých členov stacku naraz. Pomocou príkazubootmôžeme nastavovať aj vlastnostiauto-upgradučlenov stacku.