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