Quantcast
Channel: Erik Kirschner » linux
Viewing all articles
Browse latest Browse all 10

Load Sharing or when WiFi 5,8GHz is better choice than profi point-to-point

$
0
0

certifiedn_logoCelé to začalo potrebou upgradu existujúcej linky (uplink) do Internetu u jedného lokálneho poskytovateľa internetu (ISP). V tom čase bol uplink vyťažovaný na 22Mbps, ale vzhľadom na zmeny v obchodnej politike lokálneho ISP pre najbližší rok, vznikla požiadavka na šírku pásma pre uplink 40Mbps (riešenie však musí zvládnuť minimálne 60Mbps).

Pôvodné riešenie bolo založené na technológií WiFi 5,8GHz point-to-point. Hardware bol použitý WRAP od PC Engines GmbH s kartami Atheros. Software bol a stále je použitý OS Linux, distribúcia LEAF konkrétne Bering uClibc.

Dĺžka trasy uplinku (last mile, vzduch) je okolo 1km. Keďže počet zákazníkov stúpa, vznikla potreba aj zálohy samotnej trasy vo vzduchu. Samozrejme, hneď sa objavilo riešenie mať skladom záložný hardware. V prípade výpadku trasy, je ale oprava pri tejto variante časovo náročná (vybavovanie vstupov, lezenie po rebríkoch k anténam, samotná výmena HW, …).
Networkingu a routingu sa venujem pár rokov, takže som sa začal pohrávať s myšlienkou Load Sharing-u.

Design

Keďže linux je flexibilný a distribúcia LEAF zvláda routing bez problémov vznikol prvý design zapojenia. Samozrejme požadovaná rýchlosť si vyžaduje aj silný hardware. Preto jednoznačne padol výber na hardware od PC Engines GmbH , konkrétne ALIX, ktorý má výkonnejší procesor a viac pamäte priamo na boarde.
Prvotný design zapojenia bol navrhnutý s jedným zariadením s ethernetom a 2x WiFi kartou na každej strane.

first designobr. č. 1.: prvotný návrh designu zapojenia

Samotné testy začali konfiguračným templatom na jednom zariadení. V tomto prípade som zisťoval, či zariadenie vôbec dokáže prijať plánovanú konfiguráciu a či jednotlivé časti konfigurácie budú spolupracovať. Mnoho problémov sa podarilo odstrániť, alebo obísť, no objavili sa aj také, na základe ktorých som musel meniť design celého riešenia.

Vážnejší problém pri designe podľa obrázku č. 1 vznikol pri definovaní ath0 a ath1 rozhraní do TEQL rozhrania. Jednoducho nie je možné definovať k virtuálnemu teql0 rozhraniu athx, možné je pridávať len ethx rozhrania.

Vzhľadom k tomuto obmedzeniu som zmenil design. Keďže hardware ALIX nie je finančne náročný, úlohy ktoré boli pôvodne plánované do jedného zariadenia som distribuoval na viac zariadení na jednej strane. Vznikol návrh, kde na každej strane boli navrhnuté 3ks zariadení ALIX. Jedno zariadenie, ktore robí samotný Load Sharing a 2ks zariadení ALIX, ktoré robia bridge medzi ethernet a wifi rozhraním.
V tomto prípade som ale musel počítať s napájaním pre 3ks zariadení na každej strane a umiestnením týchto zariadení na stožiari. Našťastie, toto je menší a riešiteľný problém. Takže padlo definitívne rozhodnutie pre design č. 2.

final designobr. č. 2.: finálny návrh designu zapojenia

Z histórie viem, že najväčší problém robia wifi karty, finálnym designom č.2 bol eliminovaný výpadok celej trasy v prípade zaseknutia čo i len jednej wifi karty. Ak by nastal tento problém pri designe č.1 (samozrejme traffic sa presmeruje automaticky bez výpadku do funkčnej trasy), bol by potrebný reštart zariadenia, čo znamená výpadok na 1 až 2 minúty (pri down/up wifi rozhrania sa teql interface nespamätal a bol nutný reštart).
Pri designe č.2 tento problém nenastáva. Wifi rozhranie môžete zhodiť/nahodiť a teql rozhranie, keďže je na inom zariadení automaticky zistí opätovné oživenie vadnej trasy a začne fungovať load sharing.

Pri tomto designe je potrebné zariadenia sledovať cez SNMP alebo Syslog. Nám sa stalo v živej prevádzke, že na jednom zariadení, ktoré robí bridge, sa pokazil napajací zdroj, traffic sa presmeroval automaticky na funkčnú trasu a týždeň si to nikto nevšimol.  Keď sme to zistili, bolo dostatok času na opravu a všetko fungovalo. Po oprave load sharing zistil, že obe trasy sú funkčné a zapojil do prevádzky obidve trasy, opäť bez výpadku. Na jednej strane ma tešilo, že backup reálne funguje, ale na druhej upozornilo na potrebu monitorovania týchto zariadení.

compsobr. č. 3.: comps použité pri vývoji a testoch

Configuration

Pri návrhu konfigurácie bolo potrebné urobiť pár základných vecí:
1) prepojenie Bridge zariadení vo vzduchu cez AP, Ad-Hoc, alebo WDS.
2) Bridge medzi Ethernet a WiFi rozhraním
3) Load Sharing
4) funkčný backup

Pri konfigurácií WiFi som potreboval bridging (WiFi/Ethernet). Rozhodol som sa pre WDS. Bolo to najjednoduchšie riešenie a vyžadovala si to IP adresácia pre Load Sharing. Keďže na zariadeniach  beží OS Linux konkrétne LEAF, do kernelu som musel pridať moduly pre Bridging, defaultne tam nie sú. Všetko fungovalo bez problémov na prvý pokus.

Samotný Load Sharing si taktiež vyžaduje doplnenie pár modulov do kernelu, v tomto prípade tc a teql. Podľa finálneho návrhu designu zapojenia, zariadenie ktoré robí Load Sharing obsahuje len eth rozhrania, teda nebol problém s pridávaním ethx rozhraní do teql0 interfacu.

# tc qdisc add dev eth1 root teql0
# tc qdisc add dev eth2 root teql0
# ip link set dev teql0 up

tguma_lbobr. č. 4.: vyťaženosť procesora zariadenia, ktoré robí Load Sharing v živej prevádzke

Performance

Cieľom, okrem funkčného backup riešenia, bolo aj zvýšenie prenosovej rýchlosti s dostatočnou rezervou na najbližší rok/roky. Prvé testy som robil len na kábloch, bez WiFi. Zariadenia ALIX majú ethernet porty 10/100Mbps, teda performance bola len otázkou výkonu procesora tohto zariadenia. Na testy výkonnosti som použil IPerf na počítačoch Mac, Linux aj Windows. Zaťaženie procesora samozrejme stúpa s objemom prenesených dát, ale do úvahy treba brať aj veľkosť packetov. Ja som používal na test typickú veľkosť packetu v internet trafficu okolo 600 octetov. Výsledky zaťaženia procesora pri rôznych objemoch prenášaných dát cez zariadenia ALIX sú nasledovné:
- 10Mbps, CPU 5%
- 20Mbps, CPU 15%
- 30Mbps, CPU 20%

Zariadenia bez problémov zvládajú Load Sharing 80Mbps trafficu, čo je veľmi dobrý výsledok.  Na obrázku č.4 je graf vyťaženia procesora zariadenia, ktoré robí Load Sharing v živej prevádzke. Maximá na grafe predstavujú reálny traffic okolo 30Mbps viď obr. č.5.

tguma_lb_trafficobr. č.5.: vyťaženosť uplinku do internetu, živá prevádzka

Testy záťaže procesorov dopadli nad očakávania a na rad prišiel test finálneho designu aj s WiFi. Keďže HW pre Bridge je rovnaký ako pre Load Sharing, otázka znela, aký bude mať WiFi dopad na rýchlosť prenosu dát. Samozrejme pri testoch v plnom designe aj s WiFi som nedosahoval rýchlosti 80Mbps, ale okolo 60-70Mbps, čo je vynikajúce a vyhovujúce pre ciele projektu.

Na obrázku č.6 je fotka reálneho testovania (v lab podmienkach). Na spodnej poličke sú zariadenia, ktoré robia Load Sharing a na vrchnej poličke su Bridge WiFi/Ethernet pre dve nezávislé trasy podľa finálneho designu zapojenia na obr. č. 2.

alixsobr. č. 6.: foto z reálneho testovania Load Sharingu

Laboratórne podmienky sú jedna vec a nasadenie do reálnej prevádzky druhá. Tesne pred koncom roka 2008 bolo riešenie nasadené do prevádzky, funguje bez problémov a k spokojnosti lokálneho ISP.

Tiež je na mieste otázka kvality WiFi signálu v husto obývaných oblastiach. Je pravda, že toto riešenie je nasadené v menej obývanej oblasti, no na druhej strane WiFi 5,8GHz má dostatočný počet kanálov, aby bolo možné sa vyhnúť rušeniu iných sietí.

CAPEX, OPEX

Investície do HW pre toto riešenie je na úrovni 1300 euro aj s vývojom a prácou. Pre backup, v prípade závady na HW, je potrebná investícia okolo 200 euro. Servisné práce je možné robiť sebestačne.

Tieto čísla sú smiešne oproti investície do profesionálneho RR spoja (point-to-point), ktorého nákupná cena je na úrovni okolo 6700 euro. K tejto čiastke je potrebné si pripočítať cenu práce na profesionála a do OPEXu pravidelný maintenance fee (nie malá čiastka) pre prípad výpadku, alebo závady na zariadení. Maintenance fee je určite povinné, keďže v prípade závady na RR spoji nemáte pripojenie do Internetu a naviac čakáte na príchod technika (čo niekedy trvá rádovo hodiny).

Záver

Riešenie je funkčné, zákazník je spokojný s výkonnosťou, riešením aj financiami, čo je hlavné a to je pre mňa dôležité. Ak ťa článok zaujal, napíš svoj názor do commentov. V prípade, že máš záujem o rôzne riešenia z oblasti networkingu, network security (firewall, IPSec,…) alebo VoIP, kontaktuj ma. Určite sa ozvem späť.


Viewing all articles
Browse latest Browse all 10

Trending Articles