[6] Network BONDING
19 marca 2022Skonfiguruj Network Bonding, aby powiązać wiele interfejsów sieciowych w jeden interfejs o zrównoważonym obciążeniu lub odporności na błędy i tak dalej.
Dostępna jest również funkcja Network Teaming, która jest tym samym rozwiązaniem równoważenia obciążenia sieciowego lub odporności na awarie.
Zapoznaj się z poniższym porównaniem funkcji tworzenia zespołów i łączenia sieci: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/networking_guide/sec-comparison_of_network_teaming_to_bonding.
Istnieje kilka trybów konfigurowania połączenia sieciowego, jak poniżej.
Mode | Nazwa | Opis |
0 | balance-rr | Ustawia zasady round-robin dla odporności na błędy i równoważenia obciążenia.
Transmisje są odbierane i wysyłane sekwencyjnie na każdym interfejsie elementu wiązanego, począwszy od pierwszego dostępnego. |
1 | active-backup | Ustawia zasady aktywnej kopii zapasowej dla odporności na awarie.
Transmisje są odbierane i wysyłane za pośrednictwem pierwszego dostępnego interfejsu elementu wiązanego. Inny interfejs elementu powiązanego jest używany tylko wtedy, gdy interfejs aktywnego elementu powiązanego ulegnie awarii. |
2 | balance-xor | Ustawia zasadę XOR (exclusive-or) dla tolerancji błędów i równoważenia obciążenia.
Korzystając z tej metody, interfejs dopasowuje adres MAC przychodzącego żądania z adresem MAC jednej z członkowskich kart sieciowych. Po ustanowieniu tego łącza transmisje są wysyłane sekwencyjnie, zaczynając od pierwszego dostępnego interfejsu. |
3 | broadcast | Ustawia zasady rozgłaszania dla odporności na awarie.
Wszystkie transmisje są wysyłane na wszystkich interfejsach członkowskich. |
4 | 802.3ad | Ustawia zasady agregacji łączy dynamicznych IEEE 802.3ad.
Tworzy grupy agregacji, które mają te same ustawienia szybkości i dupleksu. Przesyła i odbiera od wszystkich członków aktywnego agregatora. Wymaga przełącznika zgodnego ze standardem 802.3ad. |
5 | balance-tlb | Ustawia zasadę równoważenia obciążenia transmisji (TLB) dla tolerancji błędów i równoważenia obciążenia.
Ruch wychodzący jest rozdzielany zgodnie z bieżącym obciążeniem każdego interfejsu członkowskiego. Ruch przychodzący jest odbierany przez bieżącą kartę sieciową członka. Jeśli członek odbierający ulegnie awarii, inny członek przejmuje adres MAC uszkodzonego członka. |
6 | balance-alb | Ustawia zasadę aktywnego równoważenia obciążenia (ALB) dla tolerancji błędów i równoważenia obciążenia.
Obejmuje równoważenie obciążenia nadawania i odbioru dla ruchu IPV4. Równoważenie obciążenia odbieranego jest osiągane poprzez negocjacje ARP. |
[1] Skonfiguruj Network Bonding
# pokaż urządzenia sieciowe [root@vlsr01 ~]# nmcli device DEVICE TYPE STATE CONNECTION ens192 ethernet połączono ens192 ens224 ethernet rozłączono -- lo loopback niezarządzane -- # usuń istniejące połączenia sieciowe [root@vlsr01 ~]# nmcli connection delete ens192 Pomyślnie usunięto połączenie „ens192” (bff9bf87-d753-4610-a510-609b1fc78b7b). [root@vlsr01 ~]# nmcli device DEVICE TYPE STATE CONNECTION Ens192 ethernet disconnected -- ens224 ethernet disconnected -- lo loopback unmanaged -- # dodaj nowe urządzenie Bonding’owe [bond0] – nazwa jest dowolna # zapoznaj się z powyższym opisem dla każdego trybu (wpisz odpowiednią cyfrę lub nazwę aby określić trybu dla [mode=*]) [root@vlsr01 ~]# nmcli connection add type bond ifname bond0 con-name bond0 bond.options "mode=balance-rr" Connection 'bond0' (25309d71-adeb-4b46-917a-3d4b18c86b57) successfully added. # dodaj urządzenia członkowskie do urządzenia [bond0] [root@vlsr01 ~]# nmcli connection add type ethernet ifname ens192 master bond0 Connection 'bond-slave-enp1s0' (f0c5a801-3d3f-431e-a31b-2f296f0ac46f) successfully added. [root@vlsr01 ~]# nmcli connection add type ethernet ifname ens224 master bond0 Connection 'bond-slave-enp7s0' (6368b4fd-8b05-4d2a-978e-58796cf32e16) successfully added. [root@vlsr01 ~]# nmcli connection NAME UUID TYPE DEVICE bond0 25309d71-adeb-4b46-917a-3d4b18c86b57 bond bond0 bond-slave-enp1s0 f0c5a801-3d3f-431e-a31b-2f296f0ac46f ethernet ens192 bond-slave-enp7s0 6368b4fd-8b05-4d2a-978e-58796cf32e16 ethernet ens224 # ustaw adresację IP dla urządzenia [bond0] i zrestartuj go # adres IP [root@vlsr01 ~]# nmcli connection modify bond0 ipv4.addresses 192.168.100.101/24 # geteway [root@vlsr01 ~]# nmcli connection modify bond0 ipv4.gateway 192.168.100.254 # DNS – wpisz ze spacją, jeśli wpisujesz kilka adresów [root@vlsr01 ~]# nmcli connection modify bond0 ipv4.dns "192.168.100.100 1.1.1.1 8.8.8.8" # strefa wyszukiwania DNS – wpisz ze spacją, jeśli chcesz wprowadzić kilka stref [root@vlsr01 ~]# nmcli connection modify bond0 ipv4.dns-search "zicher.lab" # ustaw metodę przydzielania adresu IP [root@vlsr01 ~]# nmcli connection modify bond0 ipv4.method manual # zrestartuj [bond0] [root@vlsr01 ~]# nmcli connection down bond0 && nmcli connection up bond0 # sprawdź status [bond0] [root@vlsr01 ~]# cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011) Bonding Mode: load balancing (round-robin) MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Peer Notification Delay (ms): 0 Slave Interface: ens192 MII Status: up Speed: 10000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 00:0c:29:4c:07:70 Slave queue ID: 0 Slave Interface: ens224 MII Status: up Speed: 10000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 00:0c:29:4c:07:7a Slave queue ID: 0 [root@vlsr01 ~]# ip address 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 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: ens192: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bond0 state UP group default qlen 1000 link/ether 00:0c:29:4c:07:70 brd ff:ff:ff:ff:ff:ff 3: ens224: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bond0 state UP group default qlen 1000 link/ether 00:0c:29:4c:07:70 brd ff:ff:ff:ff:ff:ff permaddr 00:0c:29:4c:07:7a 6: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 00:0c:29:4c:07:70 brd ff:ff:ff:ff:ff:ff inet 192.168.100.101/24 brd 192.168.100.255 scope global noprefixroute bond0 valid_lft forever preferred_lft forever inet6 fe80::e38a:dae:960c:b52a/64 scope link noprefixroute valid_lft forever preferred_lft forever # plik konfiguracyjny jest przechowywany w następującym miejscu [root@vlsr01 ~]# ll /etc/sysconfig/network-scripts/ razem 12 -rw-r--r--. 1 root root 446 03-16 17:29 ifcfg-bond0 -rw-r--r--. 1 root root 127 03-16 17:23 ifcfg-bond-slave-ens192 -rw-r--r--. 1 root root 127 03-16 17:23 ifcfg-bond-slave-ens224