云平台本地系统挂虚机载镜像qcow2操作
在一些使用场景中,直接把虚机镜像文件挂接在本地系统中,也是一个简便的办法。例如。
# guestmount -a ax73c.qcow2 -m /devmapper/vgsz00-lv_root --rw /mnt
如果事先不知道虚机内部分区的路径信息,则可以使用参数-i来让guestmount自己决定使用哪一个挂接点:
# guestmount -a ax73c.qcow2 -i --rw /mnt
接着使用# rpm -qa --dbpath /mnt/var/lib/rpm 查看该虚机安装了哪些rpm包
操作完成后,使用# umount /mnt退出。
mkdir -p /mnt_tmp
guestmount -a ax73c.qcow2 -i --rw /mnt_tmp
[root@test ~]# guestmount -a ax73c.qcow2 -i --rw /mnt_tmp
libguestfs: error: could not create appliance through libvirt.
[root@test ~]# guestmount -a ax73c.qcow2 -i --rw /mnt_tmp
libguestfs: error: could not create appliance through libvirt.
Try running qemu directly without libvirt using this environment variable:
export LIBGUESTFS_BACKEND=direct
Original error from libvirt: Cannot access storage file '/root/ax73c.qcow2' (as uid:107, gid:107): Permission denied [code=38 int1=13]
检查libvirtd 服务是否正常
systemctl status libvirtd
echo 'export LIBGUESTFS_BACKEND=direct' >> .bash_profile
source .bash_profile
[root@test ~]# guestmount -a ax73c.qcow2 -i --rw /mnt_tmp
[root@test ~]# df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vgsz00-lv_root 30G 4.8G 26G 16% /
devtmpfs 94G 0 94G 0% /dev
tmpfs 94G 16K 94G 1% /dev/shm
tmpfs 94G 27M 94G 1% /run
tmpfs 94G 0 94G 0% /sys/fs/cgroup
/dev/sda1 494M 230M 264M 47% /boot
/dev/mapper/vgsz00-lv_var 20G 730M 20G 4% /var
tmpfs 19G 0 19G 0% /run/user/0
/dev/fuse 30G 5.3G 25G 18% /mnt_tmp
挂载完成后就可以登录到对应目录进行相关配置
完成后再将目录卸载
[root@test ~]# umount /mnt_tmp