GNU/Linux >> Linux Esercitazione >  >> Linux

Nozioni di base sul legame Ethernet in Linux

Introduzione

Il driver di collegamento Linux fornisce un metodo per aggregare più interfacce di rete in un'unica interfaccia logica "legata". Il comportamento delle interfacce legate dipende dalla modalità; in generale, le modalità forniscono servizi di hot standby o di bilanciamento del carico. Inoltre, è possibile eseguire il monitoraggio dell'integrità del collegamento.

L'ultima versione del driver di collegamento può essere trovata nell'ultima versione del kernel Linux, che si trova su http://kernel.org. L'ultima versione e il documento completo possono essere trovati nell'ultimo sorgente del kernel (denominato Documentation/networking/bonding.txt) o sul sito di bonding sourceforge http://www.sourceforge.net/projects/bonding

Configurazione

In Enterprise Linux il sistema non carica automaticamente il driver della scheda di rete a meno che il dispositivo ethX non sia configurato con un indirizzo IP. A causa di questo vincolo, gli utenti devono configurare manualmente un file di script di rete per tutti gli adattatori fisici che saranno membri di un collegamento bondX. I file di script di rete si trovano nella directory:

/etc/sysconfig/network-scripts

Il nome del file deve essere preceduto da "ifcfg-eth ” e suffisso con il numero dell'adattatore fisico dell'adattatore. Ad esempio, lo script per eth0 sarebbe chiamato /etc/sysconfig/network-scripts/ifcfg-eth0 . Inserisci il seguente testo nel file:

# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none

Il "DEVICE= La riga " sarà diversa per ogni dispositivo ethX e deve corrispondere al nome del file, ovvero ifcfg-eth1 deve avere una riga del dispositivo "DEVICE=eth1". L'impostazione di “MASTER= ” dipenderà anche dal nome dell'interfaccia di legame finale scelto per il tuo legame. Come con altri dispositivi di rete, questi in genere iniziano da 0 e salgono di uno per ogni dispositivo, ovvero la prima istanza di collegamento è bond0, la seconda è bond1 e così via.

Quindi, crea uno script di rete di legame. Il nome del file per questo script sarà /etc/sysconfig/network-scripts/ifcfg-bondX dove X è il numero del legame. Per bond0 il file si chiama “ifcfg-bond0”, per bond1 si chiama “ifcfg-bond1”, e così via. All'interno di quel file, inserisci il seguente testo:

# vi /etc/sysconfig/network-scripts/ifcfg-bondX
DEVICE=bond0
IPADDR=192.168.1.1
NETMASK=255.255.255.0
NETWORK=192.168.1.0
BROADCAST=192.168.1.255
ONBOOT=yes
BOOTPROTO=none
USERCTL=no

Assicurati di modificare le linee specifiche di rete (IPADDR, NETMASK, NETWORK e BROADCAST) in modo che corrispondano alla tua configurazione di rete.

Infine, è necessario modificare /etc/modules.conf per caricare il modulo di incollaggio con le opzioni desiderate quando viene visualizzata l'interfaccia bond0. Le righe seguenti in /etc/modules.conf (o modprobe.conf ) caricherà il modulo di incollaggio e ne selezionerà le opzioni:

# vi /etc/modprobe.conf
alias bond0 bonding
options bond0 mode=balance-alb miimon=100
Per CentOS/RHEL 5 , la modalità di legame è impostata nel file /etc/sysconfig/network-scripts/ifconfig-bond0 invece che nel file /etc/modprobe.conf.

Per CentOS/RHEL 6 , crea un nuovo file chiamato /etc/modprobe.d/bonding.conf nella directory /etc/modprobe.d/ con contenuto "alias bond0 bonding". E imposta anche la modalità di collegamento nel file /etc/sysconfig/network-scripts/ifconfig-bond0 invece che in /etc/modprobe.d/bonding.conf.

Per il file /etc/sysconfig/network-scripts/ifcfg-bond0, sostituire i parametri di esempio con il set di opzioni appropriato per la propria configurazione. Infine, esegui "/etc/rc.d/init.d/network restart" o "service network restart" come root. Questo riavvierà il sottosistema di rete e il tuo link bond dovrebbe essere attivo e funzionante.

Interrogazione della configurazione del legame

Ogni dispositivo di incollaggio ha un file di sola lettura che risiede in /proc/net/bonding directory. Il contenuto del file include informazioni sulla configurazione del bonding, le opzioni e lo stato di ogni slave.

Ad esempio, il contenuto di /proc/net/bonding/bond0 dopo che il driver è stato caricato con i parametri mode=0 e miimon=1000 è generalmente il seguente:

# cat /proc/net/bonding
Ethernet Channel Bonding Driver: 2.6.1 (October 29, 2004)
Bonding Mode: load balancing (round-robin)
Currently Active Slave: eth0
MII Status: up
MII Polling Interval (ms): 1000
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth1
MII Status: up
Link Failure Count: 1

Slave Interface: eth0
MII Status: up
Link Failure Count: 1

Il formato e il contenuto precisi cambieranno a seconda della configurazione, dello stato e della versione del bonding driver.

Configurazione di Bonding per l'alta disponibilità

L'alta disponibilità si riferisce a configurazioni che forniscono la massima disponibilità di rete disponendo di dispositivi, collegamenti o switch ridondanti o di backup tra l'host e il resto del mondo. L'obiettivo è fornire la massima disponibilità di connettività di rete (ovvero, la rete funziona sempre), anche se altre configurazioni potrebbero fornire un throughput più elevato.

Elevata disponibilità in una topologia di switch singolo

Se due host (o un host e un singolo switch) sono collegati direttamente tramite più collegamenti fisici, non vi è alcuna penalità di disponibilità per l'ottimizzazione per la massima larghezza di banda. In questo caso, c'è solo uno switch (o peer), quindi se fallisce, non c'è un accesso alternativo a cui eseguire il failover. Inoltre, le modalità di bilanciamento del carico di legame supportano il monitoraggio dei collegamenti dei loro membri, quindi se i singoli collegamenti si guastano, il carico verrà ribilanciato sui dispositivi rimanenti.

Modalità di legame

Oltre alle modalità di backup attivo(1) e broadcast(3) che sono per la topologia di switch multipli (vedi sotto), puoi usare le seguenti modalità per le topologie di switch singolo:

  • bilancia-rr(0) :Politica round-robin:trasmette i pacchetti in ordine sequenziale dal primo slave disponibile all'ultimo. Questa modalità fornisce bilanciamento del carico e tolleranza agli errori. Questa è la modalità di default. Quindi, se non viene indicata alcuna modalità in /etc/modprobe.conf, il driver di collegamento funzionerà in modalità balance-rr. Ma è buona norma dichiarare la modalità in /etc/modprobe.conf come sopra.
  • bilancia-xor(2) :Politica XOR:trasmissione in base alla politica hash di trasmissione selezionata. Questo si basa su una funzione hash su indirizzo MAC utilizzando l'operazione XOR. Questa modalità fornisce bilanciamento del carico e tolleranza agli errori.
  • 802.3ad (4) :IEEE 802.3ad Aggregazione di collegamenti dinamici. Crea gruppi di aggregazione che condividono la stessa velocità e le stesse impostazioni duplex. Utilizza tutti gli slave nell'aggregatore attivo secondo la specifica 802.3ad. Prerequisiti:
    • Supporto Ethtool nei driver di base per recuperare la velocità e il duplex di ogni slave.
    • Uno switch che supporta l'aggregazione di link dinamici IEEE 802.3ad.
    • La maggior parte degli switch richiede un qualche tipo di configurazione per abilitare la modalità 802.3ad.
  • bilancia-tlb(5) :Bilanciamento adattivo del carico di trasmissione:collegamento del canale che non richiede alcun supporto speciale per l'interruttore. Il traffico in uscita è distribuito in base al carico attuale (calcolato in relazione alla velocità) su ogni slave. Il traffico in entrata viene ricevuto dallo slave corrente. Se lo slave ricevente si guasta, un altro slave assume l'indirizzo MAC dello slave ricevente guasto. Prerequisito:
    • Supporto Ethtool nei driver di base per recuperare la velocità di ogni slave.
  • equilibrio-alb(6) :Bilanciamento del carico adattivo:include balance-tlb più il bilanciamento del carico di ricezione (rlb) per il traffico IPV4 e non richiede alcun supporto speciale per lo switch. Anche la ricezione del traffico dalle connessioni create dal server è bilanciata. Quando un collegamento viene ricollegato o un nuovo slave si unisce al legame, il traffico di ricezione viene ridistribuito tra tutti gli slave attivi nel legame. Prerequisiti:
    • Supporto Ethtool nei driver di base per recuperare la velocità di ogni slave.
    • Supporto driver di base per impostare l'indirizzo hardware di un dispositivo mentre è aperto.

Elevata disponibilità in una topologia di switch multipli

Con più switch, la configurazione del collegamento e della rete cambia radicalmente. In più topologie di switch, esiste un compromesso tra disponibilità di rete e larghezza di banda utilizzabile.

Di seguito è riportato un esempio di rete, configurato per massimizzare la disponibilità della rete:

In questa configurazione, esiste un collegamento tra i due switch (ISL, o collegamento inter switch) e più porte che si collegano al mondo esterno ("porta 3" su ogni switch). Non vi è alcun motivo tecnico per cui non è stato possibile estendere tale opzione a un terzo switch.

Modalità di legame

In una topologia come l'esempio precedente, le modalità di backup attivo e broadcast sono le uniche modalità di collegamento utili durante l'ottimizzazione della disponibilità; le altre modalità richiedono che tutti i collegamenti terminino sullo stesso peer affinché si comportino razionalmente.

  • backup attivo (o 1) :Questa è generalmente la modalità preferita, in particolare se gli switch hanno un ISL e giocano bene insieme. Se la configurazione di rete è tale che uno switch sia specificamente uno switch di backup (ad esempio, ha una capacità inferiore, un costo maggiore, ecc.), è possibile utilizzare l'opzione principale per assicurare che il collegamento preferito venga sempre utilizzato quando è disponibile.
  • trasmissione (o 3) :Questa modalità è davvero una modalità per scopi speciali ed è adatta solo per esigenze molto specifiche. Ad esempio, se i due switch non sono collegati (nessun ISL) e le reti al di là di essi sono totalmente indipendenti. In questo caso, se è necessario che uno specifico traffico unidirezionale raggiunga entrambe le reti indipendenti, la modalità di trasmissione potrebbe essere adatta.


Linux
  1. Come spostare un file in Linux

  2. Nozioni di base sui permessi dei file Linux

  3. Linux:tutto è un file?

  4. Come rinominare un file in Linux?

  5. UNIX/Linux:nozioni di base sugli elenchi di controllo di accesso (ACL).

Comando Gunzip in Linux

Comando Stat in Linux

Cos'è umask in Linux?

Come collegare simbolicamente un file in Linux

Estrai il file tar.gz in Linux

Che cos'è il file .bashrc in Linux?