Home Enterprise Wat is NVMe-oF?

Wat is NVMe-oF?

by Juan Mulford
NVMeoF

In de afgelopen jaren ervaren we nog steeds hoe de opslagprestaties sneller worden, wat de oude opslagprotocollen, die een knelpunt zijn geworden voor datacenters, op de proef stelt. Ondanks het gebruik van de nieuwste fabric-snelheid van 100GbE en nieuwe netwerkstandaarden, zoals InfiniBand, beperken die langzame netwerkprotocoltechnologieën de prestaties van het flash-apparaat, houden het in het apparaat zelf en geïsoleerd in de doos. In dit artikel gaan we kort in op Non-Volatile Memory Express (NVMe). Verder geven we een overzicht van NVMe over Fabrics (NVMe-oF) en NVMe over RDMA over Converged Ethernet (NVMe over RoCE), een nieuwe protocolspecificatie die is ontwikkeld om knelpunten van moderne opslagnetwerken op te lossen.

In de afgelopen jaren ervaren we nog steeds hoe de opslagprestaties sneller worden, wat de oude opslagprotocollen, die een knelpunt zijn geworden voor datacenters, op de proef stelt. Ondanks het gebruik van de nieuwste fabric-snelheid van 100GbE en nieuwe netwerkstandaarden, zoals InfiniBand, beperken die langzame netwerkprotocoltechnologieën de prestaties van het flash-apparaat, houden het in het apparaat zelf en geïsoleerd in de doos. In dit artikel gaan we kort in op Non-Volatile Memory Express (NVMe). Verder geven we een overzicht van NVMe over Fabrics (NVMe-oF) en NVMe over RDMA over Converged Ethernet (NVMe over RoCE), een nieuwe protocolspecificatie die is ontwikkeld om knelpunten van moderne opslagnetwerken op te lossen.

NVMe-oF

Vanwege de altijd aanwezige vraag naar lage latentie en hoge doorvoer in de clouds en datacenters, is er veel discussie over NVMe over Fabrics. De NVMe-specificatie bestaat nog geen tien jaar en aangezien NVMe-oF ook relatief nieuw is, bestaan ​​er nog steeds veel misverstanden over de praktijk en de voordelen voor bedrijven. Deze technologie is voortdurend in ontwikkeling en wordt op grote schaal toegepast in de IT-industrie. We beginnen verschillende netwerkleveranciers NVMe-oF-gerelateerde producten te zien leveren aan de zakelijke markt. Om gelijke tred te houden met geavanceerde datacentertechnologieën, is het daarom essentieel om te begrijpen wat NVMe-oF is, de mogelijkheden en de prestatiekenmerken ervan. Verder, hoe het kan worden ingezet en hoe we deze technologie koppelen in verschillende en nieuwe oplossingen.

NVMe en NVMe-oF

All-flash arrays (AFA) ontstonden in datacenters om tegemoet te komen aan de roep om hoge prestaties, omdat ze veel sneller zijn dan legacy-opslag en in staat zijn om moeiteloos de altijd beloofde 1 miljoen IOPS in de markt te bereiken. Veel van deze arrays bleven echter een bijna verouderde opslagtechnologie gebruiken, de SATA SSD. Dit type opslag is gebaseerd op het AHCI-opdrachtprotocol (Advanced Host Controller Interface) en ondersteunt IDE. AHCI is in wezen gebouwd voor de draaiende schijf en niet voor de geavanceerde op flash gebaseerde schijven. Deze op SCSI gebaseerde technologie vormt een knelpunt voor de huidige SSD's en controllers voor opslagarrays, aangezien de SATA III-bus met AHCI alleen gegevensoverdrachtssnelheden tot 600 MB/s mogelijk maakt.

NVMe-oF-bussnelhedenTabel 1: Gemeenschappelijke bussnelheid

Om de volledige capaciteit van SSD's te ontgrendelen, hadden we nieuwe technologie nodig om de flash sneller te ontladen. NVMe is een specificatie waarmee flash-opslag (of SSD's) echt kunnen profiteren van flash-prestaties. Deze technologie werd voor het eerst geïntroduceerd in 2014 om de responstijd van applicaties te verbeteren en nieuwe en betere mogelijkheden te bieden. Er zijn veel vormfactoren van NVMe solid-state drive, en de meest bekende zijn AIC (uitbreidingskaart), U.2, U.3 en M.2. NVMe SSD's maken gebruik van de Peripheral Component Interconnector Express (PCIe) hogesnelheidsbus in de computer of server, door deze er rechtstreeks op aan te sluiten. NVMe vermindert substantieel de CPU-overhead en stroomlijnt operaties die de latentie verlagen, Input/Output Operations per Second (IOPS) en doorvoer verhogen. NVMe SSD's bieden bijvoorbeeld schrijfsnelheden van meer dan 3,000 MB/s. Als we het vergelijken met SATA SSD's, betekent dit 5x sneller, of 30x sneller dan draaiende schijven.

Met behulp van NVMe voert IOPS parallel uit, waardoor veel berekeningen tegelijkertijd mogelijk zijn. Grote taken kunnen worden opgedeeld in verschillende kleinere taken die onafhankelijk van elkaar kunnen worden uitgevoerd. Vergelijkbaar met een multi-core CPU, die werkt met meerdere threads. Elke CPU-kern zou onafhankelijk van elkaar kunnen werken om specifieke taken uit te voeren.

Queue Depths (QD) is een ander voordeel van NVMe ten opzichte van AHCI. Terwijl ACHI en SATA wachtrijdieptes van 32 aankunnen (1 wachtrij en 32 opdrachten), kan NVMe wachtrijdieptes tot 65K aan. Dit zijn wachtrijen van 65, waarbij elke wachtrij maar liefst 65 opdrachten per wachtrij kan bevatten. Samen met vermindering van de latentie versnelt dit de prestaties voor drukke servers die gelijktijdige verzoeken verwerken.

NVMe-oF q diepteTabel 2: wachtrijvergelijking

Het probleem voor datacenters blijft echter de opslagnetwerkprotocollen. Hoewel de opkomst van NVMe, zijn de voordelen ervan beperkt tot elk afzonderlijk apparaat. En feit is dat flash-opslag en andere (dure) apparaten van ondernemingsniveau, zoals AFA's, niet bedoeld zijn om de opmerkelijke prestaties in het chassis te isoleren. In plaats daarvan zijn ze bedoeld om te worden gebruikt in enorme parallelle computerclusters, waarbij ze worden verbonden met extra en meerdere apparaten, zoals andere servers en opslag. Deze onderlinge verbinding van apparaten noemen we de fabric, het opslagnetwerk, inclusief schakelaars, routers, protocolbruggen, gateway-apparaten en kabels.

In 2016 is de NVMe-oF-industriestandaard gelanceerd. De protocolspecificatie breidt de ongelooflijke prestaties van NVMe uit van de opslagarraycontrollers naar de fabric, met behulp van Ethernet, Fibre Channel, RoCE of InfiniBand. NVMe-oF gebruikt een alternatief datatransportprotocol (over fabrics) als transportmapping, in plaats van de PCIe-bus die door NVMe wordt gebruikt. Fabrics zijn gebouwd op het concept van het verzenden en ontvangen van berichten zonder gedeeld geheugen tussen eindpunten. De NVMe-fabric-berichttransporten kapselen NVMe-opdrachten en -antwoorden in een op berichten gebaseerd systeem in dat een of meer NVMe-opdrachten of -antwoorden omvat.

In NVMe-oF worden doelen gepresenteerd als naamruimten, wat gelijk is aan SCSI LUN's. NVMe-oF stelt hosts in staat om over veel grotere afstanden met deze opslagdoelen te communiceren, terwijl de latentie ultralaag blijft, in niveaus van microseconden (μs). Simpel gezegd, we krijgen betere prestaties tussen systemen en flash-opslag zonder substantiële fabric-latentie toe te voegen. Deze lage latentie is gedeeltelijk mogelijk voor de eerder genoemde NVMe-wachtrijdiepten. NVMe-oF kan dezelfde wachtrijen aan als NVMe, 65KDit opmerkelijke aantal maakt het NVMe-oF mogelijk om een ​​zeer parallelle architectuur tussen hosts en schijven te ontwerpen, waarbij voor elk van deze apparaten een aparte wachtrij wordt gebruikt.

NVMe Stoffen Transporten 

Drie typen fabric-transporten die door NVMe worden ondersteund en gebruikt, zijn NVMe-oF met RDMA, NVMe-oF met Fibre Channel en NVMe-oF met TCP.

NVMe-oF via RDMA

Deze specificatie maakt gebruik van Remote Direct Memory Access (RDMA) en maakt het mogelijk gegevens en geheugen over te dragen tussen computer en opslagapparaten via het netwerk. RDMA is een manier om informatie uit te wisselen tussen het hoofdgeheugen van twee computers in een netwerk zonder tussenkomst van de processor, cache of het besturingssysteem van een van beide computers. Omdat RDMA het besturingssysteem vermijdt, is dit meestal het snelste mechanisme met de laagste overhead voor het verzenden van gegevens over een netwerk.

NVMe-oF over RDMA gebruikt het TCP-transportprotocol om gegevens over IP-netwerken te leveren. De typische RDMA-implementaties omvatten de Virtual Interface Architecture, RDMA over Converged Ethernet (RoCE), InfiniBand, Omni-Path en iWARP. RoCE, InfiniBand en iWARP worden momenteel het meest gebruikt.

NVMe via Fibre Channel

De combinatie van het gebruik van NVMe over Fibre Channel (FC) wordt vaak FC-NVMe, NVMe over FC of soms NVMe/FC genoemd. Fibre Channel is een robuust protocol voor de overdracht van gegevens tussen opslagarrays en servers, en de meeste zakelijke SAN-systemen gebruiken het. In FC-NVMe zijn opdrachten ingekapseld in FC-frames. Het is gebaseerd op standaard FC-regels en komt overeen met het standaard FC-protocol dat toegang tot gedeelde NVMe-flash ondersteunt. SCSI-opdrachten zijn ingekapseld in FC-frames; er wordt echter een prestatiestraf opgelegd om ze te interpreteren en te vertalen naar NVMe-opdrachten.

NVMe via TCP/IP

Deze transportvorm is een van de nieuwste ontwikkelingen binnen NVMe-oF. NVMe over TCP (Transport Control Protocol) gebruikt NVMe-oF en het TCP-transportprotocol om gegevens over IP-netwerken (Ethernet) over te dragen. NVMe getransporteerd in TCP-datagrammen via Ethernet als het fysieke transport. Ondanks dat het RDMA en Fibre Channel heeft, biedt TCP een waarschijnlijk goedkoper en flexibeler alternatief. Bovendien, vergeleken met RoCE, dat ook Ethernet gebruikt, presteert NVMe/TCP meer als FC-NVMe omdat ze messaging-semantiek gebruiken voor I/O.

Het gebruik van NVMe-oF met een RDMA, Fibre Channel of TCP vormt een complete end-to-end NVMe-opslagoplossing. Deze oplossingen bieden opmerkelijk hoge prestaties terwijl ze de zeer lage latentie behouden die beschikbaar is via NVMe.

NVMe via RDMA via Converged Ethernet (RoCE)

Onder de RDMA-protocollen valt RoCE op. We weten wat RDMA en NVMe-oF zijn, en nu hebben we Converged Ethernet (CE), de ondersteuning van RDMA over een Ethernet-netwerk. CE is als een verbeterde Ethernet-versie, ook wel bekend als Data Center Bridging en Data Center Ethernet. Het omvat het InfiniBand-transportpakket via Ethernet. De oplossing biedt het Link Level Flow Control-mechanisme om nul verlies te garanderen, zelfs wanneer het netwerk verzadigd is. Het RoCE-protocol maakt lagere latenties mogelijk dan zijn voorganger, het iWARP-protocol.

Er zijn twee RoCE-versies, RoCE v1 en RoCE v2. RoCE v1 is een Ethernet Layer 2 (link)-protocol, dat communicatie mogelijk maakt tussen twee hosts in hetzelfde Ethernet-broadcastdomein. Het kan dus niet routeren tussen subnetten. De nieuwe optie is RoCE v2, een protocol bovenop het UDP/IPv4- of het UDP/IPv6-protocol. RoCE v2 is een Ethernet layer 3 (internet) protocol, wat betekent dat de pakketten kunnen worden gerouteerd. Software-ondersteuning voor RoCE v2 is nog in opkomst. Mellanox OFED 2.3 of hoger heeft RoCE v2-ondersteuning en ook Linux Kernel v4.5.

NVMe over RoCE is een nieuw type SAN. Dit protocol biedt dezelfde prestaties en flexibiliteit voor bedrijfsgegevensservices als SAN-hardware en -software. Hoewel het RoCE-protocol profiteert van de kenmerken van een geconvergeerd Ethernet-netwerk, kan het protocol ook worden gebruikt op een traditioneel of niet-geconvergeerd Ethernet-netwerk. Om NVMe via RoCE-opslagstructuur te configureren, moeten de NIC, switch en AFA Converged Ethernet ondersteunen. De NIC (een R-NIC genoemd) en all-flash array moeten ondersteuning bieden voor RoCE. Servers met R-NIC's en AFA's met NVMe over RoCE-interfaces zijn plug-and-play met geïnstalleerde CE-switches.

NVMe-oF over RoCE-ondersteuning voor VMware

VMware heeft ondersteuning toegevoegd voor gedeelde NVMe-opslag met behulp van NVMe-oF. Voor externe connectiviteit wordt NVMe via Fibre Channel en NVMe via RDMA ondersteund in vSphere 7.0. ESXi-hosts kunnen RDMA gebruiken via Converged Ethernet v2 (RoCE v2). Om NVMe-opslag mogelijk te maken en toegang te krijgen met RDMA, gebruikt de ESXi-host een R-NIC-adapter op uw host en een SW NVMe via RDMA-opslagadapter. De configuratie moet in beide adapters worden geconfigureerd om ze te gebruiken voor NVMe-opslagdetectie.

Doelen worden gepresenteerd als naamruimten aan een host in actieve/actieve of asymmetrische toegangsmodi (ALUA) bij gebruik van NVMe-oF. Hierdoor kunnen ESXi-hosts de gepresenteerde naamruimten ontdekken en gebruiken. ESXi emuleert NVMe-oF-doelen intern als SCSI-doelen en presenteert ze als actieve/actieve SCSI-doelen of impliciete SCSI ALUA-doelen.

NVMe over RDMA-vereisten:

  • NVMe-array die RDMA-transport (RoCE v2) ondersteunt
  • Compatibele ESXi-host
  • Ethernet-switches die een verliesvrij netwerk ondersteunen.
  • Netwerkadapter die RoCE v2 ondersteunt
  • SW NVMe via RDMA-adapter
  • NVMe-controller
  • RoCE draait tegenwoordig over lossy fabrics die ZTR (Zero Touch RoCE) ondersteunen of vereist een geconfigureerd netwerk voor lossless informatieverkeer op laag 2 alleen of op zowel laag 2 als laag 3 (met behulp van PFC)

Bij het instellen van NVMe-oF op een ESXi-host zijn er een paar praktijken die moeten worden gevolgd.

  • Gebruik geen verschillende transporttypen om toegang te krijgen tot dezelfde naamruimte.
  • Zorg ervoor dat alle actieve paden aan de host worden gepresenteerd.
  • NMP wordt niet gebruikt/ondersteund; in plaats daarvan wordt HPP (High-Performance Plugin) gebruikt voor NVMe-doelen.
  • U moet speciale koppelingen, VMkernels en RDMA-adapters hebben voor uw NVMe-doelen.
  • Dedicated laag 3 VLAN of laag 2 connectiviteit
  • Limits:
    • Naamruimten-32
    • Paden=128 (max. 4 paden/naamruimte op een host)

Conclusie

Nu steeds meer mensen afhankelijk zijn van gegevens in cloudservices, is er een groeiende vraag naar snellere back-endopslag in datacenters. NVMe is een nieuwere manier om te communiceren met flash-apparaten, en samen met NVMe-oF hebben de technologieën externe connectiviteitsopties bevorderd. NVMe-oF en zijn verschillende soorten transporten beginnen te worden erkend als de toekomst van gegevensopslag. Deze opslagapparaten en -apparaten worden beschouwd als het hart van datacenters, aangezien elke milliseconde telt binnen de onderling verbonden structuur. De NVMe-technologie vermindert in het geheugen toegewezen invoer-/uitvoeropdrachten en biedt plaats aan apparaatstuurprogramma's van het besturingssysteem voor betere prestaties en lagere latentie.

NVMe is steeds populairder geworden vanwege de multitasking-snelheid bij lage latentie en hoge doorvoer. Hoewel NVMe ook wordt gebruikt in pc's om videobewerking, gaming en andere oplossingen te verbeteren, wordt het echte voordeel gezien in de onderneming, via NVMe-oF. Industrieën zoals IT, kunstmatige intelligentie en machine learning blijven groeien en de vraag naar betere prestaties blijft groeien. Het komt nu regelmatig voor dat software- en netwerkleveranciers, zoals VMware en Mellanox, meer NVMe-oF-gerelateerde producten en oplossingen leveren aan de zakelijke markt. Met moderne en massaal parallelle computerclusters, hoe sneller we onze gegevens kunnen verwerken en openen, hoe waardevoller het is voor ons bedrijf.

Resources

Opslaghub: VMware NVMeoF vSphere

NVMexpress: NVMe over stoffen

NetApp AFF A800 NVMeOF-recensie

Neem contact op met StorageReview

Nieuwsbrief | YouTube | Podcast iTunes/Spotify | Instagram | Twitter | Facebook | RSS Feed