Hem Företag Vad är NVMe-oF?

Vad är NVMe-oF?

by Juan Mulford
NVMeoF

Under de senaste åren fortsätter vi att uppleva hur lagringsprestanda blir snabbare, vilket har utmanat de gamla lagringsprotokollen som har blivit en flaskhals för datacenter. Trots att de använder den senaste tyghastigheten på 100 GbE och nya nätverksstandarder, såsom InfiniBand, begränsar dessa långsamma nätverksprotokolltekniker flashenhetens prestanda, håller den inuti själva enheten och isolerad i lådan. I den här artikeln tar vi en snabb titt på Non-Volatile Memory Express (NVMe). Vidare överblickar vi NVMe over Fabrics (NVMe-oF) och NVMe över RDMA över Converged Ethernet (NVMe over RoCE), en ny protokollspecifikation utvecklad för att lösa flaskhalsar i moderna lagringsnätverk.

Under de senaste åren fortsätter vi att uppleva hur lagringsprestanda blir snabbare, vilket har utmanat de gamla lagringsprotokollen som har blivit en flaskhals för datacenter. Trots att de använder den senaste tyghastigheten på 100 GbE och nya nätverksstandarder, såsom InfiniBand, begränsar dessa långsamma nätverksprotokolltekniker flashenhetens prestanda, håller den inuti själva enheten och isolerad i lådan. I den här artikeln tar vi en snabb titt på Non-Volatile Memory Express (NVMe). Vidare överblickar vi NVMe over Fabrics (NVMe-oF) och NVMe över RDMA över Converged Ethernet (NVMe over RoCE), en ny protokollspecifikation utvecklad för att lösa flaskhalsar i moderna lagringsnätverk.

NVMe-oF

På grund av det alltid efterfrågade låg latens och hög genomströmning i molnen och datacenter, finns det en hel del diskussioner kring NVMe över Fabrics. NVMe-specifikationen har funnits i mindre än ett decennium, och eftersom NVMe-oF också är relativt nytt, finns det fortfarande många missförstånd om dess praxis och hur det gynnar företag. Denna teknik har ständigt utvecklats och anammats i stor utsträckning inom IT-branschen. Vi börjar se flera nätverksleverantörer som levererar NVMe-oF-relaterade produkter till företagsmarknaden. För att hålla jämna steg med avancerad datacenterteknik är det därför viktigt att förstå vad NVMe-oF är, funktionerna och dess prestandaegenskaper. Vidare, hur den kan användas och hur vi kopplar denna teknik till olika och nya lösningar.

NVMe och NVMe-oF

All-flash arrays (AFA) dök upp i datacenter för att svara på kravet på hög prestanda, eftersom de är mycket snabbare än äldre lagring och kan nå de alltid utlovade 1M IOPS på marknaden utan ansträngning. Men många av dessa arrayer fortsatte med att använda en nästan äldre lagringsteknik, SATA SSD. Denna typ av lagring är baserad på kommandoprotokollet AHCI (Advanced Host Controller Interface) och stöder IDE. AHCI byggdes i huvudsak för den snurrande skivan och inte för de avancerade flash-baserade enheterna. Denna SCSI-baserade teknik skapar en flaskhals för dagens SSD:er och lagringsarrayer, eftersom SATA III-bussen med AHCI endast tillåter dataöverföringshastigheter upp till 600MB/s.

NVMe-oF busshastigheterTabell 1: Gemensamma bussar hastighet

För att låsa upp den fulla kapaciteten hos SSD:er behövde vi ny teknik för att ladda ner blixten snabbare. NVMe är en specifikation som gör att flashlagring (eller SSD-enheter) kan dra verklig nytta av flashprestanda. Denna teknik introducerades första gången 2014 för att förbättra applikationssvarstiden och presentera nya och bättre möjligheter. Det finns många formfaktorer för NVMe solid-state-diskar, och de mest kända är AIC (tilläggskort), U.2, U.3 och M.2. NVMe SSD:er utnyttjar Peripheral Component Interconnector Express (PCIe) höghastighetsbussen i datorn eller servern genom att ansluta den direkt till den. NVMe minskar avsevärt CPU-overheaden och effektiviserar operationer som minskar latensen, ökar Input/Output Operations per Second (IOPS) och genomströmning. Till exempel ger NVMe SSD-enheter skrivhastigheter högre än 3,000 5 MB/s. Om vi ​​jämför med SATA SSD:er betyder det 30x snabbare, eller XNUMXx snabbare än snurrande diskar.

Med NVMe fungerar IOPS parallellt, vilket möjliggör många beräkningar samtidigt. Stora uppgifter kan delas upp i flera mindre uppgifter för att bearbetas självständigt. Liknar en flerkärnig CPU, som arbetar med flera trådar. Varje CPU-kärna skulle kunna arbeta oberoende av varandra för att utföra specifika uppgifter.

Queue Depths (QD) är en annan fördel med NVMe jämfört med AHCI. Medan ACHI och SATA kan hantera ködjup på 32 (1 kö och 32 kommandon), kan NVMe hantera ködjup på upp till 65K. Dessa är 65K köer, där varje kö kan innehålla så många som 65K kommandon per kö. Tillsammans med minskning av latens, accelererar detta prestandan för upptagna servrar som behandlar samtidiga förfrågningar.

NVMe-oF q djupTabell 2: Köjämförelse

Problemet för datacenter kvarstår dock på lagringsnätverksprotokoll. Trots uppkomsten av NVMe, är dess vinster begränsade till varje enskild apparat. Och faktum är att flashlagring och andra företagsklassade (dyra) apparater, såsom AFA, inte är avsedda att isolera dess anmärkningsvärda prestanda inuti chassit. Istället är de tänkta att användas i massiva parallella datorkluster, för att ansluta dem med ytterligare och flera apparater, såsom andra servrar och lagring. Denna sammankoppling av enheter är vad vi kallar strukturen, lagringsnätverket, inklusive switchar, routrar, protokollbryggor, gateway-enheter och kablar.

2016 har industristandarden NVMe-oF lanserats. Protokollspecifikationen utökar den otroliga prestandan hos NVMe från lagringsarraykontrollerna till tyget, med hjälp av Ethernet, Fibre Channel, RoCE eller InfiniBand. NVMe-oF använder ett alternativt datatransportprotokoll (över tyger) som en transportmappning, istället för PCIe-bussen som används av NVMe. Tyger är byggda på konceptet att skicka och ta emot meddelanden utan delat minne mellan slutpunkter. NVMe-textmeddelandet transporterar inkapslade NVMe-kommandon och -svar till ett meddelandebaserat system som inkluderar ett eller flera NVMe-kommandon eller -svar.

I NVMe-oF presenteras mål som namnutrymmen, vilket motsvarar SCSI LUN. NVMe-oF tillåter värdar att kommunicera med dessa lagringsmål över mycket längre avstånd samtidigt som latensen håller ultralåg, i nivåer av mikrosekunder (μs). Enkelt uttryckt får vi bättre prestanda mellan system och flashlagring utan att nämnvärt lägga till tyglatens. Denna låga latens är delvis möjlig till de tidigare nämnda NVMe-ködjupen. NVMe-oF kan hantera samma köer som NVMe, 65KDetta anmärkningsvärda antal gör NVMe-oF möjligt att designa en mycket parallell arkitektur mellan värdar och enheter, med hjälp av en separat kö för var och en av dessa enheter.

NVMe Tyger Transporter 

Tre typer av tygtransporter som stöds och används av NVMe är NVMe-oF med RDMA, NVMe-oF med fiberkanal och NVMe-oF med TCP.

NVMe-oF över RDMA

Denna specifikation använder Remote Direct Memory Access (RDMA) och gör det möjligt att överföra data och minne mellan dator och lagringsenheter över nätverket. RDMA är ett sätt att utbyta information mellan två datorers huvudminne i ett nätverk utan att involvera processorn, cachen eller operativsystemet på någon av datorerna. Eftersom RDMA undviker operativsystemet är det vanligtvis den snabbaste och lägsta overhead-mekanismen för att överföra data över ett nätverk.

NVMe-oF över RDMA använder TCP-transportprotokollet för att leverera data över IP-nätverk. De typiska RDMA-implementeringarna inkluderar Virtual Interface Architecture, RDMA over Converged Ethernet (RoCE), InfiniBand, Omni-Path och iWARP. RoCE, InfiniBand och iWARP är för närvarande de mest använda.

NVMe över fiberkanal

Kombinationen av att använda NVMe över Fibre Channel (FC) kallas ofta för FC-NVMe, NVMe över FC eller ibland NVMe/FC. Fibre Channel är ett robust protokoll för överföring av data mellan lagringsarrayer och servrar, och de flesta företags SAN-system använder det. I FC-NVMe är kommandon inkapslade i FC-ramar. Det är baserat på standard FC-regler, och det matchar standard FC-protokollet som stöder åtkomst till delad NVMe-flash. SCSI-kommandon är inkapslade i FC-ramar; dock utdöms ett prestationsstraff för att tolka och översätta dem till NVMe-kommandon.

NVMe över TCP/IP

Denna transporttyp är en av de senaste utvecklingarna inom NVMe-oF. NVMe över TCP (Transport Control Protocol) använder NVMe-oF och TCP-transportprotokollet för att överföra data över IP-nätverk (Ethernet). NVMe transporteras inuti TCP-datagram över Ethernet som den fysiska transporten. Trots att det har RDMA och Fibre Channel, ger TCP ett troligtvis billigare och mer flexibelt alternativ. Dessutom, jämfört med RoCE, som också använder Ethernet, presterar NVMe/TCP mer som FC-NVMe eftersom de använder meddelandesemantik för I/O.

Att använda NVMe-oF med antingen en RDMA, Fibre Channel eller TCP, gör en komplett end-to-end NVMe-lagringslösning. Dessa lösningar ger särskilt hög prestanda samtidigt som de bibehåller den mycket låga latensen som är tillgänglig via NVMe.

NVMe över RDMA över Converged Ethernet (RoCE)

Bland RDMA-protokollen sticker RoCE ut. Vi vet vad RDMA och NVMe-oF är, och nu har vi Converged Ethernet (CE), stöd för RDMA över ett Ethernet-nätverk. CE är som en förbättrad Ethernet-version, även känd som Data Center Bridging och Data Center Ethernet. Den kapslar in InfiniBand-transportpaketet över Ethernet. Dess lösning tillhandahåller Link Level Flow Control-mekanismen för att säkerställa noll förlust, även när nätverket är mättat. RoCE-protokollet tillåter lägre latenser än sin föregångare, iWARP-protokollet.

Det finns två RoCE-versioner, RoCE v1 och RoCE v2. RoCE v1 är ett Ethernet lager 2-protokoll (länk) som tillåter kommunikation mellan två värdar i samma Ethernet-sändningsdomän. Så den kan inte dirigera mellan undernät. Det nya alternativet är RoCE v2, ett protokoll ovanpå antingen UDP/IPv4- eller UDP/IPv6-protokollet. RoCE v2 är ett Ethernet lager 3 (internet)-protokoll, vilket innebär att dess paket kan dirigeras. Programvarustöd för RoCE v2 växer fortfarande fram. Mellanox OFED 2.3 eller senare har RoCE v2-stöd och även Linux Kernel v4.5.

NVMe över RoCE är en ny typ av SAN. Detta protokoll ger samma prestanda och flexibilitet för företagsdatatjänster som SAN-hårdvara och mjukvara. Även om RoCE-protokollet drar nytta av ett konvergerat Ethernet-nätverks egenskaper, kan protokollet även användas på ett traditionellt eller icke-konvergerat Ethernet-nätverk. För att konfigurera NVMe över RoCE-lagringsmaterial måste nätverkskortet, switchen och AFA stödja Converged Ethernet. NIC (kallas ett R-NIC) och all-flash array måste ge stöd för RoCE. Servrar med R-NIC och AFA med NVMe över RoCE-gränssnitt kommer att plug-and-play med installerade CE-switchar.

NVMe-oF över RoCE-stöd för VMware

VMware lade till stöd för delad NVMe-lagring med NVMe-oF. För extern anslutning stöds NVMe över fiberkanal och NVMe över RDMA i vSphere 7.0. ESXi-värdar kan använda RDMA över Converged Ethernet v2 (RoCE v2). För att aktivera och komma åt NVMe-lagring med RDMA, använder ESXi-värden en R-NIC-adapter på din värd och en SW NVMe over RDMA-lagringsadapter. Konfigurationen måste konfigureras i båda adaptrarna för att kunna använda dem för NVMe-lagringsupptäckning.

Mål presenteras som namnområden för en värd i aktiva/aktiva eller asymmetriska åtkomstlägen (ALUA) när du använder NVMe-oF. Detta gör det möjligt för ESXi-värdar att upptäcka och använda de presenterade namnrymden. ESXi emulerar NVMe-oF-mål som SCSI-mål internt och presenterar dem som aktiva/aktiva SCSI-mål eller implicita SCSI ALUA-mål.

NVMe över RDMA-krav:

  • NVMe-array som stöder RDMA (RoCE v2)-transport
  • Kompatibel ESXi-värd
  • Ethernet-switchar som stöder ett förlustfritt nätverk.
  • Nätverksadapter som stöder RoCE v2
  • SW NVMe över RDMA-adapter
  • NVMe-kontroller
  • RoCE körs idag över förlustiga tyger som stöder ZTR (Zero Touch RoCE) eller kräver ett konfigurerat nätverk för förlustfri trafik av information enbart på lager 2 eller på både lager 2 och lager 3 (med PFC)

När du ställer in NVMe-oF på en ESXi-värd finns det några rutiner som bör följas.

  • Blanda inte transporttyper för att komma åt samma namnområde.
  • Se till att alla aktiva sökvägar presenteras för värden.
  • NMP används inte/stöds inte; istället används HPP (High-Performance Plugin) för NVMe-mål.
  • Du måste ha dedikerade länkar, VMkernels och RDMA-adaptrar till dina NVMe-mål.
  • Dedikerad lager 3 VLAN eller lager 2 anslutning
  • gränser:
    • Namnutrymmen-32
    • Sökvägar=128 (max 4 sökvägar/namnområde på en värd)

Slutsats

Med fler och fler människor beroende av data i molntjänster finns det en växande efterfrågan på snabbare back-end-lagring i datacenter. NVMe är ett nyare sätt att samverka med blixtenheter, och tillsammans med NVMe-oF har teknikerna utvecklat externa anslutningsmöjligheter. NVMe-oF och dess olika typer av transporter börjar bli erkända som framtiden för datalagring. Dessa lagringsenheter och apparater anses vara hjärtat av datacenter, eftersom varje millisekund räknas inom det sammankopplade tyget. NVMe-tekniken minskar minnesmappade in-/utdatakommandon och rymmer operativsystemets enhetsdrivrutiner för högre prestanda och lägre latens.

NVMe har blivit mer och mer populärt på grund av dess multitasking-hastighet med låg latens och hög genomströmning. Medan NVMe också används i persondatorer för att förbättra videoredigering, spel och andra lösningar, ser man den verkliga fördelen i företaget, genom NVMe-oF. Branscher, som IT, artificiell intelligens och maskininlärning, fortsätter att utvecklas, och efterfrågan på förbättrad prestanda fortsätter att växa. Det är nu regelbundet att se mjukvaru- och nätverksleverantörer, såsom VMware och Mellanox, som levererar fler NVMe-oF-relaterade produkter och lösningar till företagsmarknaden. Med moderna och massivt parallella datorkluster, ju snabbare vi kan bearbeta och komma åt vår data, desto mer värdefull är den för vår verksamhet.

Resurser

Storagehub: VMware NVMeoF vSphere

NVMexpress: NVMe över tyger

NetApp AFF A800 NVMeOF recension

Engagera dig med StorageReview

Nyhetsbrev | Youtube | Podcast iTunes/Spotify | Instagram | Twitter | Facebook | Rssflöde