GNU/Linux >> Linux Esercitazione >  >> Linux

Come configurare Linux Etherchannel Bonding per l'interfaccia di rete HA

In Linux, usando il bonding etherchannel puoi combinare due o più interfacce di rete fisiche (NIC) insieme per creare un'interfaccia virtuale.

L'indirizzo IP verrà configurato su questa interfaccia virtuale. Se uno degli adattatori fisici sottostanti si interrompe, l'altro adattatore fisico viene utilizzato per gestire il traffico di comunicazione.

Di seguito sono riportati diversi tipi di modalità di legame etherchannel:

  • Modalità 0 – Criterio Round-robin (RR):le trasmissioni di pacchetti vengono eseguite in ordine sequenziale. Ad esempio, il primo pacchetto viene trasmesso utilizzando l'interfaccia e il secondo pacchetto viene eseguito tramite l'interfaccia successiva e così via. Questa modalità fornisce bilanciamento del carico e tolleranza agli errori.
  • Modalità 1 – criterio di backup attivo:la trasmissione dei pacchetti avviene solo attraverso l'interfaccia attiva e il traffico viene instradato attraverso l'interfaccia di backup solo quando l'interfaccia attiva si è interrotta.
  • Modalità 2 – Politica XOR:questa modalità bilancia il traffico in uscita attraverso le porte attive. In questa modalità viene utilizzato lo stesso slave per la trasmissione per ogni indirizzo MAC di destinazione. Ciò fornisce bilanciamento del carico e tolleranza agli errori.
  • Modalità 3 – politica di trasmissione:trasmette tutto su tutte le interfacce slave. Questa modalità fornisce la tolleranza agli errori.
  • Modalità 4( 802.3ad ):questa modalità viene utilizzata per creare gruppi di aggregazione di collegamenti che condividono le stesse impostazioni di velocità e duplex.
  • Modalità 5( balance-tlb ):bilanciamento del carico di trasmissione adattivo. Il traffico in uscita viene distribuito in base al carico attuale su ogni slave. Il traffico in entrata viene ricevuto dallo slave corrente. Se lo slave corrente si guasta, un altro slave assume il traffico in entrata in base all'indirizzo MAC.
  • Modalità 6( balance-alb ):bilanciamento del carico adattivo. In questo, il traffico in entrata viene gestito per utilizzare il bilanciamento del carico su tutti gli slave. Il bilanciamento del carico in ricezione avviene tramite la negoziazione ARP.

Configura Bonding in Redhat o CentOS

1. Crea file ifcfg-bond0

Tutti gli script di configurazione di rete si trovano in /etc/sysconfig/network-scripts in RHEL. Verifica lo stato dei link delle interfacce utilizzando il comando “ethtool ”

Crea un file ifcfg-bond0 con i valori seguenti e sostituiscilo con IP corretto, NETMASK e la modalità di collegamento appropriata ( modalità 0, 1 ,2 ...) come di seguito.

# cd /etc/sysconfig/network-scripts

# vi ifcfg-bond0
DEVICE=bond0
IPADDR=19.86.101.120
NETMASK=255.255.255.0
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
BONDING_OPTS="mode=1 miimon=100"

2. Modifica i file ifcfg-eth0 e ifcfg-eth1

Modifica i file dell'interfaccia di rete per eth0 ed eth1 in modo che riflettano voci simili alle seguenti. Assicurati di avere i parametri MASTER e SLAVE definiti come mostrato di seguito.

# cat ifcfg-eth0
DEVICE=eth0
HWADDR=00:50:56:8E:0C:10
MASTER=bond0
SLAVE=yes
ONBOOT=yes
USERCTL=no
BOOTPROTO=none

# cat ifcfg-eth1
DEVICE=eth1
HWADDR=00:50:56:8E:0C:2A
MASTER=bond0
SLAVE=yes
ONBOOT=yes
USERCTL=no
BOOTPROTO=none

3. Crea il file bonding.conf

Crea il file bonding.conf con il seguente contenuto.

# vi /etc/modprobe.d/bonding.conf
alias netdev-bond0 bonding

4. Riavvia il servizio di rete e verifica il collegamento

Riavvia i servizi di rete:

service network restart

Verificare lo stato dell'incollaggio come mostrato di seguito.

Quanto segue indica che la modalità di collegamento corrente è a tolleranza di errore.

# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth0
MII Status: up
Speed: 10000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:50:56:8e:0c:10
Slave queue ID: 0

Slave Interface: eth1
MII Status: up
Speed: 10000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:50:56:8e:0c:2a
Slave queue ID: 0

Puoi eseguire il test abbassando un'interfaccia, vedendo che l'altra sarà attiva e viceversa.

Configurazione di Bonding su SuSE Linux

Per configurare il bonding sull'ultima versione di SuSE, puoi utilizzare YaST o in alternativa puoi modificare i file di sistema come mostrato di seguito:

Verifica le interfacce attive utilizzando il seguente comando:

ethtool  eth0 | egrep "Speed|Duplex|Link"

Se lo stato di velocità, duplex e collegamento è sconosciuto, l'interfaccia potrebbe essere in stato di inattività. Prova a far apparire l'interfaccia usando "ifconfig up". Se ancora non vedi il link, l'interfaccia non è collegata allo switch.

1. Crea file ifcfg-bond0

Accedi alla macchina utilizzando la console. Crea ifcfg-bond0 in /etc/sysconfig/network e definisci l'indirizzo IP e le interfacce slave che possono essere utilizzate.

Nell'esempio seguente, ho utilizzato la modalità di backup attivo per il collegamento, il che significa che solo le interfacce attive gestiscono il traffico di comunicazione e l'errore in cui l'interfaccia di backup inizia a funzionare.

# cd /etc/sysconfig/network

# cat ifcfg-bond0
BONDING_MASTER=yes
BONDING_MODULE_OPTS='mode=active-backup miimon=100'
BONDING_SLAVE0='eth0'
BONDING_SLAVE1='eth1'
BOOTPROTO='static'
IPADDR='192.168.1.85/24'
BROADCAST=''
STARTMODE='auto'

2. Modifica i file ifcfg-eth0 e ifcfg-eth1

Modificare le interfacce slave in modo che non disponga dell'indirizzo IP, Netmask. L'output dovrebbe essere simile al seguente:

# cat ifcfg-eth0
DEVICE='eth0'
BOOTPROTO='none'
STARTMODE='onboot'
NAME='82545EM Gigabit Ethernet Controller (Copper)'

# cat ifcfg-eth1
DEVICE='eth1'
BOOTPROTO='none'
STARTMODE='onboot'
NAME='82545EM Gigabit Ethernet Controller (Copper)'

3. Modifica il file modprobe.conf

Modifica il file /etc/modprobe.conf e aggiungi le 2 righe seguenti per includere il driver di collegamento con le opzioni.

alias bond0 bonding
options bond0 miimon=100 mode=1

Nota:puoi scegliere di ignorare le opzioni se le hai già incluse nel file /etc/sysconfig/network/ifcfg-bond0.

4. Riavvia il servizio di rete e verifica il collegamento

Dopo aver impostato il bonding, riavvia il servizio di rete:

rcnetwork restart

Verificare che l'interfaccia di collegamento sia attiva e che l'ip sia configurato correttamente. Assicurati inoltre di essere in grado di connettere il server utilizzando l'indirizzo IP.

# ifconfig bond0
bond0     Link encap:Ethernet  HWaddr 00:50:56:8E:00:26
          inet addr:192.168.1.85  Bcast:192.168.1.1  Mask:255.255.255.0
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:28420409 errors:0 dropped:0 overruns:0 frame:0
          TX packets:151985 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:2362560309 (2253.1 Mb)  TX bytes:17330542 (16.5 Mb)

Per verificare che l'interfaccia di collegamento funzioni correttamente, accedi alla console e abbassa l'interfaccia attiva usando "ifconfig eth0 down". Verifica che sarai ancora in grado di accedere alla macchina utilizzando lo stesso IP o nome host. Puoi verificare lo stato dell'interfaccia attiva nel file sottostante,

Come mostrato di seguito, l'eth0 è inattivo, ma la connettività di rete alla macchina non è ancora persa, poiché abbiamo impostato il collegamento e l'interfaccia eth1 è ancora attiva.

# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.5.0 (November 4, 2008)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth1
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth0
MII Status: down
Link Failure Count: 1
Permanent HW addr: 00:50:56:8e:00:26

Slave Interface: eth1
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:50:56:8e:7e:20

Linux
  1. Come configurare un indirizzo IP statico su Debian Linux

  2. Come configurare il failover e il legame di rete ad alta disponibilità su Linux

  3. Linux:come annullare la condivisione della rete per il processo corrente?

  4. Come configurare il Network Bonding Ubuntu 20.04

  5. Come posso cancellare le statistiche dell'interfaccia su Linux

Come condividere la stampante in rete in Linux

Come impostare l'autenticazione a più fattori per SSH in Linux

3 modi per configurare un'interfaccia di rete in Linux

Utilizzo di ifstat per le statistiche di rete Linux

Come impostare il legame di rete in Ubuntu 20.04

Come aggiungere route su Linux