Il modulo kernel di Linux supporta un buon numero di tipi di bonding.
mode= indica la modalità di funzionamento dell'interfaccia virtuale che può essere:
a) 0 = round-robin per il bilanciamento del carico e per il fault tolerance. I pacchetti sono trasmessi alternativamente ed in maniera sequenziale su tutte le interfacce di tipo slave.In altre parole supponendo di avere 3 Slave: eth0, eth1, eth2 che appartengono al Master bond0, il pacchetto numero 1 passa dalla eth0, il 2 dalla eth1, il 3 dalla eth2, il 4 di nuovo dalla eth0 e cosi' via.
b) 1 = active-backup per il fault tolerance. E' attiva solo una slave per volta. La successiva scheda appartenente alla bond0 diventa attiva solo nel caso in cui la slave primaria, attualmenta attiva, perdesse il collegamento. Il MAC address visibile all'esterno e' solo il MAC assegnato alla bond0 (che corrisponde al MAC di una scheda fisica)
c) 2 = active-active XOR (source MAC address XOR'd with destination MAC address) Usando questo metodo l'interfaccia associa l'indirizzo MAC della richiesta in entrata con l'indirizzo MAC per uno dei NIC slave. Una volta fatto ciò tutto il dialogo avviene sullo stesso NIC slave
d) 3 = active-active (Broadcast policy) I pacchetti sono trasmessi su tutte le interfacce di tipo slave aggregate.
e) 4 = IIEEE 802.3ad dynamic link aggregation. Crea gruppi d'aggregazione che condividono la stessa velocità e impostazioni duplex. Trasmette e riceve su tutte le interfacce slave nell'aggregator attivo. Necessita uno switch compatibile con 802.3ad e di un ethtool in grado di stabilire la velocità e le impostazioni per ogni singola scheda salve.
f) 5 = Transmit Load Balancing (TLB). Il traffico in uscita viene distribuito a seconda del carico su ogni interfaccia slave. Il traffico in ingresso viene ricevuto dall'interfaccia slave corrente. Se lo slave ricevente fallisce, un altro al suo posto assume il controllo dell'indirizzo MAC.In questa modalità si ha quindi il load-balancing adattativo (in funzione del traffico) solo in trasmissione.
g) 6 = Adaptive Load Balancing. Bilanciamento del traffico sia in ingresso che in uscita. In ricezione il bilanciamento del carico è garantito da una ARP negotiation. In trasmissione il driver bonding intercetta le risposte ARP inviate dal sistema locale in uscita e sovrascrive l'indirizzo hardware sorgente con l'indirizzo univoco hardware di uno dei membri del bonding in modo tale che diversi peers utilizzino gli indirizzi hardware differenti per il server.In questa modalità si ha quindi il load-balancing adattativo (in funzione del traffico) in entrambe le direzioni.
Configurare l'ethernet bonding su Debian Lenny
In questo esempio creeremo il bonding di due interfacce di rete, eth0 ed eth1.
Installiamo il package ifenslave-2.6 con il seguente comando:
#apt-get install ifenslave-2.6
Assicurariamoci che il modulo kernel sia caricato automaticamente e, quindi, editiamo il file /etc/network/interfaces rendendolo simile a questo:
iface bond0 inet static
address TUOIP
netmask NETMASKTUARETE
network IPRETE
gateway IPGATEWAY
up /sbin/ifenslave bond0 eth0 eth1
down /sbin/ifenslave -d bond0 eth0 eth1
Nello stesso file commenta o elimina le linee che fanno riferimento alle tue reali NICs.
Aggiungi le seguenti linee al tuo /etc/modprobe.d/arch/i386 (ovviamente ricordati di configurare la modalità del bonding di cui necessiti):
alias bond0 bonding
options bonding mode=0 miimon=100 downdelay=200 updelay=200
Riavvia il tuo networking:
#/etc/init.d/networking restart
Nessun commento:
Posta un commento