一种虚拟机热迁移方法及其装置、虚拟机热迁移系统与流程

文档序号:33961538发布日期:2023-04-26 16:58阅读:39来源:国知局
一种虚拟机热迁移方法及其装置、虚拟机热迁移系统与流程

本发明涉及虚拟机,尤其涉及一种虚拟机热迁移方法及其装置、虚拟机热迁移系统。


背景技术:

1、作为云计算系统的基础技术,虚拟化技术已得到广泛的应用。虚拟化技术将物理资源抽象成软件或者硬件接口,给虚拟机操作系统提供执行环境,从而可以达到充分利用物理资源的目的。虚拟机热迁移技术是在虚拟机中业务不中断的前提下,从源端宿主机平滑地迁移到目的端宿主机,应用于系统软硬件升级、服务器群主机负载均衡、节能等场景下。

2、现有的热迁移过程中,主要工作是将待迁移的虚拟机内存从源端迁移到目的端。在迭代发送虚拟机内存阶段,待迁移的虚拟机也会不断的访问一些内存,从而会产生新的脏页。如果这些内存已经发送到目的端,则需要再次迁移这些内存。如果虚拟机内某个业务频繁的访问内存,则在迭代发送虚拟机内存阶段会耗费大量时间来多次迁移热点内存。


技术实现思路

1、本发明提供了一种虚拟机热迁移方法及其装置、虚拟机热迁移系统,减少在虚拟机迭代发送内存块阶段,多次迭代发送高脏页速率的热点内存块的频率。

2、第一方面,本发明提供了一种虚拟机热迁移方法,该虚拟机热迁移方法包括:实时监控待迁移的源虚拟机中每个内存块的脏页速率、以及源物理机与目的物理机之间的网络带宽;根据实时监控的网络带宽和每个内存块的脏页速率,设置并动态调整浮动阈值;标记脏页速率小于浮动阈值的内存块,组成第一待传送内存块表,并在动态调整浮动阈值后,动态更新第一待传送内存块表;将第一待传送内存块表中的内存块,从源物理机传送到目的物理机;标记脏页速率大于或等于浮动阈值的内存块,组成第二待传送内存块表,并在动态调整浮动阈值后,动态更新第二待传送内存块表;在第一待传送内存块表中没有内存块时,将第二待传送内存块表中的内存块从源物理机传送到目的物理机。

3、在上述的方案中,通过实时监控源虚拟机中每个内存块的脏页速率、以及网络带宽,动态调整浮动阈值,将脏页速率小于浮动阈值的内存块标记组成第一待传送内存块表,将脏页速率大于或等于浮动阈值的内存块标记组成第二待传送内存块表,并在浮动阈值调整之后实时更新第一待传送内存块表和第二待传送内存块表;在此过程中,先将第一待传送内存块表中的内存块从源物理机传送到目的物理机,并在第一待传送内存块表中没有内存块时,将第二待传送内存块表中的内存块从源物理机传送到目的物理机。相比现有技术,本技术实时动态的更新浮动阈值,并划分为第一待传送内存块表和第二待传送内存块表,先传送当前处于非热点的第一待传送内存块表中的内存块,之后再传送当前处于热点状态的第二待传送内存块表中的内存块。能够控制热点内存的迁移时机,减少在虚拟机迭代发送内存块阶段,多次迭代发送高脏页速率的热点内存块的频率,减少热迁移时间,提升热迁移速度提升客户体验。

4、在一个具体的实施方式中,根据实时监控的网络带宽和每个内存块的脏页速率,设置并动态调整浮动阈值,包括:根据实时监控的网络带宽,计算当前能够一次传送的最大数据量;根据最大数据量和每个内存块的脏页速率,设置并动态调整浮动阈值。便于采用量化的方式准确的确定和调整浮动阈值的大小。

5、在一个具体的实施方式中,根据实时监控的网络带宽和每个内存块的脏页速率,设置并动态调整浮动阈值,包括:根据实时监控的网络带宽,计算网络带宽的带宽变化率;判断带宽变化率是否大于带宽突变阈值;如果带宽变化率不大于带宽突变阈值,则保持浮动阈值不变;如果带宽变化率大于带宽突变阈值,则调整浮动阈值。在网络带宽的带宽变化率大于带宽突变阈值时,才启动调整浮动阈值的机制,能够优化启动调整浮动阈值的机制,从而在有必要调整浮动阈值时,及时调整浮动阈值,提高浮动阈值调整的时间恰当性和准确性。

6、在一个具体的实施方式中,根据实时监控的网络带宽和每个内存块的脏页速率,设置并动态调整浮动阈值,包括:根据实时监控的每个内存块的脏页速率,计算每个内存块的脏页速率变化率;判断是否存在内存块的脏页速率变化率,大于脏页变化率突变阈值;如果不存在内存块的脏页速率变化率大于脏页变化率突变阈值,则保持浮动阈值不变;如果存在内存块的脏页速率变化率大于脏页变化率突变阈值,则调整浮动阈值。只要存在内存块的脏页速率变化率大于脏页变化率突变阈值时,就说明该内存块可能需要在第一待传送内存块表与第二待传送内存块表之间移动,从而及时调整浮动阈值,将脏页速率变化率大于脏页变化率突变阈值的内存块在第一待传送内存块表与第二待传送内存块表之间移动,提高浮动阈值调整的时间恰当性和准确性。

7、在一个具体的实施方式中,根据实时监控的网络带宽和每个内存块的脏页速率,设置并动态调整浮动阈值,包括:根据实时监控的每个内存块的脏页速率,计算每个内存块的脏页速率变化率;统计脏页速率变化率大于脏页变化率突变阈值的内存块个数;判断内存块个数是否大于阈值个数;如果内存块个数不大于阈值个数,则保持浮动阈值不变;如果内存块个数大于阈值个数,则调整浮动阈值。只有在脏页速率变化率大于脏页变化率突变阈值的内存块的个数大于阈值个数时,才调整浮动阈值,减少调整浮动阈值的次数。

8、在一个具体的实施方式中,将第一待传送内存块表中的内存块从源物理机传送到目的物理机包括:根据脏页速率大小,给第一待传送内存块表中的内存块排序,并在动态调整浮动阈值之后,动态更新第一待传送内存块表中的内存块排序;从第一待传送内存块表中脏页速率最小的内存块开始,依次将第一待传送内存块中的内存块从源物理机传送到目的物理机。在传送第一待传送内存块表的内存块时,依然先传送脏页速率低的内存块,由于第一待传送内存块表中的脏页速率低的内存块,相比脏页速率高的内存块,存在更低的概率被源虚拟机再次写入操作访问,即在下次更新浮动阈值之后,脏页速率低的内存块相比脏页速率高的内存块,被从第一待传送内存块表移入到第二待传送内存块表的概率更低,从而能够进一步减少在虚拟机迭代发送内存块阶段,多次迭代发送高脏页速率的热点内存块的频率。

9、在一个具体的实施方式中,在第一待传送内存块表中没有内存块时,将第二待传送内存块表中的内存块从源物理机传送到目的物理机,包括:根据脏页速率大小,给第二待传送内存块表中的内存块排序,并在动态调整浮动阈值之后,动态更新第二待传送内存块表中的内存块排序;在第一待传送内存块表中没有内存块时,从第二待传送内存块表中脏页速率最小的内存块开始,依次将第二待传送内存块中的内存块从源物理机传送到目的物理机。在传送第二待传送内存块表的内存块时,依然先传送脏页速率低的内存块,由于第二待传送内存块表中的脏页速率低的内存块,相比脏页速率高的内存块,存在更低的概率被源虚拟机再次写入操作访问,即在下次更新浮动阈值之后,脏页速率低的内存块相比脏页速率高的内存块,被从第二待传送内存块表移入到第一待传送内存块表的概率更高,从而能够进一步减少在虚拟机迭代发送内存块阶段,多次迭代发送高脏页速率的热点内存块的频率。

10、在一个具体的实施方式中,该虚拟机热迁移方法还包括:实时监控源虚拟机中剩余未传送内存块的总数据量;在剩余未传送内存块的总数据量小于预设阈值时,将第一待传送内存块表和第二待传送内存块表合并为第三待传送内存块表;将第三待传送内存块表中的内存块,从源物理机传送到目的物理机。在剩余未传送内存块的总数据量较低时,说明源虚拟机的大部分内存块都已完成传送,则可以停止浮动阈值、第一待传送内存块表和第二待传送内存块表的更新,一起将剩余的内存块传送到目的物理机,在监控计算量和迁移效率之间动态均衡,提高热迁移的效率,同时减少监控计算量。

11、第二方面,本发明还提供了一种虚拟机热迁移装置,该虚拟机热迁移装置包括:监控模块、阈值调整模块、第一标记模块、迁移模块和第二标记模块。其中,监控模块用于实时监控待迁移的源虚拟机中每个内存块的脏页速率、以及源物理机与目的物理机之间的网络带宽。阈值调整模块用于根据实时监控的网络带宽和每个内存块的脏页速率,设置并动态调整浮动阈值。第一标记模块用于标记脏页速率小于浮动阈值的内存块,组成第一待传送内存块表,并在动态调整浮动阈值后,动态更新第一待传送内存块表。迁移模块用于将第一待传送内存块表中的内存块,从源物理机传送到目的物理机。第二标记模块用于标记脏页速率大于或等于浮动阈值的内存块,组成第二待传送内存块表,并在动态调整浮动阈值后,动态更新第二待传送内存块表。迁移模块还用于在第一待传送内存块表中没有内存块时,将第二待传送内存块表中的内存块从源物理机传送到目的物理机。

12、在上述的方案中,通过实时监控源虚拟机中每个内存块的脏页速率、以及网络带宽,动态调整浮动阈值,将脏页速率小于浮动阈值的内存块标记组成第一待传送内存块表,将脏页速率大于或等于浮动阈值的内存块标记组成第二待传送内存块表,并在浮动阈值调整之后实时更新第一待传送内存块表和第二待传送内存块表;在此过程中,先将第一待传送内存块表中的内存块从源物理机传送到目的物理机,并在第一待传送内存块表中没有内存块时,将第二待传送内存块表中的内存块从源物理机传送到目的物理机。相比现有技术,本技术实时动态的更新浮动阈值,并划分为第一待传送内存块表和第二待传送内存块表,先传送当前处于非热点的第一待传送内存块表中的内存块,之后再传送当前处于热点状态的第二待传送内存块表中的内存块。能够控制热点内存的迁移时机,减少在虚拟机迭代发送内存块阶段,多次迭代发送高脏页速率的热点内存块的频率,减少热迁移时间,提升热迁移速度提升客户体验。

13、在一个具体的实施方式中,阈值调整模块包括:计算模块和确定模块。其中,计算模块用于根据实时监控的网络带宽,计算当前能够一次传送的最大数据量;确定模块用于根据最大数据量和每个内存块的脏页速率,设置并动态调整浮动阈值。便于采用量化的方式准确的确定和调整浮动阈值的大小。

14、在一个具体的实施方式中,阈值调整模块包括:计算模块、判断模块和确定模块。其中,计算模块用于根据实时监控的所述网络带宽,计算网络带宽的带宽变化率。判断模块用于判断所述带宽变化率是否大于带宽突变阈值。确定模块用于在所述带宽变化率不大于所述带宽突变阈值时,保持所述浮动阈值不变;确定模块还用于在所述带宽变化率大于所述带宽突变阈值时,调整所述浮动阈值。在网络带宽的带宽变化率大于带宽突变阈值时,才启动调整浮动阈值的机制,能够优化启动调整浮动阈值的机制,从而在有必要调整浮动阈值时,及时调整浮动阈值,提高浮动阈值调整的时间恰当性和准确性。

15、在一个具体的实施方式中,阈值调整模块包括:计算模块、判断模块和确定模块。其中,计算模块用于根据实时监控的每个内存块的脏页速率,计算每个内存块的脏页速率变化率。判断模块用于判断是否存在内存块的脏页速率变化率,大于脏页变化率突变阈值。确定模块用于在判断模块的判断结果为不存在内存块的脏页速率变化率大于脏页变化率突变阈值时,保持浮动阈值不变;确定模块还用于在内存块的脏页速率变化率大于脏页变化率突变阈值时,调整浮动阈值。只要存在内存块的脏页速率变化率大于脏页变化率突变阈值时,就说明该内存块可能需要在第一待传送内存块表与第二待传送内存块表之间移动,从而及时调整浮动阈值,将脏页速率变化率大于脏页变化率突变阈值的内存块在第一待传送内存块表与第二待传送内存块表之间移动,提高浮动阈值调整的时间恰当性和准确性。

16、在一个具体的实施方式中,阈值调整模块包括:计算模块、统计模块、判断模块和确定模块。其中,计算模块用于根据实时监控的每个内存块的脏页速率,计算每个内存块的脏页速率变化率。统计模块用于统计脏页速率变化率大于脏页变化率突变阈值的内存块个数。判断模块用于判断内存块个数是否大于阈值个数。确定模块用于在内存块个数不大于阈值个数时,保持浮动阈值不变;确定模块还用于在内存块个数大于阈值个数时,调整浮动阈值。只有在脏页速率变化率大于脏页变化率突变阈值的内存块的个数大于阈值个数时,才调整浮动阈值,减少调整浮动阈值的次数。

17、在一个具体的实施方式中,迁移模块包括:第一排序单元和第一迁移单元。第一排序单元用于根据脏页速率大小,给第一待传送内存块表中的内存块排序,并在动态调整浮动阈值之后,动态更新第一待传送内存块表中的内存块排序。第一迁移单元用于从第一待传送内存块表中脏页速率最小的内存块开始,依次将第一待传送内存块中的内存块从源物理机传送到目的物理机。在传送第一待传送内存块表的内存块时,依然先传送脏页速率低的内存块,由于第一待传送内存块表中的脏页速率低的内存块,相比脏页速率高的内存块,存在更低的概率被源虚拟机再次写入操作访问,即在下次更新浮动阈值之后,脏页速率低的内存块相比脏页速率高的内存块,被从第一待传送内存块表移入到第二待传送内存块表的概率更低,从而能够进一步减少在虚拟机迭代发送内存块阶段,多次迭代发送高脏页速率的热点内存块的频率。

18、在一个具体的实施方式中,迁移模块还包括:第二排序单元和第二迁移单元。其中,第二排序单元用于根据脏页速率大小,给第二待传送内存块表中的内存块排序,并在动态调整浮动阈值之后,动态更新第二待传送内存块表中的内存块排序。第二迁移单元用于在第一待传送内存块表中没有内存块时,从第二待传送内存块表中脏页速率最小的内存块开始,依次将第二待传送内存块中的内存块从源物理机传送到目的物理机。在传送第二待传送内存块表的内存块时,依然先传送脏页速率低的内存块,由于第二待传送内存块表中的脏页速率低的内存块,相比脏页速率高的内存块,存在更低的概率被源虚拟机再次写入操作访问,即在下次更新浮动阈值之后,脏页速率低的内存块相比脏页速率高的内存块,被从第二待传送内存块表移入到第一待传送内存块表的概率更高,从而能够进一步减少在虚拟机迭代发送内存块阶段,多次迭代发送高脏页速率的热点内存块的频率。

19、在一个具体的实施方式中,监控模块还用于实时监控源虚拟机中剩余未传送内存块的总数据量。虚拟机热迁移装置还包括合并模块,合并模块用于在剩余未传送内存块的总数据量小于预设阈值时,将第一待传送内存块表和第二待传送内存块表合并为第三待传送内存块表。迁移模块还用于将第三待传送内存块表中的内存块,从源物理机传送到目的物理机。在剩余未传送内存块的总数据量较低时,说明源虚拟机的大部分内存块都已完成传送,则可以停止浮动阈值、第一待传送内存块表和第二待传送内存块表的更新,一起将剩余的内存块传送到目的物理机,在监控计算量和迁移效率之间动态均衡,提高热迁移的效率,同时减少监控计算量。

20、第三方面,本发明还提供了一种虚拟机热迁移系统,该虚拟机热迁移系统包括:源物理机、目的物理机、以及上述任意一种虚拟机热迁移装置,其中,在源物理机上运行有待迁移的源虚拟机。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1