Når en systemadministrator ønsker å øke tilgjengelig båndbredde og tilby redundans og lastbalansering for dataoverføringer, er en kjernefunksjon kjent som nettverk binding gjør det mulig å få jobben gjort på en kostnadseffektiv måte.
Les mer om hvordan du kan øke eller redusere båndbredde i Linux
Hvordan begrense nettverksbåndbredden som brukes av programmer i en Linux med Tricklehttp://t.co/It2ccJeAih
Via @tecmintpic.twitter.com/nzKwF3ec2O- TecMint.com (@tecmint) 17. september 2015
I enkle ord betyr bonding å samle to eller flere fysiske nettverksgrensesnitt (kalt slaver) til en enkelt, logisk (kalt master). Hvis et bestemt NIC (Network Interface Card) opplever et problem, påvirkes ikke kommunikasjonen nevneverdig så lenge de andre (n) forblir aktive.
Les mer om nettverksbinding i Linux -systemer her:
Som standard er ikke bonding -kjernemodulen aktivert. Dermed må vi laste den og sikre at den er vedvarende på tvers av støvlene. Når den brukes med --første gang
alternativ, modprobe vil varsle oss hvis innlasting av modulen mislykkes:
# modprobe-første gangs binding.
Kommandoen ovenfor vil laste inn bindingsmodulen for den aktuelle økten. For å sikre utholdenhet må du lage en .konf
filen inne /etc/modules-load.d
med et beskrivende navn, for eksempel /etc/modules-load.d/bonding.conf
:
# echo "# Last bonding-kjernemodulen ved oppstart"> /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, må du kontrollere at bindingsmodulen lastes inn automatisk, som vist i Fig. 1:
I denne artikkelen vil vi bruke 3 grensesnitt (enp0s3
, enp0s8
, og enp0s9
) for å opprette et bånd, navngitt beleilig obligasjon0
.
Å lage obligasjon0
, kan vi enten bruke nmtui, tekstgrensesnittet for kontroll NetworkManager. Når det påkalles uten argumenter fra kommandolinjen, nmtui viser et tekstgrensesnitt som lar deg redigere en eksisterende tilkobling, aktivere en tilkobling eller angi systemets vertsnavn.
Velge Rediger tilkobling –> Legg til –> Knytte bånd som illustrert i Fig. 2:
I Rediger tilkobling legg til slave -grensesnittene (enp0s3
, enp0s8
, og enp0s9
i vårt tilfelle) og gi dem et beskrivende (profil) navn (for eksempel NIC #1
, NIC 2
, og NIC #3
henholdsvis).
I tillegg må du angi et navn og en enhet for obligasjonen (TecmintBond
og obligasjon0
i fig. 3, henholdsvis) og en IP -adresse for obligasjon0
, angi en gateway -adresse og IP -adressene 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 stå som 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, der du vil aktivere det nyopprettede grensesnittet med ip -kommando:
# ip link set dev bond0 up.
Etter det kan du se det obligasjon0
er UP og er tildelt 192.168.0.200, som vist på fig. 5:
# ip addr show bond0.
For å bekrefte det obligasjon0
faktisk fungerer, kan du enten pinge IP -adressen fra en annen maskin, eller hva som er enda bedre, se kjernegrensesnittet i sanntid (vel, oppdateringstiden i sekunder er gitt av -n
alternativ) for å se hvordan nettverkstrafikken fordeles mellom de tre nettverksgrensesnittene, som vist på fig. 6.
De -d
alternativet brukes til å markere endringer når de skjer:
# watch -d -n1 netstat -i.
Det er viktig å merke seg at det er flere bindemåter, hver med sine særpreg. 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 modus (se fig. 3), som sikrer at pakker overføres som begynner med den første slaven i sekvensiell rekkefølge, slutter med den siste slaven og starter med den første igjen.
Round-robin-alternativet kalles også modus 0
, og gir lastbalansering og feiltoleranse. For å endre limemodus kan du bruke nmtui som forklart før (se også fig. 7):
Hvis vi endrer det til Aktiv sikkerhetskopiering, blir vi 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 resterende slaver ta sin plass og bli aktiv.
La oss velge enp0s3
å være den primære slaven, ta med obligasjon0
ned og opp igjen, start nettverket på nytt og vis tabellen for kjernegrensesnittet (se fig. 8).
Legg merke til hvordan dataoverføringer (TX-OK og RX-OK) blir nå gjort om enp0s3
bare:
# ip link set dev bond0 down. # ip link set dev bond0 up. # systemctl start nettverket på nytt.
Alternativt kan du se bindingen slik kjernen ser den (se fig. 9):
# cat/proc/net/bonding/bond0.
I dette kapitlet 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 bindemoduser, kommer du til å mestre konseptene og øvelsen knyttet til dette emnet for sertifiseringen.
Hvis du har spørsmål om denne artikkelen, eller forslag du vil dele med resten av samfunnet, er du velkommen til å gi oss beskjed ved å bruke kommentarskjemaet nedenfor.