Sto vedendo alcuni comportamenti confusi riguardo alle interfacce legate su Linux e mi piacerebbe gettare la situazione là fuori nella speranza che qualcuno possa chiarirmi.
Ho due server: il Server 1 (S1) ha 4 connessioni Ethernet da 1 Gbit; Il server 2 (S2) ha 2 connessioni Ethernet da 1 Gbit. Entrambi i server eseguono Ubuntu 12.04, anche se con il kernel 3.11.0-15 (dal pacchetto lts-saucy linux-generic).
Entrambi i server hanno tutte le rispettive interfacce di rete raggruppate in un'unica interfaccia bond0 con la seguente configurazione (in /etc/network/interfaces
):
bond-mode 802.3ad
bond-miimon 100
bond-lacp-rate fast
bond-slaves eth0 eth1 [eth2 eth3]
Tra i server ci sono un paio di switch HP che sono (credo) correttamente configurati per LACP sulle porte in questione.
Ora il collegamento funziona: il traffico di rete scorre felicemente da e verso entrambe le macchine. E vengono utilizzate tutte le rispettive interfacce, quindi non è come se l'aggregazione fallisse completamente. Tuttavia, ho bisogno della massima larghezza di banda possibile tra questi due server e non ottengo i ~ 2Gbit / s che mi aspetterei.
Nei miei test, posso osservare che ogni server sembra allocare ogni connessione TCP (ad esempio iperf, scp, nfs, qualunque cosa) a una singola interfaccia slave. In sostanza tutto sembra limitato a un massimo di 1 gigabit.
Impostando bond-xmit-hash-policy layer3+4
, posso usare iperf -c S1 -P2
per inviare su due interfacce slave, ma sul lato server, la ricezione si verifica ancora solo su un'interfaccia slave e il throughput totale è quindi limitato a 1 Gbit / s, ovvero il client mostra ~ 40-50MB / s su due interfacce slave, il server mostra ~ 100 MB / s su un'unica interfaccia slave. Senza impostare bond-xmit-hash-policy
l'invio è anche limitato a un'interfaccia slave.
Avevo l'impressione che LACP dovesse consentire questo tipo di raggruppamento di connessioni, consentendo, ad esempio, un singolo trasferimento scp per utilizzare tutte le interfacce disponibili tra i due host.
La mia comprensione di LACP è sbagliata? O ho perso alcune opzioni di configurazione da qualche parte? Eventuali suggerimenti o indizi per le indagini sarebbero molto apprezzati!