Microsoft Windows: Jak skonfigurować funkcję RDMA gościa w systemie Windows Server
摘要: W tym artykule wyjaśniono, jak skonfigurować zdalny bezpośredni dostęp do pamięci gościa (RDMA) w systemie Windows Server.
说明
Spis treści
- Wprowadzenie zdalnego bezpośredniego dostępu do pamięci (RDMA)
- Środowisko laboratoryjne
- Konfiguracja sprzętu
- Konfiguracja funkcji RDMA gościa
- Aplety poleceń programu PowerShell
- Łącza do pobrania
Wprowadzenie zdalnego bezpośredniego dostępu do pamięci (RDMA)
Zdalny bezpośredni dostęp do pamięci (RDMA) to doskonała technologia, która umożliwia komputerom przesyłanie danych przez sieć bez angażowania zasobów procesora lub systemu operacyjnego zaangażowanych hostów (obliczenia i pamięć masowa). Zwiększa to przepustowość i wydajność oraz zmniejsza opóźnienia i obciążenie procesora.
Obecnie istnieją dwie popularne implementacje RDMA:
- RoCE
- Transport: UDP/IP (RoCE v2)
- Poleganie na mostkowaniu centrów przetwarzania danych (DCB)
- iWarp
- Sieć bazowa: Protokół TCP/IP
- TCP zapewnia kontrolę przepływu i zarządzanie przeciążeniem.
RoCE w dużej mierze opiera się na konfiguracji DCB, takiej jak Enhanced Transmission Service (ETS) i Priority Flow Control (PFC), co może stać się problemem, jeśli przełączniki sieciowe nie są prawidłowo skonfigurowane. iWARP nie wymaga żadnej konfiguracji przełącznika.
Firma Microsoft rozpoczęła obsługę RDMA w systemie Windows Server 2012 i dodała nowe funkcje w nowszym systemie operacyjnym Windows Server. Jedną z funkcji dostępnych w systemie Microsoft Windows Server 2019 jest możliwość prezentowania RDMA w systemie operacyjnym gościa (VM). Dzięki temu gość ma taki sam dostęp do pamięci sieciowej z takimi samymi opóźnieniami jak host natywny, zmniejszając obciążenie procesora oraz poprawiając przepustowość i wydajność bezpośrednio w maszynie wirtualnej.
Firma Dell oferuje doskonałe opcje RDMA 25 Gb/s, takie jak Cavius QLogic FastLinQ 41262 Dual Port 25 GbE SFP28 (iWarp/RoCE) i Mellanox ConnectX-4 Lx 25 Gb/s RDMA (RoCE). W tym przykładzie wykorzystano urządzenie Mellanox ConnectX-4 Lx RDMA (tryb RoCEv2) do przedstawienia funkcji RDMA gościa.
Środowisko laboratoryjne
Serwery:
- 2 × Dell R7425 (32-rdzeniowy procesor AMD EPYC 7551)
- 256 GB pamięci
- Mellanox ConnectX-4 Lx pełna aktualizacja (oprogramowanie sprzętowe (w tym BIOS), sterowniki i system operacyjny)
Zainstalowane role i funkcje:
- Hyper-V
- DCB
- Klastrowanie awaryjne
- S2D
Przełącznik:
- Dell S5048F-ON - ZARZĄDZANIE SIECIĄ VLAN 2
- Sieć VLAN 15 dla małych i średnich firm
Konfiguracja sprzętu
- Uruchom ponownie serwery i przejdź do konfiguracji systemu (naciśnij F2 podczas testu POST).
- Wybierz opcję Ustawienia urządzenia.

Rysunek 1 — Ustawienia urządzenia BIOS
- Wybierz kartę sieciową w gnieździe 1 Port 1 — Mellanox.

Rysunek 2 — Ustawienia urządzenia Mellanox Port 1 Port 1
- Przejdź do opcji Device Level Configuration.

Rysunek 3 — Konfiguracja na poziomie urządzenia
- Wybrać SR-IOV w trybie wirtualizacji.

Rysunek 4 . Ustawienie SR-IOV
- Powtórz powyższe kroki dla karty sieciowej w gnieździe 1 Port 2 — Mellanox.

Rysunek 5 — Ustawienia urządzenia Mellanox Slot 1 Port 2
- Wróć do menu głównego konfiguracji systemu, a następnie wybierz opcję System BIOS.

Rysunek 6 — System BIOS
- Wybierz opcję Integrated Devices (Urządzenia zintegrowane).

Rysunek 7 — Urządzenia zintegrowane w systemie BIOS
- Włącz opcję globalną SR-IOV .

Rysunek 8 — SR-IOV Global
- Zapisz konfigurację i uruchom ponownie serwer.
Konfiguracja funkcji RDMA gościa
- Instalować Windows Server 2019+.
- Zainstaluj rolę funkcji Hyper-V i funkcję mostkowania centrum danych (DCB).
- Konfigurować Jakość usług (QoS), DCB, PFC, ETS. Upewnij się, że konfiguracja karty sieciowej serwera i QoS jest zgodna z konfiguracją przełącznika.
- Konfigurować Zespół Hyper-V Switch Embedded Team (SET).

Rysunek 9. Konfiguracja vSwitch
- Przetestuj komunikację RDMA między serwerami fizycznymi przed skonfigurowaniem maszyn wirtualnych. Pobierz oprogramowanie Microsoft
Diskspdoraz skrypt Microsoft Test-RDMA PowerShell. Wykonaj poniższe czynności tylko wtedy, gdy komunikacja działa prawidłowo. W przeciwnym razie sprawdź konfigurację przełącznika i/lub ustawienia DCB na hoście.

Rysunek 10 — Test-RDMA Physical Hosts
- Sprawdź , czy funkcja SR-IOV jest włączona na kartach RDMA na obu serwerach.

Rysunek 11 . Włączono funkcję SR-IOV
- Utwórz dwie maszyny wirtualne Gen 2 (system operacyjny gościa), po jednej na każdym serwerze, a następnie zainstaluj system Windows Server 2019. W tym scenariuszu system operacyjny gościa jest tworzony z dwiema wirtualnymi kartami sieciowymi, jedną dla ruchu MGMT (VLAN 2) i jedną dla ruchu SMB (VLAN 15).

Rysunek 12 . Host konfiguracji sieci systemu operacyjnego gościa R7425-01

Rysunek 13 — Host konfiguracji sieci maszyny wirtualnej R7425-02
- Zamknij maszyny wirtualne.
- Umożliwiać SR-IOV i RDMA w systemie operacyjnym gościa.

Rysunek 14 . Włączanie SR-IOV/RDMA w systemach operacyjnych gościa.
- Uruchom maszyny wirtualne, a następnie otwórz Menedżera urządzeń. Funkcja Mellanox Virtual Function (VF) powinna być wymieniona w sekcji Karty sieciowe. Funkcja VF nie jest prezentowana jako zwykła karta sieciowa w połączeniach sieciowych, jak pokazano na rysunku 15.

Rysunek 15 — Menedżer urządzeń systemu operacyjnego gościa i połączenia sieciowe
- Włącz funkcję RDMA na wirtualnej karcie sieciowej SMB. Funkcja RDMA jest już włączona w sieci Mellanox VF (Ethernet4 — Rysunek 16).

Rysunek 16 — Włączanie funkcji RDMA na wirtualnej karcie sieciowej SMB.
- Test RDMA gościa.
IfIndex (vNIC Interface Index) oraz VfIndex (Indeks interfejsu Mellanox VF).

Rysunek 17 — Test-RDMA systemu operacyjnego gościa
Aplety poleceń programu 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
Łącza do pobrania
Masz jakieś uwagi, pytania lub sugestie? Skontaktuj się z nami na WinServerBlogs@dell.com