保护模式虚拟机使用qemu的snapshot参数引发的惨案

在Ovirt环境中,采用QEMU的snapshot参数管理虚拟机时,遇到块设备+qcow自动扩容的问题。QEMU的snapshot会导致临时磁盘按需增长,而Libvirt读取的是临时磁盘信息,引发频繁且不准确的扩容请求,加重存储压力,导致主机通信异常和磁盘碎片。解决方案包括按整G扩容和使用spm返回的磁盘容量判断扩容需求。Ovirt后续版本对此进行了修正。
摘要由CSDN通过智能技术生成

在ovirt环境中,有1个手动池,用户每次使用完后,需要将虚拟机回退到原始版本。

在ovirt原有的实现里,是通过快照来实现的,他所谓的快照,其实就是创建原磁盘的一个增量文件,虚拟机运行时,原来的磁盘作为模板,数据写入到增量文件中,虚拟机关闭时只要把增量文件删除了就行,不会影响到原磁盘。

这种社区的方式在生产环境中也出现了一些小问题,于是我们引入了qemu自带的snapshot参数,这样qemu读写磁盘时会写在临时文件或者内存中,我们乐的什么也不用管,而且很稳定。

但是,后来发现了这种方式在块设备+qcow自动扩容时存在大问题。


为什么需要扩容

      为了节省容量,自动池的虚拟机都是基于模板生成增量文件,这个虚拟机磁盘本身是1个增量,如果用lvm块设备来创建的话,刚创建的时候会使用很少的容量,ovirt在主机端的vdsm进程会监控这个磁盘的物理容量和使用量,必要的时候自动扩容。


扩容时产生的问题

1,qemu使用snapshot参数是,不会再写原磁盘,会创建1个临时磁盘,这个磁盘的容量从0开始增长,写多少增长多少。
2,Libvirt读取虚拟机磁盘信息时,读到的是临时磁盘的容量,而且每次读到的磁盘容量和使用量相等,于是向spm主机发起扩容需求。
3,spm主机收到扩容请求,对原磁盘进行扩容,扩容的大小总是4G+当前使用量,当前容量总是1M,2M,3M这样临时磁盘的容量࿰

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值