JNbdJNbd 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.
DownloadJNbd-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
java -jar JNbd-0.4.jar --port 12345 --file file.datReplace '12345' with the port number you want the program to listen on. Replace 'file.dat' with the disk-image you want to serve.
PerformanceOn 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:
LicenseIn 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.