一种对虚拟机磁盘进行在线快照的方法技术

技术编号:15289923 阅读:95 留言:0更新日期:2017-05-10 17:07
本发明专利技术涉及云计算技术领域,特别是一种对虚拟机磁盘进行在线快照的方法。本方法的基本流程是,首先通过某种通信途径,发送指令到虚拟机内部,对带有应用级缓存并可控的应用,暂停其IO并把其应用内部的缓存刷写回磁盘,然后,暂停虚拟机操作系统的文件系统的读写IO,再把内存及磁盘内部的缓存刷写进磁盘里;最后,就可以在宿主机里对虚拟机磁盘进行安全快照,快照完成后再解除对虚拟机内部应用及虚拟机操作系统IO的冻结。本发明专利技术提供了一系列对虚拟机进行在线快照的操作,解决了在线快照时数据不一致可能导致的数据损坏问题。

Method for on-line snapshot of virtual machine disk

The invention relates to the technical field of cloud computing, in particular to a method for online snapshot of a virtual machine disk. The basic process of this method is, first through a communication way, sending commands to the virtual machine, with application of application level buffer and controllable, then suspend its IO and its application to the internal buffer brush written back to disk file system, suspension of virtual machine operating system to read and write IO, then brush cache the internal memory and disk written into disk; finally, it can be safely snapshot of the virtual machine disk in the host, after the completion of the snapshot to lift the freeze on the internal application of virtual machine and virtual machine operating system IO. The present invention provides a series of operations on the virtual machine, which solves the problem of data corruption caused by the inconsistent data.

【技术实现步骤摘要】

本专利技术涉及云计算领域,特别是一种对在线虚拟机的磁盘进行快照的方法。
技术介绍
云计算平台中,对虚拟机进行快照是一种备份虚拟机状态的重要操作,其中对虚拟机的磁盘进行快照又是其中的重点。常规的快照手段存在以下不足:一、如果要保证数据安全和一致性,通常要关闭虚拟机再进行快照,而这对于某些无法中断的业务来说,是不可接受的;二、如果不能关闭虚拟机导致业务中断,只能直接对磁盘进行快照,而这个操作很容易导致磁盘的数据一致性损坏,轻则会导致要进行文件系统修复,重则会导致文件系统直接损坏,系统无法引导,数据丢失。
技术实现思路
本专利技术解决的技术问题在于提供一种对在线虚拟机的磁盘进行快照的方法;确保可以安全地进行虚拟机磁盘的在线快照。本专利技术解决上述技术问题的技术方案是:包括如下步骤:步骤1:云平台控制器发送控制指令到虚拟机内部的执行代理程序;步骤2:如果条件允许,虚拟机内部的代理程序冻结相关应用的IO并把应用层的缓存刷写进磁盘;步骤3:虚拟机内部的代理程序冻结虚拟机文件系统的IO,并把文件系统的缓存同步入磁盘里面;步骤4:在宿主机对虚拟机磁盘快照完后,云平台控制再次发送指令到虚拟机内部的代理,指示其解除对应用和文件系统IO的冻结。2、根据权利要求1所述的方法,其特征在于:所述的云平台控制器指的是IaaS平台;可以通过是网络、虚拟机串口或者直接通过类似virtio这种类虚拟化驱动框架直接传给虚拟机操作系统指令;指令包含指示停止IO及同步缓存相关命令。3、根据权利要求1所述的方法,其特征在于:所述的冻结相关应用由应用层面提供支持,包括glibc库;以控制其IO缓存及读写动作。4、根据权利要求2所述的方法,其特征在于:所述的冻结相关应用由应用层面提供支持,包括glibc库;以控制其IO缓存及读写动作。5、根据权利要求1至4任一项所述的方法,其特征在于:所述的冻结虚拟机文件系统IO及同步缓存由文件系统支持;linux平台下使用sync及fsfreeze命令实现;windows平台则使用VSS框架完成相关操作。6、根据权利要求1至4任一项所述方法,其特征在于:所述的宿主机对虚拟机磁盘进行快照的方法取决于虚拟机磁盘格式或者虚拟机磁盘实现方案,基于LVM的方案可使用LVM本身的快照操作;基于ceph的方案可以采用rbd快照相关操作。本专利技术的方法在不中断业务情况下,安全的实现在线快照,可以保证在线备份也不会导致磁盘数据不一致;解决了数据不一致可能导致的数据损坏问题。附图说明下面结合附图对本专利技术进一步说明:图1为本专利技术的操作方法流程图。具体实施方式本专利技术提出操作流程如下:首先,云平台控制器通过某种途径发送控制指令到虚拟机内部的执行代理程序;某种途径可以是通过网络、通过虚拟机串口、或者通过类似virtio这类安装在虚拟机内部的类虚拟化框架,把要执行IO冻结、缓存同步相关命令发送到虚拟机内部运行的一个代理程序;然后,如果条件允许,虚拟机内部的代理程序执行命令,冻结相关应用的IO并把应用层的缓存刷写进磁盘;条件允许指的是,不是所有虚拟机上的应用都有进行修改和被控制的条件。如果有条件,则执行此步操作,可以使数据一致性保证到应用层面;如果不做此操作,则只是保证达到系统层面;再然后,虚拟机内部的代理程序执行命令,冻结虚拟机文件系统的IO,并把文件系统的缓存同步入磁盘里面;以linux平台为例子,可以直接执行fsfreeze命令冻结文件系统,再执行sync同步缓存;最后,在宿主机对虚拟机磁盘快照完后,云平台控制再次发送指令到虚拟机内部的代理,指示其解除对应用和文件系统IO的冻结;云平台控制器指的是IaaS平台;通过某种途径发送指令,途径可以是网络,虚拟机串口或者直接通过类似virtio这种类虚拟化驱动框架直接传给虚拟机操作系统;指令包含指示停止IO及同步缓存相关命令。冻结虚拟机内部关键应用是需要应用层面支持的,比如应用使用我们改造过glibc库(windows平台同理),这样就可以控制其IO缓存及读写动作了。冻结虚拟机文件系统IO及同步缓存,需要文件系统支持,linux平台下一般都可以用sync及fsfreeze命令来实现,windows平台则可以使用VSS(卷影复制服务)框架来完成相关操作。在宿主机对虚拟机磁盘进行快照的方法,取决于虚拟机磁盘格式,或者虚拟机磁盘实现方案,比如基于LVM的方案可以使用LVM本身的快照操作,基于ceph的方案可以采用rbd快照相关操作。如图1所示,云平台控制器在不同阶段发送命令到虚拟机内部代理,执行不同的操作,代码如下:在云平台控制器端的逻辑,发送命令控制文件系统IO:虚拟机内部agent冻结文件系统本文档来自技高网...
一种<a href="http://www.xjishu.com/zhuanli/55/201611018803.html" title="一种对虚拟机磁盘进行在线快照的方法原文来自X技术">对虚拟机磁盘进行在线快照的方法</a>

【技术保护点】
一种对云平台虚拟机进行在线快照方法,其特征在于:包括如下步骤:步骤1:云平台控制器发送控制指令到虚拟机内部的执行代理程序;步骤2:如果条件允许,虚拟机内部的代理程序冻结相关应用的IO并把应用层的缓存刷写进磁盘;步骤3:虚拟机内部的代理程序冻结虚拟机文件系统的IO,并把文件系统的缓存同步入磁盘里面;步骤4:在宿主机对虚拟机磁盘快照完后,云平台控制再次发送指令到虚拟机内部的代理,指示其解除对应用和文件系统IO的冻结。

【技术特征摘要】
1.一种对云平台虚拟机进行在线快照方法,其特征在于:包括如下步骤:步骤1:云平台控制器发送控制指令到虚拟机内部的执行代理程序;步骤2:如果条件允许,虚拟机内部的代理程序冻结相关应用的IO并把应用层的缓存刷写进磁盘;步骤3:虚拟机内部的代理程序冻结虚拟机文件系统的IO,并把文件系统的缓存同步入磁盘里面;步骤4:在宿主机对虚拟机磁盘快照完后,云平台控制再次发送指令到虚拟机内部的代理,指示其解除对应用和文件系统IO的冻结。2.根据权利要求1所述的方法,其特征在于:所述的云平台控制器指的是IaaS平台;可以通过是网络、虚拟机串口或者直接通过类似virtio这种类虚拟化驱动框架直接传给虚拟机操作系统指令;指令包含指示停止IO及同步缓存相关命令。3.根据权利要求1所述的方法,其特征在于:所述的冻结相关应用由应用层面提供支持,包括glibc库;以控制其IO缓存及读写动作。...

【专利技术属性】
技术研发人员:韩飞杨松季统凯
申请(专利权)人:国云科技股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1