encyklopedia.run.place

NVMe over Fabrics (NVMe‑oF)

NVMe over Fabrics (skrót NVMe‑oF) to protokół komunikacji umożliwiający dostęp do urządzeń pamięci masowej opartych na interfejsie NVMe poprzez sieciową infrastrukturę (tzw. fabric). Dzięki NVMe‑oF możliwe jest połączenie wysokiej przepustowości i niskich opóźnień charakterystycznych dla NVMe z elastycznością i skalowalnością tradycyjnych sieci, takich jak RDMA, TCP czy Fibre Channel.

Historia

Pierwsze prace nad rozszerzeniem NVMe na sieci rozpoczęły się w latach 2015, gdy grupy inżynierów z firm Intel, Samsung i Western Digital opracowywały koncepcję NVMe over Fabrics. W 2016 powstała pierwsza wersja specyfikacji opublikowana przez NVM Express (NVMe) Consortium. Od 2018 NVMe‑oF jest standardem przemysłowym, a od 2020 szeroko wdrażanym w centrach danych i środowiskach chmurowych.

Architektura

NVMe‑oF zachowuje model programowania NVMe, a jedyną zmianą jest warstwa transportowa. Podstawowe elementy architektury:

  • Host: system operacyjny lub serwer aplikacyjny, który inicjuje żądania NVMe.
  • Target: urządzenie pamięci masowej (np. SSD NVMe) lub system macierzowy kontrolera, który obsługuje protokół NVMe‑oF.
  • Fabric: sieć transportowa zapewniająca przesył danych – najczęściej RDMA (RoCE, iWARP), TCP lub Fibre Channel.
  • Subsys: logiczna jednostka w ramach targetu, której NVMe‑oF udostępnia zasoby (np. namespace).

Protokóły transportowe

NVMe‑oF definiuje trzy główne typy transportu:

RDMA
Zapewnia najniższe opóźnienia i wysoką przepustowość dzięki bezpośredniemu dostępowi do pamięci (zero‑copy). Implementacje obejmują RoCE i iWARP.
TCP
Umożliwia wykorzystanie istniejących sieci IP bez specjalistycznego sprzętu. Wydajność jest niższa niż przy RDMA, ale prostsza integracja.
Fibre Channel
Używany w tradycyjnych środowiskach SAN, oferuje spójność z istniejącą infrastrukturą FC oraz wsparcie dla protokołu FCoE (Fibre Channel over Ethernet).

Zalety NVMe‑oF

  • Niskie opóźnienia: dzięki zachowaniu komend NVMe i możliwościom RDMA, opóźnienia często mieszczą się w granicach kilku mikrosekund.
  • Wysoka przepustowość: NVMe‑oF potrafi osiągać prędkości rzędu 100 Gbit/s i wyższe przy zastosowaniu najnowszych interfejsów.
  • Skalowalność: pozwala na łatwe łączenie wielu hostów z wieloma targetami w dużych klastrach.
  • Elastyczność: obsługa różnych typów sieci umożliwia wdrożenia zarówno w istniejących centrach danych, jak i w nowych, wydzielonych środowiskach.

Zastosowania

NVMe‑oF znalazło zastosowanie w następujących obszarach:

  • Centra danych – przyspieszanie baz danych, analizy w czasie rzeczywistym i rozwiązania HCI.
  • Chmura obliczeniowa – oferowanie wirtualnych dysków o wysokiej wydajności dla maszyn wirtualnych i kontenerów.
  • HPC – umożliwienie szybkiego dostępu do wspólnej pamięci masowej w klastrach obliczeniowych.
  • Sztuczna inteligencja i uczenie maszynowe – przyspieszanie treningu modeli dzięki szybkiemu dostępowi do danych.

Implementacje i wsparcie oprogramowania

Wiodący systemy operacyjne posiadają wbudowane wsparcie dla NVMe‑oF:

  • Linux – moduły nvme host i target, obsługa przez rdma_cm oraz NVMe-TCP od wersji 5.0.
  • Windows Server – od 2019 wsparcie dla NVMe‑oF (RDMA i TCP).
  • FreeBSD – implementacja w ramach nvme driver oraz nvmf target.
  • Rozwiązania komercyjne: Azure, AWS, Google Cloud udostępniają usługi oparte na NVMe‑oF.

Standardy i specyfikacje

Główna specyfikacja NVMe‑oF jest publikowana przez NVM Express Consortium i obejmuje:

  • NVMe‑oF Transport Specification – definiuje format pakietów i procesy negocjacji.
  • NVMe‑oF Subsystem Specification – opisuje konstrukcję subsystemów i zarządzanie namespace’ami.
  • NVMe‑oF Management Specification – interfejsy do zarządzania konfiguracją przez REST API i NVMe‑Mgmt.

Bezpieczeństwo

NVMe‑oF oferuje mechanizmy zabezpieczające:

  • Uwierzytelnianie i autoryzacja przy użyciu Kerberos lub TLS w warstwie transportowej (szczególnie przy TCP).
  • Kontrola dostępu na poziomie subsystemu (ACL) i namespace.
  • Wykrywanie i izolacja uszkodzeń (error handling) zgodnie ze specyfikacją NVMe.

Patenty i licencjonowanie

Technologie używane w NVMe‑oF (np. RoCE, iWARP) są objęte patentami firm Mellanox oraz Intel. Producentom udzielane są licencje royalty‑free pod warunkiem spełnienia wymagań specyfikacji NVMe.

Przyszłość

Rozwój NVMe‑oF w 2025 roku skupia się na:

  • Integracji z PCIe 5.0 i PCIe 6.0 w celu dalszego zwiększenia prędkości.
  • Wsparciu dla CXL jako dodatkowego protokołu transportowego.
  • Rozszerzeniu modeli programowania, takich jak SPDK (Storage Performance Development Kit) dla jeszcze niższego narzutu CPU.

W miarę rosnącej popularności aplikacji wymagających ultra‑low latency oraz rosnących pojemności dysków NVMe, NVMe‑oF prawdopodobnie stanie się de facto standardem w nowoczesnych środowiskach pamięci masowej.

Powiązane pojęcia