sabato, Novembre 23, 2024

Channel bonding: alta affidabilità delle interfacce di rete

Channel bonding, ovvero cosa possiamo fare utilizzando più schede di rete.
Vi siete mai chiesti se sia possibile utilizzare in parallelo delle schede di rete? Avete mai pensato di ridondare una scheda di rete in modo da garantire la massima affidabilità di un servizio? Se vi siete posti queste domande allora forse il Channel bonding (CB) è quello che fa per voi.
Facciamo alcuni esempi di utilizzo pratico del CB.

E’ comune ormai nelle nuove macchine avere due schede di rete integrate magari al giga. Non altrettanto comune invece è avere la possibilità di utilizzare switch con porte al Gb, quindi se si ha la necessità di avere una banda superiore a 100 Mb si può pensare di utilizzare il CB come soluzione a questo problema utilizzando più schede di rete per raggiungere la velocità desiderata verso lo Switch, ad esempio utilizzando due porte di 100Mb possiamo raggiungere la velocità di 200Mb, non male per il nostro file server che è sempre al limite del collasso no?
Altro caso in cui il CB risulta molto utile è quello dell’alta disponibilità di servizio, in un server di solito si usano alimentatori ridondati, sistemi raid per ridondare i dati, ma cosa succede se una interfaccia di rete si guasta? Nel più classico dei casi il server rimane isolato, nel nostro caso, invece, avendo impostato il CB in Fault Tolerance il server passerà alla seconda o se serve alla terza interfaccia di rete ripristinando così in modo automatico il servizio.

Ma scendiamo più nel dettaglio: è possibile utilizzare diverse configurazioni di Channel bonding e di seguito analizzeremo le più diffuse:

(Per catena si intende la serie di schede o interfacce di rete utilizzate per creare il CB)

  • 0: Balance-rr Load Balancing & Fault Tolerance

Con questo sistema i dati vengono trasmessi in sequenza dalla prima all’ultima interfaccia della catena, sistema vecchio e poco performante.

  • 1: Active Backup (Fault Tolerance)

Con questo sistema una sola interfaccia facente parte della catena è attiva, le altre interfacce della catena vengono attivate una dopo l’altra se l’interfaccia che la precede nella catena diviene difettosa, il MAC Address in uscita da ognuna delle interfacce facenti parte della catena è il medesimo quindi lo switch crederà di essere in contatto sempre con la stessa schede di rete.

  • 2: Balance-XOR (Load Balancing & Fault Tolerance)

I dati vengono trasmessi da ogni singola scheda della catena utilizzando i rispettivi MAC Adrress. Anche questo come il Balance-rr è un sistema ormai in disuso.

  • 3: Broadcast (Fault Tolerance)

Trasmette in contemporanea gli stessi dati su tutte le schede della catena. Utile se si vogliono replicare gli stessi dati su più switch diversi.

  • 4: 802.3ad (Load Balancing)

IEE 802.3ad Dynamic link aggregation o Etherchannel. Trasmette e riceve su tutte le schede verso lo stesso switch aggregando la banda delle singole interfacce.
Richiesto supporto ethtool da parte dei drivers delle schede. Supportato solo dagli switch che implementano questo standard (tra cui 3com superstack, Cisco e Nortel).

  • 5: balance-tlb (load Balancing & Fault tolerance)

Il traffico in uscita viene trasmesso distribuendo il carico tra le varie schede della catena. Il traffico in entrata invece viene ricevuto da una singola scheda. Se la scheda fallisce nel ricevere il traffico in entrata, un’altra prende il suo MAC address e la sostituisce nel ricevere. Richiesto il supporto per ethtool nei driver.

  • 6: balance-alb (Load Balancing & Fault Tolerance)

Come balance-tlb, ma supporta il load balancing anche in entrata tramite ARP. Il driver Bonding intercetta il MAC address in entrata e invia le risposte sulle schede in base al carico. Il client viene informato del cambio di scheda tramite un update ARP. Se si sceglie questa modalità, si dovrà passare al modulo il parametro ‘updelay’ con un valore piu’ alto di quello dello switch connesso. Nonostante sia dichiarato come compatibile quanto balance-tlb, da prove pratiche risulta problematico con switch di fascia medio-bassa (in genere, tutti quelli non managed). Richiesto il supporto per ethtool nei driver delle schede.

Un ultimo consiglio per chi usa apparati Cisco, il termine che Cisco usa per definire il CB è Etherchannel, mentre per gli switches Nortel, si parla di DMLT: dynamic multi-link trunking

Articoli correlati

Noleggia una Tesla per il tuo evento ICT!

Categorie