Teaming – Windows Server 2012

Hello,

What’s better than PowerShell to start the week end ? Well, PowerShell with Windows Server 2012 😀

Few days ago i decided to build my home lab to work on certificates, so i spent some playing with new features on Windows Server 2012. And, great news, at least we can do Network Card Teaming without third party drivers which the issues we all face daily…

Pour ceux qui ne savent pas ce qu’est le teaming, rapidement c’est un groupement de cartes rĂ©seaux physiques regroupĂ©es sous une carte rĂ©seau virtuelle qui va permettre de faire de la tolĂ©rance de panne, du failover, ou de multiplier la vitesse  des transferts.

AprĂšs cette grossiĂšre explication, passons aux choses sĂ©rieuses. WinRM 3.0 propose plein de nouveaux cmdlets, regroupĂ©s dans des modules (qui maintenant sont chargĂ©s automatiquement Ă  l’appel de la dite cmdlet.. cool non ? )

Une chose bĂȘte, mais dans Server Manager, sur la page d’information de votre serveur vous voyez si un teaming est en place

Donc, pour créer un teaming il faut trouver et lister les cartes réseaux physiques

$NetworkCards = Get-NetAdapter -Physical

 

 

Evidemment, c’est un minimum d’avoir deux cartes pour faire un teaming !

Pour réaliser le groupement de cartes, il faut créer un teaming avec New-NetLbfoTeam.

get-help New-NetLbfoTeam

 

Les deux paramĂštres qui doivent attirer votre attention sont TeamingMode & LoadBalancingAlgorithm.

TeamingMode :

  • TransportPorts: Utilise les port TCP de la source et de la destination ainsi que leurs adresses IP pour crĂ©er un hash, puis assigne les paquets qui ont la valeur de hash correspondant Ă  l’une des interfaces disponibles.
  • IPAddresses: Utilise l’adresse IP source et celle de destination pour crĂ©er un hash et assigne les paquets qui ont la valeur de hash Ă  l’une des interfaces disponibles.
  • MacAddresses: Utilise l’adresse MAC de la source et celle de la destination pour crĂ©er un hash et assigne les paquets qui ont la valeur de hash Ă  l’une des interfaces disponibles.
  • HyperVPort: Distribue le traffic rĂ©seau en fonction du numĂ©ro de port du Switch Hyper-V

 

LoadBalancingAlgorithm:

  • LACP: Se base sur le protocol IEEE 802.1ax Link Aggregation Control Protocol (LACP) pour identifier dynamiquement les liens entre l’hĂŽte et le switch
  • Static: Requiert une configuration sur le switch et l’hĂŽte pour identifier les liens qui viennent du teaming
  • SwitchIndependent: Indique qu’une configuration du switch n’est pas nĂ©cessaire. Les cartes peuvent ĂȘtre connectĂ©es sur des switchs diffĂ©rents

 

Passons aux choses sĂ©rieuses… Ci-dessous, un exemple pour rĂ©aliser un teaming de toutes les cartes rĂ©seaux du server.

 

$networkCards = Get-NetAdaptater -Physical
New-NetLbfoTeam -Name 'teamTest' -TeamNicName 'Teamed Card' -TeamMembers $NetworkCards.Name `
-TeamingMode Lacp -LoadBalancingAlgorithm IPAddresses -Confirm:$false

 

 

 

On voit que le teaming est bien crĂ©Ă©, mais qu’il est pour le moment avec un Statut Down. Soyez patient, il passera Up de lui mĂȘme quelques secondes aprĂšs, comme le prouve la commande suivante.

[powershell]

Get-NetAdaptater

[/powershell]

On voit bien les deux cartes rĂ©seaux physiques, et la carte virtuelle ‘teamĂ©e’ avec un lien Ă  2Gbps et Ă  l’affichage ‘classique’ on distingue aisĂ©ment la carte teamĂ©e.

Par dĂ©faut, cette carte reçoit une adresse IP APIPA, car je n’ai pas de serveur DHCP,  comme le montre le serveur manager.

Passons donc cette carte en adresse IP fixe.

New-NetIPaddress -IPAddress 192.168.0.145 -DefaultGateway 192.168.0.254 -PrefixLength 24 `
-InterfaceIndex 22
Set-DnsClientServerAddress -ServerAddresses 192.168.0.100,8.8.8.8 -InterfaceIndex 22
Get-NetIPAddress -InterfaceIndex 22

 

Bon, on y est presque, y’a toujours l’adresse APIPA Ă  la con attribuĂ©e par dĂ©faut.

Remove-NetIPAddress -IPAddress 169.254.130.62 -Confirm:$false
Get-NetIPAddress -InterfaceIndex 22

 

 

Tadaaaaaah !

Votre teaming est configurĂ© et prĂȘt Ă  l’emploi.

J’espĂšre que ça vous servira et vous souhaite un bon week end !

@+