vm主机:vm4
os:centos 6.5
qcow2格式存储的扩容方式:
一、图形化工具 (virt-manager)
二、lvm方式
三、resize命令行拉升空间
四、virt-resize命令行
先安装个工具
yum -y install libguestfs-tools
方式一、图形化工具
原始信息
使用virt-manager很容易,直接在虚拟的属性中点击“添加硬件”----“storage”选择多大的空间,驱动类型,缓存模式。然后点击完成。注意,有些硬盘是支持热插拔的,有些不支持。除了IDE格式的硬盘外,其他的都支持热插拔,这就意味着,如果添加的是IDE的硬盘的话,需要对虚拟机 进行重启,使他识别新添加的硬盘。
重启后查看结果:
方法二:lvm方式扩展原分区
思路:qcow2格式磁盘,直接通过qemu-img生成一块qcow2磁盘,然后通过虚拟机系统lvm逻辑卷管理方式进行管理,扩展磁盘空间。
1、查看原分区信息
2、生成一块qcow2磁盘
[root@Aries kvm]# qemu-img create -f qcow2 vm4_add.qcow2 5G
3、新增配置文件
[root@Aries kvm]# virsh edit vm4
红色区域为新增
4、启动vm,进行分区
[root@Aries kvm]# virsh start vm4
5、创建pv,扩展lvm
方法三:resize命令行拉升空间
1、此方式只支持raw格式,所以需要先把qcow2转换为raw
[root@Aries kvm]# qemu-img resize vm4.raw +2G
2、登录vm,格式化分区,
[root@Aries kvm]# virsh start vm4
Ps:可以采用单独格式化分区,进行挂载方式,也可以是lvm方式,后续操作略
方式四:virt-resize命令行
思路:一般采用挂载的方法在主机侧添加了一块盘,有没有一种方法可以直接对硬盘进行拉伸。qemu-img中提供了一个resize的命令,但是该命令只是单纯的 简单了拉升或者缩小了一个raw的img镜像大小,对于其中的分区却不能进行修改。我需要对其中的的分区进行拓展。采用自带的插件virt-resize进行拓展。该命令首先是获取原来的分区信息,还 有其他文件信息。然后对新的镜像进行重新分区、格式化。最后拷贝原镜像中的文件到新文件系统中,再用新拓展的镜像替换原有镜像。因为实际采用copy的方 式,所以他花的时间比较长,如果是一个大镜像不建议使用此方法
具体解决方案。
前提安装libguestfs-tools工具包。关闭虚拟机
1、新建镜像
qemu-img create -f raw vm4_add.img 10G
2、使用virt-resize进行拉升分区 (此命令可以针对分区进行扩展;virt-resize --resize /dev/sda1=+200M --expand /dev/sda2 olddisk newdisk)
virt-resize --expand /dev/sda1 /kvm/vm4.img /kvm/vm4_add.img
Ps:此时间很长,请耐心等待
3、使用新扩展的镜像代替原镜像并启动
[root@Aries kvm]# mv vm4_add.img vm4.img mv:是否覆盖"vm4.img"? y [root@Aries kvm]# virsh start vm4 域 vm4 已开始
virt-resize的优势:能对虚拟机中的特定的分区进行拓展。并且能够拓展windows镜像。不需要登录到虚拟机里面进行任何操作。
缺点:拓展的时候需要关机。对于大的镜像,拓展的时间比较长。
本文出自 “大風” 博客,请务必保留此出处http://lansgg.blog.51cto.com/5675165/1678796
原文地址:http://lansgg.blog.51cto.com/5675165/1678796