NBD — Network Block Device — is a protocol for accessing Block Devices
(hard disks and disk-like things) over a Network. This is the NBD
client library in userspace, a simple library for writing NBD clients.
The key features are:
- Synchronous API for ease of use.
- Asynchronous API for writing non-blocking, multithreaded clients.
- You can mix both APIs freely.
- High performance.
- Minimal dependencies for the basic library.
- Well-documented, stable API.
- Bindings in several programming languages.
- Shell (nbdsh) for command line and scripting.
- Copying tool (nbdcopy) for high performance copying and streaming.
- Hexdump tool (nbddump) to print NBD content.
- Query tool (nbdinfo) to query NBD servers.
- FUSE support (nbdfuse) to mount NBD in the local filesystem.
- Linux ublk support (nbdublk) to create the userspace block device.