Obsah
-
-
-
-
-
-
1. Úvod k přímému přístupu do paměti vzdáleného počítače (RDMA)
Přímý přístup do paměti vzdáleného počítače (RDMA) je skvělý nástroj, který umožňuje počítačům přenášet data v síti bez využívání zdrojů procesoru nebo operačního systému příslušných hostitelů (výpočetních/úložných), což zlepšuje propustnost a výkon a snižuje latenci a snižuje zátěž CPU.
Aktuálně se používají dvě oblíbené implementace technologie RDMA:
RoCE
– Přenos: UDP/IP (RoCE v2)
– Využívá funkci DCB (Data Center Bridging)
iWarp
- Základní síť: TCP/IP
– Protokol TCP umožňuje kontrolu toku a správu přetížení
Implementace RoCE se do velké míry spoléhá na konfiguraci DCB, např. funkce ETS (Enhanced Transmission Service) a PFC (Priority Flow Control), což může vést k problémům, pokud nejsou síťové přepínače správně nakonfigurované. Implementace iWARP nevyžaduje konfiguraci přepínačů.
Společnost Microsoft začala podporovat technologii RDMA na systému Windows Server 2012 a přidala nové funkce v pozdějších operačních systémech Windows Server. Důležitou funkcí dostupnou v nejnovějším systému společnosti Microsoft, Windows Server 2019, je možnost předat technologii RDMA hostovanému operačnímu systému (virtuální počítač). To hostovi poskytuje stejný přístup k síťovému úložišti s nízkou latencí, jako má nativní hostitel, což snižuje zátěž procesoru a zlepšuje propustnost/výkon přímo na virtuálním počítači.
Společnost Dell EMC nabízí skvělé platformy technologie RDMA 25 Gb/s, jako jsou modely Cavium QLogic FastLinQ 41262 Dual Port 25 GbE SFP28 (iWarp/RoCE) a Mellanox ConnectX-4 Lx 25Gbps RDMA (RoCE). V tomto příkladu používáme k ukázce připojení RDMA hosta model Mellanox ConnectX-4 Lx RDMA (režim RoCEv2).
Servery: 2x Dell EMC R7425 (32jádrový procesor AMD Epyc 7551), paměť 256 GB, Mellanox ConnectX-4 Lx s kompletními aktualizacemi (BIOS, firmware, ovladače a OS)
Nainstalované role/funkce: Hyper-V, DCB, clustering s podporou převzetí služeb při selhání, S2D
Přepínač: Dell EMC S5048F-ON – MGMT VLAN 2, SMB VLAN 15
Společnost Dell EMC doporučuje aktualizovat systém BIOS, firmware, ovladače a operační systém v rámci plánovaného cyklu aktualizací. Aktualizace systému BIOS, firmwaru, ovladačů a OS zlepšují spolehlivost, stabilitu a zabezpečení vašeho systému.
1. Restartujte servery a přejděte do konfigurace systému (stiskněte klávesu F2 během testu POST).
2. Vyberte možnost Device Settings.
Obrázek 1 – Nabídka Device Settings systému BIOS
3. Nastavte kartu NIC do umístění Slot 1 Port 1 – Mellanox.
Obrázek 2 – Mellanox, Slot 1 Port 1, Device Settings
4. Přejděte do části Device Level Configuration.
Obrázek 3 – Nabídka Device Level Configuration
5. Vyberte možnost SR-IOV v části Virtualization Mode.
Obrázek 4 – Nastavení SR-IOV
6. Opakujte kroky výše u karty NIC v umístění Slot 1 Port 2 – Mellanox.
Obrázek 5 – Mellanox, Slot 1 Port 2, Device Settings
7. Přejděte zpět do hlavní nabídky konfigurace systému a vyberte možnost System BIOS.
Obrázek 6 – System BIOS
8. Vyberte možnost Integrated Devices.
Obrázek 7 – Integrated Devices, BIOS
9. Povolte možnost Enable SR-IOV Global Enable.
Obrázek 8 – SR-IOV Global
10. Uložte konfiguraci a restartujte server.
1. Nainstalujte systém Windows Server 2019+
2. Nainstalujte roli Hyper-V a funkci Data Center Bridging (DCB).
3 Konfigurujte možnosti QoS (Quality-of-Service), DCB, PFC, ETS. Zkontrolujte, jestli konfigurace síťové karty a QoS serveru odpovídá konfiguraci přepínače.
4. Konfigurujte možnost Hyper-V SET (Switch Embedded Team).
Obrázek 9 – Konfigurace přepínače vSwitch
5. Před konfigurací virtuálních počítačů vyzkoušejte komunikaci RDMA mezi fyzickými servery. Stáhněte si nástroj Microsoft Diskspd a skript Microsoft Test-RDMA PowerShell. Pokračujte kroky níže, pouze pokud komunikace funguje správně. V opačném případě zkontrolujte konfiguraci přepínače nebo nastavení DCB hostitele.
Obrázek 10 – Test RBMA u fyzických hostitelů
6. Zkontrolujte, jestli je funkce SR-IOV povolená na adaptérech RDMA obou serverů.
Obrázek 11 – Povolená funkce SR-IOV
7. Vytvořte dva virtuální počítače druhé generace (hostovaný operační systém), po jednom na každém serveru, a poté nainstalujte systém Windows Server 2019. V tomto scénáři je hostovaný operační systém vytvořen se dvěma zařízeními vNIC, kde jedno spravuje provoz MGMT (VLAN 2) a druhé provoz SMB (VLAN 15).
Obrázek 12 – Síťová konfigurace hostovaného operačního systému u hostitele R7425-01
Obrázek 13 – Síťová konfigurace virtuálního počítače u hostitele R7425-02
8. Vypněte virtuální počítače.
9. Povolte v hostovaném OS funkce SR-IOV a RDMA.
Obrázek 14 – Povolení funkcí SR-IOV/RDMA na hostovaných operačních systémech
10. Spusťte virtuální počítač a otevřete Správce zařízení. V části Síťové adaptéry by měla být uvedena položka Virtuální funkce (VF) Mellanox. Položka VF není uvedena jako běžný síťový adaptér v části Síťová připojení, jak je vidět na obrázku 15.
Obrázek 15 – Správce zařízení a Síťová připojení hostovaného operačního systému
POZNÁMKA: Aby bylo možné povolit funkci RDMA v hostovaných operačních systémech, může být nutné nainstalovat ovladač síťové karty.
11. Povolte technologii RDMA v zařízení SMB vNIC. Funkce RDMA je ve funkci Mellanox VF již povolená (Ethernet4 – obrázek 16).
Obrázek 16 – Povolení technologie RDMA na zařízení SMB vNIC
12. Otestujte připojení RDMA hosta.
Poznámka: Je důležité specifikovat hodnoty IfIndex (index rozhraní vNIC) a VfIndex (index rozhraní Mellanox VF).
Obrázek 17 – Test připojení RDMA hosta
#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
Máte dotazy, poznámky nebo doporučení? Kontaktujte nás na adrese
WinServerBlogs@dell.com.