基于Xen的虚拟机是把一个文件虚拟成完整的磁盘,因此会有分区信息,不能直接mount。
要mount这个文件需要 losetup(loop setup,专门将镜像类文件mount到loop硬件的命令),和kpartx(专门从镜像文件mount分区的命令)。
# sudo losetup /dev/loop100 /OVS/running_pool/server_file_path/disk_file.img
这个时候 /dev/loop100 基本可以看做虚拟机的磁盘了。
# sudo fdisk -l /dev/loop100
可以看到磁盘分区。
接下来就是kpartx,把虚拟磁盘的分区分别挂载到 /dev/mapper/
# sudo kpartx -a /dev/loop100
# ls /dev/mapper/
control loop100p1 loop100p2 loop100p3 loop100p5 loop100p6
到此就可以根据需要挂载相应的磁盘来恢复了,例如:
# sudo mkdir /mnt/temp
# sudo mount /dev/mapper/loop100p3 /mnt/temp/
loop100p3 就是虚拟磁盘的第三个分区,现在从 /mnt/temp 拷文件出来就随意了。
求友情连接