Sådan opsættes og konfigureres netværksbinding eller teaming i RHEL/CentOS 7 - del 11


Når en systemadministrator ønsker at øge den tilgængelige båndbredde og give redundans og belastningsafbalancering til dataoverførsler, giver en kernefunktion kendt som netværksbinding mulighed for at få arbejdet gjort på en omkostningseffektiv måde.

Læs mere om, hvordan du øger eller båndbreddegasning i Linux

- TecMint.com (@tecmint) 17. september 2015

Med enkle ord betyder binding at samle to eller flere fysiske netværksgrænseflader (kaldet slaver) til en enkelt, logisk (kaldet master). Hvis et specifikt NIC (netværksinterfacekort) oplever et problem, påvirkes ikke kommunikationen væsentligt, så længe de andre (n) forbliver aktive.

Læs mere om netværksbinding i Linux-systemer her:

  1. Netværksteaming eller NiC Bondin i RHEL/CentOS 6/5
  2. Netværks-NIC-binding eller teaming på Debian-baserede systemer
  3. Sådan konfigureres netværksbinding eller teaming i Ubuntu

Aktivering og konfiguration af netværksbinding eller teaming

Som standard er bindingskernemodulet ikke aktiveret. Således bliver vi nødt til at indlæse det og sikre, at det er vedvarende på tværs af støvler. Når det bruges med indstillingen - første gang , advarer modprobe os, hvis indlæsning af modulet mislykkes:

# modprobe --first-time bonding

Ovenstående kommando indlæser bindingsmodulet til den aktuelle session. For at sikre vedholdenhed skal du oprette en .conf -fil inde i /etc/modules-load.d med et beskrivende navn, såsom /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

Genstart nu din server, og når den er genstartet, skal du sørge for, at bindingsmodulet indlæses automatisk, som det ses i fig. 1:

I denne artikel vil vi bruge 3 grænseflader ( enp0s3 , enp0s8 og enp0s9 ) til at oprette en obligation, der praktisk kaldes bond0 .

For at oprette bond0 kan vi enten bruge nmtui, tekstgrænsefladen til styring af NetworkManager. Når nmtui påberåbes uden argumenter fra kommandolinjen, vises en tekstgrænseflade, der giver dig mulighed for at redigere en eksisterende forbindelse, aktivere en forbindelse eller indstille systemværtsnavnet.

Vælg Rediger forbindelse -> Tilføj -> Obligation som illustreret i fig. 2:

På skærmbilledet Rediger forbindelse skal du tilføje slavegrænsefladerne ( enp0s3 , enp0s8 og enp0s9 i vores tilfælde) og give dem en beskrivende (Profil) navn (for eksempel henholdsvis NIC # 1 , NIC # 2 og NIC # 3 ).

Derudover skal du indstille et navn og enheden til obligationen (henholdsvis TecmintBond og bond0 i fig. 3) og en IP-adresse til bond0 , indtast en gateway-adresse og IP-serverne til DNS-serverne.

Bemærk, at du ikke behøver at indtaste MAC-adressen på hver grænseflade, da nmtui vil gøre det for dig. Du kan lade alle andre indstillinger være som standard. Se fig. 3 for flere detaljer.

Når du er færdig, skal du gå til bunden af skærmen og vælge OK (se fig. 4):

Og du er færdig. Nu kan du afslutte tekstgrænsefladen og vende tilbage til kommandolinjen, hvor du vil aktivere den nyoprettede grænseflade ved hjælp af ip-kommandoen:

# ip link set dev bond0 up

Derefter kan du se, at bond0 er OP og tildeles 192.168.0.200, som det ses i fig. 5:

# ip addr show bond0

Test af netværksbinding eller teaming i Linux

For at kontrollere, at bond0 rent faktisk fungerer, kan du enten pinge dens IP-adresse fra en anden maskine, eller hvad der er endnu bedre, se kerneinterfacetabellen i realtid (ja, opdateringstiden i sekunder er givet af -n mulighed) for at se, hvordan netværkstrafik fordeles mellem de tre netværksgrænseflader, som vist i fig. 6.

Indstillingen -d bruges til at fremhæve ændringer, når de forekommer:

# watch -d -n1 netstat -i

Det er vigtigt at bemærke, at der er flere limningstilstande, hver med sine kendetegn. De er dokumenteret i afsnit 4.5 i Red Hat Enterprise Linux 7 Netværksadministrationsvejledning. Afhængigt af dine behov vælger du det ene eller det andet.

I vores nuværende opsætning valgte vi Round-robin-tilstand (se fig. 3), som sikrer, at pakker transmitteres begyndende med den første slave i rækkefølge, slutter med den sidste slave og starter med den første igen.

Round-robin-alternativet kaldes også -tilstand 0 og giver belastningsafbalancering og fejltolerance. For at ændre bindingstilstanden kan du bruge nmtui som forklaret før (se også fig. 7):

Hvis vi ændrer det til Aktiv sikkerhedskopi, bliver vi bedt om at vælge en slave, der er den eneste aktive grænseflade på et givet tidspunkt. Hvis et sådant kort mislykkes, indtager en af de resterende slaver sin plads og bliver aktiv.

Lad os vælge enp0s3 til at være den primære slave, bringe bond0 ned og op igen, genstart netværket og se kernelinterfacetabellen (se fig. 8).

Bemærk, hvordan dataoverførsler (TX-OK og RX-OK) nu kun foretages via enp0s3 :

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

Alternativt kan du se bindingen, som kernen ser den (se fig. 9):

# cat /proc/net/bonding/bond0

Resumé

I dette kapitel har vi diskuteret, hvordan man konfigurerer og konfigurerer binding i Red Hat Enterprise Linux 7 (fungerer også på CentOS 7 og Fedora 22+) for at øge båndbredden sammen med belastningsbalancering og redundans til dataoverførsler.

Når du tager dig tid til at udforske andre bindingstilstande, kommer du til at mestre de begreber og praksis, der er relateret til dette emne i certificeringen.

Hvis du har spørgsmål om denne artikel eller forslag til at dele med resten af samfundet, er du velkommen til at give os besked ved hjælp af nedenstående kommentarformular.