Newsgroup: it.comp.reti.ip-admin
Titolo: Configurazione bonding - linux + switch Dell

Salve a tutti,
ho bisogno di un aiuto sulla configurazione di un bonding.
 
La configurazione è, semplificando (spero non troppo):
 
2x Server con 2 schede Broadcom 5720
2x Switch Powerconnect 5548 interconnessi con apposito cavo HDMI doppio
 
-Configurazione sullo switch:
================
Link Aggregation Group 1 -> porta 1 su switch1 + porta 1 su switch2
Link Aggregation Group 2 -> porta 2 su switch1 + porta 2 su switch2
Su entrambi i LAG abilitato il LACP
================
 
 
-Configurazione sui server:
================
auto em1
iface em1 inet manual
         bond-master bond0
 
auto p2p1
iface p2p1 inet manual
         bond-master bond0
 
auto bond0
iface bond0 inet static
         address 172.16.0.221
         netmask 255.255.255.0
         network 172.16.0.0
         broadcast 172.16.0.255
         bond-mode 0
         #bond-mode 0 -> balance-rr
         bond-slaves none
         bond-miimon 100
         bond-downdelay 200
         bond-updelay 200
=================
equivalentemente sull'altro server con ip 172.16.0.222
 
 
-Cablaggi:
================
Server1 connesso con 2 cavi (em1 e p2p1) a LAG1 (port1 su sw1 e sw2)
Server2 connesso con 2 cavi (em1 e p2p1) a LAG1 (port2 su sw1 e sw2)
================
 
-Verifica configurazione:
================
# cat /sys/class/net/bond0/bonding/mode
balance-rr 0
 
Ping tra i server verificato.
================
 
 
-Vengo quindi al problema. Se faccio:
 
st101-int:~# iperf -c 172.16.0.222 -i1 -t 100
------------------------------------------------------------
Client connecting to 172.16.0.222, TCP port 5001
TCP window size: 22.9 KByte (default)
------------------------------------------------------------
[  3] local 172.16.0.221 port 48374 connected with 172.16.0.222 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 1.0 sec   113 MBytes   947 Mbits/sec
[  3]  1.0- 2.0 sec   112 MBytes   941 Mbits/sec
[  3]  2.0- 3.0 sec   112 MBytes   943 Mbits/sec
[  3]  3.0- 4.0 sec   112 MBytes   942 Mbits/sec
[  3]  4.0- 5.0 sec   112 MBytes   941 Mbits/sec
 
perchè mi fa 1 Gbit/sec invece dei 2 Gbit/sec che mi aspettavo?
 
Nota1:
La fault tollerance funziona: staccando un cavo o l'altro, il tutto 
continua ad andare, a meno di qualche pacchetto perso e un po' di
delay iniziale, immagino dato dalla riconfigurazione delle rotte
nello switch
 
nota2:
Ho provato anche a mettere bond-mode 0 (balance-alb) ma nulla pare cambiare.
 
Qualcuno ha idea del perchè non vada a 2 Gbit/sec?
 
Grazie!
 
-- 
Gerolamo

 Su entrambi i LAG abilitato il LACP
 
Al volo, se hai LACP abilitato (802.3ad) mi risulta che tu debba 
impostare bond-mode 4. I log dello switch e dei server che ti dicono?
 
Inoltre, ma vado a memoria, la singola sessione dovrebbe usare un solo 
link, da qui il risultato del test. Sarebbe piï¿œ utile un test che apre 
piï¿œ sessioni su destinazioni differenti
 
-- 
Bye
Gianfranco Bartolini
(gianfranco punto bartolini at tiscali punto it)

 più sessioni su destinazioni differenti
 
A scanso di equivoci ho fatto una prova con bond-mode 4 con 2 
connessioni client
 
# cat /sys/class/net/bond0/bonding/mode
802.3ad 4
 
~# iperf -c 172.16.0.222 -i5 -t 100 -P2
------------------------------------------------------------
Client connecting to 172.16.0.222, TCP port 5001
TCP window size: 22.9 KByte (default)
------------------------------------------------------------
[  4] local 172.16.0.221 port 48825 connected with 172.16.0.222 port 5001
[  3] local 172.16.0.221 port 48824 connected with 172.16.0.222 port 5001
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0- 5.0 sec   281 MBytes   471 Mbits/sec
[  3]  0.0- 5.0 sec   281 MBytes   472 Mbits/sec
[SUM]  0.0- 5.0 sec   562 MBytes   944 Mbits/sec
[  4]  5.0-10.0 sec   281 MBytes   471 Mbits/sec
[  3]  5.0-10.0 sec   280 MBytes   471 Mbits/sec
[SUM]  5.0-10.0 sec   561 MBytes   942 Mbits/sec
[  4] 10.0-15.0 sec   281 MBytes   471 Mbits/sec
[  3] 10.0-15.0 sec   281 MBytes   471 Mbits/sec
[SUM] 10.0-15.0 sec   561 MBytes   942 Mbits/sec
 
 
Purtroppo mi pare che non cambi nulla :(
 
-- 
Gerolamo


 
 
Forse ho trovato un indizio aggiuntivo:
guardando con l'atop mentre fa il test ho:
 
NET |  p2p1     98%  | pcki  162573  |  pcko  812774  |  si 9107 Kbps | 
  so  986 Mbps  |  erri       0  |  erro       0 |  drpo       0  |
NET |  em1       0%  | pcki      63  |  pcko      93  |  si    5 Kbps | 
  so   61 Kbps  |  erri       0  |  erro       0 |  drpo       0  |
 
In pratica sta ignorando il bond mode 4 ed esce tutto da una scheda sola
 
-- 
Gerolamo
 

 capito...
 
No: il protocollo ieee802.3ad prevede il failover.
 
Ciao
Luca
 
 

 Qualcuno ha idea del perchè non vada a 2 Gbit/sec?
 
Il bonding non ti permette di aumentare la velocità della singola connessione,
semplicemente ti aumenta la capacità aggregata (oltre al failover), quindi potrai gestire il doppio di connessioni (ad esempio 2 connessioni ad 1gbit ciascuna), ma non una singola connessione da 2Gbit.
 
AFAIK, solo PAgP Cisco riesce a fare un singolo canale da 2Gbit/s

 Su entrambi i LAG abilitato il LACP
 
Staticizzalo sia sul server che sullo switch e non usare LACP.
E' l'unico modo in cui son riuscito a configurare il bonding tra un server ed uno switch DELL.
 
E' in piedi da mesi e funziona bene.


Ok, grazie. Domani ci provo e vediamo che succede.
 
-- 
Gerolamo


Niente, non ne vengo a capo.
Adesso ho provato con tre server:in uno in ascolto su due porte
dagli altri due in scrittura su quelle porte.
 
Ho provato sia in bond mode 0, disabilitando LACP sulle porte,
dello switch che bond mode 4, riabilitando il LACP.
 
Il risultato è il medesimo, ovvero che uno dei due server
scriventi si prende quasi tutto un gigabit/sec e l'altro si
prende le briciole rimanenti, fino a che non fermo il primo.
 
La connessione passa su una sola delle due interfaccie, ma,
se stacco il cavo dell'interfaccia usata a metà test, la
comunicazione passa sull'altra senza perdere un colpo.
 
A questo punto mi viene da sospettare anche del sistema di test.
Avete altri modi da suggerire diversi dall'iperf?
 
-- 
Gerolamo

 comunicazione passa sull'altra senza perdere un colpo.
 
Verifica lo stato dello spanning tree su entrambi gli switch e che i due 
link siano entrambi in forward. Devi essere sicuro che gli switch 
supportino l'aggregation inter-switch altrimenti non funzionerà mai.
Prova per sicurezza a creare un lag lacp di due link sullo stesso switch 
e vedi se cambia qualcosa.


 e vedi se cambia qualcosa.
 
Questa è una prova interessante. Provo.
 
Grazie.
 
-- 
Gerolamo