<div dir="ltr">Hoj,<br><br>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).<br><br>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).<br>
<br>Najprej drug problem - optimizacija ...<br>Izgleda, da bi mi prav prisla opcija &#39;Jumbo Frames&#39;. To opcijo vklopim na SWITCH-u, nato pa poskusim na Linuxu:<br>----<br><span style="font-family: courier new,monospace;">$ sudo ip link set eth0 mtu 9000</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">RTNETLINK answers: Invalid argument</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">$ dmesg | grep &quot;eth[01]&quot; | grep PCI</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">[&nbsp;&nbsp; 51.511345] eth0: Tigon3 [partno(BCM95721A211F) rev 4201 PHY(5750)] (PCI Express) 10/100/1000Base-T Ethernet 00:10:18:33:6b:3c</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">[&nbsp;&nbsp; 51.551630] eth1: Tigon3 [partno(BCM95754) rev b002 PHY(5787)] (PCI Express) 10/100/1000Base-T Ethernet 00:1e:4f:e6:5f:c7</span><br style="font-family: courier new,monospace;">
----<br>^^^<br>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?<br>
<br><br>Glede LAG-a ...<br>Po precej prebrane dokumentacije sem ugotovil, da seveda obstaja N nacinov kako to usposobiti. Na Linuxu je default nacin <b>balance-rr</b> (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:<br>
---- Linux ----<br><span style="font-family: courier new,monospace;">$ cat /etc/modprobe.d/bonding</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">alias bond0 bonding</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">options bond0 mode=0 lacp_rate=0 miimon=100</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">$ cat /proc/net/bonding/bond0</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">Ethernet Channel Bonding Driver: v3.2.3 (December 6, 2007)</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">Bonding Mode: load balancing (round-robin)</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">MII Status: up</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">MII Polling Interval (ms): 0</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">Up Delay (ms): 0</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">Down Delay (ms): 0</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">Slave Interface: eth0</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">MII Status: up</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">Link Failure Count: 0</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">Permanent HW addr: 00:10:18:33:6b:3c</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">Slave Interface: eth1</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">MII Status: up</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">Link Failure Count: 0</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">Permanent HW addr: 00:1e:4f:e6:5f:c7</span><br>
----<br><br>SWITCH:<br>- omenjene porte sem odstrail iz VLAN-ov;<br>- po dva in dva zdruzil v t.i. LAG group;<br>- vklopil LACP (ter razne kombinacije - torej tudi brez LACP) na LAG portih;<br>- dodal LAG porte nazaj v pravi VLAN<br>
- vse ponovno zagnal<br><br><br>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.<br>Zal pa mi <b>iperf</b> med dvema taksnima nodoma doseze max. hitrost okoli 120 MB/s, kar doseze tudi med takim in &#39;navadnim&#39; 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&nbsp; @ 2.83GHz).<br>
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.<br><br><br>Kaksen hint kako to usposobiti?<br><br><br>Hvala in lp,<br>
Damir<br></div>