CN104346210B - 基于时空相关的虚拟机在线迁移方法及系统 - Google Patents

基于时空相关的虚拟机在线迁移方法及系统 Download PDF

Info

Publication number
CN104346210B
CN104346210B CN201410447729.3A CN201410447729A CN104346210B CN 104346210 B CN104346210 B CN 104346210B CN 201410447729 A CN201410447729 A CN 201410447729A CN 104346210 B CN104346210 B CN 104346210B
Authority
CN
China
Prior art keywords
page
virtual machine
updated
memory
synchronization
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410447729.3A
Other languages
English (en)
Other versions
CN104346210A (zh
Inventor
高毅
伍华凤
徐士伟
何龙
戴新发
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
709th Research Institute of CSIC
Original Assignee
709th Research Institute of CSIC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 709th Research Institute of CSIC filed Critical 709th Research Institute of CSIC
Priority to CN201410447729.3A priority Critical patent/CN104346210B/zh
Publication of CN104346210A publication Critical patent/CN104346210A/zh
Application granted granted Critical
Publication of CN104346210B publication Critical patent/CN104346210B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供一种基于时空相关的虚拟机在线迁移方法及系统,通过在虚拟机内存迭代拷贝阶段建立内存页更新概率模型,根据当前内存页和相邻内存页的近期更新记录计算该内存页在下轮内存同步前被更新的概率;在内存同步过程中仅拷贝那些更新概率较小的内存页至目标机。与现有虚拟机在线迁移技术相比,本发明充分利用内存页访问具有时空相关性的特点预测待同步内存页在下轮内存同步前被更新的概率以确定是否拷贝该内存页,有效地减少内存冗余拷贝的次数,从而缩短虚拟机在线迁移的整体时间。

Description

基于时空相关的虚拟机在线迁移方法及系统
技术领域
本发明涉及一种云计算技术,具体涉及一种基于时空相关的虚拟机在线迁移方法及系统。
背景技术
当前,云计算作为一种新型网络应用模式已逐渐成为科学界和工业界研究的热点。云计算实现了资源、平台以及软件的服务化,并通过计算机网络向用户提供按需、灵活、可伸缩的计算和存储资源。
虚拟化技术是云计算的核心。前者通过软件抽象将单个物理机资源划分成多个相互隔离的虚拟资源,实现了多个操作系统实例(也就是虚拟机)对单个物理资源的复用。虚拟化技术实现了虚拟机与物理机之间的松散耦合,使得虚拟机在其他物理机上运行成为可能,虚拟机迁移技术正是解决该问题的有效手段。特别是虚拟机的在线迁移(LiveMigration)技术能够实现虚拟机运行状态在分布、异构的物理运行环境中快速透明的平移,保证虚拟机服务的连续性和不间断性,因此被广泛应用于集群或数据中心的管理,例如动态负载均衡、设备在线维护、系统容错管理以及节能减排等。
实现虚拟机内存状态在源、目的物理机之间的高效拷贝是虚拟机在线迁移技术的关键所在。目前,主流虚拟化平台提供的虚拟机在线迁移技术普遍采用基于内存预拷贝(Pre-copy)机制。迁移初始阶段,虚拟机管理器(Virtual Machine Monitor, VMM)将所有的虚拟机内存页面标记为“脏页面”;接着,迁移开始进入多轮内存迭代同步阶段。由于所有页面都被置为“脏页面”,第一轮内存同步需要拷贝全部的虚拟机内存数据;之后的每一轮同步只需要拷贝上一轮同步过程中被虚拟机更新的脏页面数据。经过若干次迭代后,如果剩余脏页面数小于预设的最小值或迭代次数大于预设的最大值,VMM终止预拷贝阶段并暂停源物理机上的虚拟机,同时将剩余的脏页面以及其它虚拟设备状态拷贝至目的物理机。最后,目的物理机接收并加载全部状态数据后立即恢复虚拟机执行,同时向源物理机确认迁移完成。
虚拟机内存状态迁移过程中存在着冗余的脏内存页拷贝。例如,在本轮内存同步过程中被标记为“脏页面”的某内存页在后续的同步过程中被虚拟机更新,这意味着该内存页在迁移过程中至少被拷贝两次。但对于目的虚拟机而言,只有最后一次的内存页拷贝才是必须的。可见,虚拟机内存状态迁移过程中存在着大量的冗余内存拷贝。另一方面,对于本轮内存同步阶段的那些“脏页面”,VMM也无法确定其未来是否会被虚拟机更新,因此,内存页冗余拷贝无法完全避免。
发明内容
有鉴于此,有必要提供一种利用内存页具有时空相关性预测待同步内存页的更新概率以确定是否拷贝该内存页的虚拟机在线迁移方法及系统。
一种基于时空相关的虚拟机在线迁移方法,其特征在于:所述基于时空相关的虚拟机在线迁移方法包括如下步骤:
S1、在虚拟机内存迭代拷贝阶段建立内存页更新概率模型,根据当前内存页和相邻内存页的近期更新记录计算该内存页在下轮内存同步前被更新的概率;
S2、根据所述更新概率与预定阈值的比较,判断该内存页在下轮内存同步前是否不会被虚拟机更新,如果是,则将该内存页拷贝至目的虚拟机并标记该内存页已被同步,同时更新同步位图,直至虚拟机本轮次被更新的内存页数目小于预定义的阈值或者迭代次数达到预定义阈值;
S3、暂停虚拟机的运行,将虚拟机内存与磁盘中待迁移数据一次性拷贝到目的虚拟机。
一种基于时空相关的虚拟机在线迁移系统,其特征在于:包括
更新概率计算模块,用于在虚拟机内存迭代拷贝阶段建立内存页更新概率模型,根据当前内存页和相邻内存页的近期更新记录计算该内存页在下轮内存同步前被更新的概率;
同步设置模块,用于根据所述更新概率与预定阈值的比较,判断该内存页在下轮内存同步前是否不会被虚拟机更新,如果是,则将该内存页拷贝至目的虚拟机并标记该内存页已被同步,同时更新同步位图;直至虚拟机本轮次被更新的内存页数目小于预定义的阈值或者迭代次数达到预定义阈值;
停机拷贝模块,用于暂停虚拟机的运行,将虚拟机内存与磁盘中待迁移数据一次性拷贝到目的虚拟机。
本发明实施例提供一种基于时空相关的虚拟机在线迁移方法及系统,通过在虚拟机内存迭代拷贝阶段建立内存页更新概率模型,根据当前内存页和相邻内存页的近期更新记录计算该内存页在下轮内存同步前被更新的概率;在内存同步过程中仅拷贝那些更新概率较小的内存页至目标机。与现有虚拟机在线迁移技术相比,本发明充分利用内存页访问具有时空相关性的特点预测待同步内存页在下轮内存同步前被更新的概率以确定是否拷贝该内存页,有效地减少内存冗余拷贝的次数,从而缩短虚拟机在线迁移的整体时间。
附图说明
图1是本发明一较佳实施例的一种基于时空相关的虚拟机在线迁移方法的流程图;
图2是图1中步骤S1的子流程图;
图3是图2中步骤S12的一实施子流程图;
图4是图1中步骤S2的子流程图;
图5是图1中步骤S3的子流程图;
图6是本发明实施例中基于时空相关的虚拟机在线迁移方法的原理图;
图7是本发明实施例中基于时空相关的虚拟机在线迁移方法的工作流程示意图;
图8是本发明一较佳实施例的一种基于时空相关的虚拟机在线迁移系统的结构框图;
图9是图8中更新概率计算模块的子结构框图;
图10是图8中同步设置模块的子结构框图;
图11是图8中停机拷贝模块的子结构框图。
具体实施方式
如图1所示,本发明实施例提供一种基于时空相关的虚拟机在线迁移方法,所述可配置的虚拟机启动完整性维护的方法包括如下步骤:所述基于时空相关的虚拟机在线迁移方法包括如下步骤:
S1、在虚拟机内存迭代拷贝阶段建立内存页更新概率模型,根据当前内存页和相邻内存页的近期更新记录计算该内存页在下轮内存同步前被更新的概率;
可选地,如图2所示,所述步骤S1包括以下子步骤:
S11、建立内存页的更新记录表来保存内存页近期被源虚拟机更新的情况,并设置所有初始状态为0,建立内存页的同步位图来标记源虚拟机和目的虚拟机的内容是否相同,并设置所有初始状态为0;
具体的,为更新记录表分配N个字节大小的内存空间,每个字节存放相应内存页最近的更新记录,字节的每个bit表示该内存页在一个轮次内存同步过程中的更新情况,如果该内存页该轮次中被更新,则该bit置1,否则该bit置0。且由于1个字节包含8个bit,因此每个字节能够记载对应内存页最近8轮的更新情况。
为同步位图分配N个bit的内存空间,每个bit表示相应内存页待同步信息。如果源虚拟机和目的虚拟机的内容不一致,则该bit置1,如果源虚拟机和目的虚拟机的内容一致,则该bit置0。
S12、扫描内存页的同步位图,判断是否存在待同步的内存页;
S13、对于已被更新的待同步内存页,选择以它为中心的连续内存页作为参考内存页,根据更新记录表来计算所有参考内存页的更新因子;
S14、利用参考内存页的更新因子计算当前内存页的更新概率。
进一步的,如图3所示,所述步骤S12包括以下子步骤:
S121、拷贝源虚拟机内存镜像至目的物理机;
S122、判断迭代收敛状态,若迭代收敛,则暂停源虚拟机的运行,将虚拟机内存与磁盘中待迁移数据一次性拷贝到目的虚拟机,若迭代不收敛,则扫描内存页同步位图;
S123、若同步位图中扫描到待同步的内存页,则进入步骤S13,若未扫描到待同步的内存页,则直接进入步骤S23。
具体的,所述步骤S13中的更新因子在时间上符合更新轮次越近的更新记录对更新概率计算的影响越大,所述更新因子的计算公式如下:
Ut(i)=Ut-1(i)>>1 | (flag<<7)
Ct(i)=Ut(i)/(255-2max(7-t,0)),Ct(i)∈[0,1],
其中,Ut(i)为第i片内存页在第t轮迭代拷贝过程中的更新记录表值,Ut-1(i)为第i片内存页在第t-1轮迭代拷贝过程中的更新记录表值,flag为第t轮迭代拷贝中内存页的更新标志,当flag为1时表示内存页在第t轮迭代拷贝中被更新,flag为0时表示未更新,Ct(i)为第i片内存页在第t轮迭代拷贝时的更新因子。
具体的,在所述步骤S14中,选择以待同步内存页为中心的连续内存页作为参考内存页,对这些参考内存页的更新因子进行线性插值得到当前内存页的更新概率,插值系数符合空间上越接近的内存页其更新特征越相近。其中,所述更新概率的计算公式如下:
Set(i)|2≤i≤N-3={Mi-2, Mi-1, Mi, Mi+1, Mi+2},Set(i)为以待同步内存页Mi为中心的连续5片内存页作为参考内存页的集合;
对越界的参考内存页进行对称延拓:
Set(0)={M1, M0, M0, M1, M2},
Set(1)={M0, M0, M1, M2, M3},
Set(N-2)={MN-4, MN-3, MN-2, MN-1, MN-1},
Set(N-1)={MN-3, MN-2, MN-1, MN-1, MN-2},
计算Set(i)中所有内存页的更新因子,并通过五抽头低通滤波器{-1/8, 1/4, 3/4, 1/4, -1/8}对Set(i)的更新因子进行平滑滤波得到当前页的更新概率Pt(i)。
S2、根据所述更新概率与预定阈值的比较,判断该内存页在下轮内存同步前是否不会被虚拟机更新,如果是,则将该内存页拷贝至目的虚拟机并标记该内存页已被同步,同时更新同步位图,直至虚拟机本轮次被更新的内存页数目小于预定义的阈值或者迭代次数达到预定义阈值;
优选地,如图4所示,所述步骤S2包括以下子步骤:
S21、设置更新概率的基础概率阈值、一个轮次中内存页被更新的数目阈值以及迭代次数预定值;
S22、将所述更新概率Pt(i)与基础概率阈值进行比较,当所述更新概率Pt(i)小于基础概率阈值时,判断该内存页在下轮内存同步前不会被虚拟机更新,则将该内存页拷贝至目的虚拟机并标记该内存页已被同步;当所述更新概率Pt(i)大于基础概率阈值时,则不拷贝,并返回进行步骤S12;
S23、更新同步位图,记录本轮次中被更新内存页的数目,如果本轮次中被更新内存页的数目小于预定内存页被更新的数目阈值,或迭代次数达到预定值,则停止迭代过程,反之则返回进行步骤S12。
S3、暂停虚拟机的运行,将虚拟机内存与磁盘中待迁移数据一次性拷贝到目的虚拟机。
优选地,如图5所示,所述步骤S3包括以下子步骤:
S31、暂停源虚拟机,扫描同步位图,将剩下的所有待同步内存页数据采用XBZRLE编码方式进行压缩之后拷贝至目标机,目标机接收内存数据并进行解码,然后替换目的虚拟机相应内存页;
S32、将虚拟机的其他状态信息拷贝至目标机并加载目的虚拟机;
S33、将目的虚拟机的加载状态通知给源物理机。如果目的虚拟机成功加载那么源物理机释放源虚拟机资源,否则恢复源虚拟机。
如图6所示,图6是本发明实施例中虚拟机在线迁移方法的原理图,可以看出源虚拟机和目的虚拟机之间通过不断的迭代拷贝进行在线迁移,在每一次迭代拷贝中,都会重新计算待同步的内存页的更新概率,以此判断是否在本轮迭代拷贝中将其同步至目的虚拟机。
结合附图7对本发明实施例所述的基于时空相关的虚拟机在线迁移方法的工作流程进行说明,详细流程如下所示:
步骤1.1:建立内存页的更新记录表来保存内存页近期的更新情况,并设置所有初始状态为0;建立内存页的同步位图来标记源虚拟机和目的虚拟机的内容是否相同,并设置所有初始状态为0;然后进入步骤1.2。
步骤1.2:拷贝源虚拟机内存镜像至目标机;进入步骤1.3。
步骤1.3:判断迭代收敛条件,若迭代收敛,则直接进入步骤1.10,若迭代不收敛,则进入步骤1.4。
步骤1.4:扫描内存页同步位图,并记录内存同步位图中该轮次待同步的内存页数目,进入步骤1.5。
步骤1.5:判断是否存在进行更新的待同步内存页,若存在,则进入步骤1.6;若不存在,则进入步骤1.9。
步骤1.6:根据当前内存页和相邻内存页的近期更新记录计算该内存页在下轮内存同步前被更新的概率,进入步骤1.7。
步骤1.7:将更新概率与基础概率阈值进行比较,若更新概率小于基础概率阈值,则进入步骤1.8,若更新概率大于基础概率阈值,则直接进入步骤1.9;
步骤1.8:将待同步的内存页拷贝至目标机,进入步骤1.9。
步骤1.9:二次更新同步位图,记录本轮次被更新内存页的数目,如果本轮次被更新的内存页数目小于预定阈值或迭代次数达到预定值,则停止迭代过程,返回步骤1.3,如果本轮次被更新内存页的数目大于预定阈值或迭代次数未达到预定值,则返回进行步骤1.4。
步骤1.10:暂停源虚拟机并拷贝所有待同步的内存页至目标机。
本发明实施例提供一种基于时空相关的虚拟机在线迁移方法,首先通过在虚拟机内存迭代拷贝阶段建立内存页更新概率模型,根据当前内存页和相邻内存页的近期更新记录计算该内存页在下轮内存同步前被更新的概率;在内存同步过程中仅拷贝那些更新概率较小的内存页至目标机。与现有虚拟机在线迁移技术相比,本发明充分利用内存页访问具有时空相关性的特点预测待同步内存页在下轮内存同步前被更新的概率以确定是否拷贝该内存页,有效地减少内存冗余拷贝的次数,从而缩短虚拟机在线迁移的整体时间。
如图8所示,本发明实施例还提供一种基于时空相关的虚拟机在线迁移系统,所述基于时空相关的虚拟机在线迁移系统包括如下模块:
更新概率计算模块,用于在虚拟机内存迭代拷贝阶段建立内存页更新概率模型,根据当前内存页和相邻内存页的近期更新记录计算该内存页在下轮内存同步前被更新的概率;
同步设置模块,用于根据所述更新概率与预定阈值的比较,判断该内存页在下轮内存同步前是否不会被虚拟机更新,如果是,则将该内存页拷贝至目的虚拟机并标记该内存页已被同步,同时更新同步位图;直到虚拟机内存总量小于预定义的停机阈值;
停机拷贝模块,用于暂停虚拟机的运行,将虚拟机内存与磁盘中待迁移数据一次性拷贝到目的虚拟机。
可选地,如图9所示,所述更新概率计算模块包括以下单元:
建立概率模型单元,用于建立内存页的更新记录表来保存内存页近期被源虚拟机更新的情况,并设置所有初始状态为0,建立内存页的同步位图来标记源虚拟机和目的虚拟机的内容是否相同,并设置所有初始状态为0;
同步位图扫描单元,用于扫描内存页的同步位图,判断是否存在待同步的内存页;
更新因子计算单元,用于对已被更新的待同步内存页,选择以它为中心的连续内存页作为参考内存页,根据更新记录表来计算所有参考内存页的更新因子;
更新概率计算单元,用于利用参考内存页的更新因子计算当前内存页的更新概率。
可选地,如图10所示,所述同步设置模块包括以下单元:
阈值设置单元,用于设置更新概率的基础概率阈值、一个轮次中内存页被更新的数目阈值以及迭代次数阈值;
更新概率比较单元,用于将所述更新概率Pt(i)与基础概率阈值进行比较,当所述更新概率Pt(i)小于基础概率阈值时,判断该内存页在下轮内存同步前不会被虚拟机更新,则将该内存页拷贝至目的虚拟机并标记该内存页已被同步;当所述更新概率Pt(i)大于基础概率阈值时,则不拷贝,并启动同步位图扫描单元的功能;
同步位图更新单元,用于记录本轮次中被更新内存页的数目,如果本轮次中被更新内存页的数目小于预定内存页被更新的数目阈值,或迭代次数达到预定值,则停止迭代过程,如果本轮次中被更新内存页的数目大于预定内存页被更新的数目阈值,或迭代次数未达到预定值,则启动同步位图扫描单元的功能。
可选地,如图11所示,所述停机拷贝模块包括以下单元:
剩余数据拷贝单元,用于暂停源虚拟机,扫描同步位图,将剩下的所有待同步内存页数据采用XBZRLE编码方式进行压缩之后拷贝至目标机,目标机接收内存数据并进行解码,然后替换目的虚拟机相应内存页;
其他数据拷贝单元,用于将虚拟机的其他状态信息拷贝至目的目标机并加载目的虚拟机;
状态加载单元,用于将目的虚拟机的加载状态通知给源物理机。如果目的虚拟机成功加载那么源物理机释放源虚拟机资源,否则恢复源虚拟机。
本发明提供的基于时空相关的虚拟机在线迁移系统,通过在迭代拷贝中,计算待同步内存页的更新概率,判断是否在本轮迭代拷贝中将其同步至目的虚拟机,分利用内存页访问具有时空相关性的特点预测待同步内存页在下轮内存同步前被更新的概率以确定是否拷贝该内存页,减少了虚拟机在线迁移过程中产生的重复无效迁移数据,从而节约网络带宽、宿主机CPU、内存等资源。
以上装置实施例与方法实施例是一一对应的,装置实施例简略之处,参见方法实施例即可。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能性一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应超过本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机储存器、内存、只读存储器、电可编程ROM、电可檫除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其他形式的存储介质中。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

Claims (8)

1.一种基于时空相关的虚拟机在线迁移方法,其特征在于:所述基于时空相关的虚拟机在线迁移方法包括如下步骤:
S1、在虚拟机内存迭代拷贝阶段建立内存页更新概率模型,根据当前内存页和相邻内存页的近期更新记录计算该内存页在下轮内存同步前被更新的概率;
S2、根据所述更新概率与预定阈值的比较,判断该内存页在下轮内存同步前是否不会被虚拟机更新,如果是,则将该内存页拷贝至目标机并标记该内存页已被同步,同时更新同步位图;直到虚拟机内存总量小于预定义的停机阈值;
S3、暂停虚拟机的运行,将虚拟机内存与磁盘中待迁移数据一次性拷贝到目的虚拟机;
其中,步骤S1包括以下步骤:
S11、建立内存页的更新记录表来保存内存页近期被源虚拟机更新的情况,并设置所有初始状态为0,建立内存页的同步位图来标记源虚拟机和目的虚拟机的内容是否相同,并设置所有初始状态为0;
S12、扫描内存页的同步位图,判断是否存在待同步的内存页;
S13、对于已被更新的待同步内存页,选择以它为中心的连续内存页作为参考内存页,根据更新记录表来计算所有参考内存页的更新因子;
S14、利用参考内存页的更新因子计算当前内存页的更新概率。
2.根据权利要求1所述的基于时空相关的虚拟机在线迁移方法,其特征在于:更新因子在时间上符合更新轮次越接近的更新记录对更新概率计算的影响越大。
3.根据权利要求2所述的基于时空相关的虚拟机在线迁移方法,其特征在于:所述步骤S13中,更新因子的计算公式如下:
Ut(i)=Ut-1(i)>>1|(flag<<7)
Ct(i)=Ut(i)/(255-2max(7-t,0)),Ct(i)∈[0,1],
其中,Ut(i)为第i片内存页在第t轮迭代拷贝过程中的更新记录表值,Ut-1(i)为第i片内存页在第t-1轮迭代拷贝过程中的更新记录表值,flag为第t轮迭代拷贝中内存页的更新标志,当flag为1时表示内存页在第t轮迭代拷贝中被更新,flag为0时表示未更新,Ct(i)为第i片内存页在第t轮迭代拷贝时的更新因子。
4.根据权利要求3所述的基于时空相关的虚拟机在线迁移方法,其特征在于:选择以待同步内存页为中心的连续内存页作为参考内存页,对这些参考内存页的更新因子进行线性插值得到当前内存页的更新概率,插值系数符合空间上越接近的内存页其更新特征越相近。
5.根据权利要求4所述的基于时空相关的虚拟机在线迁移方法,其特征在于:所述步骤S14中,更新概率的计算公式如下:
Set(i)|2≤i≤N-3={Mi-2,Mi-1,Mi,Mi+1,Mi+2},Set(i)为以待同步内存页Mi为中心的连续5片内存页作为参考内存页的集合;
对越界的参考内存页进行对称延拓:
Set(0)={M1,M0,M0,M1,M2},
Set(1)={M0,M0,M1,M2,M3},
Set(N-2)={MN-4,MN-3,MN-2,MN-1,MN-1},
Set(N-1)={MN-3,MN-2,MN-1,MN-1,MN-2},
然后计算Set(i)中所有内存页的更新因子;并通过五抽头低通滤波器{-1/8,1/4,3/4,1/4,-1/8}对Set(i)的更新因子进行平滑滤波得到当前页的更新概率Pt(i)。
6.根据权利要求5所述的基于时空相关的虚拟机在线迁移方法,其特征在于:所述步骤S2包括以下子步骤:
S21、设置更新概率的基础概率阈值、一个轮次中内存页被更新的数目阈值以及迭代次数阈值;
S22、将所述更新概率Pt(i)与基础概率阈值进行比较,当所述更新概率Pt(i)小于基础概率阈值时,判断该内存页在下轮内存同步前不会被虚拟机更新,则将该内存页拷贝至目的虚拟机并标记该内存页已被同步;当所述更新概率Pt(i)大于基础概率阈值时,则不拷贝,并返回进行步骤S12;
S23、更新同步位图,记录本轮次中被更新内存页的数目,如果本轮次中被更新内存页的数目小于预定内存页被更新的数目阈值,或迭代次数达到预定值,则停止迭代过程,如果本轮次中被更新内存页的数目大于预定内存页被更新的数目阈值,或迭代次数未达到预定值,则返回进行步骤S12。
7.一种基于时空相关的虚拟机在线迁移系统,其特征在于:包括
更新概率计算模块,用于在虚拟机内存迭代拷贝阶段建立内存页更新概率模型,根据当前内存页和相邻内存页的近期更新记录计算该内存页在下轮内存同步前被更新的概率;
同步设置模块,用于根据所述更新概率与预定阈值的比较,判断该内存页在下轮内存同步前是否不会被虚拟机更新,如果是,则将该内存页拷贝至目的虚拟机并标记该内存页已被同步,同时更新同步位图;直到虚拟机内存总量小于预定义的停机阈值;
停机拷贝模块,用于暂停虚拟机的运行,将虚拟机内存与磁盘中待迁移数据一次性拷贝到目的虚拟机;
其中,所述更新概率计算模块包括:
建立概率模型单元,用于建立内存页的更新记录表来保存内存页近期被源虚拟机更新的情况,并设置所有初始状态为0,建立内存页的同步位图来标记源虚拟机和目的虚拟机的内容是否相同,并设置所有初始状态为0;
同步位图扫描单元,用于扫描内存页的同步位图,判断是否存在待同步的内存页;
更新因子计算单元,用于对已被更新的待同步内存页,选择以它为中心的连续内存页作为参考内存页,根据更新记录表来计算所有参考内存页的更新因子;
更新概率计算单元,用于利用参考内存页的更新因子计算当前内存页的更新概率。
8.根据权利要求7所述的基于时空相关的虚拟机在线迁移系统,其特征在于,所述同步设置模块包括
阈值设置单元,用于设置更新概率的基础概率阈值、一个轮次中内存页被更新的数目阈值以及迭代次数阈值;
更新概率比较单元,用于将所述更新概率Pt(i)与基础概率阈值进行比较,当所述更新概率Pt(i)小于基础概率阈值时,判断该内存页在下轮内存同步前不会被虚拟机更新,则将该内存页拷贝至目的虚拟机并标记该内存页已被同步;当所述更新概率Pt(i)大于基础概率阈值时,则不拷贝,并启动同步位图扫描单元的功能;
同步位图更新单元,用于记录本轮次中被更新内存页的数目,如果本轮次中被更新内存页的数目小于预定内存页被更新的数目阈值,或迭代次数达到预定值,则停止迭代过程,如果本轮次中被更新内存页的数目大于预定内存页被更新的数目阈值,或迭代次数未达到预定值,则启动同步位图扫描单元的功能。
CN201410447729.3A 2014-09-04 2014-09-04 基于时空相关的虚拟机在线迁移方法及系统 Active CN104346210B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410447729.3A CN104346210B (zh) 2014-09-04 2014-09-04 基于时空相关的虚拟机在线迁移方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410447729.3A CN104346210B (zh) 2014-09-04 2014-09-04 基于时空相关的虚拟机在线迁移方法及系统

Publications (2)

Publication Number Publication Date
CN104346210A CN104346210A (zh) 2015-02-11
CN104346210B true CN104346210B (zh) 2017-12-29

Family

ID=52501896

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410447729.3A Active CN104346210B (zh) 2014-09-04 2014-09-04 基于时空相关的虚拟机在线迁移方法及系统

Country Status (1)

Country Link
CN (1) CN104346210B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104899072B (zh) * 2015-05-05 2018-07-20 中国船舶重工集团公司第七0九研究所 基于虚拟化平台的细粒度资源调度系统及方法
CN106326301A (zh) * 2015-07-02 2017-01-11 富士通株式会社 信息处理装置及方法
CN108595670B (zh) * 2018-04-28 2021-05-14 金蝶蝶金云计算有限公司 一种数据存储方法、装置、计算机装置及存储介质
CN111638938B (zh) * 2020-04-23 2024-04-19 龙芯中科技术股份有限公司 虚拟机的迁移方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102136993A (zh) * 2010-07-29 2011-07-27 华为技术有限公司 一种数据迁移的方法、装置和系统
CN103677955A (zh) * 2013-12-04 2014-03-26 深圳清华大学研究院 基于Virtio驱动进行虚拟机内存在线迁移的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102136993A (zh) * 2010-07-29 2011-07-27 华为技术有限公司 一种数据迁移的方法、装置和系统
CN103677955A (zh) * 2013-12-04 2014-03-26 深圳清华大学研究院 基于Virtio驱动进行虚拟机内存在线迁移的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于脏页率预测的虚拟机动态迁移研究;邹潇;《中国优秀硕士学位论文全文数据库信息科技辑》;中国学术期刊电子杂志社;20130715(第07期);I137-18 *
基于预拷贝的虚拟机动态内存迁移机制改进;孙国飞 等;《计算机工程》;20110705;第37卷(第13期);36-39 *

Also Published As

Publication number Publication date
CN104346210A (zh) 2015-02-11

Similar Documents

Publication Publication Date Title
CN102821158B (zh) 一种实现虚拟机迁移的方法和云系统
JP5500256B2 (ja) ストレージシステム
CN105468473B (zh) 数据迁移方法及数据迁移装置
CN104166606B (zh) 文件备份方法和主存储设备
CN103631633B (zh) 虚拟机全系统在线迁移方法、装置与系统
CN102246152B (zh) 保存程序执行状态
CN107567696A (zh) 计算集群内的资源实例群组的自动扩展
US9274897B2 (en) Backup policy migration and image duplication
CN102622303B (zh) 一种内存过载控制的方法及装置
CN102137133B (zh) 内容分发的方法、系统及调度服务器
CN104346210B (zh) 基于时空相关的虚拟机在线迁移方法及系统
CN107357896A (zh) 数据库集群的扩容方法、装置、系统和数据库集群系统
CN107741875A (zh) 一种异构管理系统
CN106230986A (zh) 一种基于电力PaaS云平台的资源适配调度系统及方法
Chen et al. E2FS: an elastic storage system for cloud computing
CN111381928B (zh) 一种虚拟机迁移方法、云计算管理平台和存储介质
CN108369544A (zh) 计算系统中延期的服务器恢复
CN103885811B (zh) 虚拟机系统全系统在线迁移的方法、系统与装置
WO2011158300A1 (ja) 計算機システムおよびその更改方法
CN104040512A (zh) 存储空间的处理方法、装置及非易失性计算机可读存储介质
Gribaudo et al. Improving reliability and performances in large scale distributed applications with erasure codes and replication
US7792966B2 (en) Zone control weights
CN106961440A (zh) 基于企业级资源运行监控管理平台的方法
CN107528871A (zh) 存储系统中的数据分析
CN115982101B (zh) 基于多机房副本放置策略的机房数据迁移方法与装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant