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.