Hvordan lage NIC Teaming eller Bonding i CentOS 8/RHEL 8


NIC-teaming er aggregering eller sammenkobling av to eller flere nettverkskoblinger til en enkelt logisk kobling for å gi redundans og høy tilgjengelighet. Det logiske grensesnittet/koblingen er kjent som et teamgrensesnitt. I tilfelle den aktive fysiske koblingen går ned, starter en av backup- eller reserverte lenker automatisk og sikrer en uavbrutt tilkobling til serveren.

Teaming terminologier

Før vi ruller ermene, er det avgjørende å gjøre deg kjent med følgende terminologier:

  • Teamd – Dette er den fine teaming-daemonen som bruker libteam-biblioteket til å kommunisere med teamenheter via Linux-kjernen.
  • Teamdctl– Dette er et verktøy som lar brukere kontrollere en forekomst av teamd. Du kan sjekke og endre portstatusen, samt bytte mellom backup og aktiv tilstand.
  • Runner – Dette er kodeenheter skrevet i JSON og brukes til implementering av ulike NIC-teamkonsepter. Eksempler på løpermoduser inkluderer Round robbin, lastbalansering, kringkasting og aktiv backup.

For denne veiledningen vil vi konfigurere NIC-teaming ved å bruke aktiv backup-modus. Det er her en lenke forblir aktiv mens resten er i standby og reservert som reservekoblinger i tilfelle den aktive lenken går ned.

På denne siden

  • Installer teamet Daemon i CentOS
  • Konfigurer NIC Teaming i CentOS
  • Testing av nettverksredundans
  • Slette et Network Teaming-grensesnitt

Uten mye mer, la oss begynne.

Trinn 1: Installer teamet Daemon i CentOS

Teamd er demonen som er ansvarlig for å lage et nettverksteam som vil fungere som det logiske grensesnittet under kjøring. Som standard leveres den installert med CentOS/RHEL 8. Men hvis den, uansett grunn, ikke er installert, kjør følgende dnf-kommando for å installere den.

sudo dnf install teamd

Når den er installert, kontroller at teamd er installert ved å kjøre rpm-kommandoen:

rpm -qi teamd

Trinn 2: Konfigurer NIC Teaming i CentOS

For å konfigurere NIC-teaming vil vi bruke det hendige nmcli-verktøyet som kan brukes til å administrere NetworkManager-tjenesten. I systemet mitt har jeg 2 NIC-kort som jeg skal knytte sammen eller kombinere for å lage et logisk teamgrensesnitt: enp0s3 og enp0s8. Dette kan være annerledes i ditt tilfelle.

For å bekrefte at de aktive nettverksgrensesnittene kjøres:

nmcli device status

Utgangen bekrefter eksistensen av 2 aktive nettverksforbindelser. For å samle mer informasjon om grensesnittene som UUID, kjør kommandoen:

nmcli connection show

For å lage en nettverkskobling eller -grensesnitt, som vil være vår logiske kobling, skal vi slette de eksisterende nettverksgrensesnittene. Deretter vil vi lage slavegrensesnitt ved å bruke de slettede grensesnittene og deretter knytte dem til teaming-lenken.

Ved å bruke deres respektive UUID-er, utfør kommandoene nedenfor for å slette koblingene:

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

Denne gangen når du sjekker grensesnittene, vil du legge merke til at de er frakoblet og ikke gir noen tilkobling til serveren. I utgangspunktet vil serveren din være isolert fra resten av nettverket.

nmcli device status

Deretter skal vi lage et teamgrensesnitt kalt team0 i aktiv backup-løper-modus. Som tidligere nevnt, bruker den aktive sikkerhetskopieringsmodusen ett aktivt grensesnitt og reserverer de andre for redundans i tilfelle den aktive koblingen går ned.

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

For å se attributtene som er tildelt team0-grensesnittet, kjør kommandoen:

nmcli connection show team0

Perfekt! På dette tidspunktet har vi bare ett grensesnitt oppe, som er team0-grensesnittet som vist.

nmcli connection show

Deretter konfigurerer du IP-adressen for team0-grensesnittet som vist ved hjelp av nmcli-kommandoen. Sørg for å tilordne IP-ene i henhold til nettverkets subnett- og IP-adresseskjema.

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

Deretter oppretter du slavekoblinger og knytter slavene til teamlenken:

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

Sjekk statusen til koblingene igjen, og du vil legge merke til at slavekoblingene nå er aktive.

nmcli connection show

Deretter deaktiverer og aktiverer du teamlinken. Dette aktiverer forbindelsen mellom slavelenkene og teamlenkene.

nmcli connection down team0 && nmcli connection up team0

Deretter bekrefter du tilstanden til teamkoblingstilkoblingen som vist.

ip addr show dev team0

Vi kan se at koblingen er oppe med riktig IP-adressering som vi konfigurerte tidligere.

For å hente ytterligere detaljer om teamkoblingen, kjør kommandoen:

sudo teamdctl team0 state

Fra utdataene kan vi se at begge lenkene (enp0s3 og enp0s8) er oppe og at den aktive lenken er enp0s8.

Trinn 3: Testing av nettverksredundans

For å teste team-modusen vår for aktiv backup, kobler vi fra den aktive lenken – enp0s3 – og sjekker om den andre lenken starter.

nmcli device disconnect enp0s3
sudo teamdctl team0 state

Når du sjekker statusen til teaming-grensesnittet, vil du oppdage at koblingen enp0s8 har startet og serverer tilkoblinger til serveren. Dette bekrefter at oppsettet vårt fungerer!

Trinn 4: Slette et Network Teaming-grensesnitt

Hvis du ønsker å slette teaming-grensesnittet/koblingen og gå tilbake til standard nettverksinnstillinger, må du først hente ned teaming-lenken:

nmcli connection down team0

Deretter sletter du slavene.

nmcli connection delete team0-slave0 team0-slave1

Til slutt sletter du teaming-grensesnittet.

nmcli connection delete team0

På dette tidspunktet er alle grensesnitt nede og serveren din er ikke tilgjengelig. For å aktivere nettverksgrensesnittene og gjenopprette tilkoblingen, kjør kommandoene:

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

NIC-teaming tilbyr en utmerket løsning for nettverksredundans. Med 2 eller flere nettverksgrensesnitt kan du konfigurere et teaming-grensesnitt i hvilken som helst løpermodus for å sikre høy tilgjengelighet i tilfelle én kobling går ned ved et uhell. Vi håper at du fant denne veiledningen nyttig. Ta kontakt og fortell oss hvordan opplevelsen din var.