Wirtualizacja sieci (NVMe-oF i RDMA): jak wykorzystać NVMe over Fabrics w domowym lub laboratoryjnym środowisku
Wirtualizacja

Wirtualizacja sieci (NVMe-oF i RDMA): jak wykorzystać NVMe over Fabrics w domowym lub laboratoryjnym środowisku

Wirtualizacja sieci (NVMe-oF i RDMA): jak wykorzystać NVMe over Fabrics w domowym lub laboratoryjnym środowisku

NVMe-oF (NVMe over Fabrics) to technologia umożliwiająca udostępnianie dysków NVMe przez sieć z opóźnieniami zbliżonymi do lokalnych urządzeń PCIe.
W połączeniu z protokołami RDMA (Remote Direct Memory Access), takimi jak RoCE v2 lub iWARP, można zbudować domowe lub laboratoryjne środowisko storage o wydajności klasy enterprise — bez inwestowania w drogi sprzęt.

Coraz więcej zaawansowanych użytkowników, administratorów i pentesterów buduje własne laby testowe z NVMe-oF, aby badać:

  • wirtualizację storage,
  • wydajność sieci niskich opóźnień,
  • klastrowanie maszyn,
  • konteneryzację i systemy Kubernetes,
  • środowiska serwerowe Linux i Windows.

Ten artykuł to praktyczny przewodnik, jak skonfigurować NVMe-oF i RDMA w domowych warunkach.

Czytaj  MikroTik w Praktyce — Część 97: Wirtualizacja RouterOS — Jak Uruchomić MikroTik na Hyper-V, VMware i Proxmox

Czym jest NVMe-oF?

NVMe over Fabrics umożliwia dostęp do zdalnego dysku NVMe z tak małym narzutem, że system widzi go prawie jak lokalny nośnik.

Obsługiwane transporty to:

  • RDMA (RoCE v2, iWARP) – najniższe opóźnienia, najwyższa przepustowość,
  • TCP – największa kompatybilność, minimalne wymagania,
  • Fibre Channel – stosowane w dużych firmach, w domu raczej nie.

W warunkach domowych najlepsze do NVMe-oF jest RoCE v2, ponieważ oferuje:

  • opóźnienia rzędu mikrosekund,
  • bardzo niskie zużycie CPU,
  • dużą stabilność w wirtualizacji (KVM, Proxmox, Hyper-V).

 

Wirtualizacja sieci (NVMe-oF i RDMA): jak wykorzystać NVMe over Fabrics w domowym lub laboratoryjnym środowisku
Wirtualizacja sieci (NVMe-oF i RDMA): jak wykorzystać NVMe over Fabrics w domowym lub laboratoryjnym środowisku

Co daje NVMe-oF w domowym labie?

✔ Wydajny zdalny dysk NVMe dla:

  • Proxmox / KVM / Xen
  • ESXi
  • Hyper-V
  • Linux bare-metal
  • Windows 11 / Windows Server

✔ Możliwość centralizacji storage:

  • jeden szybki „serwer NVMe” → wiele klientów
  • idealne dla klastrów HA, Ceph, Kubernetes

✔ Realistyczne środowisko testowe bez drogich macierzy SAN

✔ Wsparcie dla technologii enterprise:

  • multipath
  • failover
  • load balancing
  • QoS sieciowy

RDMA (RoCE v2 vs iWARP) – co wybrać?

Protokół Zalety Wady
RoCE v2 Najniższe opóźnienia, najlepsza wydajność, szeroka dostępność kart Wymaga konfiguracji PFC/ECN na switchu
iWARP Działa na każdym switchu Ethernet bez konfiguracji Wyższe opóźnienia, mniejsza popularność
TCP (NVMe/TCP) Wystarczy dowolna sieć, łatwa konfiguracja Wyższe opóźnienia, większy narzut CPU

Do domowego labu polecam:

➤ RoCE v2 jeśli masz:

  • switch z obsługą PFC lub ECN,
  • karty 10/25/40/100 GbE z RDMA (Mellanox, Chelsio, Broadcom).

➤ NVMe/TCP jeśli nie masz sprzętu RDMA

To ciągle bardzo szybka metoda, dużo lepsza niż iSCSI.


Minimalny sprzęt do NVMe-oF w domu

1. Serwer lub PC z NVMe (idealnie PCIe 4.0/5.0)

  • 1–2 szybkie dyski NVMe
  • najlepiej konfiguracja RAID1/RAID10

2. Karty sieciowe RDMA

Najlepszy wybór:

  • Mellanox ConnectX-3, 4, 5 (RoCE) – bardzo tanie na rynku wtórnym
  • Chelsio T5/T6 (iWARP)
  • Intel E810 (RoCE + iWARP)
Czytaj  Rodzaje Wirtualizacji: Pełna, Parawirtualizacja, Wirtualizacja na Poziomie Systemu Operacyjnego

3. Switch z obsługą:

  • Priority Flow Control (PFC)
  • ECN (Explicit Congestion Notification)

Dla RoCE niezbędne są co najmniej PFC na portach NVMe-oF.

4. Sieć ≥ 10 Gb/s

W praktyce NVMe-oF „oddycha” dopiero przy:

  • 25 GbE – idealny kompromis
  • 40/100 GbE – pełna wydajność NVMe

Konfiguracja NVMe-oF w Linux (domowy serwer storage)

Instalacja narzędzi NVMe:

sudo apt install nvme-cli
sudo apt install nvmetcli

Konfiguracja przestrzeni NVMe-oF:

  1. Tworzymy namespace:
nvmetcli
  1. Tworzymy subsystem:
/subsystems/mynvme
    attr:
        allow_any_host = 1
  1. Dodajemy NVMe jako backend:
/subsystems/mynvme/namespaces/1
    device_path = /dev/nvme0n1
  1. Konfigurujemy transport RDMA:
/ports/1
    addr:
        trtype = rdma
        traddr = <IP-serwera>
        trsvcid = 4420

Zapisujemy:

nvmetcli save

Konfiguracja klienta NVMe-oF w Linux

sudo nvme connect \
  -t rdma \
  -n mynvme \
  -a <IP-serwera> \
  -s 4420

Po połączeniu:

nvme list

Dysk NVMe pojawi się jako:

/dev/nvme1n1

i można go formatować, montować, używać na VM — jak lokalny.


NVMe-oF w Windows 11 / Windows Server

Microsoft natywnie wspiera NVMe/TCP, ale RDMA wymaga sterowników OEM (np. Mellanox OFED).

Komenda Windows PowerShell:

nvme connect -transport tcp -traddr <IP> -trsvcid 4420 -n mynvme

Dysk pojawia się w „Zarządzaniu dyskami”.


Wydajność NVMe-oF — realne dane z labów domowych

Przykładowe wyniki dla RoCE v2 25 GbE:

Operacja Wynik
Seq read 2,5–2,8 GB/s
Seq write 2,3–2,6 GB/s
Random Read 4k 500k–700k IOPS
Latency 20–40 µs

To poziom lokalnego NVMe z lekkim narzutem sieciowym.


Typowe błędy przy pierwszej konfiguracji

❌ Brak PFC → niski throughput

❌ Nieprawidłowe MTU (zbyt małe)

Najczęściej używa się MTU 9000.

❌ Zbyt słaby procesor na serwerze NVMe

NVMe-oF generuje duże obciążenie QD (queue depth).

❌ Używanie kabla 1 GbE

NVMe-oF nie działa sensownie na 1 GbE.


Idealne zastosowania domowe i laboratoryjne

  • osobna szybka przestrzeń storage dla VM
  • testowanie klastrów HA (Proxmox, Kubernetes)
  • domowy NAS klasy enterprise
  • środowiska DevOps / CI/CD
  • testy sieci RDMA
  • serwery gier i aplikacji wymagających I/O
  • eksperymenty z wirtualizacją storage i SDS
Czytaj  Problemy z Wi-Fi w Linux: Jak rozwiązać problemy z połączeniem i stabilnością sieci

 


Podsumowanie

NVMe-oF i RDMA to technologie, które jeszcze kilka lat temu były dostępne tylko w drogich macierzach SAN, dziś zaś można je uruchomić za kilka–kilkanaście stów w domowym labie.

Dają:

  • minimalne opóźnienia,
  • ogromną przepustowość,
  • niskie zużycie CPU,
  • perfekcyjną wydajność dla wirtualizacji,
  • realistyczne środowisko testowe dla administratorów i devopsów.

To must-have dla każdego, kto chce budować nowoczesne, wydajne środowiska storage w domu lub w małym laboratorium testowym.

 

Polecane wpisy
Odmowa dostępu do folderu w systemie Windows – jak rozwiązać problem?
Odmowa dostępu do folderu w systemie Windows – jak rozwiązać problem?

🔒 Odmowa dostępu do folderu w systemie Windows – jak rozwiązać problem? Czy próbowałeś kiedyś otworzyć folder w systemie Windows, Czytaj dalej

Jak sprawdzić producenta karty graficznej w systemie Linux
Jak sprawdzić producenta karty graficznej w systemie Linux

Jak sprawdzić producenta karty graficznej w systemie Linux Istnieje kilka prostych sposobów sprawdzenia producenta karty graficznej w systemie Linux: 1. Czytaj dalej