GNU/Linux >> Linux Esercitazione >  >> Cent OS

CentOS / RHEL 7:come configurare Network Bonding o NIC teaming

Il legame dell'interfaccia di rete è chiamato con molti nomi:Port Trunking, Channel Bonding, Link Aggregation, NIC teaming e altri. Combina o aggrega più connessioni di rete in un'interfaccia di collegamento a canale singolo. Ciò consente a due o più interfacce di rete di agire come una sola, aumentare il throughput e fornire ridondanza o failover.

Il kernel Linux viene fornito con il driver di collegamento per l'aggregazione di più interfacce di rete fisiche in un'unica interfaccia logica (ad esempio, l'aggregazione di eth0 ed eth1 in bond0). Per ciascuna interfaccia collegata è possibile definire la modalità e le opzioni di monitoraggio del collegamento. Sono disponibili sette diverse opzioni di modalità, ciascuna delle quali fornisce specifiche caratteristiche di bilanciamento del carico e tolleranza ai guasti, come mostrato nella tabella seguente.

Modalità di incollaggio

A seconda delle tue esigenze, puoi impostare la modalità di incollaggio su una delle 7 modalità seguenti.

Modalità Politica Come funziona Tolleranza ai guasti Bilanciamento del carico
0 Round Robin I pacchetti vengono trasmessi/ricevuti in sequenza attraverso ciascuna interfaccia uno per uno. No
1 Backup attivo una NIC attiva mentre un'altra NIC è inattiva. Se la NIC attiva si interrompe, diventa attiva un'altra NIC. supportato solo in ambienti x86. No
2 XOR [OR esclusivo] In questa modalità, l'indirizzo MAC della NIC slave viene confrontato con il MAC della richiesta in entrata e una volta stabilita questa connessione, la stessa NIC viene utilizzata per trasmettere/ricevere per il MAC di destinazione.
3 Trasmissione Tutte le trasmissioni vengono inviate a tutti gli slave No
4 Aggregazione dinamica dei collegamenti Le NIC aggregate agiscono come una NIC che si traduce in una maggiore velocità effettiva, ma fornisce anche il failover nel caso in cui una NIC si guasta. Dynamic Link Aggregation richiede uno switch che supporti IEEE 802.3ad.
5 Trasmissione del bilanciamento del carico (TLB) Il traffico in uscita viene distribuito in base al carico corrente su ciascuna interfaccia 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 guasto.
6 Bilanciamento del carico adattivo (ALB) A differenza di Dynamic Link Aggregation, Adaptive Load Balancing non richiede alcuna configurazione di switch particolare. Il bilanciamento del carico adattivo è supportato solo negli ambienti x86. I pacchetti di ricezione sono bilanciati dal carico tramite la negoziazione ARP.

Monitoraggio collegamento collegamento di rete

Il driver di collegamento supporta due metodi per monitorare lo stato del collegamento di uno slave:

  • Monitoraggio MII (Media Independent Interface)
    • Questa è l'opzione di monitoraggio dei collegamenti predefinita e consigliata.
    • Controlla lo stato del vettore dell'interfaccia di rete locale.
    • Puoi specificare la frequenza di monitoraggio e il ritardo.
    • I tempi di ritardo ti consentono di tenere conto dell'inizializzazione dello switch.
  • Monitoraggio ARP
    • Questo invia query ARP ai sistemi peer sulla rete e utilizza la risposta come indicazione che il collegamento è attivo.
    • Puoi specificare la frequenza di monitoraggio e gli indirizzi di destinazione.

    Collegamento di rete:configurazione

    Creazione di un file di interfaccia di incollaggio

    Puoi creare manualmente un file di interfaccia di collegamento in /etc/sysconfig/network-scripts directory. Per prima cosa crei l'interfaccia di collegamento e quindi aggiungi le interfacce di rete fisica al collegamento. Queste interfacce di rete fisiche sono chiamate "slave “.

    Per l'esempio in questo post, gli slave per l'interfaccia bond0 sono ens33 e ens37. Prima dell'avvio, assicurarsi che il modulo di incollaggio sia caricato correttamente. Per verificarlo, usa il comando mostrato di seguito:

    # lsmod |grep bonding
    bonding               122351  0

    Se il modulo non è caricato, caricalo usando il comando modprobe.

    # modprobe bonding

    1. Quello che segue è un esempio di un file di interfaccia di incollaggio:

    # cat /etc/sysconfig/network-scripts/ifcfg-bond0
    DEVICE=bond0
    BONDING_OPTS="miimon=1 updelay=0 downdelay=0 mode=active-backup" TYPE=Bond
    BONDING_MASTER=yes
    BOOTPROTO=none
    IPADDR=192.168.2.12
    PREFIX=24
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=bond0
    UUID=bbe539aa-5042-4d28-a0e6-2a4d4f5dd744
    ONBOOT=yes

    2. L'esempio seguente definisce ens33 interfaccia di rete fisica come slave per bond0:

    # cat /etc/sysconfig/network-scripts/ifcfg-ens33 
    TYPE=Ethernet
    NAME=ens33
    UUID=817e285b-60f0-42d8-b259-4b62e21d823d
    DEVICE=ens33
    ONBOOT=yes
    MASTER=bond0
    SLAVE=yes

    3. L'esempio seguente definisce ens37 interfaccia di rete fisica come slave per bond0:

    # cat /etc/sysconfig/network-scripts/ifcfg-ens37 
    TYPE=Ethernet
    NAME=ens37
    UUID=f0c23472-1aec-4e84-8f1b-be8a2ecbeade
    DEVICE=ens37
    ONBOOT=yes
    MASTER=bond0
    SLAVE=yes

    4. Riavvia i servizi di rete
    Riavvia i servizi di rete per abilitare l'interfaccia di collegamento.

    # systemctl restart network

    Nel caso in cui non desideri riavviare il servizio di rete, puoi collegare l'interfaccia di collegamento individualmente:

    # ifup bond0

    Verifica la configurazione del collegamento di rete

    1. Controlla la nuova interfaccia nell'output del comando 'ip addr show':

    # ip addr show
    1: lo: [LOOPBACK,UP,LOWER_UP] mtu 65536 qdisc noqueue state UNKNOWN qlen 1
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: ens33: [BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP] mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000
        link/ether 00:0c:29:54:f7:20 brd ff:ff:ff:ff:ff:ff
    4: ens37: [BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP] mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000
        link/ether 00:0c:29:54:f7:20 brd ff:ff:ff:ff:ff:ff
    5: bond0: [BROADCAST,MULTICAST,MASTER,UP,LOWER_UP] mtu 1500 qdisc noqueue state UP qlen 1000
        link/ether 00:0c:29:54:f7:20 brd ff:ff:ff:ff:ff:ff
        inet 192.168.2.12/24 brd 192.168.2.255 scope global bond0
           valid_lft forever preferred_lft forever
        inet6 fe80::20c:29ff:fe54:f720/64 scope link 
           valid_lft forever preferred_lft forever

    2. Verificare anche lo stato corrente delle interfacce di collegamento e quale interfaccia è attualmente attiva, utilizzando il comando seguente:

    # cat /proc/net/bonding/bond0
    Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
    
    Bonding Mode: fault-tolerance (active-backup)
    Primary Slave: None
    Currently Active Slave: ens33
    MII Status: up
    MII Polling Interval (ms): 1
    Up Delay (ms): 0
    Down Delay (ms): 0
    
    Slave Interface: ens33
    MII Status: up
    Speed: 1000 Mbps
    Duplex: full
    Link Failure Count: 0
    Permanent HW addr: 00:0c:29:54:f7:20
    Slave queue ID: 0
    
    Slave Interface: ens37
    MII Status: up
    Speed: 1000 Mbps
    Duplex: full
    Link Failure Count: 0
    Permanent HW addr: 00:0c:29:54:f7:34
    Slave queue ID: 0

    Dall'output del comando sopra, possiamo vedere che ens33 è lo slave attualmente attivo nell'obbligazione.

    Test della tolleranza ai guasti della configurazione di incollaggio

    1. Poiché si tratta di una configurazione di collegamento di backup attivo, quando un'interfaccia si interrompe, l'altra interfaccia nel collegamento diventa lo slave attivo. Per verificare questa funzionalità, abbasseremo l'attuale interfaccia ens33.

    # ifdown ens33

    2. Se controlli nuovamente lo stato dell'interfaccia di collegamento, scoprirai che il nuovo slave attivo è l'interfaccia ens37.

    # cat /proc/net/bonding/bond0
    Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
    
    Bonding Mode: fault-tolerance (active-backup)
    Primary Slave: None
    Currently Active Slave: ens37
    MII Status: up
    MII Polling Interval (ms): 1
    Up Delay (ms): 0
    Down Delay (ms): 0
    
    Slave Interface: ens37
    MII Status: up
    Speed: 1000 Mbps
    Duplex: full
    Link Failure Count: 0
    Permanent HW addr: 00:0c:29:54:f7:34
    Slave queue ID: 0

    Anche l'interfaccia di legame sarà attiva e funzionante:

    # ip add show bond0
    5: bond0: [BROADCAST,MULTICAST,MASTER,UP,LOWER_UP] mtu 1500 qdisc noqueue state UP qlen 1000
        link/ether 00:0c:29:54:f7:20 brd ff:ff:ff:ff:ff:ff
        inet 192.168.2.12/24 brd 192.168.2.255 scope global bond0
           valid_lft forever preferred_lft forever
        inet6 fe80::20c:29ff:fe54:f720/64 scope link 
           valid_lft forever preferred_lft forever
    CentOS / RHEL 7:come creare un legame di interfaccia usando nmcli


    Cent OS
    1. CentOS / RHEL 7:come modificare i nomi dell'interfaccia di rete

    2. CentOS / RHEL 7:Come creare un Network Bonding (NIC teaming) usando nmcli

    3. CentOS / RHEL 5:come configurare il collegamento dell'interfaccia (team NIC)

    4. CentOS / RHEL 4:come configurare il collegamento dell'interfaccia (NIC teaming)

    5. Come configurare l'interfaccia in "Modalità promiscua" in CentOS/RHEL

    Come configurare un'interfaccia di rete virtuale su RHEL 8 / CentOS 8

    Come configurare il collegamento dell'interfaccia di rete su RHEL 8 / CentOS 8 Linux

    Configura il collegamento NIC (scheda di interfaccia di rete) in CentOS 7 / RHEL 7

    Come configurare il gruppo NIC su CentOS 8 / RHEL 8

    Come configurare l'indirizzo IP in CentOS 7/RHEL 7 e CentOS 6/RHEL 6

    Come modificare il nome dell'interfaccia di rete in eth0 su CentOS 8 / RHEL 8