Portál AbcLinuxu, 1. listopadu 2024 00:00
+------------+ +------------+ |SWITCH A +---------------------------+SWITCH B | +------------+ +------------+ | | | | | | | +------------------------+ | | | +-----------+ | | | | | | | | +------------------------+ +------------------------+ | eth0 eth1 eth2 | | eth2 eth1 eth0 | | 10gbit 40gbit 40gbit | | 40gbit 40gbit 10gbit | | | | | | | | | | | | | +-----+ | | +------+ | | | | | | | | | | | | bond0 | | bond0 | | | | | | | | | | | +--------+ | | +-----+ | | | | | | | | br0 | | br0 | | br0.10 VLAN10 | | VLAN10 br0.10 | | br0.20 VLAN20 | | VLAN20 br0.20 | | br0.30 VLAN30 | | VLAN30 br0.30 | | | | | | SERVER A | | SERVER B | +------------------------+ +------------------------+Myšlenka je poměrně jednoduchá. Jedná se o dva servery, které jsou napřímo propojeny 40Gb síťovkami. Cílem mého snažení je, aby servery mezi sebou komunikovaly napřímo a vše ostatní přes switche ven. Myslel jsem si, že vše naházím do bridgů, jak je vidět na "obrázku" a pomocí RSTP na switchích se pak vždy jedna z 10Gb cest zablokuje. STP na bridgi v linuxu jsem vypnul. Je ta myšlenka správná? Případně řešili byste to jinak? Nedaří se mi to totiž dostat do provozuschopného stavu (cyklí se to). Je nutné na switchích konfigurovat MSTP nebo vystačím se samotným RSTP? Všechny porty na switchi jsou VLAN trunky. S MSTP nemám žádné zkušenosti, zkoušel jsem to s ním nastavit, ale výsledek byl podobný.
Můj první záměr a zároveň pokus bylo použití levných switchů (T1700G-28TQ), které umí stack. A do obou jsem poslal 4x1Gbit LACPem. S tím, že tu 40G linku jsem provozoval uplně odděleně. Problém těch switchů byl, že se to chovalo podivně - stačilo odpojit jakýkoliv kabel a ten switch v tu chvíli ztratil obvykle 5-8 ICMP paketů na všech portech! Pokud jsem jeden ze switchů vypnul, tak to bylo mnohem horší. Řešil jsem to s výrobcem a bylo mi řečeno, že je to vlastnost. Na nějaké další pokusy se stackem jsem v tu chvíli ztratil chuť.U switchů je na tohle potřeba dávat bacha. Řešil jsem něco podobného - switch to umí, paráda, podíváme se, co o tom lidi píšou na netu: "při výpadku jednoho switche stack 20s nebo minutu neswitchuje, když switch zapojíte zpátky, tak to neswitchuje 20s, podle výrobce je to vlastnost, je potřeba 4x dražší switch".
Rozhoupal jsem se to celé přestavět a koupil 10G switche (Ubiquiti EdgeSwitch 16 Xg), které neumí stack a jednoportové 10G síťovky do serverů.To chápu, pokud někdo ví o 10G switchích, které umí stack a nestojí 200+ kKč jeden, tak bych o tom rád věděl.
A celé to zapojil tak, že právě tu redundanci zajistím skrz 40G síťovky. S tím, že to celé pohlídá RSTP, který jsem popravdě nikdy na podobné věci nepoužíval.No, teoreticky by to tak, jak to máte zapojené a nastavené, mělo fungovat tak, jak chcete. Když je STP na těch linuxech vypnuté, měly by switche shodit buď tu linku mezi sebou, nebo jednu mezi switchem a serverem. Pokud to nefunguje, tak bych zkusil tcpdump na tom Linuxu a zkusit vysledovat, jestli tam něco nazahazuje BPDU rámce, kterými se ta smyčka detekuje. Jinak bych ale souhlasil s Maxem, tohle řešení je dost divné. Nehledě na to, že ten bridge je čistě softwarová záležitost, takže je otázka, jestli přes něj těch 10Gbit vůbec projde. Řešil jsem něco podobného (corosync cluster mezi více servery, switche neumí stackovat) a udělal jsem to jednoduše tak, že mám switche (4) zapojené do kruhu a MSTP na tom. Každý server je zapojený do dvou switchů přes bond rozhraní v režimu active-passive. Zkoušel jsem tomu různě vytahovat kabely a podle všeho jsem si nikam nenapsal, co se dělo, ale mám za to, že z toho byly výpadky do 3 sekund, což by ten cluster měl přežít. Je tu samozřejmě jedna možnost, jak to může vypadnout: když jeden z těch switchů vytuhne, ale nevypne se, tj. připojené servery na svých síťovkách nebudou mít link down. V takovém případě ten bond nemá důvod přepnout aktivní linku na druhý switch a server nebude v síti. Dá se to řešit tak, že ten bond do sítě posílá nějaké pakety (ARP nebo echo request IIRC) a prohlásí tu linku za nefunkční, když se nic nevrací - což ovšem samozřejmě znamená, že musí běžet to, co na ty pakety má odpovídat. Nebo se to dá řešit tak, že když po vás někdo chce HA řešení, tak se holt musí plácnout přes kapsu a koupit pořádné switche. (Akorát teda pokud chcete 10Gbit a stack, tak si připravte tak půl milionu.) Jinak k RSTP vs. MSTP - dokud bude fyzická topologie té sítě pro všechny VLANy stejná, stačí vám RSTP. Pokud ne, musíte počítat s tím, že RSTP řeší čistě fyzickou síť bez ohledu na VLANy a tudíž že přeruší i smyčky, které vzhledem k nastavení VLAN ve skutečnosti smyčku netvoří. V takových případech musíte použít MSTP
Takove Delly S4048 z druhe roky jsou za uplnou hubicku (my je berem za nejakych 1400 EUR bez DPH a dopravy z UK).Tak moment, 48x10Gbit + 6x40Gbit, podporuje stacking, to celé za 40kKč (plus SFP moduly, hádám)? Ehm, v čem je háček?
Akorat tedy se nic nebroadcastuje, ve vpsFree setupu mame na kazdem portu toho switche proste navazanou jednu BGP session na spojovacce.Jo, to jsem myslel. Asi, přece jenom v BGP a BGP terminologii se úplně nevyznám.
Tiskni Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.