Come la pubblicità di Maxbon ci ha insegnato, sappiamo che “two is meglio che one” quindi perché avere una sola scheda ethernet all’interno del nostro server se con due possiamo avere un ottima ridondanza di rete e/o un ottimo bilanciamento del carico? Vediamo di mettere sù un ethernet bonding, un sistema che la ho lo scopo di unire due flussi ethernet al fine di formare un unico canale.

Prima di procedere all’installazione del software necessario, vediamo le modalità operative del channel bonding:

  • mode=0 (balance-rr): avviene il round-robin tra le due interfacce. I pacchetti vengono trasmessi attraverso la scheda di rete scarica e se una delle due va ko viene usata solo la scheda di rete funzionanete. Questa  modalità fornisce sia il load balance e sia il fault tolerance e non prevede switch di rete con particolari funzionalità.
  • mode=1 (active-backup): una sola schede di rete viene usata se questa si rompe il MAC address viene associato all’altra funzionante (di backup) e quindi il flusso di rete viene garantito. Questa modalità fornisce un sistema di fault tolerance e non è necessario uno switch che abbia funzionalità avanzate.
  • mode=2 (balance-xor): il traffico di rete viene inoltrato sulla scheda in base a questa regola di XOR: ((source MAC) XOR (dest MAC)).  Questa modalità garantisce load balancefault tolerance e non necessità di particolati switch.
  • mode=3 (broadcast): vengono usate entrambe le interfacce per trasmettere e ricevere. Il fault tolerance è garantito senza switch preposti.
  • mode=4 (802.3ad): è una modalità si supporto allo standard IEEE 802.3ad Dynamic link aggregation, per questa modalità è necessario uno switch che supporti lo standard 802.3ad.
  • mode=5 (balance-tlb): Adaptive Transmit Load Balancing. Il traffico in entrata è ricevuto solo sullo slave attivo, il traffico in uscita viene distribuito a seconda del carico su ogni slave. Non necessità di particolai switch.
  • mode=5 (balance-alb): Adaptive Load Balancing. Fornisce bilanciamento del carico sia in ricezione che in trasmissione. Non necessità di switch particolari ma richiede la capacità di cambiare l’indirizzo MAC del dispisitivo di rete senza che questo interrompa il traffico.

Procediamo con l’installazione di ciò che occore sul nostro sistema Debian Lenny:

apt-get install ifenslave-2.6

Adesso configuraziomo il networking tramite il file /etc/network/interfaces, supponendo che eth0 ed eth1 siano le schede ethernet presenti sulla nostra debian box:

iface bond0 inet static
address <indirizzo_ip>
netmask <subnetmask>
network <indirizzo_di_rete>
gateway <ip_del_gateway>
bond_mode <modalita_di_bonding_preferita>
bond_miimon 100
bond_downdelay 200
bond_updelay 200
slaves eth0 eth1

Io vi consiglio o la modalità balance-rr o la active-backup.

E’ importante commentare o cancellare i riferimenti alla schede di rete reali.

Fatto questo riavviamo il sistema di networking con:
/etc/init.d/networking restart

Maggiori informazioni e dettagli li potete trovare qui:

http://www.linuxhorizon.ro/bonding.html