NVMe over Fabrics: FC-NVMe, NVMe/TCP, NVMe/RoCE und ihre Optik · Speichersysteme · Technologien · Dokumentation · CodingBox
CodingBox Dokumentation

NVMe over Fabrics: FC-NVMe, NVMe/TCP, NVMe/RoCE und ihre Optik

NVMe hat SCSI im Server abgelöst, weil Flash schnell genug ist, um den Protokoll-Overhead sichtbar zu machen; NVMe over Fabrics (NVMe-oF) trägt denselben Befehlssatz über ein Netz, damit gemeinsam genutzter Storage mithalten kann. Es läuft über drei Transporte, die auf drei Netzarten abgebildet sind — und damit auf drei Arten von Optik und drei Regelwerke für die physikalische Schicht. Diese Seite vergleicht sie und sagt, was jeder davon von den Links verlangt.

Warum NVMe-oF

AspektSCSI-Ära (FCP, iSCSI)NVMe-oF
Command-Queueseine Queue, ~32–256 Commandsbis zu 64k Queues × 64k Commands; von Grund auf parallel
Protokoll-Overhead je I/Oeinige zehn µs CPU-Zeitwenige µs; RDMA-Transporte umgehen die CPU
von der Fabric hinzugefügte Latenztypisch 100–200 µs10–30 µs (RDMA/FC), 30–80 µs (TCP)
Am besten fürHDD und frühe Flash-ArraysAll-Flash, disaggregierten Storage, GPU-Datenpipelines

Die Transporte

TransportNetzVerlustfrei?LatenzHinweise
FC-NVMe (FC-NVMe-2)Fibre Channel 16/32/64GFCja, über Creditssehr niedrigläuft neben SCSI-FCP auf derselben Fabric und denselben SFPs; Zoning und Name Server unverändert (FC-Protokollgrundlagen)
NVMe/RoCE v2Ethernet 25/100/200/400G mit RDMA-NICsbenötigt PFC/ECN (DCQCN)sehr niedrigRDMA-Verbs über UDP/IP; braucht Ende-zu-Ende verlustfreie Konfiguration (Verlustfreies Ethernet)
NVMe/TCPbeliebiges Ethernet/IPnein — TCP handhabt Verlusteniedrig bis mittelkeine speziellen NICs oder Switch-Funktionen nötig; routingfähig; die Massenwahl für Enterprise
NVMe/IBInfiniBandja, über Creditssehr niedrigHPC-/KI-Storage (InfiniBand)

Alle vier teilen sich die NVMe-oF-Architektur: Ein Discovery Controller teilt Hosts mit, welche Subsysteme existieren; Hosts verbinden (connect) Queues mit I/O-Controllern; ANA (Asymmetric Namespace Access) übernimmt Multipathing.

Was jeder von der physikalischen Schicht verlangt

TransportLink-AnforderungOptik
FC-NVMesaubere FC-Links — CRC/ITW nahe null, Credits nicht erschöpftFC-SFPs 16/32/64GFC, herstellervalidiert (FC-Optik)
NVMe/RoCENullverlust: FEC aktiv, PFC auf der RoCE-Klasse, keine CRC-Fehler (jeder verlorene Frame blockiert die RDMA-Queue mit Go-Back-N-Neuübertragung)25G SFP28 / 100G QSFP28 / 400G; DAC im Rack, SR/AOC in der Reihe, LR/DR zwischen Räumen; FEC je PMD
NVMe/TCPgewöhnlich; Verluste kosten Latenz, nicht Korrektheitbeliebige Ethernet-Optik
NVMe/IBwie InfiniBand-FabricsIB-Kabel und -Optik (IB-Verkabelung)

RoCE ist der empfindliche Fall: Ein Link mit grenzwertiger Rx-Leistung oder einem verschmutzten Steckverbinder erzeugt CRC-Fehler, die TCP stillschweigend auffangen würde, die aber RDMA-Queues sichtbar blockieren. Storage-Latenzspitzen, die den Fehlerzählern eines Ports folgen, sind das Erkennungszeichen (Rx-Leistung & Leistungsbudget, VDM- und FEC-Metriken).

Auswahl

SituationSinnvoller Transport
Bestehendes FC-SAN, All-Flash-ArraysFC-NVMe — dieselbe Fabric, dieselbe Optik, je Target aktivieren
Neuaufbau Ethernet-Storage, gemischte Hersteller, Routing zwischen StandortenNVMe/TCP
Latenzkritisch, Ethernet von einem Hersteller, Verlustfrei-Expertise im HausNVMe/RoCE
HPC-/KI-Cluster mit IB-FabricNVMe/IB oder parallele Dateisysteme über IB
GPU-Cluster mit Ethernet-Scale-outNVMe/RoCE oder NVMe/TCP in einem separaten Storage-Netz (GPU-Fabrics)

Hinweise zum Betrieb

  • Getrennte Netze für Storage und Compute, wo möglich — oder zumindest getrennte Verkehrsklassen; RoCE braucht seine eigene verlustfreie Klasse.
  • MTU: 9000 auf Ethernet-Transporten; Ende-zu-Ende konsistent.
  • Multipath: zwei Fabrics oder zwei VLANs/Leaves; ANA-fähige Initiatoren.
  • Monitoring: CRC-/FEC- und Pause-Zähler je Port sowie DDM-Trends — eine degradierende Optik zeigt sich als Tail-Latenz lange bevor sie ausfällt (Monitoring).
  • Firmware: Kompatibilitätsmatrizen für NIC-/HBA- und Array-Firmware zählen ebenso wie Optik-Kompatibilität (Optik im SAN).

In CodingBox

Die Optik einer NVMe-oF-Fabric besteht aus gewöhnlichen FC-, Ethernet- oder IB-Modulen; der Unterschied liegt darin, wie wenig Fehler der Transport toleriert. Das Auslesen von Identität und Baseline-DDM auf der Werkbank vor der Installation (Check transceiver, DDM) und das Codieren von Identitäten, die Array- und Switch-Hersteller akzeptieren (Herstellersperre), sind die Teile der Arbeit, die das Programmiergerät berühren.

Die Adapter, auf denen diese Fabrics laufen — 100G/200G-NICs, ihre Käfige, PCIe-Grenzen und Modulrichtlinien: NICs mit optischen Ports.


Wenn Sie in diesem Artikel eine Ungenauigkeit oder einen Fehler finden, markieren Sie die betreffende Stelle und drücken Sie Ctrl+Enter, um .