Configurer le NIC teaming en PowerShell
Sommaire
I. Qu’est-ce que le NIC Teaming ?
Le « NIC Teaming » également appelé association de cartes réseau est une fonctionnalité très intéressante disponible sous Windows Server. Elle permet de fournir une tolérance aux pannes au niveau des cartes réseau ainsi que d’effectuer de la répartition de charge sur les différentes cartes faisant partie d’une équipe de cartes (au moins deux cartes pour que ce soit intéressant). De plus, les performances sont meilleures également grâce à l’agrégat de bande passante.
Pour parvenir à cela, les cartes réseau vont fonctionner en équipe pour assurer la continuité de la connectivité.
Pour illustrer mes propos, partons du principe que vous disposez de deux cartes réseaux 10 Gbit/s et que vous créez une équipe avec ces deux cartes, l’agrégat de bande passante vous offrira un débit de 20 Gbit/s (théorique).
Il est également de créer une association de cartes réseau où une seule carte est active et où une carte est définie en tant que secours. Elle sera activée qu’en cas de défaut de la carte principale. La tolérance aux pannes est accrue grâce à ce mécanisme de basculement.
II. Quelques notions avant de commencer...
Pour mieux comprendre ce qui va suivre, voici quelques informations quant aux options disponibles concernant la configuration de l’association de cartes réseau.
• Mode d’équipe
La valeur « Indépendant du commutateur » indique que le Teaming sera indépendant du commutateur auquel les cartes sont reliées, ce qui permet de relier les cartes à des commutateurs différents et donc d’augmenter la haute disponibilité puisque si un commutateur tombe, les paquets pourront passer par un autre chemin via le second commutateur.
En ce qui concerne le mode « Association statique » (IEEE 802.3ad), il requiert une configuration du serveur et du commutateur (il faut que les liens soient connectés au même commutateur) en se basant sur le principe d’une association statique.
Enfin, le choix « LACP » (IEEE 802.1ax) ou « Association dynamique » avec la mise en place du protocole LACP sur les ports du switch sur lesquels les cartes réseau du Teaming sont connectées. Le LACP est un protocole connu et très utilisé en ce qui concerne l’agrégation de liens.
• Mode d’équilibrage de charge
Il s’agit de choisir l’algorithme de distribution du trafic, trois choix sont disponibles : « Hachage d’adresse », « Adresses IP », « Adresses MAC » et « Port commuté Hyper-V ».
Je vous recommande une des trois premières méthodes puisqu’elle répartit mieux la charge que la méthode « Port commuté Hyper-V » qui, dans certains cas, peut amener à consacrer une carte réseau à un seul ordinateur virtuel, ce qui n’équilibre pas bien la charge. La première méthode quant à elle effectue un hachage sur les composants du paquet puis l’affecte les paquets du flux TCP à la même carte réseau, ce hachage se chargera de créer un bon équilibre entre les différentes cartes. La deuxième et troisième méthode se base sur un hachage effectué sur les adresses sources et destinations pour déterminer quelle carte utiliser et ainsi effectuer du load balancing.
III. Les commandlets PowerShell pour le NIC Teaming
Rapidement avant d’attaquer, voici une commande qui vous permettra de lister toutes les commandes en rapport avec le NIC teaming sous Windows Server.
Get-Command -Module NetLbfo
Il y a un module nommé « NetLbfo » qui contient toutes ces commandes.
IV. Créer un NIC Teaming de deux cartes réseau
Notre serveur CORE01 dispose de deux cartes réseaux, une nommée « LAN » et l’autre dispose de son nom d’origine à savoir « Ethernet1 ». Nous allons associer ces deux cartes réseau au sein d’un NIC teaming.
Pour que ce soit plus propre, on va renommer rapidement nos deux cartes réseau. LAN deviendra LAN1, et Ethernet1 deviendra LAN2. Enfin, on vérifie que les changements sont pris en compte en listant les cartes réseau.
Get-NetAdapter -Name LAN | Rename-NetAdapter -NewName LAN1
Get-NetAdapter -Name Ethernet1 | Rename-NetAdapter -NewName LAN2
Get-NetAdapter | fl Name
Pour la création de l’association de cartes réseau, on utilise le commandlet « New-NetLbfoTeam », comme ceci (lors de la création, validez avec « T ») :
New-NetLbfoTeam -Name "LAN-Teaming" -TeamMembers LAN1,LAN2 -TeamingMode SwitchIndependent -LoadBalancingAlgorithm IPAddresses
Quelques explications pour y voir plus clair sur cette commande… Le paramètre « Name » permet de nommer cette association de carte, alors que le paramètre « TeamMembers » doit être suivi des noms de carte que l’on souhaite intégrer dans cette association. En ce qui concerne le paramètre « TeamingMode » il correspond au mode d’équipe et la valeur « SwitchIndependent » permet de choisir « Indépendant du commutateur ». Enfin on finit par sélectionner l’algorithme d’équilibrage de charge que l’on souhaite utiliser, pour ma part « IPAddresses » pour « Adresses IP ».
Vous devez mieux comprendre pourquoi j’ai abordé ces notions en début de chapitre.
Désormais, votre serveur dispose d’un adaptateur réseau supplémentaire et qui porte le nom que l’on a donné à l’association de cartes, à savoir « LAN-Teaming ».
À tout moment, affichez les différentes associations de cartes réseau que vous avez sur votre serveur grâce à la commande « Get-NetLbfoTeam » ou encore « Get-NetLbfoTeamMember » pour lister toutes les cartes réseau associées à un NIC Teaming.
Votre association de cartes réseau est opérationnelle ! À un détail près, il faut penser à reconfigurer une adresse IP sur cette nouvelle interface « LAN-Teaming ». En effet, avec la mise en place de ce mécanisme, les deux interfaces réseau (LAN1 et LAN2) partagent une adresse IP commune définie au niveau de la carte virtuelle du teaming.
Pour définir l’adresse IP, je vous laisse faire puisque nous avons déjà vu comment faire dans le premier module de ce cours. Rappelez-vous avec « New-NetIPAddress ».
V. Éditer et supprimer un NIC Teaming existant
Si vous avez besoin de changer la configuration d’une association de cartes réseau existante, inutile de tout recréer de zéro. Utilisez simplement le commandlet « Set-NetLbfoTeam », et éditez le paramètre que vous voulez.
Exemple pour passer le mode d’équipe sur « LACP » :
Set-NetLbfoTeam -Name LAN-Teaming -TeamingMode LACP
Toutefois, pour supprimer un NIC Teaming, utilisez la commande suivante :
Remove-NetLbfoTeam -Name LAN-Teaming
Vous êtes désormais en mesure de créer et de gérer des associations de cartes réseau en ligne de commandes par l’intermédiaire de PowerShell et du module « NetLbfo ».