Innledning
Nå som vi har undersøkt hva Windows NIC Teaming er, hvordan det fungerer, hva scenarier den støtter, og hvilke hensyn uansett når implementere det, vi kan endelig gå videre og se på hvordan å implementere det ved hjelp av Windows Powershell. Vi vil begynne med å undersøke hvordan du gjør dette på en fysisk server, og deretter i neste artikkel vil vi se på hvordan du gjør det i en virtuell maskin.
Test miljø
For min testmiljø Jeg bruker en gammel Dell T300 server som har to innebygde GbE nettverkskort. Jeg har utført en ren installasjon av Windows Server 2012 R2 på serveren og er logget på som administrator. Serveren er på en test nettverk som har en annen server utplassert som domenekontroller, DNS server og DHCP server for contoso.com Active Directory-domene. Jeg hadde ikke et reserve Gigabit Ethernet-svitsj i laboratoriet mitt så jeg bruker en 100 Mbps Fast Ethernet-svitsj i stedet, slik at serverens innebygde nettverkskort forhandle frem 100 Mbps kobling hastigheter.
Undersøke den innledende nettverk konfigurasjon
La oss bruke Windows Powershell for å undersøke den opprinnelige konfigurasjonen av serveren nettverket. Get-NetAdapter cmdlet kan brukes til å vise de tilgjengelige nettverkskortene som følger: Vi kan bruke -Physical muligheten til å sørge for at disse er fysiske adaptere ikke virtuelle seg: Her er en annen måte å gjøre dette: Vi kan bruke Get-NetIPInterface cmdelt å liste opp alle nettverksgrensesnitt som begynner med ordet "Ethernet" og verifisere de bruker DHCP til å skaffe sine IP-adresser : NetLbfo er navnet på Powershell-modulen for Windows NIC Teaming. Du kan bruke Get-Command cmdlet for å vise en liste over alle cmdlets i denne modulen som følger: Vi kan bruke den få -NetLbfoTeam å verifisere at det er for tiden ingen lag opprettet: The New-NetLbfoTeam cmdlet kan brukes til å opprette et nytt team. Her er hvordan vi kan skape et nytt team som inkluderer både fysiske nettverkskort på serveren: Kommandoen ovenfor illustrerer den praktiske bruken av -WhatIf alternativet som lar deg se hva en Powershell-kommando vil gjøre før du faktisk kjøre den Som neste kommando illustrerer, kan du også opprette et nytt team som inkluderer bare ett nettverkskort: La oss faktisk gjøre det som det vil tillate oss å legge til den andre adapteren til klubben senere: Den siste linjen ovenfor (Status er lik Down) ser litt illevarslende, så la oss gå inn i GUI og se hva som skjer med vår nye NIC laget: Figuren viser at status for både laget og adapteren i den er både aktiv, så la oss kjøre Get-NetLbfoTeam til få mer informasjon om det nye teamet: Denne gangen Status viser som Up som er det vi håper på, så den forrige Status for Down må ha vært en midlertidig . anomali som resulterte fra nettverket avbrudd når det nye teamet ble opprettet La oss bruke Get-NetLbfoTeamMember cmdlet for å bekrefte at vårt nye team har bare ett medlem i det: Vi kan også bruke Get-NetLbfoTeamNic å få informasjon om grensesnittene definert for klubben: La oss nå bruke Add-NetLbfoTeamMember cmdlet for å legge til vår andre nettverkskortet til det nye teamet. Vi vil bruke Whatiff første til å sørge for at vi gjør det riktig: La oss gå videre og legge til den andre adapteren til laget: Igjen ser det ut som noe gikk galt, så la oss gå inn i GUI og se hva teamet vårt ser ut nå: Alt ser bra ut så la oss kjøre Get-NetLbfoTeam igjen for å få mer info om klubben: Status på laget er opp, slik at alt er OK. La oss sjekke om status for medlemmene av teamet: La oss også se hva vi kan finne ut om grensesnittet for laget: Merk at koblingshastigheten er dobbelt hva enten adapter kan gi alene, så vi har et team! La oss nå si at vi har besluttet å konfigurere vårt team for failover istedenfor link aggregation. Konkret vil teamet bruke "Ethernet" nettverkskort som standard, og hvis "Ethernet" svikter så den "Ethernet 2" nettverkskort vil ta over for å sikre tilgjengelighet for vår server i nettverket. Vi kan gjøre dette ved hjelp av Set-NetLbfoTeamMember cmdlet som følger: Nå la oss gjøre det: Vi kan bruke Get-NetLbfoTeamMember å bekrefte konfigurasjonsendring som følger: Legg merke til at den operative statusen for "Ethernet 2" nettverkskort vist ovenfor vises som Standby. Det grafiske viser oss det samme: For å teste dette, vi vil nå koble nettverkskabelen fra "Ethernet" adapter (den aktive adapter) og se hva som skjer med "Ethernet 2" adapter (standby adapter) som et resultat av våre handlinger. Her er hva Get-NetLbfoTeamMember viser etter å ha utført denne handlingen: Merk at "Ethernet 2" viser nå opp som operasjonelt aktiv, så failover har faktisk skjedd og kan verifiseres i GUI: La oss nå koble til nettverkskabelen til "Ethernet" adapter og se hva som skjer.. Her er hva GUI viser umiddelbart etter å ha utført denne handlingen: Noen sekunder senere GUI ser slik ut: Legg merke til at det tar noen sekunder før alt til å fungere igjen.. La oss endre gruppemedlem "Ethernet 2" fra standby tilbake til aktiv, slik at vi kan bruke klubben for link aggregering stedet for failover: En siste ting: la oss kjøre ipconfig og se hva IP-adressen konfigurasjonen av de to fysiske nettverkskort på vår server utseende som etter opprettelse av et team fra dem: Legg merke til at i stedet for ipconfig kommandoen viser adressen konfigurasjon av teamet som ble opprettet fra adapterne IP vise våre to adaptere. Legg også merke til at IP-adressen på laget er det samme som det primærgruppemedlem ("Ethernet") hadde som sin konfigurasjon før det nye teamet ble opprettet. Når du oppretter et nytt team, er en av lagets medlemmer tildelt rollen som primærteammedlem som dette, og MAC-adressen for laget er MAC-adressen til nettverkskortet som brukes for denne primære teammedlem. Dette er nyttig kunnskap hvis du noen gang trenger å utføre en nettverkssporing for å feilsøke et problem som involverer en NIC team. Anmeldelser
PS C: \\ > Get-NetAdapterName InterfaceDescription ifIndex Status macaddress LinkSpeed ---- -------------------- ------- ------ ----- ----- --------- Ethernet 2 Broadcom NetXtreme Gigabit Ethernet # 2 13 Up A4-BA-DB-0A-96-0C 100 MbpsEthernet Broadcom NetXtreme Gigabit Ethernet 12 Up A4-BA-DB-0A -96-0B 100 Mbps
PS C: \\ > Get-NetAdapter -PhysicalName InterfaceDescription ifIndex Status macaddress LinkSpeed ---- -------------------- ------- ------ --- ------- --------- Ethernet 2 Broadcom NetXtreme Gigabit Ethernet # 2 13 Up A4-BA-DB-0A-96-0C 100 MbpsEthernet Broadcom NetXtreme Gigabit Ethernet 12 Up A4-BA-DB -0A-96-0B 100 Mbps
PS C: \\ > Get-NetAdapter -Name "Ethernet" | Format-List-Eiendoms VirtualVirtual: False
PS C: \\ > Get-NetIPInterface -InterfaceAlias "Ethernet *" -AddressFamily IPv4 | Format-Table InterfaceAlias, ifIndex, DHCP -AutoSizeInterfaceAlias ifIndex DHCP -------------- ------- ---- Ethernet to 13 EnabledEthernet 12 Enabled
< p> Vi kan bruke Get-NetIPAddress cmdelt å vise IP-adresser og subnet mask (via prefikslengde) tilordnet av DHCP til hver adapter:
PS C: \\ > Get-NetIPAddress -InterfaceAlias "Ethernet *" -AddressFamily IPv4 | Format-List InterfaceAlias, ifIndex, IPAddress, PrefixLengthInterfaceAlias: Ethernet 2ifIndex: 13IPAddress: 172.16.11.61PrefixLength: 24InterfaceAlias: EthernetifIndex: 12IPAddress: 172.16.11.62PrefixLength: 24
Powershell cmdlets for Windows NIC teaming
PS C: \\ > Get-Command -Module NetLbfoCommandType Navn module ----------- ---- ---------- Funksjon Add-NetLbfoTeamMember NetLbfoFunction Add-NetLbfoTeamNic NetLbfoFunction Get-NetLbfoTeam NetLbfoFunction Get-NetLbfoTeamMember NetLbfoFunction Get-NetLbfoTeamNic NetLbfoFunction New-NetLbfoTeam NetLbfoFunction Fjern-NetLbfoTeam NetLbfoFunction Fjern-NetLbfoTeamMember NetLbfoFunction Fjern-NetLbfoTeamNic NetLbfoFunction Rename-NetLbfoTeam NetLbfoFunction Set-NetLbfoTeam NetLbfoFunction Set-NetLbfoTeamMember NetLbfoFunction Set-NetLbfoTeamNic NetLbfo
PS C: \\ > Get-NetLbfoTeamPS C: \\ >
Opprette et nytt team
PS C: \\ > New-NetLbfoTeam -Name Testteam -TeamMembers "Ethernet", "Ethernet 2" -WhatIfWhat dersom: Oppretter Lag: 'Testteam "med TeamMembers: {' Ethernet ',' Ethernet 2 '}, TeamNicName:" Testteam ", TeamingMode:' SwitchIndependent 'og LoadBalancingAlgorithm: ".. Dynamic'
PS C: \\ > New-NetLbfoTeam -Name Testteam -TeamMembers "Ethernet" -WhatIfWhat dersom: Oppretter Lag: 'Testteam "med TeamMembers: {' Ethernet '}, TeamNicName:" Testteam ", TeamingMode:' SwitchIndependent 'og LoadBalancingAlgorithm:' Dynamic '
PS C: \\ > ? New-NetLbfoTeam -Name Testteam -TeamMembers "Ethernet" ConfirmAre du sikker på at du vil utføre denne handlingen Oppretter Lag: 'Testteam "med TeamMembers: {' Ethernet '}, TeamNicName:" Testteam ", TeamingMode:' SwitchIndependent 'andLoadBalancingAlgorithm:' . dynamisk "[Y] Ja [A] Ja til alt [N] Nei [L] Nei til alt [S] Suspend Help (standard er" Y ") [?]: yName: TestTeamMembers: EthernetTeamNics: TestTeamTeamingMode: SwitchIndependentLoadBalancingAlgorithm: DynamicStatus : Ned
Figur 1:. En ny NIC team med ett nettverkskort som medlem
PS C: \\ > Get-NetLbfoTeamName: TestTeamMembers: EthernetTeamNics: TestTeamTeamingMode: SwitchIndependentLoadBalancingAlgorithm: DynamicStatus: Opp
PS C: \\ > Get-NetLbfoTeamMember -Team TestTeamName: EthernetInterfaceDescription: Broadcom NetXtreme Gigabit EthernetTeam: TestTeamAdministrativeMode: ActiveOperationalStatus: ActiveTransmitLinkSpeed (Mbps): 100ReceiveLinkSpeed (Mbps): 100FailureReason: NoFailure
PS C: \\ > Get-NetLbfoTeamNic -Team TestTeamName: TestTeamInterfaceDescription: Microsoft Network Adapter multiplexor DriverTeam: TestTeamVlanID: Primær: TrueDefault: TrueTransmitLinkSpeed (Mbps): 100ReceiveLinkSpeed (Mbps): 100
Legge til et medlem til et team
PS C: \\ > Add-NetLbfoTeamMember -Name "Ethernet 2" -Team Testteam -WhatIfWhat dersom: Legger medlems: 'Ethernet 2 "med AdministrativeMode: Aktiv til Team:" Testteam'
PS C: \\ > Legg-NetLbfoTeamMember -Name "Ethernet 2" -Team TestTeamConfirmAre du sikker på at du vil utføre denne handlingen Legger medlems: 'Ethernet 2 "med AdministrativeMode: Aktiv til Team:" Testteam "[Y] Ja [A] Ja til All [N] Nei [L] Nei til alt [S] Suspend Help (standard er "Y") [?]: yName: Ethernet 2InterfaceDescription: Broadcom NetXtreme Gigabit Ethernet # 2Team: TestTeamAdministrativeMode: ActiveOperationalStatus: FailedTransmitLinkSpeed (Mbps): 0ReceiveLinkSpeed (Mbps): 0FailureReason: PhysicalMediaDisconnected
Figur 2: Teamet har nå to adaptere som medlemmer
PS C:. \\ > Get-NetLbfoTeamName: TestTeamMembers: {Ethernet 2, Ethernet} TeamNics: TestTeamTeamingMode: SwitchIndependentLoadBalancingAlgorithm: DynamicStatus: Opp
PS C: \\ > Get-NetLbfoTeamMember -Team TestTeamName: Ethernet 2InterfaceDescription: Broadcom NetXtreme Gigabit Ethernet # 2Team: TestTeamAdministrativeMode: ActiveOperationalStatus: ActiveTransmitLinkSpeed (Mbps): 100ReceiveLinkSpeed (Mbps): 100FailureReason: NoFailureName: EthernetInterfaceDescription: Broadcom NetXtreme Gigabit EthernetTeam: TestTeamAdministrativeMode: ActiveOperationalStatus: ActiveTransmitLinkSpeed (Mbps) : 100ReceiveLinkSpeed (Mbps): 100FailureReason: NoFailure
PS C: \\ > Get-NetLbfoTeamNic -Team TestTeamName: TestTeamInterfaceDescription: Microsoft Network Adapter multiplexor DriverTeam: TestTeamVlanID: Primær: TrueDefault: TrueTransmitLinkSpeed (Mbps): 200ReceiveLinkSpeed (Mbps): 200
Konfigurering failover
PS C: \\ > Set-NetLbfoTeamMember -Name "Ethernet 2" -AdministrativeMode Standby -WhatIfWhat dersom: Endrer AdministrativeMode for medlems: 'Ethernet 2 "fra" Active "til" Standby "i teamet." Testteam'
PS C: \\ > Set-NetLbfoTeamMember -Name "Ethernet 2" -AdministrativeMode StandbyPS C: \\ >
PS C: \\ > Get-NetLbfoTeamMember -Team TestTeamName: Ethernet 2InterfaceDescription: Broadcom NetXtreme Gigabit Ethernet # 2Team: TestTeamAdministrativeMode: StandbyOperationalStatus: StandbyTransmitLinkSpeed (Mbps): 100ReceiveLinkSpeed (Mbps): 100FailureReason: AdministrativeDecisionName: EthernetInterfaceDescription: Broadcom NetXtreme Gigabit EthernetTeam: TestTeamAdministrativeMode: ActiveOperationalStatus: ActiveTransmitLinkSpeed (Mbps) : 100ReceiveLinkSpeed (Mbps): 100FailureReason: NoFailure
Figur 3: "Ethernet 2" er nå en standby adapter
PS C: \\ > Get-NetLbfoTeamMember -Team TestTeamName: Ethernet 2InterfaceDescription: Broadcom NetXtreme Gigabit Ethernet # 2Team: TestTeamAdministrativeMode: StandbyOperationalStatus: ActiveTransmitLinkSpeed (Mbps): 100ReceiveLinkSpeed (Mbps): 100FailureReason: NoFailureName: EthernetInterfaceDescription: Broadcom NetXtreme Gigabit EthernetTeam: Testteam AdministrativeMode: ActiveOperationalStatus: FailedTransmitLinkSpeed (Mbps ): 0ReceiveLinkSpeed (Mbps): 0FailureReason: PhysicalMediaDisconnected
Figur 4: Beredskaps adapter har blitt aktiv
Figur 5:. Den mislykkede adapter har blitt restaurert og teamet blir rekonfigureres
Figur 6: Laget har blitt restaurert
PS C: \\ > Set-NetLbfoTeamMember -Name "Ethernet 2" -AdministrativeMode ActivePS C: \\ >
PS C: \\ > ipconfigWindows IP ConfigurationEthernet adapter Testteam: Tilkoblingsspesifikt DNS-suffiks. : Contoso.com Link-local IPv6-adresse. . . . . : Fe80 :: 69e3: 4408: 7d3f: ac4d% 25 IPv4-adresse. . . . . . . . . . . : 172.16.11.62 Subnet mask. . . . . . . . . . . : 255.255.255.0 Standard gateway. . . . . . . . . : 172.16.11.1Tunnel adapter isatap.contoso.com: Medietilstand. . . . . . . . . . . : Medium frakoblet Tilkoblingsspesifikt DNS-suffiks. : Contoso.com