Hvordan sette opp og konfigurere nettverksbinding eller teaming i RHEL/CentOS 7 - del 11


Når en systemadministrator ønsker å øke tilgjengelig båndbredde og gi redundans og lastbalansering for dataoverføringer, gjør en kjernefunksjon kjent som nettverksbinding det mulig å få jobben gjort på en kostnadseffektiv måte.

Les mer om hvordan du øker eller struper båndbredden i Linux

Med enkle ord betyr binding å samle to eller flere fysiske nettverksgrensesnitt (kalt slaver) til ett enkelt, logisk (kalt master). Hvis et spesifikt NIC (Network Interface Card) opplever et problem, påvirkes ikke kommunikasjonen nevneverdig så lenge den eller de andre forblir aktive.

Les mer om nettverksbinding i Linux-systemer her:

  1. Network Teaming eller NiC Bondin i RHEL/CentOS 6/5
  2. Network NIC Bonding eller Teaming på Debian-baserte systemer
  3. Hvordan konfigurere nettverksbinding eller teaming i Ubuntu

Aktivere og konfigurere Network Bonding eller Teaming

Som standard er ikke bonding-kjernemodulen aktivert. Derfor må vi laste den og sikre at den er vedvarende på alle støvler. Når den brukes med --first-time-alternativet, vil modprobe varsle oss hvis lasting av modulen mislykkes:

modprobe --first-time bonding

Kommandoen ovenfor vil laste bindingsmodulen for gjeldende økt. For å sikre utholdenhet, lag en .conf-fil inne i /etc/modules-load.d med et beskrivende navn, for eksempel /etc/modules-load .d/bonding.conf:

echo "# Load the bonding kernel module at boot" > /etc/modules-load.d/bonding.conf
echo "bonding" >> /etc/modules-load.d/bonding.conf

Start nå serveren på nytt og når den starter på nytt, sørg for at bindingsmodulen lastes automatisk, som vist i fig. 1:

I denne artikkelen vil vi bruke 3 grensesnitt (enp0s3, enp0s8 og enp0s9) for å lage en obligasjon, enkelt kalt bond0.

For å lage bond0 kan vi enten bruke nmtui, tekstgrensesnittet for å kontrollere NetworkManager. Når det påkalles uten argumenter fra kommandolinjen, viser nmtui et tekstgrensesnitt som lar deg redigere en eksisterende tilkobling, aktivere en tilkobling eller angi systemvertsnavnet.

Velg Rediger tilkobling –> Legg til –> Bond som illustrert i fig. 2:

I skjermbildet Rediger tilkobling legger du til slavegrensesnittene (enp0s3, enp0s8 og enp0s9 i vårt tilfelle) og gi dem et beskrivende (profil) navn (for eksempel henholdsvis NIC #1, NIC #2 og NIC #3).

I tillegg må du angi et navn og enhet for obligasjonen (TecmintBond og bond0 i henholdsvis fig. 3) og en IP-adresse for bond0, skriv inn en gateway-adresse og IP-ene til DNS-servere.

Merk at du ikke trenger å angi MAC-adressen til hvert grensesnitt siden nmtui vil gjøre det for deg. Du kan la alle andre innstillinger være standard. Se fig. 3 for flere detaljer.

Når du er ferdig, går du til bunnen av skjermen og velger OK (se fig. 4):

Og du er ferdig. Nå kan du gå ut av tekstgrensesnittet og gå tilbake til kommandolinjen, hvor du vil aktivere det nyopprettede grensesnittet ved å bruke ip-kommandoen:

ip link set dev bond0 up

Etter det kan du se at bond0 er OPP og er tildelt 192.168.0.200, som vist i fig. 5:

ip addr show bond0

Testing av nettverksbinding eller teaming i Linux

For å bekrefte at bond0 faktisk fungerer, kan du enten pinge IP-adressen fra en annen maskin, eller hva som er enda bedre, se på kjernegrensesnitttabellen i sanntid (vel, oppdateringstiden i sekunder er gitt av -n alternativ) for å se hvordan nettverkstrafikken fordeles mellom de tre nettverksgrensesnittene, som vist i fig. 6.

Alternativet -d brukes til å markere endringer når de oppstår:

watch -d -n1 netstat -i

Det er viktig å merke seg at det er flere bindingsmodi, hver med sine særegne egenskaper. De er dokumentert i avsnitt 4.5 i Red Hat Enterprise Linux 7 Network Administration guide. Avhengig av dine behov, vil du velge det ene eller det andre.

I vårt nåværende oppsett valgte vi Round-robin-modusen (se fig. 3), som sikrer at pakker sendes som begynner med den første slaven i sekvensiell rekkefølge, slutter med den siste slaven og starter med først igjen.

Round-robin-alternativet kalles også mode 0, og gir lastbalansering og feiltoleranse. For å endre bindingsmodus kan du bruke nmtui som forklart før (se også fig. 7):

Hvis vi endrer det til Aktiv sikkerhetskopiering, vil vi bli bedt om å velge en slave som vil være det eneste aktive grensesnittet på et gitt tidspunkt. Hvis et slikt kort mislykkes, vil en av de gjenværende slavene ta plassen og bli aktiv.

La oss velge enp0s3 som primær slave, bringe bond0 ned og opp igjen, starte nettverket på nytt og vise kjernegrensesnitttabellen (se fig. 8).

Legg merke til hvordan dataoverføringer (TX-OK og RX-OK) nå bare gjøres over enp0s3:

ip link set dev bond0 down
ip link set dev bond0 up
systemctl restart network

Alternativt kan du se bindingen slik kjernen ser den (se fig. 9):

cat /proc/net/bonding/bond0

Sammendrag

I dette kapittelet har vi diskutert hvordan du setter opp og konfigurerer binding i Red Hat Enterprise Linux 7 (fungerer også på CentOS 7 og Fedora 22+ ) for å øke båndbredden sammen med lastbalansering og redundans for dataoverføringer.

Når du tar deg tid til å utforske andre bindingsmoduser, vil du komme til å mestre konseptene og praksisen knyttet til dette emnet for sertifiseringen.

Hvis du har spørsmål om denne artikkelen, eller forslag til å dele med resten av fellesskapet, kan du gjerne gi oss beskjed ved å bruke kommentarskjemaet nedenfor.