Het volgende artikel bevat informatie over NIC Teaming in Windows, VMware en Linux.
Netwerkadapterteaming is een term die wordt gebruikt om verschillende methoden te beschrijven voor het combineren van meerdere netwerkverbindingen om de doorvoer te verhogen of redundantie te bieden. Netwerkinterfacekaart (NIC)-teaming en LAN on Motherboard (LOM) teaming. Kan organisaties een kosteneffectieve methode bieden om de betrouwbaarheid en doorvoer van het netwerk snel en eenvoudig te verbeteren.
NIC-teaming (Network Interface Card) is een methode voor het bieden van hoge beschikbaarheid en fouttolerantie in servers.
Hieronder ziet u een voorbeeld van een webserver met twee NIC's met elk één uplink- en één downlinkverbinding.
Een van de twee netwerkkaarten valt uit of is losgekoppeld, maar de computerverbinding van de client blijft verbonden.
Figuur 1: Twee NIC-teaming-netwerkkaarten mislukken, maar de internetverbinding blijft actief.
De vier belangrijkste typen netwerkteams zijn:
Smart Load Balancing (SLB) en failover: Dit type team verdeelt het netwerkverkeer over alle primaire adapters. Als een primaire adapter defect is, blijven de resterende primaire adapters de belasting in evenwicht houden. Als alle primaire adapters defect zijn, blijft het internetverkeer zonder onderbreking doorstromen via de stand-bymodus. Zodra een primaire adapter weer online is gebracht, stroomt het verkeer weer door de adapter.
SLB met automatische terugval uitschakelen: Dit type team functioneert zoals hierboven, maar verkeer keert niet automatisch terug naar de primaire adapter zodra het weer online is.
IEEE 802.3ad Dynamic Link Aggregation: Ook bekend als Link Aggregation Control Protocol (LACP) of IEEE 802.1ax. Dit type team biedt een verhoogde doorvoer door meerdere fysieke koppelingen te bundelen in één logische koppeling waarvan de effectieve bandbreedte de som is van die van de fysieke koppelingen. Dit type team vereist dat de voeding aan het andere uiteinde van de verbinding LACP ondersteunt. De switch moet correct worden geconfigureerd om het team goed te laten functioneren.
Generieke trunking: Dit type team, ook wel statische koppelingsaggregatie genoemd, biedt hetzelfde type bundelfunctionaliteit als IEEE 802.3ad/802.1ax, maar maakt geen gebruik van LACP. De switch hoeft geen ondersteuning te bieden voor LACP, maar moet correct worden geconfigureerd om dit type team te laten functioneren.
U kunt als volgt een NIC-team maken:
Klik in Serverbeheer op Lokale server.
Zoek in het deelvenster Eigenschappen naar NIC Teaming en klik vervolgens op de koppeling Uitgeschakeld aan de rechterkant. Het dialoogvenster NIC Teaming wordt geopend.
Dialoogvenster
NIC TeamingFig 2: Windows NIC Teaming-dialoogvenster
Selecteer in Adapters en interfaces de netwerkadapters die u aan een NIC-team wilt toevoegen.
Klik op TAKENen klik vervolgens op Toevoegen aan nieuw team.
Figuur 3: Windows-adapters en -interfaces vormen een aanvulling op een nieuw team.
Het dialoogvenster Nieuw team wordt geopend en de netwerkadapters en teamleden worden weergegeven. Typ bij Teamnaam een naam voor het nieuwe NIC-team.
Figuur 4: Windows - Maak een NIC door adapters te selecteren en een teamnaam te maken.
Vouw indien nodig Aanvullende eigenschappen uit, selecteer waarden voor Teaming-modus, Load-balancing-modus en Stand-byadapter. Meestal is de meest presterende werklastverdelingsmodus Dynamisch.
Figuur 5: Eigenschappen voor toevoeging van Windows NIC-team
Als u een VLAN-nummer wilt configureren of toewijzen aan het NIC-team, klikt u op de koppeling rechts van de interface van het primaire team. Het dialoogvenster Nieuwe teaminterface wordt geopend.
Figuur 6: Windows Standaard VLAN-lidmaatschap
Als u het VLAN-lidmaatschap wilt configureren, klikt u op Specifieke VLAN. Typ de VLAN-informatie in het eerste gedeelte van het dialoogvenster.
Figuur 7: Windows-specifiek VLAN-lidmaatschap
Klik op OK.
Als u NIC Teaming moet instellen op een Hyper-V-host, raadpleegt u het Microsoft-artikel Een nieuw NIC Team maken op een hostcomputer
PowerShell-instructie
Het netwerkteam maken met behulp van PowerShell
Open een Power Shell-prompt met verhoogde bevoegdheid. Typ PowerShell in de taakbalk van Windows® 10. Druk op de toetsen W en S om de zoekfunctie te openen.
U zou nu het resultaat van Windows PowerShell bovenaan moeten zien. Klik met de rechtermuisknop op Windows PowerShell en selecteer Als administrator uitvoeren.
Figuur 8: Startmenu van Windows PowerShell Als administrator uitvoeren
Als de prompt Gebruikersaccountbeheer wordt weergegeven, klikt u op Ja.
Voer de opdracht in new-NetLBFOTeam [TEAMNAME] "[NIC1]", "[NIC2]"
en druk op Enter .
Figuur 8: PowerShell-opdracht
Voorbeeld
new-NetLBFOTeam NIC-Team "NIC1" , "NIC2"
Open de Netwerkverbindingen door naar het Configuratiescherm > Netwerk- en internetnetwerkverbindingen > te gaan.
VMware vSphere
Een NIC-team kan een lading verkeer delen tussen fysieke en virtuele netwerken. Onder sommige of alle leden, en bieden een passieve failover in geval van een hardwarestoring of netwerkstoring.
Raadpleeg de VMware KB voor gedetailleerde stappen voor het configureren van NIC Teaming op VMware, waarbij u uw ESXi-versie rechtsboven selecteert.
Configureer NIC Teaming, failover en werklastverdeling op een vSphere standaardswitch of standaardpoortgroep.
Referentie: NIC-teaming in ESXi en ESX (1004088)
Met Linux kunnen beheerders meerdere netwerkinterfaces samenvoegen tot één kanaal met behulp van de bonding-kernelmodule en een speciale netwerkinterface die een kanaalbindingsinterface wordt genoemd. Door channel bonding kunnen twee of meer netwerkinterfaces als één fungeren terwijl tegelijkertijd de bandbreedte wordt verhoogd en redundantie wordt geboden. Waarschuwing: het gebruik van directe kabelverbindingen zonder netwerkswitches wordt niet ondersteund voor bundelen. De failovermechanismen die hier worden beschreven, werken niet zoals verwacht zonder de aanwezigheid van netwerkswitches.
Voor de modi active-backup, balance-TLB en balance-alb is geen specifieke configuratie van de switch vereist. Voor andere bondingsmodi moet de switch worden geconfigureerd om de koppelingen te kunnen samenvoegen. Voor een Cisco-switch is bijvoorbeeld EtherChannel vereist voor de modi 0, 2 en 3, maar zijn voor modus 4 LACP en EtherChannel vereist. Zie de documentatie die bij uw switch wordt geleverd en het bonding.txt bestand in het kernel-doc pakket.
Controleer of de Bonding Kernel Module is geïnstalleerd.
In Red Hat Enterprise Linux 6 wordt de bondingmodule standaard niet geladen. U kunt de module laden door de volgende opdracht te geven als root:
~]# modprobe --first-time bonding
Geen visuele uitvoer geeft aan dat de module niet actief was en nu is geladen. Deze activering blijft niet bestaan bij het opnieuw opstarten van het systeem. Zie paragraaf 31.7, "Persistent module loading" voor een uitleg van persistent modules loading. Bij een correct configuratiebestand met behulp van de BONDING_OPTS-richtlijn wordt de bondingmodule naar behoefte belast en hoeft deze dus niet afzonderlijk te worden geladen. Als u informatie over de module wilt weergeven, geeft u de volgende opdracht:
~]$ modinfo bonding
Werken met kernelmodules voor informatie over het laden en lossen van modules. Een channel bonding interface maken Als u een channel bonding interface
wilt maken, maakt u een bestand in de /etc/sysconfig/network-scripts/
directory met de naam ifcfg-bondN, waarbij N wordt vervangen door het nummer voor de interface, zoals 0.
De inhoud van het bestand kan identiek zijn aan het type interface dat wordt gelijmd, zoals een Ethernet-interface. Het enige verschil is dat de DEVICE-directive bondN is, waarbij N wordt vervangen door het nummer voor de interface. De NM_CONTROLLED-richtlijn kan worden toegevoegd om te voorkomen dat NetworkManager dit apparaat configureert.
Voorbeeld ifcfg-bond0 interfaceconfiguratiebestand
Hieronder volgt een voorbeeld van een configuratiebestand van een channel bonding interface:
DEVICE=bond0 IPADDR=192.168.1.1 NETMASK=255.255.255.0 ONBOOT=yes BOOTPROTO=none USERCTL=no NM_CONTROLLED=no BONDING_OPTS="bonding parameters separated by spaces"
Het MAC-adres van de bond wordt overgenomen van de eerste interface die aan het netwerk wordt toegevoegd. Het kan indien vereist ook worden gespecificeerd met behulp van de directive HWADDR. Als u wilt dat NetworkManager deze interface beheert, verwijdert u de richtlijn NM_CONTROLLED=no of stelt u deze in op yes en voegt u TYPE=Bond en BONDING_MASTER=yes toe.
Nadat de channel bonding-interface is gemaakt, moeten de netwerkinterfaces die aan elkaar moeten worden gekoppeld, worden geconfigureerd door de MASTER- en SLAVE-richtlijnen toe te voegen aan hun configuratiebestanden. De configuratiebestanden voor elk van de channel-bonded interfaces kunnen vrijwel identiek zijn.
Voorbeeld ifcfg-ethX bonded interface-configuratiebestand
Als twee Ethernet-interfaces in een kanaal worden gebonden, kunnen zowel eth0 als eth1 als volgt zijn:
DEVICE=ethX BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes USERCTL=no NM_CONTROLLED=no
Zodra de interfaces zijn geconfigureerd, start u de netwerkservice opnieuw op zodat de bundeling van kracht wordt. Als root geeft u de volgende opdracht:
~]# service network restart
Als u de status van een bundel wilt weergeven, geeft u het bestand /proc/ weer door het geven van een opdracht met de volgende indeling:
cat /proc/net/bonding/bondN
Bijvoorbeeld:
~]$ cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009) Bonding Mode: load balancing (round-robin) MII Status: down MII Polling Interval (ms): 0 Up Delay (ms): 0 Down Delay (ms): 0
Belangrijk: in Red Hat Enterprise Linux 6 moeten interfacespecifieke parameters voor de bonding-kernelmodule worden gespecificeerd als een door spaties gescheiden lijst in de directive BONDING_OPTS="bonding parameters" in het interfacebestand ifcfg-bondN. Specificeer geen opties die specifiek zijn voor een obligatie in /etc/modprobe.d/bonding.conf
, of in het verouderde bestand /etc/modprobe.conf. De parameter max_bonds is niet interfacespecifiek en moet daarom, indien vereist, worden opgegeven in /etc/modprobe.d/bonding.conf
als volgt:
options bonding max_bonds=1
De parameter max_bonds moet echter niet worden ingesteld bij het gebruik van ifcfg-bondN-bestanden met de BONDING_OPTS-richtlijn, omdat deze richtlijn ervoor zorgt dat de netwerkscripts de binding-interfaces maken zoals vereist.
Eventuele wijzigingen aan /etc/modprobe.d/bonding.conf worden pas van kracht als de module de volgende keer wordt geladen. Een actieve module moet eerst worden gesloten.
Creating Multiple Bonds
In Red Hat Enterprise Linux 6 wordt voor elke binding een channel bonding-interface gemaakt inclusief de BONDING_OPTS-richtlijn. Deze configuratiemethode wordt gebruikt zodat meerdere bonding-apparaten verschillende configuraties kunnen hebben. Om meerdere channel bonding interfaces te maken, gaat u als volgt te werk:
Maak meerdere ifcfg-bondN bestanden met de BONDING_OPTS directive; deze directive zorgt ervoor dat de network-scripts de binding-interfaces maken zoals vereist.
Maak of bewerk bestaande, interfaceconfiguratiebestanden die moeten worden gekoppeld en voeg de SLAVE-richtlijn toe.
Wijs de te verbinden interfaces, de slave-interfaces, toe aan de channel bonding-interfaces door middel van de MASTER-richtlijn.
Voorbeeld van meerdere ifcfg-bondN-interfaceconfiguratiebestanden
Hieronder volgt een voorbeeld van een configuratiebestand voor een channel bonding-interface:
DEVICE=bond N IPADDR=192.168.1.1 NETMASK=255.255.255.0 ONBOOT=yes BOOTPROTO=none USERCTL=no NM_CONTROLLED=no vBONDING_OPTS="bonding parameters separated by spaces"
In dit voorbeeld vervangt u N door het nummer voor de bonding-interface. Als u bijvoorbeeld twee bindingen wilt maken, maakt u twee configuratiebestanden, ifcfg-bond0 en ifcfg-bond1.
Maak de interfaces die moeten worden gebonden volgens het voorbeeldbestand ifcfg-ethX bonded interface en wijs ze toe aan de bindingsinterfaces zoals vereist met behulp van de MASTER=bondN-richtlijn. Bijvoorbeeld, gebaseerd op het bovenstaande voorbeeld: indien er twee interfaces per bundel zijn vereist, maakt u voor twee bundels vier interfaceconfiguratiebestanden en wijst u de eerste twee toe met behulp van MASTER=bond0 en de volgende twee met behulp van MASTER=bond1.
Referentie: Linux Channel Bonding-interfaces