虚拟机连续快照方法和装置的制造方法

文档序号:9810343阅读:402来源:国知局
虚拟机连续快照方法和装置的制造方法
【技术领域】
[0001]本发明涉及计算机技术领域,尤其涉及一种虚拟机连续快照方法和装置。
【背景技术】
[0002]虚拟化技术可以有效整合和利用计算机资源,因此成为了云计算领域的关键支撑计算。为了提供连续、高可用的云服务,虚拟机中的数据和状态需要满足可靠性和安全性,由此引入了快照技术。快照技术可以保存虚拟机运行过程中的完整状态,包括虚拟机的磁盘状态、内存状态及设备状态,如CPU、网络等,在虚拟机故障时用于恢复虚拟机的状态,尽量少的丢失虚拟机的数据和状态。
[0003]目前,虚拟机对内存状态进行快照时主要采用停机拷贝。停机拷贝是在进行虚拟机连续快照时将虚拟机挂起,当所有的内存数据被保存了后再恢复虚拟机运行,以保证此次快照时虚拟机内存中的各页面的数据完整,未被修改。
[0004]但是,停机拷贝使得每次快照时虚拟机的宕机时间非常长,影响了虚拟机的性能。

【发明内容】

[0005]本发明提供一种虚拟机连续快照方法和装置,用于解决现有技术中虚拟机连续快照方法使虚拟机宕机时间长,影响虚拟机性能的问题。
[0006]本发明提供一种虚拟机连续快照方法,包括:
[0007]将虚拟机停机;
[0008]根据所述虚拟机中各页面的第一位图信息的值更新各页面的第二位图信息的值,所述第一位图信息用于标识各页面是否已被修改,所述第二位图信息用于标识所述各页面是否需要保存,所述各页面的第一位图信息和第二位图信息与各页面的地址一一对应;
[0009]初始化所述虚拟机中各页面的第一位图信息的值;
[0010]恢复所述虚拟机的运行;
[0011]依次判断所述虚拟机中各页面的第二位图信息的值是否为第一预设的值;
[0012]将第二位图信息的值为第一预设的值的各页面保存到缓存区,并将保存到缓存区的各页面的第二位图信息的值更改为第二预设的值。
[0013]本发明提供一种虚拟机连续快照装置,包括:
[0014]停机模块,用于将虚拟机停机;
[0015]更新模块,用于根据所述虚拟机中各页面的第一位图信息的值更新各页面的第二位图信息的值,所述第一位图信息用于标识各页面是否已被修改,所述第二位图信息用于标识所述各页面是否需要保存,所述各页面的第一位图信息和第二位图信息与各页面的地址--对应;
[0016]初始化模块,用于初始化所述虚拟机中各页面的第一位图信息的值;
[0017]恢复模块,用于恢复所述虚拟机的运行;
[0018]判断模块,用于依次判断所述虚拟机中各页面的第二位图信息的值是否为第一预设的值;
[0019]处理模块,用于将第二位图信息的值为第一预设的值的各页面保存到缓存区,并将保存到缓存区的各页面的第二位图信息的值更改为第二预设的值。
[0020]本发明提供的虚拟机连续快照方法和装置,虚拟机连续快照装置仅需在虚拟机停机过程中将虚拟机中各页面的第一位图信息的值复制到第二位图信息中,即可恢复虚拟机的运行,在虚拟机运行过程中根据各页面的第二位图信息的值依次对需要保存的各页面进行快照保存,由于对各页面位图信息的操作所需的时间很短,使得一次快照过程中虚拟机停机时间较短,且在虚拟机连续快照时仅需保存自上次快照后被修改的页面,使得所有的页面仅被保存一次,保存的页面数量少,从而大大缩短了虚拟机一次快照的时间,降低了虚拟机连续快照过程对虚拟机性能的影响。
【附图说明】
[0021]图1为本发明提供的一种虚拟机连续快照方法实施例一的流程示意图;
[0022]图2为本发明提供的一种虚拟机连续快照方法实施例二的流程示意图;
[0023]图3为本发明提供的一种虚拟机连续快照方法实施例三的流程示意图;
[0024]图4为本发明提供的一种虚拟机连续快照装置实施例一的结构示意图;
[0025]图5为本发明提供的一种虚拟机连续快照装置实施例二的结构示意图。
【具体实施方式】
[0026]图1为本发明提供的一种虚拟机连续快照方法实施例一的流程示意图。如图1所示,该方法包括:
[0027]S10,将虚拟机停机。
[0028]S11,根据所述虚拟机中各页面的第一位图信息的值更新各页面的第二位图信息的值。
[0029]其中,所述第一位图信息用于标识各页面是否已被修改,所述第二位图信息用于标识所述各页面是否需要保存,所述各页面的第一位图信息和第二位图信息与各页面的地址--对应。
[0030]具体的,本方法实施例由虚拟机连续快照装置执行。本发明中虚拟机内存的最小单位为页面,每个页面对应一个页面地址。本发明提供的虚拟机连续快照方法以对虚拟机的内存快照为例进行说明,首先为虚拟机中各页面建立位图信息表,位图信息表中包括虚拟机中各页面的地址与第一位图信息和第二位图信息的对应关系。可以分别通过一个比特的值来表示第一位图信息和第二位图信息的两种状态。比如分别用I或O来表示第一位图1h息和第二位图息的两种状态。
[0031]为方便说明,本发明各实施例中,第一位图信息的值用O表示该页面被写保护,未被修改,用I表示改页面已被修改;第二位图信息的值用I表示该页面需要保存但未保存,用O表示该页面已经被保存或不需要保存为例进行说明。
[0032]本实施例中在进行虚拟机连续快照时,首先将虚拟机停机,然后将位图信息表中第一位图信息的值拷贝到第二位图信息中,这样虚拟机连续快照装置即可根据该页面是否被修改来判断该页面是否需要保存了。举例来说,若虚拟机中共包括3个页面,虚拟机停机时,第一页面和第三页面的第一位图信息的值均为1,第二页面的第一位图信息的值为O,则说明第一页面和第三页面已被修改,第二页面未被修改,将各页面的第一位图信息复制到第二位图信息后,第一页面和第三页面的第二位图信息为1,第二页面的第二位图信息为O,则说明第一页面和第三页面需要保存,而第二页面不需要保存。
[0033]S12,初始化所述虚拟机中各页面的第一位图信息的值。
[0034]具体的,将虚拟机中各页面的第一位图信息复制到第二位图信息后,为记录此次快照过程中各页面的被修改情况,将各页面的第一位图信息初始化,即将各页面的第一位图信息的值置O。在下次快照开始前,虚拟机连续快照装置再将各页面的第一位图信息值复制到第二位图信息中,此时根据各页面的第二位图信息即可确定在上次快照过程中被修改的页面,从而只保存相应被修改过的页面了。
[0035]S13,恢复所述虚拟机的运行。
[0036]需要说明的是,上述Sll和S12仅是一些简单的数据操作,所需时间很短,从而使虚拟机停机的时间很短。
[0037]S14,依次判断所述虚拟机中各页面的第二位图信息的值是否为第一预设的值。
[0038]S15,将第二位图信息的值为第一预设的值的各页面保存到缓存区,并将保存到缓存区的各页面的第二位图信息的值更改为第二预设的值。
[0039]具体的,本实施例中的第一预设的值即为I。虚拟机连续快照装置在虚拟机停机后,仅将虚拟机中各页面的第一位图信息的值复制到第二位图信息后,即恢复虚拟机的运行,之后,依次判断虚拟机中各页面的第二位图信息的标识,若某页面的第二位图信息的标识是0,则说明该页面已经被保存或无需保存,若
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1