GNU/Linux >> Znalost Linux >  >> Cent OS

CentOS / RHEL 7 :Jak nakonfigurovat Network Bonding nebo NIC teaming

Spojování síťového rozhraní se nazývá mnoha názvy:Port Trunking, Channel Bonding, Link Aggregation, NIC teaming a další. Kombinuje nebo agreguje více síťových připojení do jediného rozhraní pro propojení kanálů. To umožňuje dvěma nebo více síťovým rozhraním fungovat jako jedno, zvýšit propustnost a zajistit redundanci nebo převzetí služeb při selhání.

Linuxové jádro přichází s bonding driverem pro agregaci více fyzických síťových rozhraní do jediného logického rozhraní (například agregace eth0 a eth1 do bond0). Pro každé spojené rozhraní můžete definovat režim a možnosti monitorování spojení. K dispozici je sedm různých možností režimu, z nichž každá poskytuje specifické charakteristiky vyvažování zátěže a odolnosti proti chybám, jak je uvedeno v tabulce níže.

Režimy lepení

V závislosti na vašich požadavcích můžete nastavit režim lepení na kterýkoli z níže uvedených 7 režimů.

Režim Zásady Jak to funguje Tolerance chyb Vyrovnávání zátěže
0 Round Robin pakety jsou postupně přenášeny/přijímány přes každé rozhraní jeden po druhém. Ne Ano
1 Aktivní zálohování jedna síťová karta je aktivní, zatímco druhá síťová karta spí. Pokud aktivní NIC přestane fungovat, stane se aktivní jiná NIC. podporováno pouze v prostředí x86. Ano Ne
2 XOR [exkluzivní NEBO] V tomto režimu se MAC adresa podřízené síťové karty porovnává s MAC příchozího požadavku a jakmile je toto spojení navázáno, stejná síťová karta se používá k vysílání/přijímání pro cílovou MAC. Ano Ano
3 Vysílání Všechny přenosy jsou odesílány na všechny podřízené jednotky Ano Ne
4 Dynamická agregace odkazů agregované síťové karty fungují jako jedna síťová karta, což má za následek vyšší propustnost, ale také poskytuje přepnutí při selhání v případě, že síťová karta selže. Dynamic Link Aggregation vyžaduje přepínač, který podporuje IEEE 802.3ad. Ano Ano
5 Transmit Load Balancing (TLB) Odchozí provoz je distribuován v závislosti na aktuálním zatížení každého podřízeného rozhraní. Příchozí provoz přijímá aktuální slave zařízení. Pokud selže přijímající slave, jiný slave převezme MAC adresu neúspěšného slave. Ano Ano
6 Adaptivní vyvažování zátěže (ALB) Na rozdíl od dynamické agregace odkazů nevyžaduje adaptivní vyvažování zátěže žádnou konkrétní konfiguraci přepínače. Adaptivní vyvažování zátěže je podporováno pouze v prostředí x86. Přijímající pakety jsou vyrovnávány zatížením prostřednictvím vyjednávání ARP. Ano Ano

Monitorování propojení sítí

Ovladač propojení podporuje dva způsoby monitorování stavu připojení podřízeného zařízení:

  • Monitor MII (Media Independent Interface)
    • Toto je výchozí a doporučená možnost sledování odkazů.
    • Monitoruje stav operátora rozhraní místní sítě.
    • Můžete určit frekvenci monitorování a zpoždění.
    • Doby zpoždění umožňují zohlednit inicializaci přepínače.
  • Monitor ARP
    • To odešle dotazy ARP do peer systémů v síti a použije odpověď jako indikaci, že propojení je aktivní.
    • Můžete určit frekvenci monitorování a cílové adresy.

    Network Bonding:Konfigurace

    Vytvoření souboru rozhraní Bonding

    Soubor spojovacího rozhraní můžete vytvořit ručně v /etc/sysconfig/network-scripts adresář. Nejprve vytvoříte spojovací rozhraní a poté přidáte fyzická síťová rozhraní do vazby. Tato fyzická síťová rozhraní se nazývají „slave “.

    V příkladu v tomto příspěvku jsou podřízené jednotky pro rozhraní bond0 ens33 a ens37. Před spuštěním se ujistěte, že je spojovací modul správně vložen. Chcete-li to ověřit, použijte příkaz uvedený níže:

    # lsmod |grep bonding
    bonding               122351  0

    Pokud modul není načten, načtěte jej pomocí příkazu modprobe.

    # modprobe bonding

    1. Následuje příklad souboru spojovacího rozhraní:

    # 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. Následující příklad definuje ens33 fyzické síťové rozhraní jako slave pro 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. Následující příklad definuje ens37 fyzické síťové rozhraní jako slave pro 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. Restartujte síťové služby
    Restartujte síťové služby, abyste povolili spojovací rozhraní.

    # systemctl restart network

    V případě, že nechcete restartovat síťovou službu, můžete připojit spojovací rozhraní individuálně:

    # ifup bond0

    Ověřte konfiguraci síťového propojení

    1. Zkontrolujte nové rozhraní ve výstupu příkazu „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. Pomocí příkazu níže ověřte také aktuální stav spojovacích rozhraní a rozhraní, které je aktuálně aktivní:

    # 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

    Z výstupu příkazu výše vidíme, že ens33 je aktuálně aktivním otrokem v dluhopisu.

    Testování chybové odolnosti konfigurace propojení

    1. Protože se jedná o konfiguraci propojení aktivní zálohy, když jedno rozhraní selže, druhé rozhraní ve spojení se stane aktivním slave. Abychom tuto funkčnost ověřili, stáhneme aktuální rozhraní ens33.

    # ifdown ens33

    2. Pokud znovu zkontrolujete stav vazebního rozhraní, zjistíte, že novým aktivním slave je rozhraní 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

    Zprovozní se také rozhraní vazby:

    # 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 :Jak vytvořit propojení rozhraní pomocí nmcli


    Cent OS
    1. CentOS / RHEL 7 :Jak upravit názvy síťových rozhraní

    2. CentOS / RHEL 7 :Jak vytvořit Network Bonding (NIC teaming) pomocí nmcli

    3. CentOS / RHEL 4:Jak nakonfigurovat propojení rozhraní (Týmování NIC)

    1. Jak nakonfigurovat Network Teaming v CentOS/RHEL 7

    2. Jak nakonfigurovat rozhraní v promiskuitním režimu na CentOS/RHEL 7 (trvale)

    3. Jak nakonfigurovat 802.1q VLAN na NIC na CentOS/RHEL 7 a 8

    1. Jak nakonfigurovat Teaming Network Interface Teaming v CentOS/RHEL 7 a 8

    2. Jak změnit režim síťového propojení v CentOS/RHEL 6

    3. Jak odstranit propojení konfigurace sítě v CentOS/RHEL