Sommaire
-
-
-
-
-
-
1. Présentation de Remote Direct Memory Access (RDMA)
RDMA (Remote Direct Memory Access) est une excellente technologie qui permet aux ordinateurs de transférer des données sur le réseau sans utiliser les ressources de l’UC ou du système d’exploitation des hôtes impliqués (calcul/stockage), ce qui améliore le débit et les performances, et réduit la latence et la surcharge du processeur.
Il existe aujourd’hui deux implémentations RDMA courantes :
RoCE
- Transport : UDP/IP (RoCE v2)
- S’appuyer sur DCB (Data Center Bridging)
iWarp
- Réseau sous-jacent : TCP/IP
- TCP permet de contrôler le workflow et de gérer la congestion
RoCE s’appuie fortement sur la configuration DCB, telle que ETS (Enhanced Transmission Service) et PFC (Priority Flow Control), qui peut devenir un problème si les commutateurs réseau ne sont pas configurés correctement. iWARP ne nécessite aucune configuration de commutateur.
Microsoft a commencé à utiliser RDMA sur Windows Server 2012 et a ajouté de nouvelles fonctionnalités dans les systèmes d’exploitation Windows Server ultérieurs. L’une des fonctionnalités disponibles sur le dernier système d’exploitation Microsoft, Windows Server 2019, est la possibilité de présenter RDMA sur le système d’exploitation invité (machine virtuelle). Cela permet à l’invité d’avoir le même accès à faible latence à un stockage réseau en tant qu’hôte natif, ce qui réduit la surcharge du processeur et améliore le débit et les performances directement dans la machine virtuelle.
Dell EMC propose des options exceptionnelles pour 25 Gbit/s RDMA, telles que Cavium QLogic FastLinQ 41262 Dual Port 25 GbE SFP28 (iWarp/RoCE) et Mellanox ConnectX-4 LX 25 Gbit/s RDMA (RoCE). Cet exemple utilise Mellanox ConnectX-4 LX RDMA (mode RoCEv2) pour faire la démonstration de la fonctionnalité RDMA invité.
Serveurs : 2 x Dell EMC R7425 (processeur AMD Epyc 7551 32 cœurs), mémoire 256 Go, Mellanox ConnectX-4 LX entièrement mis à jour (BIOS, firmware, pilotes et système d’exploitation)
Rôles/fonctionnalités installés : Hyper-V, DCB, clustering de basculement, S2D
Commutateur : Dell EMC S5048F-ON – MGMT VLAN 2, SMB VLAN 15
Dell EMC recommande de mettre à jour le BIOS, les firmwares, les pilotes et le système d’exploitation dans le cadre de votre cycle de mise à jour planifié. Les mises à jour du BIOS, du firmware, des pilotes et du système d’exploitation visent à améliorer la fiabilité, la stabilité et la sécurité de votre système.
1. Redémarrez les serveurs et accédez au programme de configuration du système (appuyez sur la touche F2 pendant l’auto-test de démarrage).
2. Sélectionnez Device Settings.
Figure 1 : Paramètres de l’appareil BIOS
3. Sélectionnez la carte réseau dans le logement 1 Port 1 : Mellanox
Figure 2 : Paramètres de l’appareil du logement 1 Port 1 Mellanox
4. Accédez à Configuration au niveau de l’appareil
Figure 3 : Configuration au niveau de l’appareil
5. Sélectionnez SR-IOV en mode virtualisation.
Figure 4 : Paramètre SR-IOV
6. Répétez les étapes ci-dessus sur la carte d’interface réseau dans le logement 1 Port 2 : Mellanox.
Figure 5 : Paramètres de l’appareil du logement Mellanox 1 Port 2
7. Revenez au menu principal de configuration du système, puis sélectionnez BIOS du système.
Figure 6 : BIOS du système
8. Sélectionnez Appareils intégrés.
Figure 7 : Appareils intégrés au BIOS
9. Activez l’option SR-IOV Global Enable.
Figure 8 : SR-IOV Global
10. Enregistrez votre configuration et redémarrez le serveur.
1. Installez Windows Server 2019+
2. Installez le rôle Hyper-V et la fonctionnalité DCB (Data Center Bridging).
3. Configurez QoS (Quality-of-Service), DCB, PFC et ETS. Assurez-vous que la configuration de la carte d’interface réseau et de la QoS du serveur correspond à la configuration du commutateur.
4. Configurez Hyper-V SET (Switch Embedded Team).
Figure 9 : Configuration vSwitch
5. Testez la communication RDMA entre les serveurs physiques avant de configurer les machines virtuelles. Téléchargez Microsoft Diskspd et le script Microsoft Test-RDMA PowerShell. Procédez aux étapes ci-dessous uniquement si la communication fonctionne correctement. Sinon, vérifiez la configuration du commutateur et/ou les paramètres DCB sur l’hôte.
Figure 10 : Hôtes physiques Test-Rdma
6. Vérifiez si SR-IOV est activé sur les adaptateurs RDMA sur les deux serveurs.
Figure 11 : SR-IOV activé
7. Créez deux machines virtuelles Gen 2 (système d’exploitation invité), une sur chaque serveur, puis installez Windows Server 2019. Dans ce scénario, un système d’exploitation invité est créé avec deux vNIC, l’un pour le trafic MGMT (VLAN 2) et l’autre pour le trafic SMB (VLAN 15).
Figure 12 : Hôte de configuration réseau du système d’exploitation invité R7425-01
Figure 13 : Hôte de configuration réseau de machine virtuelle R7425-02
8. Arrêtez les machines virtuelles.
9. Activez SR-IOV et RDMA sur le système d’exploitation invité.
Figure 14 : Activation de SR-IOV/RDMA sur les systèmes d’exploitation invités
10. Démarrez les machines virtuelles, puis ouvrez le Gestionnaire de périphériques. La fonctionnalité VF (Virtual Mellanox Function) doit être répertoriée sous Network Adapters. La VF ne se présente pas sous la forme d’une carte réseau standard dans les connexions réseau (voir figure 15).
Figure 15 : Gestionnaire de périphériques du système d’exploitation invité et connexions réseau
Remarque : il est possible qu’un pilote de carte d’interface réseau doive être installé pour activer RDMA dans le système d’exploitation invité.
11. Activez RDMA sur la carte SMB vNIC. La fonctionnalité RDMA est déjà activée sur Mellanox VF (Ethernet4 - Figure 16).
Figure 16 : Activation de RDMA sur la vNIC SMB
12. Testez le RDMA invité.
Remarque : il est important de spécifier l’index IfIndex (vNIC Interface Index) et l’index VfIndex (Mellanox VF Interface Index).
Figure 17 : Test du système d’exploitation invité RDMA
#Create new virtual switch with SRIOV option enabled
New-VMSwitch -Name xxxx -NetadapterName xxxx,xxxx -AllowManagementOS $true -EnableEmbeddedTeaming $true -EnableIov $true
#Verify if SRIOV is enabled on physical adapter
Get-NetAdapterSriov -Name xxxx
#Get VM network configuration
Get-VM -Name xxxx| Get-VMNetworkAdapter
#Get VM network VLAN configuration
Get-VM -Name | Get-VMNetworkAdapterVlan
#Set VM SRIO and RDMA on Virtual Machine(Guest OS) vNIC
Get-VM -Name xxxx | Set-VMNetworkAdapter -Name xxx -IovWeight 100 -IoVQueuePairsRequested 2
Get-VM -Name xxxx | Set-VMNetworkAdapterRdma -Name xxx -RdmaWeight 100
#Enable RDMA on NetAdapter
Enable-NetAdapterRdma -Name xxxx
#Test-Rdma Physical Host
.\Test-Rdma.ps1 -IfIndex xx -IsRoCE $true -RemoteIpAddress xxx.xxx.xxx.xxx -PathToDiskspd xxxxx
#Test-Rdma Virtual Machine (Guest OS)
.\Test-Rdma.ps1 -IfIndex xx -IsRoCE $true -RemoteIpAddress xxx.xxx.xxx.xxx -PathToDiskspd xxxxx -VfIndex xx
Vous avez des commentaires, questions ou suggestions ? Contactez-nous sur
WinServerBlogs@dell.com.