[7] Network TEAMING

19 marca 2022 Wyłączono przez Adam [zicherka] Nogły

Skonfiguruj funkcję Network Teaming, aby powiązać wiele interfejsów sieciowych w jeden interfejs o zrównoważonym obciążeniu lub odporny na błędy i tak dalej.

Dostępna jest również funkcja Network Bonding, 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 (runner) do konfigurowania zespołu sieciowego, jak poniżej.

Typ (runner) Opis
roundrobin Przesyła dane po kolei przez wszystkie porty.
activebackup Przesyła dane przez jeden port, podczas gdy inne są przechowywane jako kopia zapasowa.
loadbalance Przesyła dane przez wszystkie porty z aktywnym równoważeniem obciążenia Tx i selektorami portów Tx opartymi na Berkeley Packet Filter (BPF).
random Przesyła dane na losowo wybranym porcie.
lacp Implementuje protokół kontroli agregacji łączy 802.3ad (LACP).
broadcast Przesyła dane przez wszystkie porty.

 

[1] Pokaż urządzenia sieciowe

# 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 zespołowe [team0] (dowolna nazwa)
# zapoznaj się z powyższym opisem dla każdego typu (runner)
[root@vlsr01 ~]# nmcli connection add type team con-name team0 ifname team0 config '{"runner": {"name": "roundrobin"}}'
Connection 'team0' (6af49df1-4134-43b2-801b-5167593f9338) successfully added.

# dodaj urządzenia członkowskie do urządzenia [team0]
[root@vlsr01 ~]# nmcli connection add type team-slave con-name team0-slave0 ifname ens192 master team0
Connection 'team0-slave0' (5e5a6bb7-7a1b-4184-88c3-c837511a7b0f) successfully added.
[root@vlsr01 ~]# nmcli connection add type team-slave con-name team0-slave1 ifname ens224 master team0
Connection 'team0-slave1' (91d86c8a-5d47-4d53-896d-94428c6675dd) successfully added.
[root@vlsr01 ~]# nmcli device
DEVICE  TYPE      STATE      CONNECTION
team0   team      connected  team0
ens192  ethernet  connected  team0-slave0
ens224  ethernet  connected  team0-slave1
lo      loopback  unmanaged  --

[root@vlsr01 ~]# nmcli connection
NAME          UUID                                  TYPE      DEVICE
team0         6af49df1-4134-43b2-801b-5167593f9338  team      team0
team0-slave0  5e5a6bb7-7a1b-4184-88c3-c837511a7b0f  ethernet  ens192
team0-slave1  91d86c8a-5d47-4d53-896d-94428c6675dd  ethernet  ens224

# ustaw parametry adresu IP i zrestartuj urządzenie [team0]
# adres IP
[root@vlsr01 ~]# nmcli connection modify team0 ipv4.addresses 192.168.100.101/24
# brama
[root@vlsr01 ~]# nmcli connection modify team0 ipv4.gateway 192.168.100.254
# DNS – jeśli używasz kilku, oddziel je spacjami
[root@vlsr01 ~]# nmcli connection modify team0 ipv4.dns "192.168.100.100 1.1.1.1 8.8.8.8"
# domena przeszukiwania DNS – jeśli używasz kilku, oddziel je spacjami
[root@vlsr01 ~]# nmcli connection modify team0 ipv4.dns-search "zicher.lab"
# ustaw metodę adresacji [team0]
[root@vlsr01 ~]# nmcli connection modify team0 ipv4.method manual
# zresetuj [team0]
[root@vlsr01 ~]# nmcli connection down team0 && nmcli connection up team0
# potwierdź status [team0]
[root@vlsr01 ~]# teamdctl team0 state
setup:
runner: roundrobin
ports:
ens192
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0
ens224
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 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,UP,LOWER_UP> mtu 1500 qdisc fq_codel master team0 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,UP,LOWER_UP> mtu 1500 qdisc fq_codel master team0 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
12: team0: <BROADCAST,MULTICAST,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 team0
valid_lft forever preferred_lft forever
inet6 fe80::6954:48ee:910c:acb9/64 scope link noprefixroute
valid_lft forever preferred_lft forever

# pliki konfiguracyjne [team0] znajdują się tutaj
[root@vlsr01 ~]# ll /etc/sysconfig/network-scripts/
razem 12
-rw-r--r--. 1 root root 446 03-16 17:29 ifcfg-team0
-rw-r--r--. 1 root root 127 03-16 17:23 ifcfg-team0-slave0
-rw-r--r--. 1 root root 127 03-16 17:23 ifcfg-team0-slave1