L'articolo seguente fornisce informazioni sul teaming della scheda di interfaccia di rete in Windows, VMware e Linux.
Teaming della scheda di rete è un termine utilizzato per descrivere vari metodi di combinazione di più connessioni di rete per aumentare il throughput o fornire ridondanza. Teaming della scheda di interfaccia di rete (NIC) e del teaming della LAN sulla scheda madre (LOM). Può fornire alle organizzazioni un metodo a costi contenuti per migliorare in modo rapido e semplice l'affidabilità e il throughput della rete.
Il teaming della scheda di interfaccia di rete (NIC) è un metodo per fornire high availability e tolleranza di errore nei server.
Di seguito è riportato un esempio di server Web con due schede di rete, ciascuna con una connessione uplink e una downlink.
Una delle due schede di rete si guasta o viene disconnessa, ma la connessione al computer del client rimane connessa.
Figura 1: La scheda di rete che teaming due schede di rete si guasta, ma la connessione a Internet rimane attiva.
Di seguito sono riportati i quattro principali tipi di gruppi di rete:
Smart Load Balancing (SLB) e Failover: Questo tipo di team bilancia il traffico di rete su tutte le schede primarie. Se una scheda principale non funziona, le rimanenti schede principali continueranno a bilanciare il carico. Se tutte le schede principali non funzionano correttamente, il traffico continuerà a fluire utilizzando la scheda di standby senza alcuna interruzione. Una volta riportata online una scheda primaria, il traffico riprende a fluire attraverso di essa.
SLB con disattivazione automatica del fallback: Questo tipo di team funziona come in precedenza, ma il traffico non torna automaticamente alla scheda primaria una volta tornata online.
IEEE 802.3ad Dynamic Link Aggregation: Noto anche come Link Aggregation Control Protocol (LACP) o IEEE 802.1ax. Questo tipo di team fornisce un throughput maggiore raggruppando più link fisici in un link logico la cui larghezza di banda effettiva è pari alla somma di quella dei link fisici. Questo tipo di team richiede che l'alimentazione all'altra estremità della connessione supporti LACP. Lo switch deve essere configurato correttamente affinché il team funzioni correttamente.
Trunking generico: Noto anche come aggregazione statica dei collegamenti, questo tipo di team fornisce lo stesso tipo di funzionalità di raggruppamento di IEEE 802.3ad/802.1ax ma non utilizza LACP. Non è necessario che lo switch supporti il protocollo LACP, ma deve essere configurato correttamente affinché questo tipo di gruppo funzioni.
Per creare un gruppo di schede di rete:
In Server Manager, cliccare su Server locale.
Nel riquadro Properties individuare NIC Teaming e quindi cliccare sul link Disabled a destra. Viene visualizzata la finestra di dialogo NIC Teaming.
Finestra
di dialogo NIC TeamingFigura 2: Finestra di dialogo NIC Teaming di Windows
In Schede e interfacce, selezionare le schede di rete che si desidera aggiungere a un gruppo NIC.
Cliccare su ATTIVITÀ, quindi su Aggiungi a nuovo team.
Figura 3: Gli adattatori e le interfacce Windows vengono aggiunti a un nuovo team.
Viene visualizzata la finestra di dialogo New team, che mostra le schede di rete e i membri del team. In Nome gruppo, digitare un nome per il nuovo Gruppo NIC.
Figura 4: Windows: creare una scheda di rete selezionando le schede e creare un nome di team.
Se necessario, espandere Proprietà aggiuntive, selezionare i valori per Modalità teaming, Modalità di bilanciamento del carico e Adattatore standby. In genere, la modalità di bilanciamento del carico con le prestazioni più elevate è Dynamic.
Figura 5: Proprietà dell'aggiunta di team scheda di rete Windows
Se si desidera configurare o assegnare un numero VLAN al team della scheda di rete, cliccare sul link a destra dell'interfaccia del team principale. Viene visualizzata la finestra di dialogo New team interface.
Figura 6: Appartenenza alla VLAN predefinita di Windows
Per configurare Appartenenza VLAN, cliccare su VLAN specifica. Digitare le informazioni sulla VLAN nella prima sezione della finestra di dialogo.
Figura 7: Appartenenza a VLAN specifica di Windows
Cliccare su OK.
Se è necessario configurare il teaming della scheda di rete in un host Hyper-V, consultare l'articolo Microsoft Creazione di un nuovo team scheda di rete in un computer host
Istruzioni PowerShell
Creazione del gruppo di rete con PowerShell
Aprire un prompt di PowerShell con privilegi elevati. Nella ricerca di Windows® 10 sulla barra delle applicazioni, digitare PowerShell. Premere i tasti W e S per aprire Search.
A questo punto dovrebbe essere visualizzato il risultato di Windows PowerShell in alto. Cliccare con il pulsante destro del mouse su Windows PowerShell e scegliere Esegui come amministratore.
Figura 8: Menu Start di Windows PowerShell Esegui come amministratore
Se viene visualizzato il prompt Controllo dell'account utente , fare clic su Sì.
Immettere il comando new-NetLBFOTeam [TEAMNAME] "[NIC1]", "[NIC2]"
e premere il tasto Invio .
Figura 8: Comando PowerShell
Esempio
new-NetLBFOTeam NIC-Team "NIC1" , "NIC2"
Aprire Connessioni di rete accedendo a Rete del Pannello > di controllo e Connessioni di rete Internet > .
VMware vSphere
Un team NIC può condividere un carico di traffico tra reti fisiche e virtuali. Tra alcuni o tutti i suoi membri e fornire un failover passivo in caso di guasto dell'hardware o interruzione dell'alimentazione di rete.
Fare riferimento all'articolo della KB di VMware per la procedura dettagliata su come configurare il teaming delle schede di interfaccia di rete su VMware selezionando la versione ESXi in alto a destra.
Configurare il teaming, il failover e il bilanciamento del carico delle schede di rete su uno switch o un gruppo di porte standard vSphere.
Riferimento: NIC teaming in ESXi and ESX (1004088)
Linux consente agli amministratori di associare più interfacce di rete in un singolo canale utilizzando il modulo del kernel di bonding e un'interfaccia di rete speciale denominata channel bonding interface. Il channel bonding consente a due o più interfacce di rete di agire come se fossero un'unica interfaccia, aumentando contemporaneamente la larghezza di banda e fornendo ridondanza. Avvertenza: l'utilizzo di connessioni dirette tramite cavo senza switch di rete non è supportato per il bonding. I meccanismi di failover qui descritti non funzionano come previsto senza la presenza di switch di rete.
Le modalità active-backup, balance-TLB e balance-alb non richiedono alcuna configurazione specifica dello switch. Altre modalità di bonding richiedono la configurazione dello switch per l'aggregazione dei link. Ad esempio, uno switch Cisco richiede EtherChannel per le modalità 0, 2 e 3, ma per la modalità 4 sono richiesti LACP ed EtherChannel. Consultare la documentazione fornita con lo switch e il file bonding.txt nel pacchetto kernel-doc.
Verificare che il modulo Bonding Kernel Module sia installato.
In Red Hat Enterprise Linux 6, il modulo di bonding non viene caricato per impostazione predefinita. È possibile caricarlo inviando il seguente comando come root:
~]# modprobe --first-time bonding
Nessun output visivo indica che il modulo non era in esecuzione ed è stato caricato. L'attivazione non viene mantenuta dopo il riavvio del sistema. Vedere Sezione 31.7, «Caricamento persistente del modulo» per una spiegazione del caricamento persistente del modulo. Con un file di configurazione corretto che utilizza la direttiva BONDING_OPTS, il modulo di bonding viene caricato come richiesto e quindi non deve essere caricato separatamente. Per visualizzare le informazioni relative al modulo, inviare il seguente comando:
~]$ modinfo bonding
Utilizzo dei moduli kernel per informazioni sul caricamento e lo scaricamento dei moduli Creazione di un'interfaccia
di channel bonding Per creare un'interfaccia di channel bonding, creare un file nella finestra di dialogo /etc/sysconfig/network-scripts/
chiamata ifcfg-bondN, sostituendo N con il numero dell'interfaccia, ad esempio 0.
Il contenuto del file può essere identico a quello di qualsiasi tipo di interfaccia collegata, ad esempio un'interfaccia Ethernet. L'unica differenza è che la direttiva DEVICE è bondN, sostituendo N con il numero dell'interfaccia. È possibile aggiungere la direttiva NM_CONTROLLED per impedire a NetworkManager di configurare questo dispositivo.
Esempio di file di configurazione dell'interfaccia ifcfg-bond0
Di seguito è riportato un esempio di file di configurazione dell'interfaccia channel bonding:
DEVICE=bond0 IPADDR=192.168.1.1 NETMASK=255.255.255.0 ONBOOT=yes BOOTPROTO=none USERCTL=no NM_CONTROLLED=no BONDING_OPTS="bonding parameters separated by spaces"
L'indirizzo MAC del collegamento viene ricavato dalla prima interfaccia da aggiungere alla rete. Se necessario, può anche essere specificato tramite la direttiva HWADDR. Se si desidera che NetworkManager controlli questa interfaccia, rimuovere la direttiva NM_CONTROLLED=no, o impostarla su yes, e aggiungere TYPE=Bond e BONDING_MASTER=yes.
Dopo aver creato l'interfaccia di channel bonding, le interfacce di rete da associare devono essere configurate aggiungendo le direttive MASTER e SLAVE ai relativi file di configurazione. I file di configurazione per ciascuna delle interfacce channel-bonded possono essere quasi identici.
Esempio di file di configurazione dell'interfaccia collegata ifcfg-ethX
Se due interfacce Ethernet vengono incanalate tramite collegamento, eth0 ed eth1 possono essere entrambi i seguenti:
DEVICE=ethX BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes USERCTL=no NM_CONTROLLED=no
Una volta configurate le interfacce, riavviare il servizio di rete per attivare il bonding. Come root, inviare il seguente comando:
~]# service network restart
Per visualizzare lo stato di un bond, visualizzare il file /proc/ inviando un comando nel seguente formato:
cat /proc/net/bonding/bondN
Ad esempio:
~]$ cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009) Bonding Mode: load balancing (round-robin) MII Status: down MII Polling Interval (ms): 0 Up Delay (ms): 0 Down Delay (ms): 0
Importante: in Red Hat Enterprise Linux 6, i parametri specifici dell'interfaccia per il modulo del kernel bonding devono essere specificati come elenco separato da spazi nella direttiva BONDING_OPTS="bonding parameters" nel file di interfaccia ifcfg-bondN. Non specificare opzioni specifiche per un collegamento in /etc/modprobe.d/bonding.conf
o nel file obsoleto /etc/modprobe.conf. Il parametro max_bonds non è specifico per l'interfaccia e pertanto, se necessario, deve essere specificato in /etc/modprobe.d/bonding.conf
come segue:
options bonding max_bonds=1
Tuttavia, il parametro max_bonds non deve essere impostato quando si utilizzano file ifcfg-bondN con la direttiva BONDING_OPTS, in quanto questa direttiva fa sì che gli script di rete creino le interfacce di collegamento come richiesto.
Eventuali modifiche apportate a /etc/modprobe.d/bonding.conf non hanno effetto fino al successivo caricamento del modulo. Un modulo in esecuzione deve prima essere scaricato.
Creazione di più collegamenti
In Red Hat Enterprise Linux 6, per ogni bond viene creata un'interfaccia di bonding del canale che include la direttiva BONDING_OPTS. Questo metodo di configurazione consente a più dispositivi di bonding di avere configurazioni diverse. Per creare più interfacce di channel bonding, procedere come segue:Creare
più file ifcfg-bondN con la direttiva BONDING_OPTS; questa direttiva fa sì che gli script di rete creino le interfacce di bond come richiesto.
Creare o modificare i file di configurazione dell'interfaccia esistenti da collegare e includere la direttiva SLAVE.
Assegnare le interfacce da collegare, le interfacce slave, alle interfacce di channel bonding tramite la direttiva MASTER.
Esempio di più file
di configurazione dell'interfaccia ifcfg-bondN Di seguito è riportato un esempio di file di configurazione di un'interfaccia di bonding dei canali:
DEVICE=bond N IPADDR=192.168.1.1 NETMASK=255.255.255.0 ONBOOT=yes BOOTPROTO=none USERCTL=no NM_CONTROLLED=no vBONDING_OPTS="bonding parameters separated by spaces"
In questo esempio, sostituire N con il numero dell'interfaccia bond. Ad esempio, per creare due collegamenti, creare due file di configurazione, ifcfg-bond0 e ifcfg-bond1.
Creare le interfacce da collegare come indicato nel file di configurazione dell'interfaccia collegata ifcfg-ethX di esempio e assegnarle alle interfacce di collegamento come richiesto utilizzando la direttiva MASTER=bondN. Ad esempio, continuando l'esempio precedente, se sono richieste due interfacce per bond, per due bond creare quattro file di configurazione di interfaccia e assegnare le prime due utilizzando MASTER=bond0 e le due successive utilizzando MASTER=bond1.
Riferimento: Interfacce di collegamento canale Linux