使用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。