NVMe over Fabrics: FC-NVMe, NVMe/TCP, NVMe/RoCE i ich optyka · Systemy pamięci masowej · Technologie · Dokumentacja · CodingBox
CodingBox Dokumentacja

NVMe over Fabrics: FC-NVMe, NVMe/TCP, NVMe/RoCE i ich optyka

NVMe zastąpiło SCSI wewnątrz serwera, ponieważ flash jest na tyle szybki, że ujawnia narzut protokołu; NVMe over Fabrics (NVMe-oF) przenosi ten sam zestaw poleceń przez sieć, tak by współdzielony storage mógł nadążyć. Działa na trzech transportach, które odpowiadają trzem rodzajom sieci — a więc trzem rodzajom optyki i trzem zestawom reguł warstwy fizycznej. Ta strona je porównuje i mówi, czego każdy z nich wymaga od łączy.

Dlaczego NVMe-oF

AspektEra SCSI (FCP, iSCSI)NVMe-oF
Kolejki poleceńjedna kolejka, ~32–256 poleceńdo 64 tys. kolejek × 64 tys. poleceń; równoległość z założenia
Narzut protokołu na operację I/Odziesiątki µs czasu CPUkilka µs; transporty RDMA omijają CPU
Opóźnienie dodane przez fabrictypowo 100–200 µs10–30 µs (RDMA/FC), 30–80 µs (TCP)
Najlepsze dlaHDD i wczesnych macierzy flashall-flash, storage rozłączony (disaggregated), potoków danych GPU

Transporty

TransportSiećBezstratny?OpóźnienieUwagi
FC-NVMe (FC-NVMe-2)Fibre Channel 16/32/64GFCtak, dzięki kredytombardzo niskiedziała obok SCSI FCP na tym samym fabric i tych samych SFP; zoning i serwer nazw bez zmian (Podstawy protokołu FC)
NVMe/RoCE v2Ethernet 25/100/200/400G z kartami NIC RDMAwymaga PFC/ECN (DCQCN)bardzo niskieverbs RDMA po UDP/IP; wymaga bezstratnej konfiguracji od końca do końca (Ethernet bezstratny)
NVMe/TCPdowolny Ethernet/IPnie — utratą zajmuje się TCPniskie–średniebez specjalnych kart NIC ani funkcji przełącznika; trasowalny; wybór objętościowy dla przedsiębiorstw
NVMe/IBInfiniBandtak, dzięki kredytombardzo niskiestorage HPC/AI (InfiniBand)

Wszystkie cztery dzielą architekturę NVMe-oF: kontroler wykrywania informuje hosty, jakie podsystemy istnieją; hosty podłączają kolejki do kontrolerów I/O; ANA (asymmetric namespace access) obsługuje multipath.

Czego każdy z nich wymaga od warstwy fizycznej

TransportWymaganie wobec łączaOptyka
FC-NVMeczyste łącza FC — CRC/ITW bliskie zeru, kredyty niewyczerpaneSFP FC 16/32/64GFC, zwalidowane przez producenta (Optyka FC)
NVMe/RoCEzero strat: FEC włączony, PFC na klasie RoCE, brak błędów CRC (każda utracona ramka blokuje kolejkę RDMA retransmisją Go-Back-N)25G SFP28 / 100G QSFP28 / 400G; DAC w szafie, SR/AOC w rzędzie, LR/DR między pomieszczeniami; FEC zależny od PMD
NVMe/TCPzwyczajne; utrata kosztuje opóźnienie, nie poprawnośćdowolna optyka Ethernet
NVMe/IBjak fabric InfiniBandkable i optyka IB (Okablowanie IB)

RoCE jest tym wrażliwym: łącze z mocą Rx na granicy parametrów albo brudnym złączem generuje błędy CRC, które TCP wchłonąłby po cichu, ale które w sposób widoczny blokują kolejki RDMA. Skoki opóźnień storage podążające za licznikami błędów portu są tego oznaką (Moc Rx i budżet mocy łącza, Metryki VDM i FEC).

Wybór

SytuacjaRozsądny transport
Istniejąca SAN FC, macierze all-flashFC-NVMe — ten sam fabric, ta sama optyka, włączane dla każdego targetu
Nowa instalacja storage Ethernet (greenfield), różni producenci, trasowanie między lokalizacjamiNVMe/TCP
Krytyczne opóźnienie, Ethernet jednego producenta, własna wiedza o sieciach bezstratnychNVMe/RoCE
Klaster HPC/AI z fabric IBNVMe/IB albo równoległe systemy plików po IB
Klastry GPU z rozbudową scale-out po EthernetNVMe/RoCE albo NVMe/TCP w osobnej sieci storage (Fabric GPU)

Uwagi eksploatacyjne

  • Oddzielne sieci dla storage i compute tam, gdzie to możliwe — albo przynajmniej oddzielne klasy ruchu; RoCE potrzebuje własnej bezstratnej klasy.
  • MTU: 9000 w transportach Ethernet; spójne od końca do końca.
  • Multipath: dwa fabric albo dwa VLAN-y/leaf; inicjatory ze wsparciem ANA.
  • Monitorowanie: liczniki CRC/FEC i pauzy dla każdego portu, plus trendy DDM — degradująca się optyka objawia się skrajnymi opóźnieniami na długo przed awarią (Monitorowanie).
  • Firmware: matryce zgodności firmware kart NIC/HBA i macierzy storage liczą się tak samo, jak zgodność optyki (Optyka w SAN).

W CodingBox

Optyka fabric NVMe-oF to zwykłe moduły FC, Ethernet albo IB; różnica polega na tym, jak mało błędów toleruje transport. Odczyt danych identyfikacyjnych i bazowego DDM na stanowisku przed instalacją (Check transceiver, DDM) oraz kodowanie tożsamości akceptowanych przez producentów macierzy i przełącznika (Blokada producenta) to części pracy, w których uczestniczy programator.

Adaptery, na których działają te fabric — karty NIC 100G/200G, ich klatki, limity PCIe i polityki modułów: NIC z portami optycznymi.


Jeśli znajdziesz nieścisłość lub błąd w tym materiale, zaznacz odpowiedni fragment i naciśnij Ctrl+Enter, aby .