一种虚拟机热升级方法、装置、设备以及存储介质制造方法及图纸

技术编号:30437553 阅读:19 留言:0更新日期:2021-10-24 17:40
本公开提供了一种虚拟机热升级方法、装置、设备以及存储介质,针对待升级虚拟机,创建目标虚拟机,将所述待升级虚拟机的第一中断描述符结构和所述目标虚拟机的第二中断描述符结构分别从内核态切换到用户态,并将所述第二中断描述符结构的中断描述符结构地址指向所述第一中断描述符结构的中断描述符结构地址,以使所述目标虚拟机继承所述待升级虚拟机的中断描述符信息,进而实现所述待升级虚拟机的热升级,可以有效避免虚拟机热升级过程中的中断丢失和无效中断注入的问题,还可以减少资源浪费,有利于提高虚拟机热升级的效率。有利于提高虚拟机热升级的效率。有利于提高虚拟机热升级的效率。

【技术实现步骤摘要】
一种虚拟机热升级方法、装置、设备以及存储介质


[0001]本公开涉及交互
,具体而言,涉及一种虚拟机热升级方法、装置、设备以及存储介质。

技术介绍

[0002]在计算机领域中,经常通过在主机中模拟多个虚拟机来优化资源配置,为了修复虚拟机漏洞和新增虚拟机功能,则需要对虚拟机进行热升级。
[0003]现有虚拟机热升级技术中,会通过补发虚拟中断来解决虚拟机热升级过程中丢失中断的技术问题,但这种方式会产生无效中断的注入,同时会占用大量内存和处理器资源以及耗费大量时间。因此,如何确保热升级过程中的中断不丢失以及避免无效中断的注入成为目前亟待解决的问题。

技术实现思路

[0004]本公开实施例至少提供一种虚拟机热升级方法、装置、设备以及存储介质。
[0005]本公开实施例提供了一种虚拟机热升级方法,所述方法包括:针对待升级虚拟机,创建目标虚拟机;将所述待升级虚拟机的第一中断描述符结构和所述目标虚拟机的第二中断描述符结构分别从内核态切换到用户态;将所述第二中断描述符结构的中断描述符结构地址指向所述第一中断描述符结构的中断描述符结构地址,以使所述目标虚拟机继承所述待升级虚拟机的中断描述符信息;根据所述待升级虚拟机中的任务进程,运行所述目标虚拟机,以实现所述待升级虚拟机的热升级。
[0006]一种可选的实施方式中,在所述针对待升级虚拟机,创建目标虚拟机之后,所述方法包括:根据从内存池中申请的内存页,为创建的虚拟机的第二中断描述符结构配置中断描述符结构地址。
[0007]一种可选的实施方式中,所述将所述第二中断描述符结构的中断描述符结构地址指向所述第一中断描述符结构的中断描述符结构地址,以使所述目标虚拟机继承所述待升级虚拟机的中断描述符信息,包括:使用所述第一中断描述符结构的中断描述符结构地址替换所述第二中断描述符结构的中断描述符结构地址,以使所述目标虚拟机继承所述待升级虚拟机的中断描述符信息。
[0008]一种可选的实施方式中,在将所述第二中断描述符结构的中断描述符结构地址指向所述第一中断描述符结构的中断描述符结构地址,以使所述目标虚拟机与所述待升级虚拟机的中断描述符信息一致之后,所述方法还包括:
对所述目标虚拟机进行初始化;在初始化所述目标虚拟机的过程中,保留所述第二中断描述符结构中的内容。
[0009]一种可选的实施方式中,所述方法还包括:在初始化所述目标虚拟机的过程中,禁止对所述目标虚拟机的中断重定向表进行更新。
[0010]一种可选的实施方式中,所述方法还包括:在初始化所述目标虚拟机的过程中,保留所述目标虚拟机的中断描述符结构中的中断请求数据。
[0011]一种可选的实施方式中,所述根据所述待升级虚拟机中的任务进程,运行所述目标虚拟机,以实现所述待升级虚拟机的热升级,包括:通过分叉函数和执行函数,将所述待升级虚拟机中的任务进程调用至启动的所述目标虚拟机中进行执行,以启动所述目标虚拟机实现所述待升级虚拟机的热升级。
[0012]本公开实施例还提供一种虚拟机热升级装置,所述装置包括:创建模块,用于针对待升级虚拟机,创建目标虚拟机;切换模块,用于将所述待升级虚拟机的第一中断描述符结构和所述目标虚拟机的第二中断描述符结构分别从内核态切换到用户态;继承模块,用于将所述第二中断描述符结构的中断描述符结构地址指向所述第一中断描述符结构的中断描述符结构地址,以使所述目标虚拟机继承所述待升级虚拟机的中断描述符信息;升级模块,用于根据所述待升级虚拟机中的任务进程,运行所述目标虚拟机,以实现所述待升级虚拟机的热升级。
[0013]一种可选的实施方式中,所述装置还包括配置模块,所述配置模块用于:根据从内存池中申请的内存页,为创建的虚拟机的第二中断描述符结构配置中断描述符结构地址。
[0014]一种可选的实施方式中,所述继承模块具体用于:使用所述第一中断描述符结构的中断描述符结构地址替换所述第二中断描述符结构的中断描述符结构地址,以使所述目标虚拟机继承所述待升级虚拟机的中断描述符信息。
[0015]一种可选的实施方式中,所述装置还包括初始化模块,所述初始化模块用于:对所述目标虚拟机进行初始化;在初始化所述目标虚拟机的过程中,保留所述第二中断描述符结构中的内容。
[0016]一种可选的实施方式中,所述初始化模块还具体用于:在初始化所述目标虚拟机的过程中,禁止对所述目标虚拟机的中断重定向表进行更新。
[0017]一种可选的实施方式中,所述初始化模块还具体用于:在初始化所述目标虚拟机的过程中,保留所述目标虚拟机的中断描述符结构中的中断请求数据。
[0018]一种可选的实施方式中,所述升级模块具体用于:通过分叉函数和执行函数,将所述待升级虚拟机中的任务进程调用至启动的所述
目标虚拟机中进行执行,以启动所述目标虚拟机实现所述待升级虚拟机的热升级。
[0019]本公开实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述的虚拟机热升级方法的步骤。
[0020]本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述的虚拟机热升级方法的步骤。
[0021]本公开实施例提供的虚拟机热升级方法、装置、设备以及存储介质,针对待升级虚拟机,创建目标虚拟机;将所述待升级虚拟机的第一中断描述符结构和所述目标虚拟机的第二中断描述符结构分别从内核态切换到用户态;将所述第二中断描述符结构的中断描述符结构地址指向所述第一中断描述符结构的中断描述符结构地址,以使所述目标虚拟机继承所述待升级虚拟机的中断描述符信息;根据所述待升级虚拟机中的任务进程,运行所述目标虚拟机,以实现所述待升级虚拟机的热升级。
[0022]这样,通过将所述第二中断描述符结构的中断描述符结构地址指向所述第一中断描述符结构的中断描述符结构地址,以使所述目标虚拟机继承所述待升级虚拟机的中断描述符信息,进而实现所述待升级虚拟机的热升级,可以有效避免虚拟机热升级过程中的中断丢失和无效中断注入的问题,还可以减少资源浪费,有利于提高虚拟机热升级的效率。
[0023]进一步的,还可以通过在初始化所述目标虚拟机的过程中,禁止对所述第二中断描述符结构中的内容进行清空操作,防止虚拟机热升级过程中的中断丢失,确保虚拟机的工作效率。
[0024]进一步的,还可以通过分叉函数和执行函数,将所述待升级虚拟机中的任务进程调用至启动的所述目标虚拟机中进行执行,确保所述目标虚拟机的任务进程与所述待升级虚拟机的任务进程的一致性,进而确保虚拟机在执行热升级时的工作效率。
[0025]为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
[0026]为了更清楚地说明本公开实施例的技术方案,下面将对实施例中本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种虚拟机热升级方法,其特征在于,所述方法包括:针对待升级虚拟机,创建目标虚拟机;将所述待升级虚拟机的第一中断描述符结构和所述目标虚拟机的第二中断描述符结构分别从内核态切换到用户态;将所述第二中断描述符结构的中断描述符结构地址指向所述第一中断描述符结构的中断描述符结构地址,以使所述目标虚拟机继承所述待升级虚拟机的中断描述符信息;根据所述待升级虚拟机中的任务进程,运行所述目标虚拟机,以实现所述待升级虚拟机的热升级。2.根据权利要求1所述的方法,其特征在于,在所述针对待升级虚拟机,创建目标虚拟机之后,包括:根据从内存池中申请的内存页,为创建的所述目标虚拟机的第二中断描述符结构配置中断描述符结构地址。3.根据权利要求1所述的方法,其特征在于,所述将所述第二中断描述符结构的中断描述符结构地址指向所述第一中断描述符结构的中断描述符结构地址,以使所述目标虚拟机继承所述待升级虚拟机的中断描述符信息,包括:使用所述第一中断描述符结构的中断描述符结构地址替换所述第二中断描述符结构的中断描述符结构地址,以使所述目标虚拟机继承所述待升级虚拟机的中断描述符信息。4.根据权利要求1所述的方法,其特征在于,将所述第二中断描述符结构的中断描述符结构地址指向所述第一中断描述符结构的中断描述符结构地址,以使所述目标虚拟机继承所述待升级虚拟机的中断描述符信息之后,所述方法还包括:对所述目标虚拟机进行初始化;在初始化所述目标虚拟机的过程中,保留所述第二中断描述符结构中的内容。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:在初始化所述目标虚拟机的过程中,禁止对所述目标虚拟机...

【专利技术属性】
技术研发人员:张扬冯志敏
申请(专利权)人:北京字节跳动网络技术有限公司
类型:发明
国别省市:

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

1