Page MenuHomeSolus

Package Request: nbd (Network Block Device) - we have the kernel module but not the required software
Closed, ResolvedPublic


Network Block Device / nbd

Latest tarball:

The kernel module for nbd is already available in Solus but the software, which is required in order to use it, is missing from the repo

What is it: With this compiled into your kernel, Linux can use a remote server as one of its block devices. Every time the client computer wants to read /dev/nbd0, it will send a request to the server via TCP, which will reply with the data requested. This can be used for stations with low disk space (or even diskless - if you use an initrd) to borrow disk space from other computers. Unlike NFS, it is possible to put any file system on it.

My use case: I like to tinker with old hardware. This is useful to mount legacy devices on modern computers with up-to-date kernel drivers.

Admittedly, I don't expect a lot of people have a need for this, but it would be nice to have. :)

Thank you

Event Timeline

Beer created this task.Mar 17 2019, 2:15 AM

I'd say it's quite reasonable to include nbd client in solus.

Another use-case is to mount a VM disk image. One uses qemu-nbd to serve the disk image, then uses nbd-client to mount it.

I'm using both ceph-rbd and nbd, through the kernel interface.

The reason I explicitly only requested rbd kernel module, not the ceph userland utility, is that ceph is a huge package.
On the other hand, nbd is a small utility, with roughly 2 releases every year.

I'd be able to commit a patch once it's accepted.

DataDrake triaged this task as Wishlist priority.Apr 30 2019, 2:12 PM
DataDrake moved this task from Backlog to Accepted For Inclusion on the Package Requests board.

I have a patch to submit, but wondering if it should include the server binary.
If the server executable is included, i feel obliged to add the default config file and systemd service unit file. However I don't think I feel comfortable to enable nbd service.

Beer added a comment.May 14 2019, 9:45 PM

Thanks hashhsah.

Can anyone chime in on how to best handle that? I'd hate to see the request go stagnant while someone is actively interested in packaging it

From my perspective, this is something I would want to explicitly configure before any services are enabled... so to me it makes the most sense to include the default config/systemd service, but keep it disabled and let the user enable it.