Microsoft Windows : Configuration du RDMA invité sur Windows Server
摘要: Cet article explique comment configurer l’accès direct à la mémoire à distance invité (RDMA) sur un serveur Windows.
说明
Sommaire
- Présentation de Remote Direct Memory Access (RDMA)
- Environnement de l’exercice pratique
- Configuration matérielle
- Configuration de Guest RDMA
- Applets de commande PowerShell
- Liens de téléchargement
Présentation de Remote Direct Memory Access (RDMA)
Le RDMA (Remote Direct Memory Access) est une excellente technologie qui permet aux ordinateurs de transférer des données sur le réseau sans faire appel aux ressources du processeur ou du système d’exploitation des hôtes impliqués (calcul et stockage). Cela 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 populaires :
- RoCE
- Transport: UDP/IP (RoCE v2)
- Appuyez-vous sur le Data Center Bridging (DCB)
- iWarp
- Réseau sous-jacent : TCP/IP
- TCP fournit un contrôle de flux et une gestion de congestion.
RoCE s’appuie fortement sur la configuration DCB telle que le service de transmission amélioré (ETS) et le contrôle de flux prioritaire (PFC), ce 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é à prendre en charge RDMA sur Windows Server 2012 et a ajouté de nouvelles fonctionnalités dans le système d’exploitation Windows Server ultérieur. L’une des fonctionnalités disponibles sur Microsoft Windows Server 2019 est la possibilité de présenter RDMA au système d’exploitation invité (VM). Cela permet à l’invité de disposer du même accès à faible latence à un stockage réseau que l’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 propose d’excellentes options pour RDMA 25 Gbit/s, telles que le commutateur Cavius QLogic FastLinQ 41262 double port 25 GbE SFP28 (iWarp/RoCE) et le Mellanox ConnectX-4 Lx RDMA 25 Gbit/s (RoCE). Cet exemple utilise Mellanox ConnectX-4 LX RDMA (mode RoCEv2) pour faire la démonstration de la fonctionnalité RDMA invité.
Environnement de l’exercice pratique
Serveurs :
- 2 x Dell R7425 (processeur AMD EPYC 7551 32 cœurs)
- 256 Go de mémoire
- Mellanox ConnectX-4 Lx entièrement mise à jour (firmware (y compris BIOS), pilotes et système d’exploitation)
Rôles et fonctionnalités installés :
- Hyper-V
- DCB
- Clustering de basculement
- S2D
Commutateur :
- Dell S5048F-ON - MGMT VLAN 2
- SMB VLAN 15
Configuration matérielle
- Redémarrez les serveurs et accédez à la configuration du système (appuyez sur F2 pendant le POST).
- Sélectionnez Device Settings.

Figure 1 : paramètres du périphérique BIOS
- Sélectionnez la carte NIC dans le logement 1 Port 1 - Mellanox.

Figure 2 : paramètres du périphérique Mellanox slot 1 Port 1
- Accédez à Configuration au niveau de l’appareil.

Figure 3 : configuration au niveau de l’appareil
- Choisir SR-IOV en mode de virtualisation.

Figure 4 : paramètre SR-IOV
- Répétez les étapes ci-dessus sur la carte NIC dans le logement 1 Port 2 - Mellanox.

Figure 5 : paramètres du périphérique Mellanox logement 1 port 2
- Revenez au menu principal de configuration du système , puis sélectionnez BIOS du système.

Figure 6 : BIOS du système
- Sélectionnez Integrated Devices.

Figure 7 : périphériques intégrés au BIOS
- Activez l’option SR-IOV Global .

Figure 8 : SR-IOV global
- Enregistrez votre configuration et redémarrez le serveur.
Configuration de Guest RDMA
- Installer Windows Server 2019+.
- Installez le rôle Hyper-V et la fonctionnalité Data Center Bridging (DCB).
- Configurer Qualité de service (QoS), DCB, PFC, ETS. Assurez-vous que la carte NIC du serveur et la configuration QoS correspondent à la configuration du commutateur.
- Configurer Hyper-V Switch Embedded Team (SET).

Figure 9 : configuration vSwitch
- Testez la communication RDMA entre les serveurs physiques avant de configurer les machines virtuelles. Télécharger Microsoft
Diskspdet le script Microsoft Test-RDMA PowerShell. Suivez les é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 : test-hôtes physiques RDMA
- Vérifiez si SR-IOV est activé sur les adaptateurs RDMA sur les deux serveurs.

Figure 11 : SR-IOV activé
- 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 cartes vNIC, l’une 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
- Arrêtez les machines virtuelles.
- Activer 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.
- 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
- Activez RDMA sur la carte réseau SMB vNIC. La fonctionnalité RDMA est déjà activée sur la machine virtuelle Mellanox (Ethernet4 - Figure 16).

Figure 16 : Activation de RDMA sur SMB vNIC.
- Test RDMA invité.
IfIndex (vNIC Interface Index) et le VfIndex (Mellanox VF Interface Index).

Figure 17 : test-système d’exploitation invité RDMA
Applets de commande PowerShell
#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
Liens de téléchargement
Avez-vous des commentaires, des questions ou des suggestions ? Contactez-nous sur WinServerBlogs@dell.com