vm主机:vm4

os:centos 6.5

qcow2格式存储的扩容方式:

一、图形化工具 (virt-manager)

二、lvm方式

三、resize命令行拉升空间

四、virt-resize命令行


先安装个工具

yum -y install libguestfs-tools


方式一、图形化工具

原始信息

wKiom1WwXzaiaJbJAACZ2k-9wa8376.jpg

使用virt-manager很容易,直接在虚拟的属性中点击“添加硬件”----“storage”选择多大的空间,驱动类型,缓存模式。然后点击完成。注意,有些硬盘是支持热插拔的,有些不支持。除了IDE格式的硬盘外,其他的都支持热插拔,这就意味着,如果添加的是IDE的硬盘的话,需要对虚拟机 进行重启,使他识别新添加的硬盘。

kvm(七)客户机vm主机磁盘扩容_第1张图片

重启后查看结果:

kvm(七)客户机vm主机磁盘扩容_第2张图片

kvm(七)客户机vm主机磁盘扩容_第3张图片

方法二:lvm方式扩展原分区

思路:qcow2格式磁盘,直接通过qemu-img生成一块qcow2磁盘,然后通过虚拟机系统lvm逻辑卷管理方式进行管理,扩展磁盘空间。

1、查看原分区信息

kvm(七)客户机vm主机磁盘扩容_第4张图片

2、生成一块qcow2磁盘

[root@Aries kvm]# qemu-img create -f qcow2 vm4_add.qcow2 5G

wKioL1WwmY2CM1KAAADqVc0BCUU206.jpg

3、新增配置文件

[root@Aries kvm]# virsh edit vm4

红色区域为新增

kvm(七)客户机vm主机磁盘扩容_第5张图片

4、启动vm,进行分区

[root@Aries kvm]# virsh start vm4

kvm(七)客户机vm主机磁盘扩容_第6张图片

kvm(七)客户机vm主机磁盘扩容_第7张图片

5、创建pv,扩展lvm

kvm(七)客户机vm主机磁盘扩容_第8张图片

wKiom1WwnfGgFfMRAACfHrSLwvg900.jpg


方法三:resize命令行拉升空间

1、此方式只支持raw格式,所以需要先把qcow2转换为raw

[root@Aries kvm]# qemu-img resize vm4.raw +2G

kvm(七)客户机vm主机磁盘扩容_第9张图片

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

wKioL1W16_-QH35GAAEyK_Ekh6k552.jpg

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

kvm(七)客户机vm主机磁盘扩容_第10张图片

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镜像。不需要登录到虚拟机里面进行任何操作。
 
缺点:拓展的时候需要关机。对于大的镜像,拓展的时间比较长。

wKiom1W17CCDwAsUAAC8pQV-jRs874.jpg