qcow2 images are not flat files, see . KVM ships with kvm-nbd, which lets you use the NBD protocol to share the disk image on the network.
First, for partition nbd partition support you need to be running kernel 2.6.26 (, ) or greater. For ubuntu users, that means it’s time to upgrade to intrepid ibex. Load the nbd module with:
sudo modprobe nbd max_part=8
If you leave off the max_part attribute, partitions are not supported and you’ll be able to access the disk, but not have device nodes for any of the partitions. Running
sudo kvm-nbd root.qcow2
will bind to all interfaces (0.0.0.0) and share the disk on the default port (1024). It’s important to note that the nbd kernel module produces /dev/nbd0 while the nbd-client man page recommends /dev/nb0 in it’s examples. The error message isn’t so clear, see .
# nbd-client localhost 1024 /dev/nb0
Error: Can not open NBD: No such file or directory
This can all be reduced in steps using the ‘–connect’ option of qemu-nbd, like this:
sudo kvm-nbd --connect=/dev/nbd0 root.qcow2
At which point you can view the disk partitions:
sudo fdisk /dev/nbd0
or mount a disk, such as
mount /dev/nbd0p1 /mnt
unmount a disk, such as
kvm-nbd --disconnect /dev/nbd0