NVMe-oF (NVMe over Fabrics): när flashlagringen flyttar ut på nätverket

Redaktionens viktigaste punkter

  • NVMe-oF (NVMe over Fabrics) förlänger NVMe-kommandon över nätverket — via RDMA/RoCE, TCP, InfiniBand eller Fibre Channel — så att fjärrlagrad flash känns som lokala diskar.
  • I tester ger NVMe-oF över RDMA cirka 90 procent lägre latens än iSCSI: 0,082 ms mot 0,806 ms vid slumpmässig 4K-läsning, med cirka 85 procent lägre CPU-belastning.
  • NVMe/TCP körs på vanlig Ethernet (port 4420) utan särskild hårdvara och är den enda transporten som är praktisk för hemlabb.
  • TrueNAS har inbyggt NVMe-oF-stöd; en Linux-klient ansluter med nvme-cli och ett enda kommando.
  • För de flesta hemlabb är NVMe-oF overkill — det lönar sig först med 10 GbE eller snabbare, flashlagring och parallella arbetslaster.

NVMe-oF (NVMe over Fabrics): när flashlagringen flyttar ut på nätverket

Vad är NVMe-oF egentligen?

NVMe skapades för att prata direkt med flashminne över PCIe — ett gränssnitt byggt för massiv parallellitet och mikrosekundsvarstider. Men NVMe är i grunden en lokal buss. Så fort lagringen ska delas mellan flera servrar över ett nätverk har världen fallit tillbaka på SCSI-baserade protokoll som iSCSI och Fibre Channel, utvecklade under de snurrande diskarnas era.

NVMe over Fabrics lägger till ett transportlager ovanpå NVMe-kommandosetet: samma kommandon, men kapslarna skickas över ett nätverk i stället för över PCIe. En värd (initiator) når fjärrlagrade NVMe-enheter (targets) med prestanda nära lokala diskar, och flera servrar delar samma flashpool. Tekniken standardiseras av NVM Express-organisationen.

Kärnan är köerna. SCSI har i praktiken en kommandokö per anslutning, vilket ger köbildning under belastning. NVMe stödjer upp till 64 000 köer med 64 000 kommandon vardera — och NVMe-oF behåller den modellen över nätet. För databaser och virtualisering med många parallella I/O-operationer är det den avgörande skillnaden mot iSCSI.

Fem transporter, ett protokoll

NVMe-oF är inte ett nätverksprotokoll i sig, utan ett sätt att bära NVMe över olika fabrics:

  • FC-NVMe: NVMe på Fibre Channel — uppgraderingsväg för företag med befintliga FC-SAN.
  • InfiniBand: RDMA på InfiniBands egen fabric, förlustfri av design. Vanligast i HPC-miljöer.
  • RoCE (RDMA over Converged Ethernet): RDMA över Ethernet. Lägst latens på Ethernet, men kräver förlustfritt DCB-nät med PFC och ECN.
  • iWARP: RDMA över TCP. Routningsbart och mindre känsligt än RoCE, men ovanligare.
  • NVMe/TCP: NVMe över vanlig TCP (port 4420). Fungerar på vilket Ethernet som helst — hemlabbets transport.
TransportBärnätTypisk tillagd latensNätverkskravKlienthårdvara
RoCEv2Ethernet (UDP/IP)10–20 µsFörlustfritt DCB (PFC + ECN)RDMA-kapabelt nätverkskort
InfiniBandInfiniBand-fabric3–10 µsIB-fabricIB-värdadapter
iWARPEthernet (TCP)10–25 µsVanligt IP-nätRDMA-kapabelt nätverkskort
NVMe/TCPEthernet (TCP, port 4420)50–150 µsVanligt IP-nätVanligt nätverkskort
FC-NVMeFibre Channel10–25 µsFC-fabricFC-värdadapter

NVMe-oF mot iSCSI: siffrorna som spelar roll

iSCSI (SCSI över TCP/IP, port 3260) har varit standard för IP-SAN i över femton år. NVMe/TCP är dess arvtagare: samma vanliga Ethernet, men NVMe-kommandon med parallella köer i stället för SCSI:s enkla kömodell. På identisk hårdvara blir skillnaden tydlig:

Mätvärde (4K-block)NVMe-oF över RDMANVMe-oF över TCPiSCSI
Läs-IOPS1 558 0001 503 0001 272 000
Läslatens0,082 ms0,382 ms0,806 ms
Skrivlatens0,055 ms0,260 ms0,906 ms
CPU vid läsning7 %19 %47 %
CPU vid skrivning5 %12 %42 %

Siffrorna, från StarWinds jämförelse (april 2024), visar att NVMe-oF över RDMA ger cirka 90 procent lägre latens än iSCSI och cirka 85 procent lägre CPU-belastning tack vare hårdvaruavlastning. Även NVMe/TCP — helt i mjukvara — halverar latensen och använder mindre än hälften så mycket CPU. Protokollets stora vinst är effektivitet, inte bara toppfart.

I hantering skiljer sig adresseringen: iSCSI använder IQN-namn på port 3260, NVMe-oF NQN-namn med port 4420 för TCP. Båda stöder autentisering, men isolera lagringstrafiken i ett dedikerat VLAN.

Var används NVMe-oF i dag?

Företags-SAN och disaggregerad lagring

Det klassiska användningsområdet är all-flash-arrayer som exponerar NVMe-namespaces över FC-NVMe eller RoCE till databaskluster med krav på svarstider under 100–200 mikrosekunder. Parallellt växer disaggregerad lagring, där beräkning och lagring skalas oberoende: moln och Kubernetes-miljöer bygger rena lagringsnoder som nås via NVMe/TCP eller RoCE. NVMe/TCP passar i containermiljöer eftersom det är CSI-vänligt och inte kräver särskild fabric-hantering.

AI, HPC och latenskritiska databaser

I AI/ML-kluster laddar GPU-servrar enorma dataset och skriver checkpoints mot delad lagring — arbetslaster där RDMA:s låga CPU-kostnad per I/O verkligen märks, inte minst eftersom RDMA-nätverkskort ofta redan finns i GPU-klustren. NVIDIAs GPUDirect Storage bygger en direkt datapath mellan lagring och GPU-minne. I högfrekvenshandel motiverar RDMA:s deterministiska latens investeringen i förlustfria fabrics — samma logik gäller tier-0-databaser.

NVMe/TCP i hemlabbet: så kommer du igång

NVMe/TCP kräver ingen exotisk hårdvara — bara ett hyfsat snabbt Ethernet-nätverk och programvara som redan finns i Linux-kärnan. TrueNAS har inbyggt NVMe-oF-stöd: aktivera tjänsten under System → Services, skapa ett subsystem under Sharing → NVMe-oF Subsystems, lägg till en zvol som namespace och anteckna subsystemets NQN. Det finns även ett officiellt TrueNAS-plugin för Proxmox som provisionerar NVMe/TCP-lagring direkt till klustrets noder.

sudo apt-get install -y nvme-cli
sudo modprobe nvme-tcp
sudo nvme connect -t tcp -a 192.0.2.10 -s 4420 -n nqn.2026-01.exempel.lagring:ssd-pool

Efter anslutningen dyker enheten upp som till exempel /dev/nvme1n1 och beter sig som en lokal disk. För bestående montering efter omstart, lägg till _netdev i fstab så att systemet väntar på nätverket. Viktigt: NVMe/TCP gör inte snurrande diskar snabbare — protokollet ger en effektivare väg för parallella arbetslaster, men poolens fysiska medier sätter taket.

Hårdvarukrav: vad behöver du egentligen?

För NVMe/TCP: i princip ingenting utöver ett vettigt nätverk. Ett vanligt 10 eller 25 GbE-nätverkskort räcker; processorn sköter TCP-stacken i mjukvara. På 25 GbE hamnar latensen kring 60–80 mikrosekunder — fullt tillräckligt för VM-lagring i ett hemlabb.

För RoCE stiger ribban: RDMA-kapabla nätverkskort, exempelvis NVIDIAs ConnectX-serie, i båda ändar, en switch med Data Center Bridging samt korrekt PFC och ECN. Utan förlustfritt nätverk kollapsar RDMA-prestandan — felkonfigurerad RoCE presterar sämre än vanlig NVMe/TCP.

FC-NVMe kräver Fibre Channel-adaptrar och FC-switchar — utmärkt teknik, men ekosystemet är prissatt för företag och ointressant för hemlabbet.

När är NVMe-oF overkill?

I de flesta hemlabb, ärligt talat. Med 1 GbE-nätverk är nätet — inte protokollet — flaskhalsen, och då räcker iSCSI eller NFS. Serverar en ensam NAS mest filer är blockprotokoll fel verktyg. Och med mekaniska diskar i poolen vinner du nästan ingenting — diskarna svarar i millisekunder oavsett transport.

NVMe-oF blir intressant när tre saker gäller samtidigt: nätverket är 10 GbE eller snabbare, lagringen är flashbaserad och arbetslasten är parallell — till exempel ett Proxmox-kluster med många virtuella maskiner mot en separat TrueNAS-nod. Då är NVMe/TCP ett reellt lyft över iSCSI till noll extra kostnad.

Slutsats: praktiska köpråd

Börja med NVMe/TCP. Det kostar inget extra, körs på befintlig Ethernet och ger märkbart lägre latens och CPU-belastning än iSCSI för flashlagring. Tröskeln är ett kommando, inte en inköpsorder.

Köp RDMA-hårdvara bara vid ett mätbart latenskrav under cirka 100 mikrosekunder. I hemlabbet gör samma pengar mer nytta i fler eller snabbare SSD:er, eller i ett steg från 10 till 25 GbE.

Välj NVMe/TCP framför iSCSI för nya installationer med flashlagring, men låt befintliga iSCSI-miljöer vara. Undvik Fibre Channel helt i labbmiljö.

Den viktigaste regeln: protokollet är aldrig snabbare än sitt svagaste led. NVMe-oF över ett överbelastat 1 GbE-nät mot en HDD-pool är fortfarande långsamt — bara med en finare akronym. Matcha transport, nätverk och medier med varandra.

Leave a Comment