Home Enterprise NVIDIA stimuleert NVMe-oF-prestaties voor vSphere 7-omgevingen

NVIDIA stimuleert NVMe-oF-prestaties voor vSphere 7-omgevingen

by StorageReview Enterprise Lab
ConnectX-5

VMware onlangs toegevoegd NVMe over Fabric (NVMe-oF) als een opslagnetwerkprotocoloptie in vSphere 7.0. Het feit dat de snelste shared-storage-oplossing nu kan worden gebruikt door 's werelds meest populaire virtualisatiesoftware, is een doorbraak en opent een geheel nieuwe reeks gebruiksscenario's voor een gevirtualiseerd datacenter. Dit betekent ook dat er nu bare-metal-applicaties zijn die kunnen worden uitgevoerd op NVMe-oF-compatibele virtuele machines (VM's) op vSphere. Deze omvatten kunstmatige intelligentie (AI), machine learning (ML), in-memory databases, high-performance computing (HPC), high-frequency trading (HFT), online transactieverwerking (OLTP), evenals elke andere toepassing die vereist extreem lage latentie en opslag met hoge capaciteit.

VMware onlangs toegevoegd NVMe over Fabric (NVMe-oF) als een opslagnetwerkprotocoloptie in vSphere 7.0. Het feit dat de snelste shared-storage-oplossing nu kan worden gebruikt door 's werelds meest populaire virtualisatiesoftware, is een doorbraak en opent een geheel nieuwe reeks gebruiksscenario's voor een gevirtualiseerd datacenter. Dit betekent ook dat er nu bare-metal-applicaties zijn die kunnen worden uitgevoerd op NVMe-oF-compatibele virtuele machines (VM's) op vSphere. Deze omvatten kunstmatige intelligentie (AI), machine learning (ML), in-memory databases, high-performance computing (HPC), high-frequency trading (HFT), online transactieverwerking (OLTP), evenals elke andere toepassing die vereist extreem lage latentie en opslag met hoge capaciteit.

Bij StorageReview.com zijn we altijd geïnteresseerd in het testen van de nieuwste technologieën om te zien hoe ze in de echte wereld werken. Gezien onze eerdere ervaring met NVMe-oF, verwachten we volledig dat het de applicatieprestaties voor vSphere aanzienlijk zal verbeteren. Om een ​​echt idee te krijgen van hoe NVMe-oF de prestaties zal beïnvloeden, zullen we het vergelijken met iSCSI, de huidige standaarddrager voor blokopslag in een vSphere-datacenter. Maar onze tests zullen een unieke wending hebben, omdat we geen zeer gespecialiseerde nichetechnologie zullen gebruiken. In plaats daarvan zullen we producten gebruiken die tegenwoordig veel in het datacenter te vinden zijn. Onze tests vinden plaats op een Dell R720XD-server die is aangesloten via NVIDIA's ConnectX-5 dual-port adapters die draaien op 25GbE naar een Pure opslag FlashArray//X die NVMe-oF ondersteunt.

Voordat we bij de resultaten van onze tests komen, geven we u eerst een overzicht van wat VMware ondersteunt op het gebied van NVMe-oF, en geven we u vervolgens wat achtergrondinformatie over NVMe en NVMe-oF en leggen we uit waarom ze beter presteren dan iSCSI. We zullen ook enkele van de stappen bespreken die we hebben genomen om NVMe op vSphere in te stellen.

VMware heeft onlangs NVMe-oF-ondersteuning ingeschakeld (april 2020), hoewel de NVMe-oF-standaard in 2016 is uitgebracht. Linux kan deze sinds 2018 gebruiken en NVMe-oF-ondersteuning in opslagarrays is ook al een paar jaar beschikbaar . NVMe-oF wordt beschouwd als een opkomende, maar stabiele technologie. In april 2020 bracht VMware vSphere 7.0 uit en deze release bevatte ondersteuning voor NVMe-oF, waardoor connectiviteit met NVMe-arrays mogelijk is met NVMe over Fibre Channel (NVMe/FC) of NVMe over RDMA Converged Ethernet (NVMe-RoCE, ook wel aangeduid als NVMe/RDMA).

Overzicht van NVMe en NVMe-oF

Tot voor kort waren SSD's de de facto standaardmedia voor gekoppelde opslag. Ze hebben echter ook een kritisch knelpunt. SSD's gebruiken SATA- of SAS-connectoren, die zijn ontworpen voor gebruik met HDD's en dit beperkt de prestaties van een SSD ernstig. Om dit probleem aan te pakken, kwam een ​​consortium van meer dan 90 bedrijven in 2011 samen en bracht een nieuwe specificatie uit om SSD's aan te sluiten op computers die dit SATA-bottleneck niet zouden hebben. Deze oplossing werd uiteindelijk bekend als NVMe.

NVMe-apparaten zijn snel. Terwijl SATA/SAS SSD's de opslagindustrie het afgelopen decennium radicaal hebben veranderd, verandert NVMe deze eeuw de opslagindustrie radicaal. In onze recente tests met een 4K Read-workload ontdekten we bijvoorbeeld dat een SATA-schijf (Kingston DC500M) iets minder dan 80,000 IOPS kon leveren, maar een NVMe-schijf (Kingston DC1000M) 580,000 IOPS, maar liefst 7.25 keer verschil. Er zijn veel technische redenen die verklaren waarom NVMe zoveel beter presteert dan SATA-schijven, maar een van de belangrijkste is dat het een korter gegevenspad heeft. Het onderstaande diagram toont een vereenvoudigde illustratie van hoe het gegevenspad aanzienlijk korter is voor NVMe in vergelijking met opslag van de laatste generatie zoals SAS.

NVMe-oF vSphere sasDe prestatieverbeteringen, in combinatie met de scherpe prijsdaling, hebben van NVMe de lieveling van het moderne datacenter gemaakt.

Kort nadat NVMe-schijven op grote schaal werden gebruikt in het datacenter, realiseerden mensen zich dat de apparaten niet ten volle werden benut, en dat hun beperking om direct aangesloten opslag te zijn duidelijker werd. NVMe-apparaten moesten worden losgekoppeld van de server, daarom kwam een ​​andere groep bedrijven bij elkaar en ontwikkelde een specificatie voor het leveren van NVMe via een netwerk. Zodra het transportmechanisme voor NVMe-opslag beschikbaar was, konden we NVMe-apparaten in een opslagsysteem samenvoegen, abstraheren en delen met veel verschillende systemen, waaronder ESXi-hosts. NVMe-oF gebruikt target/initiator-terminologie.

NVMe-oF-topologie
RoCE maakt externe directe geheugentoegang (RDMA) mogelijk via een Ethernet-netwerk. Er zijn twee versies van RoCE: RoCE v1 en RoCE v2. Terwijl RoCE v1 communicatie mogelijk maakt tussen twee willekeurige hosts in hetzelfde Ethernet-broadcastdomein (laag 2), draait RoCE v2 bovenop TCP (laag 3) en is daarom routeerbaar, waardoor het verbinding kan maken met hosts buiten een Ethernet-broadcastdomein. Vanwege de inherente voordelen en populariteit in het datacenter ondersteunt VMware alleen v2. Voor de duur van dit artikel zullen we naar RoCE v2 verwijzen als simpelweg RoCE.

RoCE vereist RDMA-netwerkinterfacecontrollers (rNIC's) in plaats van standaard-NIC's. RoCE-netwerken vereisen meestal configuratie van Priority Flow Control, maar Spectrum-switches zijn geoptimaliseerd voor congestiecontrole bij gebruik met ConnectX-adapters, waardoor configuratie zonder configuratie mogelijk is. RoCE is erg populair en heeft een bloeiend ecosysteem dat zowel rNIC's als NVMe-oF-subsystemen levert. Het wordt momenteel gebruikt door enkele van 's werelds grootste hyperscale datacenters, en dit heeft de prijs van rNIC's aanzienlijk doen dalen sinds ze voor het eerst werden geïntroduceerd.

Door RDMA te gebruiken, kunnen gegevens rechtstreeks vanaf de NVMe-oF-apparaten naar een host worden overgedragen zonder naar geheugenbuffers te hoeven worden gekopieerd, zoals het geval zou zijn bij gebruik van een standaard TCP/IP-stack (Transmission Control Protocol/Internet Protocol). Door de buffers te omzeilen, vermindert RDMA het CPU-gebruik op de host en vermindert het de latentie om toegang te krijgen tot de gegevens op het externe NVMe-apparaat. Er zijn veel technische redenen waarom NVMe-oF beter presteert dan netwerkopslagtechnologieën van de laatste generatie. Opvallend is het enorme aantal wachtrijen (64K) dat NVMe-oF ondersteunt, maar misschien wel het meest veelzeggend is het NVMe-oF-gegevenspad. Het onderstaande diagram toont een vereenvoudigde illustratie van hoe het gegevenspad aanzienlijk korter is voor NVMe-oF in vergelijking met iSCSI-opslag.

NVMe-oF vSphere iSCSI

NVMe-oF vSphere NVMe

RoCE maakt gebruik van UDP, wat de prestaties beïnvloedt omdat UDP minder overhead vereist. RoCE vertrouwt echter op end-to-end-compatibiliteit om volledige verliesvrije connectiviteit te bieden. Hoewel moderne netwerkswitches lossless connectiviteit ondersteunen, moet ervoor worden gezorgd dat een oudere switch die lossless connectiviteit niet ondersteunt, zich niet in het netwerkpad van NVMe-oF bevindt.

Het resultaat van dit alles is dat NVMe-oF toegang mogelijk maakt tot de NVMe-schijven van een netwerk alsof ze lokaal zijn voor de toegangsserver. Vroege rapporten hebben aangetoond dat de latentie voor de gepoolde opslag ongeveer 100 μs is, in plaats van de 500 μs of meer van een iSCSI all-flash storage-array.

NVMe-oF met vSphere

De vereisten voor NVMe-oF met vSphere zijn eenvoudig:

  • NVMe-array die RDMA-transport (RoCE) ondersteunt
  • Compatibele ESXi-host
  • Ethernet-switches die een verliesvrij netwerk ondersteunen
  • Netwerkadapter die RoCE ondersteunt
  • Software NVMe via RDMA-adapter
  • NVMe-controller
  • Een lossless netwerk op zowel layer 2 als layer 3 of lossy netwerk met NVIDIA's ZTR (Zero Touch RoCE) oplossing
  • Toegewijde koppelingen, VMkernels en RDMA-adapters naar NVMe-doelen
  • Dedicated laag 3 VLAN of laag 2 connectiviteit

Omdat NVMe-oF nieuw is voor VMware, zijn niet alle vSphere-functies ervoor beschikbaar. Enkele functies waarvan we merkten dat ze ontbraken, zijn ondersteuning voor gedeelde VMDK's, Raw Device Maps (RDM's), vVols en de mogelijkheid om op te starten vanaf NVMe-oF.

NVMe-oF implementeren

We gebruikten NVIDIA's ConnectX-5 rNIC's, een van de meest gebruikte kaarten in het datacenter. Deze kaarten zijn RDMA-compatibele netwerkadapters met één of twee poorten. Ze zijn beschikbaar voor PCIe Gen 3.0- en Gen 4.0-servers en bieden ondersteuning voor 1, 10, 25, 40, 50 en 100 Gb. Ze hebben een latentie van 750 ns en kunnen tot 200 miljoen berichten per seconde doorgeven. Wanneer ze worden gebruikt met opslagworkloads, ondersteunen ze een breed scala aan versnellingstechnologieën.

Voor onze tests hebben we PCIe Gen 3.0 ConnectX-5-kaarten op 25GbE uitgevoerd in een paar Dell R720-servers via een netwerk dat via een paar NVIDIA's Spectrum SN2010-switches is verbonden met de Pure Storage-flasharray.

We hebben eerst geverifieerd dat we de nmlx5_core-driver gebruikten door esxcfg in te voeren-nics -l |grep -E 'Naam|NVIDIA'.

Als we de nmlx4_core-driver hadden gebruikt, hadden we RoCE ervoor kunnen inschakelen vanuit de ESXi CLI.

Het proces voor het inschakelen van NVMe-oF (vergelijkbaar met het instellen en inschakelen van iSCSI) omvatte het configureren van de vSwitches, poortgroepen en vmkernelpoorten op de ESXi-hosts. Het grote verschil was dat we aan elke ESXi-host ten minste twee softwarematige NVMe over RDMA-adapters moesten toevoegen.

De laatste stap die we moesten voltooien, was het identificeren van de NVMe Qualified Name (NQN) van de ESXi-host door in te voeren esxcli nvme info krijgen.

Op de Pure Storage-array was het vergelijkbaar met het opzetten van een iSCSI-array, met één grote uitzondering. We moesten selecteren NQN's configureren.

Testresultaten van NVMe-oF met vSphere

Voor deze tests hebben we alles constant gehouden, behalve de stof. Wat we willen evalueren, is de impact van de overgang van meer traditionele iSCSI naar RoCE. Voor alle duidelijkheid: dit is geen oefening voor opslagbenchmarking; dit is een onderzoek om te kijken naar de voordelen van NVMe-oF in een VMware-omgeving die zeer weinig verandering vereist. We gebruikten twee Dell EMC PowerEdge-servers en een Pure FlashArray//X R2 voor de storage-backend.

Ons testplan omvatte het meten van de totale prestaties van 8 VM's (4 op elke ESXi-host) en het gebruik van vdBench om traditionele four corners en gemengde workloads te meten. Elke VM verbruikte 64 GB aan opslagruimte, met een totale voetafdruk van 512 GB per werklast die beschikbaar was om de prestatieveranderingen te vergelijken naarmate het protocol veranderde.

Houd er bij het interpreteren van deze resultaten rekening mee dat voor doorvoer een verbetering beter is, terwijl voor latentie een afname beter is.

roce versus iscsi 4k willekeurigIn onze eerste werklast die 4K willekeurige leesprestaties meet bij een belasting van 80%, maten we een toename van de doorvoer van 14.6% en een afname van de leeslatentie met 21.4%.

roce versus iscsi 64k sequentieelAls we vervolgens kijken naar de leesbandbreedte in een sequentiële leeswerklast van 64K, zagen we een enorme toename van 81.3% in doorvoer, evenals een afname van 36.8% in latentie - opnieuw bij een belasting van 80%.

roce versus iscsi sql-serverHoewel de grootste gemeten winst te behalen was in de leesworkloads, hebben we ook gekeken naar enkele veelvoorkomende gemengde workloads, waarvan de eerste SQL 90/10 was. In deze workload hebben we gemeten dat de latentie afnam met maximaal 78.2% bij een belasting van 100% en een daling van de latentie met 43.4% bij een belasting van 80%.

roce versus iscsi orakelTen slotte zagen we in onze Oracle 90/10-workload een latentiedaling van 13.2% bij een belasting van 100% en een daling van de latentie van 35.7% bij een belasting van 80%.

Tijdens deze tests had RoCE duidelijk grote verbeteringen voor een breed scala aan workloads die gebruikelijk zijn in de onderneming.

Conclusie

Onze tests hebben bewezen dat NVMe-oF in de echte wereld meer is dan alleen een concept. NVMe-oF kan uitstekende prestaties leveren met behulp van de huidige hardware van uw datacenter, zoals servers met Gen 3.0 PCI-slots, NVIDIA's ConnectX-5 NIC's en een Pure Storage FlashArray//X R2 (Pure levert nu //X R3 met nog grotere prestatieverbeteringen).

Tijdens onze tests zagen we aanzienlijke winst in leeswerklasten van kleine en grote blokken. Om de impact in de praktijk te bekijken, hebben we ons gericht op minder dan 100% werklastverzadiging, aangezien de meeste werklasten het onderliggende opslagplatform niet volledig verzadigen. In onze test die 4K random leesprestaties meet, daalde de latentie met 21.4% bij een werklast van 80%. Sequentiële leesprestaties met een werklast van 64K zorgden voor een enorme toename van 81.3% in doorvoer bij een belasting van 80%. We zagen ook een latentiedaling van respectievelijk 43.4% en 35.7% in onze SQL 90/10- en Oracle 90/10-workloads, wederom bij een belasting van 80%. Deze cijfers geven aan dat er een extra mogelijkheid is om veeleisende bare-metal-workloads over te zetten naar VMware.

We zijn ervan overtuigd dat NVMe-oF de volgende grote trend op het gebied van opslagtechnologie zal worden en we verwachten dat de populariteit ervan in het datacenter snel zal toenemen. We zullen voorop lopen in deze categorie naarmate deze zich de komende jaren ontwikkelt, en we kijken ernaar uit om andere en aangrenzende NVMe-technologieën te onderzoeken zodra deze worden uitgebracht.

Voor aanvullende informatie:

Pure opslag FlashArray//X

NVIDIA-netwerken

Dit rapport wordt gesponsord door NVIDIA. Alle standpunten en meningen in dit rapport zijn gebaseerd op onze onbevooroordeelde kijk op het (de) product(en) in kwestie.