本发明专利技术提供一种虚拟机在线迁移方法,根据对虚拟机内存页面与磁盘块的更新热度来设置其迁移优先级,对于待迁移的虚拟机内存页面与磁盘块,根据其迁移优先级从高到低的顺序进行迁移,将其中的数据拷贝到目标端,直到虚拟机内存与磁盘中待迁移数据总量小于预定义的停机阈值;暂停虚拟机的运行,将虚拟机内存与磁盘中待迁移数据一次性拷贝到目标端。该方法可以减少虚拟机在线迁移过程中产生的无效迁移数据,从而节约网络带宽、宿主机CPU、内存等资源,而且还能及时发现不可完成或难以在合理时间内完成的虚拟机在线迁移操作,以便用户或管理员采取相应的措施,改善了云计算环境下资源利用率和云服务的质量。
【技术实现步骤摘要】
虚拟机在线迁移方法与系统
本专利技术涉及云计算技术,尤其涉及虚拟机在线迁移方法。
技术介绍
虚拟机在线迁移是云计算资源调度的重要支撑机制。现有的虚拟机广泛采用预拷贝技术(PreCopy)实现在线迁移,通过三轮数据拷贝来完成虚拟机内存与磁盘数据的迁移。第一轮称为“全拷贝”阶段,即将虚拟机内存与磁盘数据从头到尾拷贝到迁移目标端;第二轮称为“增量拷贝”阶段,即在“全拷贝”的基础上拷贝那些被修改更新了的内存页面和磁盘块到迁移目标端,直至剩余的内存页面与磁盘块的数据量小于预定义的阈值(有时也可以称为停机阈值);第三轮称为“停机拷贝”阶段,即通过“增量拷贝”使得剩余的待迁移数据量小于一定的阈值后,暂停虚拟机的运行,一次性地将剩余数据全部拷贝到迁移目标端。在现有的虚拟机在线迁移技术中,第一轮与第二轮数据拷贝会不加区分地从头到尾拷贝待迁移的数据,这就会造成那些更新频率较高的内存页面或磁盘块被多次拷贝到迁移目标端,而同一个内存页面或磁盘块的多次迁移数据拷贝仅有最后一次是最新的有效数据,之前的数据拷贝都会被逐步覆盖掉,因此可以说是“无效的迁移数据”。现有的虚拟机在线迁移技术造成了大量的无效迁移数据,而且虚拟机内存页面与磁盘块的更新频率越高则无效迁移数据越多。在云计算环境下,大量的无效数据迁移操作会浪费网络带宽、CPU、内存等共享资源,影响云服务的质量与资源利用率。此外,如果被迁移虚拟机的内存与磁盘的更新数据量长时间不收敛,一方面造成迁移完成时间的不可预测,另一方面产生大量的无效的迁移数据,而在现有的虚拟机在线迁移技术中不能及时发现这种情况进而进行有效干预。
技术实现思路
因此,本专利技术的目的在于克服上述现有技术的缺陷,提供一种虚拟机在线迁移方法。本专利技术的目的是通过以下技术方案实现的:一方面,本专利技术提供了一种虚拟机在线迁移方法,包括:步骤1,对于待迁移的虚拟机内存页面与磁盘块,根据其迁移优先级从高到低的顺序进行迁移,将其中的数据拷贝到目标端,直到虚拟机内存与磁盘中待迁移数据总量小于预定义的停机阈值;其中,虚拟机内存页面与磁盘块的迁移优先级是根据对虚拟机内存页面与磁盘块的更新热度来设置的,更新热度越低,迁移优先级越高;步骤2,暂停虚拟机的运行,将虚拟机内存与磁盘中待迁移数据一次性拷贝到目标端。上述方法中,所述步骤1还可包括随着虚拟机内存页面/磁盘块的更新热度的改变来动态调整虚拟机内存页面/磁盘块的迁移优先级。上述方法中,所述步骤1还可包括定期统计最近一段历史时间内的虚拟机内存页面/磁盘块更新频率,并根据最近一段历史时间内的虚拟机内存页面/磁盘块更新频率统计数据来设置虚拟机内存页面/磁盘块的更新热度。上述方法中,所述更新热度可以通过下列步骤来确定:对于一个虚拟机内存页面/磁盘块,每个数据迁移周期记录一次该虚拟机内存页面/磁盘块的更新情况,如果该内存页面/磁盘块被更新过,就记为1,否则记为0;对最近n个数据迁移周期所记录的该虚拟机内存页面/磁盘块的更新情况进行求和,并将所得总和作为该内存页面/磁盘块的当前的更新热度;其中数据迁移周期为虚拟机在线迁移过程中的连续数据拷贝时间。上述方法中,所述步骤1还可包括在每个数据迁移周期开始前重新计算虚拟机内存页面与磁盘块的更新热度以及基于更新热度来调整虚拟机内存页面与磁盘块的迁移优先级。上述方法中,虚拟机磁盘块的迁移优先级可以被设置为高于虚拟机内存页面的迁移优先级,而每个磁盘块/内存页面初始化为相同的迁移优先级。上述方法中,所述步骤1还可包括:实时检测虚拟机是否存在更新热点数据集,所述更新热点数据集指一段时间内其更新热度持续较高的虚拟机内存页面或磁盘块组成的集合;以及检测该更新热点数据集的数据量总和是否高于预先定义的停机阈值,如果超过停机阈值,则暂停更新热点数据集中的数据块的迁移。上述方法中,所述步骤1还可包括基于对虚拟机迁移过程中剩余待迁移数据总量的收敛趋势的预测,判断是否能在合理时间内完成虚拟机在线迁移;如果判断到不能在合理时间内完成虚拟机在线迁移操作,则提示用户或管理员降低虚拟机中的负载或放弃本次迁移操作。上述方法中,对虚拟机迁移过程中剩余待迁移数据总量的收敛趋势的预测可包括:记录每个数据迁移周期结束后的剩余待迁移数据总量;查看该序列是否大体上符合单调递减的趋势,如果是,则预测结果为可收敛;否则为不收敛。又一方面,本专利技术提供了一种虚拟机在线迁移系统,包括:迭代拷贝装置,用于对于待迁移的虚拟机内存页面与磁盘块,根据其迁移优先级从高到低的顺序进行迁移,将其中的数据拷贝到目标端,直到虚拟机内存与磁盘中待迁移数据总量小于预定义的停机阈值;其中,虚拟机内存页面与磁盘块的迁移优先级是根据对虚拟机内存页面与磁盘块的更新热度来设置的,更新热度越低,迁移优先级越高;停机拷贝装置,用于在虚拟机内存与磁盘中待迁移数据总量小于预定义的停机阈值时暂停虚拟机的运行,将虚拟机内存与磁盘中待迁移数据一次性拷贝到目标端。与现有技术相比,本专利技术的优点在于:大量减少了虚拟机在线迁移过程中产生的无效迁移数据,从而节约网络带宽、宿主机CPU、内存等资源,而且还能及时发现不可完成或难以在合理时间内完成的虚拟机在线迁移操作,以便用户或管理员采取相应的措施,避免无休止的迁移操作等待,改善了云计算环境下资源利用率和云服务的质量。附图说明以下参照附图对本专利技术实施例作进一步说明,其中:图1为根据本专利技术实施例的用于预测虚拟机内存页面/磁盘块更新热度的滑动历史时间窗口的示意图;图2为根据本专利技术实施例的虚拟机在线迁移方法中迭代数据拷贝阶段的流程示意图。具体实施方式为了使本专利技术的目的,技术方案及优点更加清楚明白,以下结合附图通过具体实施例对本专利技术进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。在上文所述的传统的虚拟机在线迁移方法中,更新频率(也可以称为更新热度)较高的内存页面或磁盘块被多次拷贝到迁移目标端,而同一个内存页面或磁盘块的多次迁移数据拷贝仅有最后一次是最新的有效数据,之前的数据拷贝都会被逐步覆盖掉,因而产生无效迁移数据。虚拟机内存页面与磁盘块的更新频率越高则产生的无效迁移数据越多。在本专利技术的一个实施例中,提供了一种虚拟机在线迁移方法。该方法基于虚拟机内存页面与磁盘块的更新热度来设置虚拟机内存页面与磁盘块的迁移优先级,更新热度越低,迁移优先级越高,并且按照迁移优先级从高到低的顺序迁移虚拟机内存页面与磁盘块。该方法使得更新热度较高的内存页面与磁盘块的迁移优先级较低,从而减少此类页面的迁移次数,进而减少无效迁移数据。该虚拟机在线迁移方法可包括迭代数据拷贝和停机数据拷贝两个阶段。在迭代数据拷贝阶段,对于待迁移的虚拟机内存页面与磁盘块,根据其迁移优先级从高到低的顺序进行迁移,将其中的数据拷贝到目标端,直到虚拟机内存与磁盘中待迁移数据总量小于预定义的停机阈值时进入停机数据拷贝阶段。在停机数据拷贝阶段,暂停虚拟机的运行,将虚拟机内存与磁盘中待迁移数据一次性拷贝到目标端。在讨论该方法的各阶段具体细节之前,首先介绍下面几个概念:(1)数据迁移周期:指虚拟机在线迁移过程中的连续数据拷贝时间。由于虚拟机在线迁移往往受到具体的网络带宽方面的配额限制,以合理共享网络带宽资源,因此进行数据拷贝时一次性发往网络接口的数据量不本文档来自技高网...
【技术保护点】
一种虚拟机在线迁移方法,包括:步骤1,对于待迁移的虚拟机内存页面与磁盘块,根据其迁移优先级从高到低的顺序进行迁移,将其中的数据拷贝到目标端,直到虚拟机内存与磁盘中待迁移数据总量小于预定义的停机阈值;其中,虚拟机内存页面与磁盘块的迁移优先级是根据对虚拟机内存页面与磁盘块的更新热度来设置的,更新热度越低,迁移优先级越高;步骤2,暂停虚拟机的运行,将虚拟机内存与磁盘中待迁移数据一次性拷贝到目标端。
【技术特征摘要】
1.一种虚拟机在线迁移方法,包括:步骤1,对于待迁移的虚拟机内存页面与磁盘块,根据其迁移优先级从高到低的顺序进行迁移,将其中的数据拷贝到目标端,直到虚拟机内存与磁盘中待迁移数据总量小于预定义的停机阈值;其中,虚拟机内存页面与磁盘块的迁移优先级是根据对虚拟机内存页面与磁盘块的更新热度来设置的,更新热度越低,迁移优先级越高;步骤2,暂停虚拟机的运行,将虚拟机内存与磁盘中待迁移数据一次性拷贝到目标端;其中,所述步骤1还包括基于对虚拟机迁移过程中剩余待迁移数据总量的收敛趋势的预测,判断是否能在合理时间内完成虚拟机在线迁移;如果判断到不能在合理时间内完成虚拟机在线迁移操作,则提示用户或管理员降低虚拟机中的负载或放弃本次迁移操作;其中对虚拟机迁移过程中剩余待迁移数据总量的收敛趋势的预测包括:记录每个数据迁移周期结束后的剩余待迁移数据总量;查看所记录的剩余待迁移数据总量的序列是否大体上符合单调递减的趋势,如果是,则预测结果为可收敛;否则为不收敛。2.根据权利要求1所述的方法,所述步骤1还包括随着虚拟机内存页面/磁盘块的更新热度的改变来动态调整虚拟机内存页面/磁盘块的迁移优先级。3.根据权利要求1或2所述的方法,所述步骤1还包括定期统计最近一段历史时间内的虚拟机内存页面/磁盘块更新频率,并根据最近一段历史时间内的虚拟机内存页面/磁盘块更新频率统计数据来设置虚拟机内存页面/磁盘块的更新热度。4.根据权利要求3所述的方法,所述更新热度是通过下列步骤来确定:对于一个虚拟机内存页面/磁盘块,每个数据迁移周期记录一次该虚拟机内存页面/磁盘块的更新情况,如果该内存页面/磁盘块被更新过,就记为1,否则记为0;对最近n个数据迁移周期所记录的该虚拟机内存页面/磁盘块的更新情况进行求和,并将所得总和作为该内存页面/磁盘块的当前的更新热度;其中数据迁移周期为虚拟机在...
【专利技术属性】
技术研发人员:唐宏伟,赵晓芳,
申请(专利权)人:中国科学院计算技术研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。