Comment créer un switch SET pour Hyper-V sur Windows Server 2025 ?
Windows Server 2025 apporte beaucoup de bonnes choses. Mais il n'intègre toujours pas d'interface graphique pour la création d'un switch virtuel basé sur SET (Switch Embedded Teaming). Ceci est un peu dommage, car le NIC Teaming historique est parfaitement intégré à la console de gestion du serveur. Avec une petite dose d'adaptation, son interface graphique pourrait pourtant être réutilisée pour le SET. Cela ne serait pas choquant.
Petit arrêt sur image
Faisons une petite pause pour les personnes qui auraient le sentiment que je vais un peu trop vite dans cet article. M'adressant généralement un public plus orienté Dev que Ops, je me permets de faire un petit résumé des épisodes précédents :
- NIC Teaming, et SET sont deux solutions simples pour la création d'agrégats de cartes réseaux (très pratique pour répartir la charge, et fiabiliser le réseau).
- NIC Teaming est la solution historique introduite avec Windows Server 2012. Souvent appelée LBFO pour Load Balancing / Fail Over. Peut-être utilisé pour faire du LACP avec un switch managé compatible. Peut aussi être utilisé avec un switch non managé, et/ou avec deux switchs (managés ou non). Aucune contrainte sur les interfaces réseau pouvant être agrégées.
- SET est une solution plus moderne introduite avec Windows Server 2016. N'impose aucune contrainte sur les switchs. Les interfaces réseau doivent être identiques (marque, modèle, vitesse, configuration).
Depuis Windows Server 2022, l'usage de NIC Teaming avec Hyper-V est déprécié. SET est devenu l'option recommandée.
Comment procéder ?
Premièrement, il faut identifier les interfaces réseau disponibles. Ceci passe par la commande Get-NetAdapter
.
PS C:\> Get-NetAdapter
Name InterfaceDescription ifIndex Status MacAddress LinkSpeed ---- -------------------- ------- ------ ---------- --------- Admin Intel(R) 82574L Gigabit Network Conn... 17 Up XX-XX-XX-XX-XX-XX 1 Gbps E1 Intel(R) 82599 10 Gigabit Dual Port ... 33 Up XX-XX-XX-XX-XX-XX 10 Gbps E2 Intel(R) 82599 10 Gigabit Dual Port ... 37 Up XX-XX-XX-XX-XX-XX 10 Gbps
Dans mon cas, deux interfaces 10Gb sont disponibles : E1,et E2 (je les avais renommées via le centre d'administration réseau pour faciliter leur identification).
On peut alors utiliser la commande New-VMSwitch
pour créer un switch virtuel et lui associer les deux cartes E1, et E2. L'option AllowManagementOS
n'est pas indispensable. Je l'ai juste ajouté pour que mon serveur puisse avoir une IP sur le SET (en plus de son IP d'admin obtenue via une interface 1Gb).
PS C:\> New-VMSwitch -Name LAN -NetAdapterName "E1","E2" -AllowManagementOS $true
Name SwitchType NetAdapterInterfaceDescription ---- ---------- ------------------------------ LAN External Teamed-Interface
À partir de cet instant, le swicth peut être utilisé avec Hyper-V.
Bonus
Si besoin, la commande Get-VMSwitchTeam
peut être utilisée pour vérifier la configuration du switch virtuel.
PS C:\> Get-VMSwitchTeam -Name LAN
Name NetAdapterInterfaceDescription TeamingMode LoadBalancingAlgorithm ---- ------------------------------ ----------- ---------- LAN {Intel(R) 82599 10 Gigabit Dual Port Network Connection, Intel(R) 82599 10 Gigabit Dual Port Network Connection #2} SwitchIndependent HyperVPort
L'option de load balancing peut être modifiée via la commande Set-VMSwitchTeam. Mais cela n'a pas d'intérêt dans le cas d'un usage avec Hyper-V.
PS C:\> Set-VMSwitchTeam -Name LAN -LoadBalancingAlgorithm Dynamic