NVMe over Fabrics: FC-NVMe, NVMe/TCP, NVMe/RoCE ve optikleri
NVMe, sunucu içinde SCSI’nin yerini aldı, çünkü flash bellek protokol ek yükünü ortaya çıkaracak kadar hızlıdır; Fabric’ler Üzerinden NVMe (NVMe-oF), aynı komut kümesini bir ağ üzerinden taşıyarak paylaşılan depolamanın bu hıza ayak uydurmasını sağlar. Üç tür ağa denk gelen üç taşıma üzerinden çalışır — ve dolayısıyla üç tür optik ve üç fiziksel katman kural kümesi üzerinden. Bu sayfa bunları karşılaştırır ve her birinin bağlantılardan ne istediğini anlatır.
Neden NVMe-oF
| Yön | SCSI çağı (FCP, iSCSI) | NVMe-oF |
|---|---|---|
| Komut kuyrukları | tek kuyruk, ~32–256 komut | 64k’ya kadar kuyruk × 64k komut; tasarım gereği paralel |
| I/O başına protokol ek yükü | onlarca µs CPU zamanı | birkaç µs; RDMA taşımaları CPU’yu atlar |
| Fabric’in eklediği gecikme | tipik olarak 100–200 µs | 10–30 µs (RDMA/FC), 30–80 µs (TCP) |
| En uygun olduğu yer | HDD ve erken dönem flash array’ler | tam flash, ayrıştırılmış depolama, GPU veri hatları |
Taşımalar
| Taşıma | Ağ | Kayıpsız mı? | Gecikme | Notlar |
|---|---|---|---|---|
| FC-NVMe (FC-NVMe-2) | Fibre Channel 16/32/64GFC | evet, kredilerle | çok düşük | aynı fabric ve SFP’ler üzerinde SCSI FCP ile birlikte çalışır; zoning ve ad sunucusu değişmez (FC protokolü temelleri) |
| NVMe/RoCE v2 | RDMA NIC’li Ethernet 25/100/200/400G | PFC/ECN (DCQCN) gerektirir | çok düşük | UDP/IP üzerinden RDMA verbs; uçtan uca kayıpsız yapılandırma gerektirir (Kayıpsız Ethernet) |
| NVMe/TCP | herhangi bir Ethernet/IP | hayır — kaybı TCP yönetir | düşük–orta | özel NIC veya anahtar özelliği gerekmez; yönlendirilebilir; kurumsal ortamın hacimli tercihi |
| NVMe/IB | InfiniBand | evet, kredilerle | çok düşük | HPC/AI depolaması (InfiniBand) |
Dördü de NVMe-oF mimarisini paylaşır: bir keşif denetleyicisi, hostlara hangi alt sistemlerin var olduğunu söyler; hostlar kuyrukları I/O denetleyicilerine bağlar; ANA (asimetrik ad alanı erişimi) çoklu yolu yönetir.
Her birinin fiziksel katmandan istediği
| Taşıma | Bağlantı gereksinimi | Optikler |
|---|---|---|
| FC-NVMe | temiz FC bağlantıları — CRC/ITW sıfıra yakın, krediler tükenmemiş | satıcı tarafından doğrulanmış FC SFP’leri 16/32/64GFC (FC optikleri) |
| NVMe/RoCE | sıfır kayıp: FEC açık, RoCE sınıfında PFC, CRC hatası yok (her kaybolan çerçeve, go-back-N yeniden iletimiyle RDMA kuyruğunu durdurur) | 25G SFP28 / 100G QSFP28 / 400G; rack içinde DAC, sıra içinde SR/AOC, odalar arasında LR/DR; PMD başına FEC |
| NVMe/TCP | sıradan; kayıp doğruluğa değil gecikmeye mal olur | herhangi bir Ethernet optiği |
| NVMe/IB | InfiniBand fabric’leri gibi | IB kabloları ve optikleri (IB kablolaması) |
Hassas olan RoCE’dir: sınırda bir Rx gücüne veya kirli bir konektöre sahip bir bağlantı, TCP’nin sessizce absorbe edeceği ama RDMA kuyruklarını gözle görülür şekilde durduracak CRC hataları üretir. Bir portun hata sayaçlarını izleyen depolama gecikmesi sıçramaları bunun belirtisidir (Rx gücü ve bağlantı bütçesi, VDM ve FEC ölçütleri).
Seçim yapmak
| Durum | Mantıklı taşıma |
|---|---|
| Mevcut FC SAN, tam flash array’ler | FC-NVMe — aynı fabric, aynı optikler, hedef başına etkinleştirin |
| Sıfırdan kurulan Ethernet depolaması, karışık satıcılar, sahalar arası yönlendirme | NVMe/TCP |
| Gecikmenin kritik olduğu, tek satıcılı Ethernet, kayıpsız uzmanlığın kurum içinde olduğu durumlar | NVMe/RoCE |
| IB fabric’li HPC/AI kümesi | NVMe/IB veya IB üzerinden paralel dosya sistemleri |
| Ethernet scale-out’lu GPU kümeleri | ayrı bir depolama ağında NVMe/RoCE veya NVMe/TCP (GPU fabric’leri) |
Operasyonel notlar
- Mümkün olduğunda depolama ve işlem için ayrı ağlar — ya da en azından ayrı trafik sınıfları; RoCE kendi kayıpsız sınıfına ihtiyaç duyar.
- MTU: Ethernet taşımalarında 9000; uçtan uca tutarlı.
- Çoklu yol: iki fabric veya iki VLAN/leaf; ANA’dan haberdar initiator’lar.
- İzleme: port başına CRC/FEC ve duraklatma sayaçları, artı DDM eğilimleri — bozulan bir optik, arızalanmadan çok önce kuyruk gecikmesi olarak ortaya çıkar (İzleme).
- Ürün yazılımı: NIC/HBA ve array ürün yazılımı uyumluluk matrisleri, optik uyumluluğu kadar önemlidir (SAN’daki optikler).
CodingBox’ta
Bir NVMe-oF fabric’inin optikleri, sıradan FC, Ethernet veya IB modülleridir; fark, taşımanın ne kadar az hataya tolerans gösterdiğidir. Kurulumdan önce tezgâhta kimliği ve temel DDM’yi okumak (Check transceiver, DDM) ve array ile anahtar satıcılarının kabul ettiği kimliklere kodlamak (Satıcı kilidi), işin programlayıcıya dokunan kısımlarıdır.
Bu fabric’lerin üzerinde çalıştığı adaptörler — 100G/200G NIC’ler, kafesleri, PCIe sınırları ve modül politikaları: Optik portlu NIC’ler.