
Avec l’essor des environnements virtualisés à haute densité et des infrastructures hyperconvergées, la performance réseau entre hôtes Hyper-V est devenue un facteur critique.
Windows Server introduit SMB Direct (SMB sur RDMA), qui permet un transfert de données direct depuis la mémoire d’un serveur vers celle d’un autre, sans passer par le CPU, offrant des vitesses proches des accès mémoire locaux.
Dans ce guide, nous allons configurer un cluster Hyper-V haute performance utilisant SMB Direct et RDMA pour le stockage CSV (Cluster Shared Volume), avec une attention particulière à la redondance, l’optimisation et la sécurité.
1. Installation des rôles et fonctionnalités nécessaires
Install-WindowsFeature -Name Hyper-V, Failover-Clustering, RSAT-Clustering-Powershell, FS-FileServer -IncludeManagementTools -Restart
Cette commande :
- Installe Hyper-V pour l’hébergement des machines virtuelles.
- Ajoute Failover Clustering pour la haute disponibilité.
- Installe RSAT-Clustering-Powershell pour gérer le cluster via PowerShell.
- Active le File Server nécessaire aux partages CSV.
- Redémarre automatiquement le serveur à la fin.
Astuce : effectuez cette installation sur tous les nœuds du futur cluster avant de passer à l’étape suivante.
2. Activation et vérification de RDMA
Get-NetAdapterRdma
Enable-NetAdapterRdma -Name "RDMA-01"
Enable-NetAdapterRdma -Name "RDMA-02"
RDMA (Remote Direct Memory Access) permet le transfert direct en mémoire.
La commande Get-NetAdapterRdma
permet de vérifier si les cartes réseau supportent cette fonctionnalité.
Si RDMA est supporté mais désactivé, utilisez Enable-NetAdapterRdma
sur les interfaces dédiées au trafic SMB.
⚠️ Utilisez des cartes réseau compatibles RoCE, iWARP ou Infiniband, et configurez le QoS réseau si vous utilisez RoCE (priorité PFC).
3. Activation de SMB Multichannel et SMB Direct
Set-SmbServerConfiguration -EnableSMBDirect $true -EnableMultiChannel $true
– SMB Multichannel : exploite plusieurs chemins réseau simultanément, améliorant débit et tolérance aux pannes.
– SMB Direct : active l’utilisation de RDMA pour minimiser la latence.
Astuce : avec deux cartes RDMA par nœud, SMB Multichannel utilise automatiquement les deux liens, offrant agrégation et failover natifs.
4. Création du cluster Hyper-V
New-Cluster -Name "HV-Cluster01" -Node "HVNODE01","HVNODE02" -StaticAddress 192.168.100.10 -NoStorage
Test-Cluster -Node "HVNODE01","HVNODE02"
La commande New-Cluster
crée l’architecture haute dispo avec :
- Un nom unique pour le cluster.
- Les noms des nœuds membres.
- Une adresse IP statique pour l’accès d’administration.
-NoStorage
car le stockage sera ajouté après.
Puis Test-Cluster
analyse l’infrastructure pour détecter les problèmes avant la mise en production.
5. Mise en place du stockage CSV via SMB Direct
Sur le serveur de stockage :
New-SmbShare -Name "HyperVStorage" -Path "E:\ClusterStorage" -FullAccess "HV-Cluster01$"
Sur chaque nœud Hyper-V :
Add-ClusterSharedVolume -Name "\\STORAGE01\HyperVStorage"
Le CSV permet à tous les nœuds du cluster de lire/écrire simultanément sur le même volume, ce qui est essentiel pour Live Migration et haute dispo des VMs.
6. Vérification du trafic RDMA
Get-SmbMultichannelConnection
Vérifiez :
- RDMA = TRUE pour confirmer que le transfert utilise bien RDMA.
- Plusieurs entrées si Multichannel est actif.
- Le débit total qui devrait approcher la somme des capacités des cartes réseau RDMA.
7. Optimisations réseau avancées
Set-NetOffloadGlobalSetting -NetworkDirect $true
Set-NetTCPSetting -SettingName "Datacenter" -MinRto 300
– NetworkDirect optimise les communications mémoire-mémoire pour réduire la latence.
– MinRto 300 diminue le délai de retransmission TCP minimum à 300 ms, accélérant la récupération d’erreurs sur réseau local.
Astuce : désactivez tout antivirus sur le trafic CSV et vérifiez que Jumbo Frames (MTU 9000) sont activés sur les interfaces RDMA pour réduire l’overhead.
Conclusion
En combinant SMB Direct, RDMA et Multichannel, un cluster Hyper-V peut atteindre des débits proches de ceux d’un SAN haut de gamme, tout en réduisant la charge CPU.
Cette configuration est idéale pour des workloads intensifs comme :
- VDI (Virtual Desktop Infrastructure) massif
- Bases de données SQL virtualisées
- Cloud privé haute performance
En production, surveillez régulièrement Get-SmbMultichannelConnection
et Get-ClusterPerf
pour maintenir des performances optimales.