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