3 ms·
"The Network Block Device is a Linux-originated lightweight block access protocol that allows one to export a block device to a client."
by gpvos 4y ago
"The Network Block Device is a Linux-originated lightweight block access protocol that allows one to export a block device to a client."
- znpy 4y agohow does nbd compare to, say, iSCSI ? beyond likely being simpler to understand/manage, i mean.
- tptacek 4y agoIt's much, much simpler than iSCSI, which is an advantage. It's possibly more idiomatically Linux. But the Linux iSCSI initiator might (last I checked?) do a better job of utilizing the kernel block multiqueue interface than nbd, and thus might get higher I/O performance. nbd is extremely simple to set up; iSCSI less so.
- duskwuff 4y agoSCSI was a fairly wide-ranging protocol, supporting anything from hard disks to CD recorders to document scanners, and iSCSI could theoretically encapsulate all of that. SCSI also came with a lot of historical quirks, like 6/10/12/16 byte addressing, which were progressively added as devices got larger and requirements got more complex. As a result, implementing software to interact with iSCSI is a pain, because there's simply so much legacy weirdness to deal with. NBD is much more narrowly focused. It exposes a single block device to the kernel, with a minimal set of commands focused on that use case (e.g. read, write, trim, prefetch, etc). It doesn't do as many things as iSCSI, but that's probably for the better.