qcow2 images are not flat files, see qemu-img(1). 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 (commit, changelog) 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 lp:290076.
# 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
本文详细介绍了如何在KVM环境中使用KVM-NBD模块共享qcow2文件,并针对特定版本内核的网络分区支持问题提供了解决方案,包括加载模块、访问磁盘分区及避免常见错误的方法。
1万+

被折叠的 条评论
为什么被折叠?



