NIC teaming je koncept kombinace nebo propojení 2 nebo více síťových rozhraní do jednoho logického rozhraní, aby byla zajištěna vysoká propustnost a redundance. Tato praxe je oblíbená zejména u kritických serverů, kde se vždy očekává vysoká dostupnost. Na serveru se 2 nebo více NIC V případě, že jedna karta NIC selže, je koncept teamingu NIC zásadní. S týmem NIC logické síťové rozhraní zajistí, že zbývající NIC bude nadále fungovat a bude sloužit účelu vadného NIC. V této příručce vás provedeme konfigurací NIC teamingu v CentOS 8 a RHEL 8.
Pojďme se podívat na některé koncepty v okolí
- Tým – Toto je démon, který vám umožňuje konfigurovat týmové síťové rozhraní. Teamd je součástí projektu libteam a využívá knihovnu libteam k implementaci vyvažování zátěže a logiky round-robin.
- Teamdctl – Jedná se o pomocný nástroj pro dotazování instance týmu na informace o konfiguraci a podrobné statistiky.
- Běžci – Jedná se o odlišné jednotky kódu ve formátu JSON používané k implementaci různých konceptů NIC teamingu, jako je Round robbin
Runnery existují v následujících režimech:
- Round-robin :V tomto režimu jsou data přenášena postupně přes všechny porty.
- Vysílání :Zde jsou data přenášena přes všechny porty.
- Bilance zátěže :Provoz je distribuován napříč všemi síťovými kartami.
- Aktivní záloha :Kde je aktivován jeden odkaz nebo port, protože ostatní jsou rezervovány jako záloha. To se používá pro převzetí služeb při selhání k zajištění redundance, jak později uvidíme v této příručce.
- Lacp :Pro agregaci odkazů používá protokol 802.3ad
Nyní pojďme do toho a nakonfigurujte tým NIC v CentOS 8.
Krok:1) Nainstalujte démona Teamd
Teamd je démon, který umožňuje konfiguraci týmových sítí. CentOS 8 je naštěstí dodáván s již nainstalovaným démonem. Pokud z jakéhokoli důvodu na vašem systému CentOS 8 / RHEL 8 chybí teamd, spusťte příkaz:
$ sudo dnf install teamd
Po dokončení instalace můžete získat podrobné informace o týmu spuštěním příkazu:
$ rpm -qi teamd
Krok:2) Nakonfigurujte NIC teaming pomocí nástroje nmcli
Nmcli je nástroj příkazového řádku, který se používá pro správu NetworkManageru. Nejprve se však podívejme na připojená síťová rozhraní v našem systému. Spusťte příkaz
$ nmcli device status
Z výše uvedeného výstupu jsou v systému 2 ethernetová připojení a 1 Wi-Fi připojení. Budu používat síťová zařízení enp0s3 a enp0s8 jako podřízená připojení.
Můžete také použít příkaz:
$ nmcli connection show
Proto smažu síťová zařízení enp0s3 a enp0s8, která budou použita jako slave zařízení pomocí syntaxe
$ nmcli připojení odstranit UUID
Takže pokračujte a spusťte příkazy:
$ nmcli connection delete a2533841-93bf-4a78-9c84-4f7e8669e92f $ nmcli connection delete 77c70d70-2fb2-4a19-bc02-d71b49a6ffac
Po smazání by nyní měla být obě síťová zařízení odpojena. Můžete to ověřit spuštěním:
$ nmcli device status
Nyní vytvoříme nové týmové rozhraní a nazveme ho bond0
$ nmcli connection add type team con-name bond0 ifname bond0 config '{"runner": {"name": "activebackup"}}'
Hodnota ‘activebackup “ je běžec, který lze nahradit buď kruhovým, vysílaným, náhodným nebo lacp.
Konfigurace je připojena v /etc/sysconfig/network-scripts/ifcfg-team-bond0 soubor. Chcete-li získat náhled na další přiřazené hodnoty, spusťte příkaz:
$ nmcli con show bond0
Chcete-li zobrazit rozhraní, která jsme právě nakonfigurovali, spusťte příkaz:
$ nmcli connection show
Nyní máme rozhraní bond0. Všimněte si, že rozhraní enp0s3 a enp0s8 nejsou uvedena, protože jsme je dříve smazali.
Dále nakonfigurujte IP adresování a záznamy DNS pro týmové rozhraní a ujistěte se, že se automaticky připojuje
$ nmcli con mod bond0 ipv4.addresses 192.168.43.100/24 $ nmcli con mod bond0 ipv4.gateway 192.168.43.1 $ nmcli con mod bond0 ipv4.dns 8.8.8.8 $ nmcli con mod bond0 ipv4.method manual $ nmcli con mod bond0 connection.autoconnect yes
Poté přidejte síťové podřízené jednotky do týmového rozhraní
$ nmcli con add type team-slave con-name bond0-slave0 ifname enp0s3 master bond0 $ nmcli con add type team-slave con-name bond0-slave1 ifname enp0s8 master bond0
Chcete-li zobrazit týmové rozhraní a podřízené jednotky, znovu spusťte příkaz:
$ nmcli connection show
Nakonec restartujte týmové rozhraní
$ nmcli connection down bond0 && nmcli connection up bond0
Pro zobrazení týmového rozhraní použijte příkaz:
$ ip address show dev bond0
Pomocí příkazu teamdctl získáte podrobnější informace o rozhraní týmu
$ sudo teamdctl bond0 state
Z výše uvedeného výstupu jasně vidíme, že máme 2 odkazy, které jsou aktivní – enp0s3 a enp0s8 a aktivní port je enp0s3.
Testování funkčnosti Active-Backup Teaming
Abychom otestovali redundanci Active-backup, zrušíme aktivní port označený enp0s3 a zkontrolujeme, zda se objeví druhý odkaz.
$ nmcli device disconnect enp0s3 $ sudo teamdctl bond0 state
Jak vidíte, odkaz enp0s8 se aktivoval a je nyní aktivním portem. Stává se to během milisekund a ukazuje, že i když je jeden odkaz z jednoho nebo druhého důvodu mimo provoz, připojení k serveru bude stále udržováno druhým odkazem.
Ping na výchozí bránu a DNS také přinese pozitivní výsledek.
V tuto chvíli jsme úspěšně nakonfigurovali NIC teaming a otestovali funkci redundance pomocí Active-Backup runner.
Jak smazat tým
Prvním krokem při smazání týmu je deaktivace, aby se snížilo rozhraní týmu.
$ nmcli connection down bond0
Dále pokračujte a odstraňte podřízené jednotky, jak je znázorněno
$ nmcli connection delete bond0-slave0 bond0-slave1
Nakonec odstraňte tým, který byl vytvořen
$ nmcli connection delete bond0
Tím se dostáváme na konec této příručky o tom, jak můžete nakonfigurovat NIC teaming na CentOS 8.