Hoj, Na SWITCH Dell PowerConnect 5424 (gigabit switch) imam priklopljenih 5 nodov. Vsak node ima dve gigabitni mrezni kartici (torej, vsak je prikljucen na dva porta na SWITC-u).
Na Ubuntu 8.04 bi rad usposobil t.i. LAG (Link Aggregation) oz. kakorkoli se ze rece stvari, ki bi mi ta dva per-node connectiona zdruzila v enega virtualnega z skoraj dvojno hitrostjo prenosa. Dodatno bi rad optimiziral network stack za hiter prenos po lokalni mrezi. Gre namrec za high-performance comuting cluster katerega nodi bodo veliko komunicirali lokalno (lahko se zgodi, da bo med dvema nodoma aktiven le en TCP socket connection). Najprej drug problem - optimizacija ... Izgleda, da bi mi prav prisla opcija 'Jumbo Frames'. To opcijo vklopim na SWITCH-u, nato pa poskusim na Linuxu: ---- $ sudo ip link set eth0 mtu 9000 RTNETLINK answers: Invalid argument $ dmesg | grep "eth[01]" | grep PCI [ 51.511345] eth0: Tigon3 [partno(BCM95721A211F) rev 4201 PHY(5750)] (PCI Express) 10/100/1000Base-T Ethernet 00:10:18:33:6b:3c [ 51.551630] eth1: Tigon3 [partno(BCM95754) rev b002 PHY(5787)] (PCI Express) 10/100/1000Base-T Ethernet 00:1e:4f:e6:5f:c7 ---- ^^^ Ce poskusim nastaviti katerikoli MTU vecji od 1500 dobim zgornji error. V dokumentaciji sem prebral, da nekateri network gonilniki ne podpirajo vecjih MTU-jev. Hmmm ... iz zgornjega outputa sklepam, da gre za Broadcom kartico, ki ni ravno low-end in se cudim, ce je res mozno, da mrezna ne podpira vecjih MTU-jev oz. kako vklopim jumbo frames? Glede LAG-a ... Po precej prebrane dokumentacije sem ugotovil, da seveda obstaja N nacinov kako to usposobiti. Na Linuxu je default nacin *balance-rr* (mode 0), ki naj bi bil tudi edini, ki omogoca, da se signel connection deli na vec vmesnikov. Sicer mi ni vsec round-robin politika deljenja (zaradi out-of-order paketkov), a bi rad to preizkusil. Tako sem naredil naslednje: ---- Linux ---- $ cat /etc/modprobe.d/bonding alias bond0 bonding options bond0 mode=0 lacp_rate=0 miimon=100 $ cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.2.3 (December 6, 2007) Bonding Mode: load balancing (round-robin) MII Status: up MII Polling Interval (ms): 0 Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface: eth0 MII Status: up Link Failure Count: 0 Permanent HW addr: 00:10:18:33:6b:3c Slave Interface: eth1 MII Status: up Link Failure Count: 0 Permanent HW addr: 00:1e:4f:e6:5f:c7 ---- SWITCH: - omenjene porte sem odstrail iz VLAN-ov; - po dva in dva zdruzil v t.i. LAG group; - vklopil LACP (ter razne kombinacije - torej tudi brez LACP) na LAG portih; - dodal LAG porte nazaj v pravi VLAN - vse ponovno zagnal Dobil sem delujoco HA konfiguracijo. Tako lahko pozenem neko sejo (npr. scp par GB datoteke), odklopim en kabel iz SWITCH-a in stvar se dela. Zal pa mi *iperf* med dvema taksnima nodoma doseze max. hitrost okoli 120 MB/s, kar doseze tudi med takim in 'navadnim' nodom (tudi, ce uporabim vec threadov). Lokalno (torej iperf server zazenem na zunanjem {ne lo} IP-ju noda) mi izmeri nekaj GB/s, kar bi pricakoval, a test sem naredil, da preverim za kaksne omejitve. Menim, da CPU NE bi smel biti problem (Intel(R) Xeon(R) CPU E5440 @ 2.83GHz). Poizkusil sem tudi nekaj drugih konfiguracij od katerih mi jih dosti tudi ni delalo (morda ne znam nastaviti); vseeno nisem uspel doseci nic boljsega rezultata. Kaksen hint kako to usposobiti? Hvala in lp, Damir
_______________________________________________ lugos-list mailing list lugos-list@lugos.si http://liste2.lugos.si/cgi-bin/mailman/listinfo/lugos-list