First of all, some background (as I understand it):
* “NVMe” is a standard for accessing storage (normally flash rather
than hard drives) via a PCI-E bus
* “NVME-oF” (“NVMe over Fabrics”) (mentioned in the above article) is
a further spec that allows one node to access storage attached to
another node. Sounds like NBD, really
<https://en.wikipedia.org/wiki/Network_block_device>, though the
term “RDMA” (“Remote Direct Memory Access”) gets tossed around.
So, this article
says things like NVME-oF “has to be implemented across network or
fabric and, so far, Ethernet, with ROCE (RDMA over Converged Ethernet),
is the favoured one”, though other lower-layer protocols also work. In
particular, the writer is interviewing an industry guru about the
prospects for FC-NVMe, which uses Fibre Channel as the transport. A
couple of quotes caught my eye:
Since the low-level driver isn't a part of the OS, like NVMe-oF,
but rather supplied by the HBA vendor (Emulex or QLogic), the
deployment for OSes outside the Linux model should be more agile...
You must run a recent version of Linux; no other OSes have NVMe-oF
drivers available (yet).
In other words, NVME-oF is pretty much Linux-only at the moment. But it
would be hardware-independent, which should mean you can mix and match
storage from different vendors. Unlike FC-NVMe, where the “HBA vendor”
needs to supply hardware-specific drivers.
In other, other words, NVME-oF works only on Linux, but makes you
“hardware-agile”, while FC-NVMe is hardware-specific but should
(hopefully) be “OS-agile”.
Which kind of “agility” will turn out to be more important, I wonder?
Show replies by thread