一种虚拟机在线迁移方法及装置制造方法及图纸

技术编号:13338159 阅读:121 留言:0更新日期:2016-07-13 10:24
本申请提供一种虚拟机在线迁移方法及装置,该方法包括:向目的宿主机发送当前源虚拟机的全部内存数据;将发送内存数据期间产生的脏页数据同步拷贝到预先挂载的共享存储中;在完成所述内存数据发送后,停止所述源虚拟机运行;在所述源虚拟机停机后,根据当前存在的脏页生成脏页记录表;将所述脏页记录表发送给所述目的宿主机,以使所述目的宿主机根据所述脏页记录表从所述共享存储读取脏页数据更新所述内存数据。通过本申请可有效缩短虚拟机的停机时间,提高虚拟机的迁移效率,满足可用性要求更高的场景。

【技术实现步骤摘要】

本申请涉及虚拟化
,尤其涉及一种虚拟机在线迁移方法及装置
技术介绍
在线迁移又称为实时迁移,是在保证虚拟机服务正常运行的情况下,将虚拟机在不同的物理主机之间迁移。目前虚拟机在线迁移主要通过多轮内存迭代实现,虚拟机的迁移时间由N次迭代时间和最后一次脏页(被虚拟机修改过的内存页)拷贝时间决定,虚拟机的停机时间也取决于最后一次脏页拷贝时间。但是,在迭代过程中,如果虚拟机更新内存的速率较高,会出现同一内存页被多次修改、多次拷贝的情况,增加拷贝的数据量,延长了虚拟机的迁移时间。同时,也会导致最后一次拷贝的脏页数据量增加,延长虚拟机的停机时间,影响虚拟机的服务性能。
技术实现思路
有鉴于此,本申请提供一种虚拟机在线迁移方法及装置。具体地,本申请是通过如下技术方案实现的:本申请提供一种虚拟机在线迁移方法,应用于源宿主机上,该方法包括:向目的宿主机发送当前源虚拟机的全部内存数据;将发送内存数据期间产生的脏页数据同步拷贝到预先挂载的共享存储中;在完成所述内存数据发送后,停止所述源虚拟机运行;在所述源虚拟机停机后,根据当前存在的脏页生成脏页记录表;将所述脏页记录表发送给所述目的宿主机,以使所述目的宿主机根据所述脏页记录表从所述共享存储读取脏页数据更新所述内存数据。本申请还提供一种虚拟机在线迁移方法,应用于目的宿主机上,该方法包括:接收源宿主机发送的当前源虚拟机的全部内存数据;接收所述源宿主机在所述源虚拟机停机后发送的所述源虚拟机的脏页记录表,所述源宿主机在同步完成所述内存数据发送以及向共享存储拷贝脏页数据后停机;启动目的虚拟机;当所述目的虚拟机访问内存时,根据所述脏页记录表从所述共享存储中读取所述脏页数据,以更新所述内存数据。本申请还提供一种虚拟机在线迁移装置,应用于源宿主机上,该装置包括:发送单元,用于向目的宿主机发送当前源虚拟机的全部内存数据;拷贝单元,用于将发送内存数据期间产生的脏页数据同步拷贝到预先挂载的共享存储中;停机单元,用于在完成所述内存数据发送后,停止所述源虚拟机运行;生成单元,用于在所述源虚拟机停机后,根据当前存在的脏页生成脏页记录表;更新单元,用于将所述脏页记录表发送给所述目的宿主机,以使所述目的宿主机根据所述脏页记录表从所述共享存储读取脏页数据更新所述内存数据。本申请还提供一种虚拟机在线迁移装置,应用于目的宿主机上,该装置包括:接收单元,用于接收源宿主机发送的当前源虚拟机的全部内存数据;接收所述源宿主机在所述源虚拟机停机后发送的所述源虚拟机的脏页记录表,所述源宿主机在同步完成所述内存数据发送以及向共享存储拷贝脏页数据后停机;启动单元,用于启动目的虚拟机;读取单元,用于当所述目的虚拟机访问内存时,根据所述脏页记录表从所述共享存储中读取所述脏页数据,以更新所述内存数据。由以上描述可以看出,本申请中源宿主机在向目的宿主机拷贝虚拟机内存数据的同时,将脏页数据拷贝到共享存储上,并在源虚拟机停机后,将脏页记录表发送给目的宿主机,目的宿主机根据脏页记录表从共享存储读取脏页数据,完成虚拟机迁移。本申请可有效缩短虚拟机的停机时间,提高虚拟机的迁移效率,满足可用性要求更高的场景。附图说明图1是本申请一示例性实施例示出的一种虚拟机在线迁移方法流程图;图2是本申请另一示例性实施例示出的一种虚拟机在线迁移方法流程图;图3是本申请一示例性实施例示出的一种虚拟机在线迁移装置所在设备的基础硬件结构示意图;图4是本申请一示例性实施例示出的一种虚拟机在线迁移装置的结构示意图;图5是本申请另一示例性实施例示出的一种虚拟机在线迁移装置的结构示意图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。在线迁移又称为实时迁移,是在保证虚拟机服务正常运行的情况下,将虚拟机在不同的物理主机之间迁移。目前虚拟机在线迁移过程主要通过多轮内存迭代实现,具体为,第一轮将源宿主机上被迁移虚拟机的全部内存页数据拷贝到目的宿主机上,后续每一轮拷贝上一轮被虚拟机修改过的脏页数据,经过若干次迭代后,如果剩余脏页数据小于预设的剩余最小值或迭代次数大于预设的迭代最大值,则终止迭代,被迁移虚拟机停机,内存不会再被修改,将剩余的脏页数据一次性拷贝到目的宿主机,目的宿主机恢复虚拟机运行。从上述描述可以看出,虚拟机的迁移时间等于N次迭代时间加上最后一次脏页拷贝时间;虚拟机的停机时间等于最后一次脏页拷贝时间,上述时间越短越有利于虚拟机性能的提升。但是,由于虚拟机的迁移需要经过N次迭代,如果在迭代过程中虚拟机更新内存的速率较高,则会出现内存页被多次修改、多次拷贝的情况,增加拷贝的数据量,延长了虚拟机的迁移时间。同时,也可能导致最后剩余的脏页数据量增加,而延长虚拟机的停机时间,影响虚拟机的服务性能。针对上述问题,本申请实施例提出一种虚拟机在线迁移方法,该方法中源宿主机在向目的宿主机拷贝虚拟机内存数据的同时,将内存数据拷贝期间产生的脏页数据拷贝到共享存储上,并在源虚拟机停机后,生成脏页记录表,并发送给目的宿主机,目的宿主机根据脏页记录表从共享存储读取脏页数据,完成虚拟机内存数据的更新,进而完成虚拟机迁移。参见图1,为本申请虚拟机在线迁移方法的一个实施例流程图,该实施例从源宿本文档来自技高网...

【技术保护点】
一种虚拟机在线迁移方法,应用于源宿主机上,其特征在于,该方法包括:向目的宿主机发送当前源虚拟机的全部内存数据;将发送内存数据期间产生的脏页数据同步拷贝到预先挂载的共享存储中;在完成所述内存数据发送后,停止所述源虚拟机运行;在所述源虚拟机停机后,根据当前存在的脏页生成脏页记录表;将所述脏页记录表发送给所述目的宿主机,以使所述目的宿主机根据所述脏页记录表从所述共享存储读取脏页数据更新所述内存数据。

【技术特征摘要】
1.一种虚拟机在线迁移方法,应用于源宿主机上,其特征在于,该方法
包括:
向目的宿主机发送当前源虚拟机的全部内存数据;
将发送内存数据期间产生的脏页数据同步拷贝到预先挂载的共享存储中;
在完成所述内存数据发送后,停止所述源虚拟机运行;
在所述源虚拟机停机后,根据当前存在的脏页生成脏页记录表;
将所述脏页记录表发送给所述目的宿主机,以使所述目的宿主机根据所
述脏页记录表从所述共享存储读取脏页数据更新所述内存数据。
2.如权利要求1所述的方法,其特征在于,所述根据源虚拟机停机后存
在的当前脏页生成脏页记录表,包括:
查询存在脏页标记的内存页;
将所述存在脏页标记的内存页的页号添加到所述脏页记录表中,以使所
述目的宿主机根据所述脏页记录表中的页号从所述共享存储中读取对应脏页
数据。
3.如权利要求1或2所述的方法,其特征在于,所述方法还包括:
接收所述目的宿主机发送的迁移完成命令;
关闭所述源虚拟机。
4.一种虚拟机在线迁移方法,应用于目的宿主机上,其特征在于,该方
法包括:
接收源宿主机发送的当前源虚拟机的全部内存数据;
接收所述源宿主机在所述源虚拟机停机后发送的所述源虚拟机的脏页记
录表,所述源宿主机在同步完成所述内存数据发送以及向共享存储拷贝脏页
数据后停机;
启动目的虚拟机;
当所述目的虚拟机访问内存时,根据所述脏页记录表从所述共享存储中

\t读取所述脏页数据,以更新所述内存数据。
5.如权利要求4所述的方法,其特征在于,所述根据所述脏页记录表从
所述共享存储中读取所述脏页数据,包括:
获取所述脏页记录表中的页号,所述页号为所述源虚拟机停机后存在脏
页标记的内存页的页号;
根据获取的页号从所述共享存储中读取对应脏页数据。
6.如权利要求4或5所述的方法,其特征在于,所述启动目的虚拟机之
后,还包括:
向所述源宿主机发送迁移完成命令,以使所述源宿主机关闭所述源虚拟
机。
7.一种虚拟机在线迁移装置,应用于源宿主机...

【专利技术属性】
技术研发人员:钟晋明
申请(专利权)人:杭州华三通信技术有限公司
类型:发明
国别省市:浙江;33

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

1