挂载KVM虚拟机的磁盘镜像

Mon 02 February 2015 | tags:

使用kvm(qemu)虚拟机相对于Virtualbox或VMWARE没有共享目录可以设置,导出文件麻烦一些,用samba显然与直接读取磁盘相比虚度慢不少。

解决办法之一是直接挂载虚拟磁盘访问即可,这种方法在红帽的官方文档里给出了说明:

使用kpartx工具,可以读取磁盘镜像的分区表,创建设备映射。

虚拟机处于关机状态

查看虚拟磁盘的分区,例子里的磁盘有两个分区

# kpartx -l /var/lib/libvirt/images/guest1.img

loop0p1 : 0 409600 /dev/loop0 63
loop0p2 : 0 10064717 /dev/loop0 409663

将分区映射到/dev/mapper下

# kpartx -av /var/lib/libvirt/images/guest1.img


# ls /dev/mapper/loop
loop0p1
loop0p2

以loop设备挂载我们想要的分区

# mkdir /mnt/guest1
# mount /dev/mapper/loop0p1 /mnt/guest1 -o loop

处理完毕后,卸载

# umount /mnt/tmp
# kpartx -d /var/lib/libvirt/images/guest1.img

红帽文档里还提到了如果包含LVM的话,kpartx做映射后,用vgchange -ay激活VG,再用mount挂载LV。