用于迁移虚拟机的方法和装置制造方法及图纸

技术编号:17304303 阅读:31 留言:0更新日期:2018-02-18 22:12
本申请实施例公开了用于迁移虚拟机的方法和装置。该方法的一具体实施方式包括:调用目标操作系统的目标内核模块,其中,该目标操作系统用于控制运行有虚拟机的目标电子设备,该目标内核模块用于执行针对该目标电子设备的宕机操作;根据该目标电子设备的电子设备运行状态信息,确定是否执行宕机操作;响应于确定不执行该宕机操作,在满足预设触发条件的情况下,确定是否迁移该虚拟机;如果是,则迁移该虚拟机。该实施方式丰富了虚拟机迁移方式。

Methods and devices for migrating virtual machines

A method and device for migrating a virtual machine is disclosed in the present application embodiment. One embodiment of the method includes: the target kernel module, the target operating system in which the target operating system for electronic equipment control and operation target virtual machine, the target kernel module is used to perform aiming at the target of electronic equipment downtime operation; according to the electronic equipment running status information of the target to determine the electronic equipment. Whether to perform downtime operation; in response to uncertainty in the execution of the downtime operation, meet the preset trigger conditions, determine whether the migration of virtual machine; if it is, then the virtual machine migration. The implementation method enriches the migration mode of virtual machine.

【技术实现步骤摘要】
用于迁移虚拟机的方法和装置
本申请实施例涉及计算机
,具体涉及虚拟化
,尤其涉及用于迁移虚拟机的方法和装置。
技术介绍
随着计算机技术的发展,利用计算机技术和互联网技术提供的服务也越来越丰富。利用虚拟化技术,可以在物理机(电子设备)上虚拟出逻辑上的计算机,即虚拟机。物理机如果宕机,将会导致运行于的其上的虚拟机宕机。现有的迁移虚拟机的方式,通常是对物理机运行时的关键指标(如处理器利用率)进行监控,当这些指标中的一项或多项超过一定阈值之后,会触发报警。然后,利用虚拟机迁移技术,将虚拟机迁移至新的运行状态良好的物理机。
技术实现思路
本申请实施例提出了用于迁移虚拟机的方法和装置。第一方面,本申请实施例提供了一种用于迁移虚拟机的方法,上述方法包括:调用目标操作系统的目标内核模块,其中,上述目标操作系统用于控制运行有虚拟机的目标电子设备,上述目标内核模块用于执行针对上述目标电子设备的宕机操作;根据上述目标电子设备的电子设备运行状态信息,确定是否执行宕机操作;响应于确定不执行上述宕机操作,在满足预设触发条件的情况下,确定是否迁移上述虚拟机;如果是,则迁移上述虚拟机。在一些实施例中,上述调用目标操作系统的目标内核模块,包括:检测上述目标操作系统的内核是否发生预定义异常事件;响应于检测到发生上述预定义异常事件,调用上述目标内核模块。在一些实施例中,上述预设触发条件为在预先设置的标识集合中存在与上述预定义异常事件的异常事件标识匹配的标识。在一些实施例中,上述目标电子设备包括至少两个处理器,上述电子设备运行状态信息包括处理器异常比值,上述处理器异常比值为上述预定义异常事件所涉及的处理器的数目与上述目标电子设备的处理器总数目的比值;以及上述根据上述目标电子设备的电子设备运行状态信息,确定是否执行宕机操作,包括:确定上述处理器异常比值是否大于预设比值阈值;响应于确定上述处理器异常比值大于上述预设比值阈值,确定执行上述宕机操作。在一些实施例中,上述确定是否迁移上述虚拟机,包括:确定上述虚拟机所运行于的处理器是否是上述预定义异常事件所涉及的处理器;响应于确定上述虚拟机所运行于的处理器是上述预定义异常事件所涉及的处理器,确定不迁移上述虚拟机。在一些实施例中,上述确定是否迁移上述虚拟机,还包括:响应于确定上述虚拟机所运行于的处理器不是上述预定义异常事件所涉及的处理器,执行用于降低上述虚拟机的迁移难度的迁移预操作。在一些实施例中,上述迁移预操作包括以下至少一项:调整上述虚拟机的调度优先级,修改上述虚拟机与上述虚拟机所运行于的处理器的亲和性信息。在一些实施例中,上述确定是否迁移上述虚拟机,还包括:根据执行上述迁移预操作之后的上述虚拟机的虚拟机运行状态信息,确定是否迁移上述虚拟机。在一些实施例中,在上述迁移上述虚拟机之后,上述方法还包括:响应于确定迁移上述虚拟机结束,生成迁移结果。在一些实施例中,上述上述确定是否迁移上述虚拟机,包括:并发执行上述确定是否迁移上述虚拟机和等待操作,其中,上述等待操作包括:将确定不执行上述宕机操作的时间确定为开始时间;确定当前时间与上述开始时间之间的等待时长是否大于预设时长阈值;响应于确定上述等待时长大于上述预设时长阈值,执行宕机操作。在一些实施例中,上述等待线程或上述等待线程还用于:响应于确定上述等待时长不大于上述预设时长阈值,将上述开始时间确定为初始的触发时间,执行以下确定步骤:在上述触发时间,确定上述迁移结果是否生成;响应于确定上述迁移结果生成,执行宕机操作;响应于确定上述迁移结果未生成,用上述触发时间与第一预设长的和更新上述触发时间,继续执行上述确定步骤。在一些实施例中,第一内核模块、第二内核模块和用户态进程之间通过共享内存的方式进行通信,其中:上述第一内核模块用于执行上述根据上述目标电子设备的电子设备运行状态信息,确定是否执行宕机操作所;上述第二内核模块用于执行响应于确定不执行上述宕机操作,在满足预设触发条件的情况下,确定是否迁移上述虚拟机;上述用户态进程用于执行迁移上述虚拟机。第二方面,本申请实施例提供了一种用于迁移虚拟机的装置,上述装置包括:调用单元,用于调用目标操作系统的目标内核模块,其中,上述目标操作系统用于控制运行有虚拟机的目标电子设备,上述目标内核模块用于执行针对上述目标电子设备的宕机操作;第一确定单元,用于根据上述目标电子设备的电子设备运行状态信息,确定是否执行宕机操作;第二确定单元,用于响应于确定不执行上述宕机操作,在满足预设触发条件的情况下,确定是否迁移上述虚拟机;迁移单元,用于响应于确定迁移上述虚拟机,迁移上述虚拟机。在一些实施例中,上述调用单元,还用于:检测上述目标操作系统的内核是否发生预定义异常事件;响应于检测到发生上述预定义异常事件,调用上述目标内核模块。在一些实施例中,上述预设触发条件为在预先设置的标识集合中存在与上述预定义异常事件的异常事件标识匹配的标识。在一些实施例中,上述目标电子设备包括至少两个处理器,上述电子设备运行状态信息包括处理器异常比值,上述处理器异常比值为上述预定义异常事件所涉及的处理器的数目与上述目标电子设备的处理器总数目的比值;以及第二确定单元,还用于:确定上述处理器异常比值是否大于预设比值阈值;响应于确定上述处理器异常比值大于上述预设比值阈值,确定执行上述宕机操作。在一些实施例中,上述第三确定单元,还用于:确定上述虚拟机所运行于的处理器是否是上述预定义异常事件所涉及的处理器;响应于确定上述虚拟机所运行于的处理器是上述预定义异常事件所涉及的处理器,确定不迁移上述虚拟机。在一些实施例中,上述第三确定单元,还用于:响应于确定上述虚拟机所运行于的处理器不是上述预定义异常事件所涉及的处理器,执行用于降低上述虚拟机的迁移难度的迁移预操作。在一些实施例中,上述迁移预操作包括以下至少一项:调整上述虚拟机的调度优先级,修改上述虚拟机与上述虚拟机所运行于的处理器的亲和性信息。在一些实施例中,上述第三确定单元,还用于:根据执行上述迁移预操作之后的上述虚拟机的虚拟机运行状态信息,确定是否迁移上述虚拟机。在一些实施例中,上述装置还包括生成单元,用于:响应于确定迁移上述虚拟机结束,生成迁移结果。在一些实施例中,上述第二确定单元,用于:并发执行上述确定是否迁移上述虚拟机和等待操作,其中,上述等待操作包括:将确定不执行上述宕机操作的时间确定为开始时间;确定当前时间与上述开始时间之间的等待时长是否大于预设时长阈值;响应于确定上述等待时长大于上述预设时长阈值,执行宕机操作。在一些实施例中,上述等待操作还包括:响应于确定上述等待时长不大于上述预设时长阈值,将上述开始时间确定为初始的触发时间,执行以下确定步骤:在上述触发时间,确定上述迁移结果是否生成;响应于确定上述迁移结果生成,执行宕机操作;响应于确定上述迁移结果未生成,用上述触发时间与第一预设长的和更新上述触发时间,继续执行上述确定步骤。在一些实施例中,第一内核模块、第二内核模块和用户态进程之间通过共享内存的方式进行通信,其中:上述第一内核模块用于执行上述根据上述目标电子设备的电子设备运行状态信息,确定是否执行宕机操作;上述第二内核模块用于执行响应于确定不执行上述宕机操作,在满足预设触发条件的情况下,确定是否迁移上本文档来自技高网...
用于迁移虚拟机的方法和装置

【技术保护点】
一种用于迁移虚拟机的方法,包括:调用目标操作系统的目标内核模块,其中,所述目标操作系统用于控制运行有虚拟机的目标电子设备,所述目标内核模块用于执行针对所述目标电子设备的宕机操作;根据所述目标电子设备的电子设备运行状态信息,确定是否执行宕机操作;响应于确定不执行所述宕机操作,在满足预设触发条件的情况下,确定是否迁移所述虚拟机;如果是,则迁移所述虚拟机。

【技术特征摘要】
1.一种用于迁移虚拟机的方法,包括:调用目标操作系统的目标内核模块,其中,所述目标操作系统用于控制运行有虚拟机的目标电子设备,所述目标内核模块用于执行针对所述目标电子设备的宕机操作;根据所述目标电子设备的电子设备运行状态信息,确定是否执行宕机操作;响应于确定不执行所述宕机操作,在满足预设触发条件的情况下,确定是否迁移所述虚拟机;如果是,则迁移所述虚拟机。2.根据权利要求1所述的方法,其中,所述调用目标操作系统的目标内核模块,包括:检测所述目标操作系统的内核是否发生预定义异常事件;响应于检测到发生所述预定义异常事件,调用所述目标内核模块。3.根据权利要求2所述的方法,其中,所述预设触发条件为在预先设置的标识集合中存在与所述预定义异常事件的异常事件标识匹配的标识。4.根据权利要求2所述的方法,其中,所述目标电子设备包括至少两个处理器,所述电子设备运行状态信息包括处理器异常比值,所述处理器异常比值为所述预定义异常事件所涉及的处理器的数目与所述目标电子设备的处理器总数目的比值;以及所述根据所述目标电子设备的电子设备运行状态信息,确定是否执行宕机操作,包括:确定所述处理器异常比值是否大于预设比值阈值;响应于确定所述处理器异常比值大于所述预设比值阈值,确定执行所述宕机操作。5.根据权利要求2所述的方法,其中,所述确定是否迁移所述虚拟机,包括:确定所述虚拟机所运行于的处理器是否是所述预定义异常事件所涉及的处理器;响应于确定所述虚拟机所运行于的处理器是所述预定义异常事件所涉及的处理器,确定不迁移所述虚拟机。6.根据权利要求5所述的方法,其中,所述确定是否迁移所述虚拟机,还包括:响应于确定所述虚拟机所运行于的处理器不是所述预定义异常事件所涉及的处理器,执行用于降低所述虚拟机的迁移难度的迁移预操作。7.根据权利要求6所述的方法,其中,所述迁移预操作包括以下至少一项:调整所述虚拟机的调度优先级,修改所述虚拟机与所述虚拟机所运行于的处理器的亲和性信息。8.根据权利要求7所述的方法,所述确定是否迁移所述虚拟机,还包括:根据执行所述迁移预操作之后的所述虚拟机的虚拟机运行状态信息,确定是否迁移所述虚拟机。9.根据权利要求1-8中任一项所述的方法,其中,在所述迁移所述虚拟机之后,所述方法还包括:响应于确定迁移所述虚拟机结束,生成迁移结果。10.根据权利要求9所述的方法,其中,所述确定是否迁移所述虚拟机,包括:并发执行所述确定是否迁移所述虚拟机和等待操作,其中,所述等待操作包括:将确定不执行所述宕机操作的时间确定为开始时间;确...

【专利技术属性】
技术研发人员:谢永吉
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京,11

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

1