NVMe over Fabrics: FC-NVMe, NVMe/TCP, NVMe/RoCE y su óptica
NVMe sustituyó a SCSI dentro del servidor porque la memoria flash es lo bastante rápida para exponer la sobrecarga del protocolo; NVMe over Fabrics (NVMe-oF) transporta el mismo conjunto de comandos a través de una red para que el almacenamiento compartido pueda seguirle el ritmo. Se ejecuta sobre tres transportes que corresponden a tres tipos de red — y por tanto a tres tipos de óptica y tres conjuntos de reglas de capa física. Esta página los compara y explica qué exige cada uno de los enlaces.
Por qué NVMe-oF
| Aspecto | Era SCSI (FCP, iSCSI) | NVMe-oF |
|---|---|---|
| Colas de comandos | una cola, ~32–256 comandos | hasta 64 k colas × 64 k comandos; paralelo por diseño |
| Sobrecarga de protocolo por E/S | decenas de µs de tiempo de CPU | unos pocos µs; los transportes RDMA evitan la CPU |
| Latencia añadida por la fabric | 100–200 µs típico | 10–30 µs (RDMA/FC), 30–80 µs (TCP) |
| Mejor para | HDD y arrays flash tempranos | all-flash, almacenamiento desagregado, pipelines de datos de GPU |
Los transportes
| Transporte | Red | ¿Sin pérdidas? | Latencia | Notas |
|---|---|---|---|---|
| FC-NVMe (FC-NVMe-2) | Fibre Channel 16/32/64GFC | sí, por créditos | muy baja | se ejecuta junto al SCSI FCP en la misma fabric y los mismos SFP; zoning y name server sin cambios (Fundamentos de protocolo de FC) |
| NVMe/RoCE v2 | Ethernet 25/100/200/400G con NIC RDMA | requiere PFC/ECN (DCQCN) | muy baja | verbs RDMA sobre UDP/IP; necesita configuración sin pérdidas de extremo a extremo (Ethernet sin pérdidas) |
| NVMe/TCP | cualquier Ethernet/IP | no — TCP gestiona la pérdida | baja–media | sin NIC ni funciones de switch especiales; enrutable; la opción de volumen para empresa |
| NVMe/IB | InfiniBand | sí, por créditos | muy baja | almacenamiento HPC/IA (InfiniBand) |
Los cuatro comparten la arquitectura NVMe-oF: un controlador de descubrimiento indica a los hosts qué subsistemas existen; los hosts conectan colas a controladores de E/S; ANA (asymmetric namespace access) gestiona el multipath.
Qué exige cada uno de la capa física
| Transporte | Requisito de enlace | Óptica |
|---|---|---|
| FC-NVMe | enlaces FC limpios — CRC/ITW cerca de cero, créditos no agotados | SFP FC 16/32/64GFC, validados por el fabricante (Óptica de FC) |
| NVMe/RoCE | cero pérdidas: FEC activo, PFC en la clase RoCE, sin errores de CRC (cada frame perdido bloquea la cola RDMA con retransmisión go-back-N) | SFP28 de 25G / QSFP28 de 100G / 400G; DAC dentro del rack, SR/AOC dentro de la fila, LR/DR entre salas; FEC según el PMD |
| NVMe/TCP | ordinario; la pérdida cuesta latencia, no corrección | cualquier óptica Ethernet |
| NVMe/IB | como en las fabrics InfiniBand | cables y óptica IB (Cableado de IB) |
RoCE es el sensible: un enlace con una potencia Rx al límite o un conector sucio produce errores de CRC que TCP absorbería en silencio, pero que bloquean las colas RDMA de forma visible. Los picos de latencia de almacenamiento que siguen a los contadores de error de un puerto son la señal (Potencia Rx y presupuesto de enlace, Métricas de VDM y FEC).
Cómo elegir
| Situación | Transporte razonable |
|---|---|
| SAN FC existente, arrays all-flash | FC-NVMe — misma fabric, misma óptica, se habilita por target |
| Almacenamiento Ethernet de nueva planta, fabricantes mixtos, enrutamiento entre sedes | NVMe/TCP |
| Crítico en latencia, Ethernet de un solo fabricante, experiencia interna en sin pérdidas | NVMe/RoCE |
| Clúster HPC/IA con fabric IB | NVMe/IB o sistemas de archivos paralelos sobre IB |
| Clústeres de GPU con scale-out Ethernet | NVMe/RoCE o NVMe/TCP en una red de almacenamiento separada (Fabrics de GPU) |
Notas operativas
- Redes separadas para almacenamiento y cómputo cuando sea posible — o al menos clases de tráfico separadas; RoCE necesita su propia clase sin pérdidas.
- MTU: 9000 en los transportes Ethernet; coherente de extremo a extremo.
- Multipath: dos fabrics o dos VLAN/leaves; iniciadores compatibles con ANA.
- Monitorización: contadores de CRC/FEC y de pausa por puerto, además de tendencias de DDM — una óptica que se degrada se manifiesta como latencia de cola mucho antes de fallar (Monitorización).
- Firmware: las matrices de compatibilidad de firmware de NIC/HBA y del array importan tanto como la compatibilidad de la óptica (Óptica en la SAN).
En CodingBox
La óptica de una fabric NVMe-oF son módulos FC, Ethernet o IB ordinarios; la diferencia es cuán poco error tolera el transporte. Leer la identidad y el DDM de referencia en el banco antes de la instalación (Check transceiver, DDM) y codificar identidades que acepten los fabricantes del array y del switch (Bloqueo de fabricante) son las partes del trabajo que tocan al programador.
Los adaptadores sobre los que se ejecutan estas fabrics — NIC de 100G/200G, sus jaulas, límites de PCIe y políticas de módulo: NIC con puertos ópticos.