所有格式客户机磁盘

在宿主机中,挂载非Raw格式的客户机磁盘需要使用软件包libguestfs和libguestfs-tools。使用如下命令查看系统中是否安装相应软件包。

[root@manager kvm]# rpm -q libguestfs
libguestfs-1.16.19-1.el6.x86_64
[root@manager kvm]# rpm -q libguestfs-tools
libguestfs-tools-1.16.19-1.el6.x86_64

如果你的输出结果如上,说明已经安装相应软件包。否则执行如下命令安装相应软件包。

[root@manager kvm]# yum install libguestfs libguestfs-tools -y

正向操作
对于第一个分区使用简单磁盘作为/boot分区,第二个分区使用LVM逻辑卷的典型Linux系统。执行如下命令:

guestmount -a /home/kvm/guest.img -m /dev/VolGroup /lv_root -m /dev/sda1:/boot --rw /mnt/cdisk/

命令解释:-a参数指定虚拟磁盘,-d参数指定虚拟实例名,即在虚拟机管理器中显示的名称;-m参数指定要挂载的设备在客户机中的挂载点,如果指定错误,会有错误输出,然后给出正确的挂载点;--rw表示以读写的形式挂载到宿主机中,--ro理所当然的表示以只读的形式挂载;最后给出在宿主机中的挂载点。

如果不知道客户机中磁盘设备的包含的文件系统,可以使用virt-filesystems命令检测也可以让guestmount命令加上参数 -i 自己检测。命令如下:

Virt-filesystems 加参数-a 检测一个客户机磁盘文件,加参数-d检测一个客户机使用的磁盘文件,加参数--parts 检测客户机的磁盘分区信息,此时不包括LVM信息。

virt-filesystems -a /home/kvm/guest.img
virt-filesystems -d MyGuestName
virt-filesystems -d MyGuestName --parts

guestmount加参数-i 自动检测客户机磁盘文件,并挂载。但结果不一定都是想要的。

guestmount -a guest.img -i --rw /mnt/cdisk

对于一个在第一个分区包含主要文件系统的windows分区,执行如下命令挂载。

guestmount -a windows.img -m /dev/sda1 --rw /mnt/cdisk

这里需要注意的是,如果windows使用的是NTFS分区,则需要预先安装ntfs-3g软件包,获取ntfs文件系统的支持。

反向操作
使用umount命令解挂即可,命令如下:

umount /mnt/cdisk
Last modification:June 14th, 2020 at 09:50 pm
如果觉得我的文章对你有用,请随意赞赏