FuseNBD
A FUSE interface for accessing Network Block Devices
This program implements an NBD (Network Block Device) client in userspace that
exposes the exported drive and its partitions as files in a FUSE (Filesystem in
User Space) mountpoint.
This software is still in the alpha phase. It hasn't been properly tested and
may crash at any point, POSSIBLY LEADING TO DATA LOSS. You have been warned.
Usage
Basic usage: fusenbd [options] mountpoint
In addition to the standard FUSE options, this program also accepts additional switches:
- --tcp=host or -t host
Specifies the remote host to connect to. Defaults to localhost.
- --port=port or -p port
Specifies the TCP port to use for the connection. Defaults to 10809.
- --unix=path or -u path
Specifies the UNIX socket to connect to. If this switch is specified, the TCP
options are ignored.
Features
Here's what it can do:
- Exposes the entire disk and each partition as separate files
- Supports (some) block device IOCTLs
- Reconnects on demand if the connection is lost
- No root access required (but your user must be allowed to mount FUSE filesystems)
Missing Features and Bugs
Don't get too excited, this is what FuseNBD can't do yet:
- GPT Support
- Caching system to improve I/O performance
- Using multiple connections to improve network performance
Building
Just do the following:
- premake4 gmake
- make config=release
And that's it! That should have created a binary called "fusenbd" in the
directory. If not, submit a bug report. There's no installation option for
now, but you can copy the file manually.