NVMe over Fabrics: FC-NVMe, NVMe/TCP, NVMe/RoCE, dan optiknya
NVMe menggantikan SCSI di dalam server karena flash cukup cepat untuk menonjolkan overhead protokolnya; NVMe over Fabrics (NVMe-oF) membawa command set yang sama lintas jaringan sehingga shared storage dapat mengimbanginya. NVMe-oF berjalan di atas tiga transport yang memetakan ke tiga jenis jaringan — dan karena itu tiga jenis optik dan tiga set aturan lapisan fisik. Halaman ini membandingkan ketiganya dan menyebutkan apa yang dibutuhkan masing-masing dari link.
Mengapa NVMe-oF
| Aspek | Era SCSI (FCP, iSCSI) | NVMe-oF |
|---|---|---|
| Antrean command | satu antrean, ~32–256 command | hingga 64k antrean × 64k command; paralel sejak dirancang |
| Overhead protokol per I/O | puluhan µs waktu CPU | beberapa µs; transport RDMA melewati CPU |
| Latensi tambahan dari fabric | tipikal 100–200 µs | 10–30 µs (RDMA/FC), 30–80 µs (TCP) |
| Paling cocok untuk | HDD dan array flash generasi awal | all-flash, penyimpanan disagregasi, pipeline data GPU |
Jenis-jenis transport
| Transport | Jaringan | Lossless? | Latensi | Catatan |
|---|---|---|---|---|
| FC-NVMe (FC-NVMe-2) | Fibre Channel 16/32/64GFC | ya, lewat credit | sangat rendah | berjalan berdampingan dengan SCSI FCP pada fabric dan SFP yang sama; zoning dan name server tidak berubah (Dasar protokol FC) |
| NVMe/RoCE v2 | Ethernet 25/100/200/400G dengan NIC RDMA | memerlukan PFC/ECN (DCQCN) | sangat rendah | verbs RDMA lewat UDP/IP; memerlukan konfigurasi lossless end to end (Ethernet lossless) |
| NVMe/TCP | Ethernet/IP apa pun | tidak — TCP menangani loss | rendah–sedang | tanpa NIC atau fitur switch khusus; routable; pilihan paling umum untuk enterprise |
| NVMe/IB | InfiniBand | ya, lewat credit | sangat rendah | penyimpanan HPC/AI (InfiniBand) |
Keempatnya berbagi arsitektur NVMe-oF yang sama: sebuah discovery kontroler memberi tahu host subsystem apa saja yang ada; host connect antrean ke I/O kontroler; ANA (asymmetric namespace access) menangani multipath.
Apa yang diminta masing-masing dari lapisan fisik
| Transport | Persyaratan link | Optik |
|---|---|---|
| FC-NVMe | link FC yang bersih — CRC/ITW mendekati nol, credit tidak habis | SFP FC 16/32/64GFC, tervalidasi vendor (Optik FC) |
| NVMe/RoCE | zero loss: FEC aktif, PFC pada kelas RoCE, tanpa error CRC (setiap frame yang hilang membuat antrean RDMA macet dengan retransmission go-back-N) | 25G SFP28 / 100G QSFP28 / 400G; DAC di dalam rak, SR/AOC di dalam row, LR/DR antar ruangan; FEC per PMD |
| NVMe/TCP | biasa; loss membebani latensi, bukan korektnya data | optik Ethernet apa pun |
| NVMe/IB | sama seperti fabric InfiniBand | kabel dan optik IB (Pengabelan IB) |
RoCE adalah yang paling sensitif: sebuah link dengan daya Rx marginal atau konektor kotor menghasilkan error CRC yang akan diserap TCP secara diam-diam tetapi membuat antrean RDMA macet secara terlihat. Lonjakan latensi penyimpanan yang mengikuti counter error sebuah port adalah tandanya (Daya Rx & link budget, Metrik VDM & FEC).
Memilih
| Situasi | Transport yang masuk akal |
|---|---|
| SAN FC yang sudah ada, array all-flash | FC-NVMe — fabric sama, optik sama, aktifkan per target |
| Penyimpanan Ethernet baru, vendor campuran, routing antar situs | NVMe/TCP |
| Kritis terhadap latensi, Ethernet satu vendor, keahlian lossless in-house | NVMe/RoCE |
| Klaster HPC/AI dengan fabric IB | NVMe/IB atau sistem berkas paralel di atas IB |
| Klaster GPU dengan scale-out Ethernet | NVMe/RoCE atau NVMe/TCP pada jaringan penyimpanan terpisah (Fabric GPU) |
Catatan operasional
- Jaringan terpisah untuk penyimpanan dan komputasi jika memungkinkan — atau minimal kelas trafik terpisah; RoCE memerlukan kelas lossless-nya sendiri.
- MTU: 9000 pada transport Ethernet; konsisten end to end.
- Multipath: dua fabric atau dua VLAN/leaf; initiator yang ANA-aware.
- Monitoring: counter CRC/FEC dan pause per port, ditambah tren DDM — optik yang menurun kualitasnya muncul sebagai tail latency jauh sebelum ia gagal (Pemantauan).
- Firmware: matriks kompatibilitas firmware NIC/HBA dan array sama pentingnya dengan kompatibilitas optik (Optik di SAN).
Di CodingBox
Optik sebuah fabric NVMe-oF adalah modul FC, Ethernet, atau IB biasa; bedanya adalah seberapa sedikit error yang ditoleransi transportnya. Membaca identitas dan DDM acuan di meja kerja sebelum instalasi (Check transceiver, DDM) dan mengkode identitas yang diterima vendor array dan switch (Penguncian vendor) adalah bagian pekerjaan yang menyentuh programmer.
Adaptor tempat fabric ini berjalan — NIC 100G/200G, cage-nya, batasan PCIe, dan kebijakan modul: NIC dengan port optik.