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í:
- 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.
- 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 foreverCentOS / RHEL 7 :Jak vytvořit propojení rozhraní pomocí nmcli