Sisällysluettelo
-
-
-
-
-
-
1. RDMA:n (Remote Direct Memory Access) esittely
RDMA (Remote Direct Memory Access) on hyödyllinen tekniikka, jonka avulla tietokoneet voivat siirtää tietoja verkossa ilman isäntäkoneiden suoritin- tai käyttöjärjestelmäresurssien (laskenta/tallennus) käyttämistä. Tämä lisää siirtonopeutta ja suorituskykyä sekä vähentää viivettä ja suorittimen kuormitusta.
Tällä hetkellä on käytössä kaksi suosittua RDMA-tekniikan toteutusta:
RoCE
- siirto: UDP/IP (RoCE v2)
- käyttää DCB:tä (Data Center Bridging).
iWarp
- taustalla oleva verkko: TCP/IP
- TCP auttaa vuonohjauksessa ja ruuhkanhallinnassa.
RoCEn toiminta perustuu DCB-määrityksiin, kuten ETS:ään (Enhanced Transmission Service) ja PFC:hen (Priority Flow Control), mikä voi aiheuttaa ongelmia, jos verkkokytkimiä ei ole määritetty oikein. iWARP ei edellytä mitään tiettyjä kytkinmäärityksiä.
Microsoft lisäsi RDMA-tuen Windows Server 2012 -käyttöjärjestelmään, ja uudempiin Windows Server -versioihin on lisätty uusia RDMA-ominaisuuksia. Yksi Microsoftin uusimpaan Windows Server 2019 -käyttöjärjestelmään lisätyistä ominaisuuksista on mahdollisuus antaa vieraskäyttöjärjestelmän (virtuaalikoneen) käyttää RDMA:ta. Vieraskäyttöjärjestelmä voi tällöin käyttää verkkotallennusta samalla pienellä viiveellä kuin fyysinen isäntäkone, mikä vähentää suorittimen kuormitusta sekä parantaa virtuaalikoneen siirtonopeutta ja suorituskykyä.
Dell EMC:llä on erinomaisia 25 Gt/s:n RDMA-sovitinratkaisuja, kuten Cavium QLogic FastLinQ 41262 Dual Port 25 GbE SFP28 (iWarp/RoCE) ja Mellanox ConnectX-4 Lx 25Gbps RDMA (RoCE). Tässä esimerkissä vieraskäyttöjärjestelmän RDMA:ta havainnollistetaan Mellanox ConnectX-4 Lx RDMA (RoCEv2-tila) -sovittimen avulla.
Palvelimet: 2 x Dell EMC R7425 (AMD Epyc 7551 -32-ydinsuoritin), 256 Gt muistia, Mellanox ConnectX-4 Lx – täysin päivitetty (BIOS, laiteohjelmisto, ohjaimet ja käyttöjärjestelmä)
Asennetut roolit/ominaisuudet: Hyper-V, DCB, vikasietoklusterointi, S2D
Kytkin: Dell EMC S5048F-ON – MGMT VLAN 2, SMB VLAN 15
Dell EMC suosittelee päivittämään BIOSin, laiteohjelmistot, ohjaimet ja käyttöjärjestelmän ajoitettujen päivitysten yhteydessä. BIOSin, laiteohjelmiston, ohjainten ja käyttöjärjestelmän päivitysten tarkoituksena on parantaa järjestelmän luotettavuutta, vakautta sekä tietoturvaa.
1. Käynnistä palvelimet uudelleen ja avaa BIOS (paina F2-näppäintä POST-testin aikana).
2. Valitse Device Settings.
Kuva 1: BIOSin Device Settings
3. Valitse NIC in Slot 1 Port 1 - Mellanox.
Kuva 2: Device Settings -valikon Slot 1 Port 1 - Mellanox
4. Valitse Device Level Configuration.
Kuva 3: Device Level Configuration
5. Valitse Virtualization Mode -kohdassa SR-IOV.
Kuva 4: SR-IOV-asetus
6. Toista edelliset vaiheet NIC in Slot 1 Port 2 - Mellanox -verkkokortille.
Kuva 5: Device Settings -valikon Slot 1 Port 2 - Mellanox
7. Palaa BIOSin päävalikkoon ja valitse System BIOS.
Kuva 6: System BIOS
8. Valitse Integrated Devices.
Kuva 7: BIOSin Integrated Devices
9. Ota SR-IOV Global Enable -asetus käyttöön.
Kuva 8: SR-IOV Global
10. Tallenna määritykset ja käynnistä palvelin uudelleen.
1. Asenna Windows Server 2019+
2. Asenna Hyper-V-rooli ja Data Center Bridging (DCB) -ominaisuus.
3. Määritä QoS (Quality-of-Service), DCB, PFC ja ETS. Varmista, että palvelimen verkkokortti- ja QoS-määritykset vastaavat kytkinmäärityksiä.
4. Määritä Hyper-V SET (Switch Embedded Team).
Kuva 9: Virtuaalikytkinmääritykset
5. Testaa RDMA-viestintää fyysisten palvelinten välillä ennen virtuaalikoneiden määrittämistä. Lataa Microsoft Diskspd ja Microsoftin Test-RDMA-PowerShell-komentosarja. Jatka seuraaviin vaiheisiin vain, jos viestintä toimii. Tarkista muussa tapauksessa kytkinmääritykset ja/tai isäntäkoneen DCB-asetukset.
Kuva 10: Test-Rdma isäntäkoneissa
6. Tarkista, että SR-IOV on käytössä kummankin palvelimen RDMA-sovittimessa.
Kuva 11: SR-IOV käytössä
7. Luo kumpaankin palvelimeen yksi toisen sukupolven virtuaalikone (vieraskäyttöjärjestelmä) ja asenna Windows Server 2019. Tässä esimerkissä luodaan vieraskäyttöjärjestelmä, jossa on kaksi verkkokorttia, joista toinen on MGMT-liikennettä (VLAN 2) ja toinen SMB-liikennettä (VLAN 15) varten.
Kuva 12: Vieraskäyttöjärjestelmän verkkomääritykset R7425-01-isäntäkoneessa
Kuva 13: Virtuaalikoneen verkkomääritykset R7425-02-isäntäkoneessa
8. Sammuta virtuaalikoneet.
9. Ota SR-IOV ja RDMA käyttöön vieraskäyttöjärjestelmissä.
Kuva 14: Ota SR-IOV/RDMA käyttöön vieraskäyttöjärjestelmissä
10. Käynnistä virtuaalikoneet ja avaa Laitehallinta. Mellanox-virtuaalitoiminnon pitäisi näkyä Verkkosovittimet-kohdassa. Virtuaalitoiminto ei näy tavallisena verkkosovittimena Verkkoyhteyksissä, kuten kuva 15 osoittaa.
Kuva 15: Vieraskäyttöjärjestelmän Laitehallinta ja Verkkoyhteydet
HUOMAUTUS: RDMA:n käyttöönotto vieraskäyttöjärjestelmässä saattaa edellyttää verkkokortin ohjaimen asentamista.
11. Ota RDMA käyttöön SMB-virtuaaliverkkokortissa. RDMA on jo valmiiksi käytössä Mellanox-virtuaalitoiminnossa (Ethernet4 - kuva 16).
Kuva 16: Ota RDMA käyttöön SMB-virtuaaliverkkokortissa
12. Testaa vieraskäyttöjärjestelmien RDMA.
Huomautus: IfIndex (virtuaaliverkkokortin liittymäindeksi)- ja VfIndex (Mellanox-virtuaalitoiminnon liittymäindeksi) -arvot on tärkeää määrittää.
Kuva 17: Test-Rdma virtuaalikäyttöjärjestelmissä
#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
Onko sinulla kommentteja, kysymyksiä tai ehdotuksia? Ota yhteyttä meihin osoitteessa
WinServerBlogs@dell.com.