Spis treści
-
-
-
-
-
-
1. Wprowadzenie zdalnego bezpośredniego dostępu do pamięci (RDMA)
Technologia zdalnego bezpośredniego dostępu do pamięci (RDMA) to bardzo atrakcyjna technologia, która umożliwia komputerom przesyłanie danych w sieci bez angażowania zasobów procesora i systemu operacyjnego odpowiednich hostów (obliczanie/przechowywanie), zwiększanie przepustowości i wydajności, skrócenie czasu oczekiwania i obciążenia procesora.
Obecnie istnieją dwie popularne implementacje RDMA:
RoCE
- Transport: UDP/IP (RoCE v2)
- Przekaźnik DCB (Data Center Bridging)
iWarp
- Sieć podstawowa: TCP/IP
- Protokół TCP zapewnia sterowanie przepływem i zarządzanie przeciążeniami
RoCE w dużym stopniu opiera się na konfiguracji DCB, np. algorytm ETS (Enhanced Transmission Service) i standard PFC (Priority Flow Control), co może być 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 nowszych systemach operacyjnych z rodziny Windows Server. Jedna z funkcji dostępnych w najnowszym systemie Microsoft, Windows Server 2019, to możliwość zapewnienia funkcji RDMA systemowi operacyjnemu gościa (maszynie wirtualnej). Dzięki temu gość może mieć taki sam dostęp o niskim opóźnieniu do sieciowej pamięci masowej co host macierzysty, co zmniejsza obciążenie procesora i zwiększa przepustowość/wydajność bezpośrednio w maszynie wirtualnej.
Firma Dell EMC oferuje doskonałe opcje RDMA 25 Gb/s, takie jak Cavium QLogic FastLinQ 41262 Dual Port 25 GbE SFP28 (iWarp/RoCE) i Mellanox ConnectX-4 Lx 25Gbps RDMA (RoCE). W tym przykładzie wykorzystano urządzenie Mellanox ConnectX-4 Lx RDMA (tryb RoCEv2) do przedstawienia funkcji RDMA gościa.
Serwery: 2 x Dell EMC R7425 (32-rdzeniowy procesor AMD Epyc 7551), 256 GB pamięci, moduł Mellanox ConnectX-4 Lx z najnowszymi aktualizacjami (BIOS, oprogramowanie wewnętrzne, sterowniki i system operacyjny)
Zainstalowane role/funkcje: Hyper-V, DCB, klastrowanie trybu failover, S2D
Przełącznik: Dell EMC S5048F-ON – MGMT VLAN 2, SMB VLAN 15
Firma Dell EMC zaleca aktualizowanie systemu BIOS, oprogramowania wewnętrznego, sterowników i systemu operacyjnego w ramach zaplanowanego cyklu aktualizacji. Aktualizacje systemu BIOS, oprogramowania wewnętrznego, sterowników i systemu operacyjnego mają na celu poprawę niezawodności, stabilności i bezpieczeństwa systemu.
1. Uruchom ponownie serwery i przejdź do konfiguracji systemu (naciśnij klawisz F2 podczas testu POST).
2. Wybierz opcję Ustawienia urządzenia.
Rysunek 1. Ustawienia urządzenia BIOS
3. Wybierz kartę sieciową w gnieździe 1, port 1 — Mellanox
Rysunek 2. Ustawienia modułu Mellanox w gnieździe 1, port 1
4. Przejdź do konfiguracji na poziomie urządzenia
Rysunek 3. Konfiguracja na poziomie urządzenia
5. W trybie wirtualizacji wybierz opcję SR-IOV.
Rysunek 4. Ustawienie SR-IOV
6. Powtórz podane powyżej kroki dla karty sieciowej w gnieździe 1 na porcie 2 — Mellanox.
Rysunek 5. Ustawienia modułu Mellanox w gnieździe 1 na porcie 2
7. Wróć do menu głównego konfiguracji systemu, a następnie wybierz opcję System BIOS.
Rysunek 6. System BIOS
8. Wybierz opcję Zintegrowane urządzenia.
Rysunek 7. Zintegrowane urządzenia w systemie BIOS
9. Włącz opcję Globalne włączenie SR-IOV.
Rysunek 8. Globalne SR-IOV
10. Zapisz konfigurację i uruchom ponownie serwer.
1. Zainstaluj system Windows Server 2019+
2. Zainstaluj rolę Hyper-V i funkcję mostkowania centrum danych (DCB).
3. Skonfiguruj QoS (Quality-of-Service), DCB, PFC, ETS. Upewnij się, że konfiguracja karty sieciowej i QoS serwera jest zgodna z konfiguracją przełącznika.
4. Skonfiguruj Hyper-V SET (Switch Embedded Team).
Rysunek 9. Konfiguracja vSwitch
5. Przetestuj komunikację RDMA między serwerami fizycznymi przed skonfigurowaniem maszyn wirtualnych. Pobierz narzędzie Microsoft Diskspd i skrypt PowerShell Microsoft Test-RDMA. Wykonaj poniższe czynności, jeśli komunikacja działa prawidłowo. W przeciwnym razie sprawdź konfigurację przełącznika i/lub ustawienia DCB na hoście.
Rysunek 10. Test RDMA hostów fizycznych
6. Sprawdź, czy SR-IOV jest włączone na kartach sieciowych RDMA na obu serwerach.
Rysunek 11. SR-IOV włączone
7. 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 dwoma 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
8. Wyłącz maszyny wirtualne.
9. Włącz SR-IOV i RDMA w systemie operacyjnym gościa.
Rysunek 14. Włącz SR-IOV/RDMA w systemach operacyjnych gościa
10. Uruchom maszyny wirtualne, a następnie otwórz Menedżer 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ń i połączenia sieciowe systemu operacyjnego gościa
UWAGA: w celu włączenia RDMA w systemie operacyjnym gościa może okazać się konieczne zainstalowanie sterownika karty sieciowej.
11. Włącz RDMA na wirtualnej karcie sieciowej SMB. Funkcja RDMA jest już włączona w Mellanox VF (Ethernet4 — Rysunek 16).
Rysunek 16. Włączanie RDMA dla protokołu SMB wirtualnej karty sieciowej
12. Przetestuj RDMA gościa.
Uwaga: ważne jest określenie wartości IfIndex (indeks interfejsu wirtualnej karty sieciowej) i VfIndex (indeks interfejsu Mellanox VF).
Rysunek 17 — Test-RDMA systemu operacyjnego gościa
#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
Masz komentarze, pytania lub sugestie? Prosimy o kontakt pod adresem
WinServerBlogs@dell.com