JNbd

JNbd is an NBD server. NBD stands for "network block device": it enables you to serve a disk-image, partition, logical volume, etc. via the network to a client system. It can be compared to iSCSI and Fibre over IP.
JNbd is written in Java enabling you to service disk-images from all platforms capable of running Java e.g. all UNIX-systems, microsoft windows, mac os, etc. to Linux systems.

Download

JNbd-0.4.jar - added webserver functionality showing statistics
JNbd-0.4.tgz - source
JNbd-0.3.jar - mostly code clean-ups
JNbd-0.2.jar - first version

How to use it

Invoking

java -jar JNbd-0.4.jar --port 12345 --file file.dat
Replace '12345' with the port number you want the program to listen on. Replace 'file.dat' with the disk-image you want to serve.

Performance

On a 2.4GHz Intel T7700 it does at least 117MB/s (NOT an idle system: other things like setiathome, totem and firefox are running).
The following graph was made using the 'zcav' utility of 'Bonnie++'. I created a 3.73GB sparse file so that diskaccess by JNbd is as minimal as possible:


License

In short: it is released under GPLv2.
JNbd is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, version 2.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

contact form Winnen in de Staatsloterij! disclaimer