使用guestmount挂载KVM虚拟机的磁盘
2016-04-26 15:19
801 查看
在宿主机中,挂载非Raw格式的客户机磁盘需要使用软件包libguestfs和libguestfs-tools。
Centos 7以上系统执行:
sed -i '/redhat-release/d' /usr/lib64/guestfs/supermin.d/hostfiles
使用如下命令查看系统中是否安装相应软件包。
[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
结语
本文档讲解了Linux-KVM虚拟化环境下,在宿主机挂载客户机磁盘的两种方法。挂载raw格式的宿主机磁盘可以使用losetup或guestmount两种方法。挂载其他格式的宿主机磁盘则只能使用guestmount方法来挂载。
通过以上描述我们可以看出,使用guestmount命令可以很容易的解决挂载客户机磁盘文件系统的问题。并且使用guestmount命令不需要root权限,只要用户拥有访问虚拟客户机和使用宿主机挂载点的权限,就可以使用guestmount命令。
推荐使用guestmount命令!
转自:http://blog.csdn.net/xiaobei4929/article/details/41874539
Centos 7以上系统执行:
sed -i '/redhat-release/d' /usr/lib64/guestfs/supermin.d/hostfiles
使用如下命令查看系统中是否安装相应软件包。
[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
结语
本文档讲解了Linux-KVM虚拟化环境下,在宿主机挂载客户机磁盘的两种方法。挂载raw格式的宿主机磁盘可以使用losetup或guestmount两种方法。挂载其他格式的宿主机磁盘则只能使用guestmount方法来挂载。
通过以上描述我们可以看出,使用guestmount命令可以很容易的解决挂载客户机磁盘文件系统的问题。并且使用guestmount命令不需要root权限,只要用户拥有访问虚拟客户机和使用宿主机挂载点的权限,就可以使用guestmount命令。
推荐使用guestmount命令!
转自:http://blog.csdn.net/xiaobei4929/article/details/41874539
相关文章推荐
- 算法Sedgewick第四版-第1章基础-2.3 Quicksort-001快速排序
- UE3名称结构(Name)
- 出现An internal error occurred during: “Building workspace”.的解决方法
- android studio新建project的时候connect refused:connect或者卡在building project...或Refreshing
- iOS开发UI篇—UIWindow简单介绍
- RequireJS 加载 js 执行顺序
- 蓝牙技术BlueTooth
- Andrid Studio常用开发插件
- 【Vue】 -(7) 事件和方法
- UITabbarController的UITabbarItem(例:"我的")点击时,判断是否登录
- IOS7以上用UINavigationController 导致tableview下移解决方法
- 解决Maven更新后错误Dynamic Web Module 3.0 requires Java 1.6 or newer
- ValueAnimator的介绍与使用
- UIImage加载图片的方式以及Images.xcassets对于加载方法的影响
- UISegmentedControl
- cocoapods was not able to update the 'master' repo.if it is a unexpected issue and persists you can
- 自定义EasyUI下拉单选和下拉多选控件
- Null value was assigned to a property of primitive type setter of
- android source bluetooth
- How to retrieve the Device Unique ID from android device