Zoeken op website

Hoe u NIC-teaming of bonding kunt creëren in CentOS 8/RHEL 8


NIC-teaming is de samenvoeging of verbinding van twee of meer netwerklinks tot één enkele logische link om redundantie en hoge beschikbaarheid te bieden. De logische interface/koppeling staat bekend als een teaminterface. In het geval dat de actieve fysieke link uitvalt, wordt een van de back-up- of gereserveerde links automatisch geactiveerd en zorgt voor een ononderbroken verbinding met de server.

Teamterminologieën

Voordat we onze mouwen opstropen, is het van cruciaal belang om vertrouwd te raken met de volgende terminologieën:

  • Teamd – Dit is de nic teaming-daemon die de libteam-bibliotheek gebruikt om te communiceren met teamapparaten via de Linux-kernel.
  • Teamdctl – Dit is een hulpprogramma waarmee gebruikers een exemplaar van teamd kunnen beheren. U kunt de poortstatus controleren en wijzigen, en schakelen tussen back-up- en actieve statussen.
  • Runner – Dit zijn code-eenheden geschreven in JSON en worden gebruikt voor de implementatie van verschillende NIC-teamingconcepten. Voorbeelden van runner-modi zijn onder meer Round Robbin, taakverdeling, uitzending en actieve back-up.

Voor deze handleiding configureren we NIC-teaming met behulp van de actieve back-up modus. Dit is waar één link actief blijft terwijl de rest stand-by staat en gereserveerd is als back-uplinks voor het geval de actieve link uitvalt.

Op deze pagina

  • Installeer de teamdaemon in CentOS
  • Configureer NIC-teaming in CentOS
  • Redundantie van netwerkteaming testen
  • Een netwerkteaminterface verwijderen

Zonder veel verder oponthoud, laten we beginnen.

Stap 1: Installeer de teamdaemon in CentOS

Teamd is de daemon die verantwoordelijk is voor het creëren van een netwerkteam dat tijdens runtime als logische interface zal fungeren. Standaard wordt het geïnstalleerd met CentOS/RHEL 8. Maar als het om welke reden dan ook niet is geïnstalleerd, voer dan de volgende dnf-opdracht uit om het te installeren.

sudo dnf install teamd

Controleer na de installatie of teamd is geïnstalleerd door de rpm-opdracht uit te voeren:

rpm -qi teamd

Stap 2: Configureer NIC-teaming in CentOS

Om NIC-teaming te configureren zullen we de handige nmcli-tool gebruiken die kan worden gebruikt voor het beheer van de NetworkManager-service. In mijn systeem heb ik 2 NIC-kaarten die ik ga verbinden of combineren om een logische teaminterface te creëren: enp0s3 en enp0s8. Dit kan in uw geval anders zijn.

Om de actieve netwerkinterfaces te bevestigen, voert u het volgende uit:

nmcli device status

De uitvoer bevestigt het bestaan van twee actieve netwerkverbindingen. Om meer informatie te verzamelen over de interfaces zoals UUID, voert u de opdracht uit:

nmcli connection show

Om een netwerkteamlink of -interface te maken, die onze logische link zal zijn, gaan we de bestaande netwerkinterfaces verwijderen. Daarna zullen we slave-interfaces maken met behulp van de verwijderde interfaces en deze vervolgens koppelen aan de teaminglink.

Gebruik hun respectievelijke UUID's om de onderstaande opdrachten uit te voeren om de links te verwijderen:

nmcli connection delete e3cec54d-e791-4436-8c5f-4a48c134ad29
nmcli connection delete dee76b4c-9alb-4f24-a9f0-2c9574747807

Wanneer u deze keer de interfaces controleert, zult u merken dat ze niet zijn verbonden en geen verbinding met de server bieden. Kortom, uw server wordt geïsoleerd van de rest van het netwerk.

nmcli device status

Vervolgens gaan we een teaminterface maken met de naam team0 in active-backup runner-modus. Zoals eerder vermeld, gebruikt de actieve backup runner-modus één actieve interface en reserveert de andere voor redundantie voor het geval de actieve link uitvalt.

nmcli connection add type team con-name team0 ifname team0 config '{"runner": {"name": "activebackup"}}'

Om de attributen te bekijken die zijn toegewezen aan de team0 interface, voer je de opdracht uit:

nmcli connection show team0

Perfect! Op dit moment hebben we slechts één interface beschikbaar, namelijk de team0-interface, zoals weergegeven.

nmcli connection show

Configureer vervolgens het IP-adres voor de team0-interface zoals weergegeven met behulp van de nmcli-opdracht. Zorg ervoor dat u de IP-adressen toewijst volgens het subnet- en IP-adresseringsschema van uw netwerk.

nmcli con mod team0 ipv4.addresses 192.168.2.100/24
nmcli con mod team0 ipv4.gateway 192.168.2.1
nmcli con mod team0 ipv4.dns 8.8.8.8
nmcli con mod team0 ipv4.method manual
nmcli con mod team0 connection.autoconnect yes

Maak daarna slave-links en koppel de slaves aan de teamlink:

nmcli con add type team-slave con-name team0-slave0 ifname enp0s3 master team0
nmcli con add type team-slave con-name team0-slave1 ifname enp0s8 master team0

Controleer nogmaals de status van de links en je zult merken dat de slave-links nu actief zijn.

nmcli connection show

Deactiveer en activeer vervolgens de teamlink. Hierdoor wordt de verbinding tussen de slave-links en de teamlink geactiveerd.

nmcli connection down team0 && nmcli connection up team0

Controleer vervolgens de status van de teamlinkverbinding, zoals weergegeven.

ip addr show dev team0

We kunnen zien dat de koppeling tot stand is gebracht met de juiste IP-adressering die we eerder hebben geconfigureerd.

Om aanvullende details over de teamkoppeling op te halen, voert u de opdracht uit:

sudo teamdctl team0 state

Uit de uitvoer kunnen we zien dat beide links (enp0s3 en enp0s8) actief zijn en dat de actieve link enp0s8 is.

Stap 3: Redundantie van netwerkteaming testen

Om onze actieve back-up-teammodus te testen, zullen we de momenteel actieve link – enp0s3 – verbreken en controleren of de andere link wordt geactiveerd.

nmcli device disconnect enp0s3
sudo teamdctl team0 state

Wanneer u de status van de teaminterface controleert, zult u zien dat de link enp0s8 is geactiveerd en verbindingen met de server verzorgt. Dit bevestigt dat onze opstelling werkt!

Stap 4: Een netwerkteaminterface verwijderen

Als u de teaminterface/link wilt verwijderen en wilt terugkeren naar de standaardnetwerkinstellingen, haalt u eerst de teaminglink neer:

nmcli connection down team0

Verwijder vervolgens de slaven.

nmcli connection delete team0-slave0 team0-slave1

Verwijder ten slotte de teaminterface.

nmcli connection delete team0

Op dit punt zijn alle interfaces uitgeschakeld en is uw server niet bereikbaar. Om uw netwerkinterfaces te activeren en de connectiviteit te herstellen, voert u de volgende opdrachten uit:

sudo ifconfig enp0s3 up
sudo ifconfig enp0s8 up
sudo systemctl restart NetworkManager
Conclusie

NIC-teaming biedt een uitstekende oplossing voor netwerkredundantie. Met 2 of meer netwerkinterfaces kunt u in elke runner-modus een teaminterface configureren om een hoge beschikbaarheid te garanderen in het geval dat een link per ongeluk uitvalt. We hopen dat u deze handleiding nuttig vond. Neem contact met ons op en laat ons weten hoe uw ervaring was.