Hacker News new | past | comments | ask | show | jobs | submit login

"The Network Block Device is a Linux-originated lightweight block access protocol that allows one to export a block device to a client."



how does nbd compare to, say, iSCSI ?

beyond likely being simpler to understand/manage, i mean.


SCSI 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.


It'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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: