Na síťových serverech je důležitým požadavkem zajistit, aby bylo síťové rozhraní neustále dostupné. Na Red Hat Enterprise Linux 7 můžete vytvářet agregovaná síťová rozhraní. K dosažení tohoto cíle použijte network teaming nebo network bonding.
V dřívějších verzích RHEL bylo síťové propojení výchozí metodou pro vytváření agregovaných síťových rozhraní. V RHEL 7 byl jako řešení přidán network teaming. Hlavní rozdíl mezi těmito dvěma je v tom, že k propojení sítí došlo zcela v uživatelském prostoru, zatímco v síťovém teamingu je přidán týmový démon, který umožňuje interakci i v uživatelském prostoru. I když jsou obě metody stále platné, preferovanou metodou je síťový tým.
V dřívějších verzích Red Hat Enterprise Linux bylo k dosažení stejných cílů použito síťové propojení. Síťový tým je v Red Hat Enterprise Linux 7 novinkou. Řešení se skládá z malého ovladače jádra a démona, který je dostupný v uživatelském prostoru:teamd.
# rpm -qa | grep teamd teamd-1.27-4.el7.x86_64
Jádro se stará o manipulaci se síťovými pakety, zatímco týmový ovladač se stará o logiku a zpracování rozhraní. K určení, jak přesně se to děje, se používají různé běžce. Běžci v teamingu jsou ekvivalentní režimům spojování. Používají se k definování logiky řízení provozu mezi rozhraními, která jsou zapojena do konfigurace. Níže uvedená tabulka uvádí souhrn dostupných běžců.
| Runner | Poznámka |
|---|---|
| roundrobin | Toto je výchozí nastavení, které používáme, jednoduše posílá pakety do všech rozhraní v týmu způsobem round robin, to znamená jeden po druhém a následuje další rozhraní. |
| vysílání | Veškerý provoz je odesílán přes všechny porty. |
| activebackup | Jedno rozhraní se používá, zatímco druhé je vyčleněno jako záloha, u odkazu jsou sledovány změny a v případě potřeby použije odkaz pro převzetí služeb při selhání. |
| vyvážení zátěže | Provoz je vyvážený na všech rozhraních na základě Tx provozu, stejné zatížení by mělo být sdíleno mezi dostupnými rozhraními. |
| lacp | Implementuje protokol 802.3ad LACP. |
1. Konfigurace síťového týmu pomocí definic ve formátu JSON [Netrvalé]
1. Vytvořte definiční soubor ve formátu JSON pro tým a porty jeho součástí, v tomto příkladu /root/team_config/team0.conf .
# cat /root/team_config/team0.conf
#team0.conf
{
"device": "team0",
"runner": {"name": "activebackup"},
"link_watch": {"name": "ethtool"},
"ports": {
"enp0s8": {
"prio": -10,
"sticky": true
},
"enp0s9": {
"prio": 100
}
}
} 2. Pomocí příkazu ip stáhněte porty komponent:
# ip link set enp0s8 down # ip link set enp0s9 downPoznámka :Aktivní rozhraní nelze přidat do týmu.
3. Spusťte instanci týmového démona a nechte jej vytvořit týmové rozhraní přečtením konfiguračního souboru (v tomto příkladu /root/team_config/team0.conf):
# teamd -g -f /root/team_config/team0.conf -d Using team device "team0". Using PID file "/var/run/teamd/team0.pid" Using config file "/root/team_config/team0.conf"Poznámka :-g zobrazí ladicí zprávy a lze ji vynechat.
4. Pomocí příkazu ip nastavte IPaddr a délku předpony masky sítě týmového rozhraní:
# ip addr add 192.168.22.10/24 dev team0
5. Ověřte konfiguraci pomocí příkazů „ip addr“ a „teamdctl“.
# ip addr team0:mtu 1500 qdisc noqueue state UP qlen 1000 link/ether 08:00:27:5a:d8:50 brd ff:ff:ff:ff:ff:ff inet 192.168.22.10/24 scope global team0 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe5a:d850/64 scope link valid_lft forever preferred_lft forever
# teamdctl team0 state setup: runner: activebackup ports: enp0s8 link watches: link summary: up instance[link_watch_0]: name: ethtool link: up down count: 0 enp0s9 link watches: link summary: up instance[link_watch_0]: name: ethtool link: up down count: 0 runner: active port: enp0s9
2. Konfigurace síťového týmu pomocí souborů ifcfg [Trvalé]
1. Přejděte do /etc/sysconfig/network-scripts adresář a vytvořte soubor „ifcfg-team0“, jak je znázorněno níže:
# cat /etc/sysconfig/network-scripts/ifcfg-team0
DEVICE=team0
DEVICETYPE=Team
ONBOOT=yes
BOOTPROTO=dhcp
NM_CONTROLLED=no
#IPADDR=192.168.11.1
PREFIX=24
TEAM_CONFIG='{"runner": {"name": "activebackup"}, "link_watch": {"name": "ethtool"}}' Poznámka :týmové rozhraní team0 může mít také statickou IP s BOOTPROTO=none 2. Upravte soubory pro příslušné rozhraní (zde jsem přidal dvě rozhraní enp0s8 a enp0s9):
# cat /etc/sysconfig/network-scripts/ifcfg-enp0s8
DEVICE=enp0s8
#HWADDR=D4:85:64:01:46:9E
DEVICETYPE=TeamPort
ONBOOT=yes
NM_CONTROLLED=no
TEAM_MASTER=team0
TEAM_PORT_CONFIG='{"prio": 100}' # cat /etc/sysconfig/network-scripts/ifcfg-enp0s9
DEVICE=enp0s9
#HWADDR=D4:85:64:01:46:9E
DEVICETYPE=TeamPort
ONBOOT=yes
TEAM_MASTER=team0
NM_CONTROLLED=no
TEAM_PORT_CONFIG='{"prio": 100}' 3. Ujistěte se, že jsou obě rozhraní vypnutá:
# ip link set enp0s8 down # ip link set enp0s9 downPoznámka :Aktivní rozhraní nelze přidat do týmu.
4. Nyní můžete vyvolat své rozhraní
# ifup team0
5. Ověřte konfiguraci týmu pomocí příkazů „ip addr“, „nmcli device status“ a „teamdctl“.
# ip addr team0:mtu 1500 qdisc noqueue state UP qlen 1000 link/ether 08:00:27:2e:4c:65 brd ff:ff:ff:ff:ff:ff inet 192.168.57.101/24 brd 192.168.57.255 scope global dynamic team0 valid_lft 1178sec preferred_lft 1178sec inet6 fe80::a00:27ff:fe2e:4c65/64 scope link tentative dadfailed valid_lft forever preferred_lft forever
# nmcli device status DEVICE TYPE STATE CONNECTION enp0s8 ethernet unmanaged -- enp0s9 ethernet unmanaged -- team0 team unmanaged --
# teamdctl team0 state setup: runner: activebackup ports: enp0s8 link watches: link summary: up instance[link_watch_0]: name: ethtool link: up down count: 0 enp0s9 link watches: link summary: up instance[link_watch_0]: name: ethtool link: up down count: 0 runner: active port: enp0s8
Odebrání týmu
Chcete-li ukončit nebo zabít instanci týmového démona, použijte níže uvedený příkaz:
# teamd -t team0 -k