一种虚拟机热升级的方法及装置制造方法及图纸

技术编号:39847874 阅读:8 留言:0更新日期:2023-12-29 16:46
本发明专利技术公开了一种虚拟机热升级的方法及装置,包括:目的虚拟机接收文件描述符;其中,文件描述符是源虚拟机在触发热升级之后生成并发送至目的虚拟机的,表征源虚拟机的本地中断控制器的寄存器中记录有中断信息的内存地址;目的虚拟机解析文件描述符,确定文件描述符对应的内存地址;目的虚拟机加载内存地址,将内存地址对应的内存空间存储的中断信息作为自身的状态信息,实现了源虚拟机和目的虚拟机本地中断控制器的寄存器的内存空间共享同一段内存地址,并且由于本地中断控制器的寄存器内记录的中断信息没有进行迁移操作,所以不会发生中断丢失的情况,进而不需要进行中断补偿,提升热升级的效率

【技术实现步骤摘要】
一种虚拟机热升级的方法及装置


[0001]本专利技术涉及计算机领域,尤其涉及一种虚拟机热升级的方法及装置


技术介绍

[0002]qemu(
虚拟机
)
热升级是指在不关闭虚拟机的情况下,快速替换运行中的
qemu
版本,可用于
qemu
进行在线的错误修复

上线新的特征

版本升级同步等操作

[0003]目前,
qemu
的热升级基于虚拟机热迁移框架完成

在基于虚拟机热迁移框架进行虚拟机热升级时,需要暂停源虚拟机
(
即源虚拟机中断
)
,然后进行虚拟机状态迁移,其中包括迁移源虚拟机中中断寄存器信息,首先源虚拟机复制源虚拟机中断寄存器中的中断信息,再将中断信息加载至目的虚拟机中

上述加载中断信息的过程中存在时间差,在该时间差期间,给源虚拟机透传信息的透传设备仍在运行,可能存在源虚拟机产生中断之后的信息,导致加载至目的虚拟机的状态信息不完整
(
即仅包括中断之前的中断信息,不包括中断之后的信息
)
,发生中断丢失的情况

当发生中断丢失时,目的虚拟机通过对中断信息进行中断补偿,以使目的虚拟机对中断进行处理

[0004]然而
qemu
每次热升级时,无法确定升级期间是否产生了新的中断,即无法确定是否存在中断丢失,即无法确定是否存在中断丢失,使得目的虚拟机每次热升级后都需要进行中断补偿,这也导致目的虚拟机对未发生中断丢失进行中断补偿的情况,此时的中断补偿为无效中断,导致增加了热升级的耗时,降低了热升级的效率


技术实现思路

[0005]本专利技术实施例提供一种虚拟机热升级的方法及装置,用于让源
qemu
和目的
qemu
的本地中断控制器的寄存器内存共享同一段内存地址,由于本地中断控制器的寄存器内记录的中断信息没有进行迁移操作,所以不会发生中断丢失的情况,也就不需要进行中断补偿,提升热升级的效率

[0006]第一方面,本专利技术实施例提供虚拟机热升级的方法,包括:
[0007]目的虚拟机接收文件描述符;所述文件描述符是源虚拟机在触发热升级之后生成并发送至所述目的虚拟机的,表征所述源虚拟机的本地中断控制器的寄存器中记录有中断信息的内存地址;
[0008]所述目的虚拟机解析所述文件描述符,确定所述文件描述符对应的内存地址;
[0009]所述目的虚拟机加载所述内存地址,将所述内存地址对应的内存空间存储的中断信息作为自身的状态信息

[0010]上述技术方案中,源虚拟机为进行热升级之前的虚拟机,目的虚拟机为源虚拟机进行热升级后得到的虚拟机

文件描述符是源虚拟机清除标识后发送给目的虚拟机的,标识用来表示该文件描述符可以在源虚拟机解析

文件描述符表征源虚拟机通过预设方式分配的用来存储中断信息的内存地址

目的虚拟机接收到源虚拟机发送的文件描述符,解析文件描述符得到对应的内存地址,然后加载上述内存地址,相当于将源虚拟机的本地中断
控制器的寄存器中记录有中断信息的内存地址直接复用到目标虚拟机中作为目的虚拟机的本地中断控制器的寄存器的内存地址,以此避免本地中断控制器的寄存器中记录的中断信息进行迁移,防止产生中断丢失进行中断补偿,提升热升级的效率

[0011]可选的,所述目的虚拟机加载所述内存地址,包括:
[0012]所述目的虚拟机通过预设调用命令将所述内存地址加载至所述目的虚拟机的虚拟处理器对应的本地中断控制器的寄存器中

[0013]上述技术方案中,目的虚拟机利用预设调用命令访问内核中的本地中断控制器的寄存器,然后将解析文件描述符得到的源虚拟机的本地中断控制器的寄存器中记录有中断信息的内存地址加载到内核中的本地中断控制器的寄存器中

实现了源虚拟机的本地中断控制器的寄存器中记录有中断信息的内存地址复用到目的虚拟机的本地中断控制器的寄存器中,提升了热升级的效率

[0014]可选的,上述方法还包括:
[0015]所述目的虚拟机接收所述源虚拟机发送的除所述内存地址对应的内存空间存储的中断信息之外的其他状态信息

[0016]上述技术方案中,源虚拟机将内存空间中除中断信息以外的其他状态信息提取出来,发送给目的虚拟机,目的虚拟机获取其他状态信息,保存在内存空间中,实现了源虚拟机的热升级

[0017]第二方面,本专利技术实施例提供虚拟机热升级的方法,包括:
[0018]源虚拟机接收热升级指令,所述热升级指令包括目的虚拟机的标识;
[0019]所述源虚拟机响应于所述热升级指令,根据所述目的虚拟机的标识将文件描述符发送至所述目的虚拟机;所述文件描述符表征所述源虚拟机的本地中断控制器的寄存器中记录有中断信息的的内存地址,用于指示所述目的虚拟机解析所述文件描述符,确定所述文件描述符对应的内存地址;加载所述内存地址,将所述内存地址对应的内存空间存储的中断信息作为自身的状态信息

[0020]上述技术方案中,源虚拟机接收到热升级指令后,将表征源虚拟机的本地中断控制器的寄存器中记录有中断信息的的内存地址的文件描述符发送给目的虚拟机,让目的虚拟机进行解析,实现了源虚拟机的本地中断控制器的寄存器中记录有中断信息的的内存地址复用到目的虚拟机的本地中断控制器的寄存器中

[0021]可选的,源虚拟机接收热升级指令之前,还包括:
[0022]所述源虚拟机通过预设方式分配所述源虚拟机对应的本地中断控制器的寄存器的内存地址,并得到文件描述符;所述内存地址对应的内存空间用于记录中断信息;
[0023]所述源虚拟机通过预设调用命令将所述内存地址存储至所述源虚拟机对应的虚拟处理器的本地中断控制器的字段中

[0024]上述技术方案中,源虚拟机对应的本地中断控制器的寄存器的内存地址通过预设方式进行分配,避免对本地中断控制器的寄存器的内存地址的随机分配,实现了对内存地址的自行分配,可以得到对应的文件描述符

[0025]可选的,上述方法还包括:
[0026]所述源虚拟机将除所述内存地址对应的内存空间存储的中断信息之外的其他状态信息发送至所述目的虚拟机

[0027]上述技术方案中,源虚拟机将内存空间中除中断信息以外的其他状态信息提取出来,发送给目的虚拟机

以使目的虚拟机将其他状态信息保存在内存空间后,完成源虚拟机的热升级

[0028]第三方面,本专利技术实施例提供一种虚拟机热升级的装置,包括:
[0029]获取模块,用于接收文件描述符;所述文件描述符是源虚拟机本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种虚拟机热升级的方法,其特征在于,包括:目的虚拟机接收文件描述符;所述文件描述符是源虚拟机在触发热升级之后生成并发送至所述目的虚拟机的,表征所述源虚拟机的本地中断控制器的寄存器中记录有中断信息的内存地址;所述目的虚拟机解析所述文件描述符,确定所述文件描述符对应的内存地址;所述目的虚拟机加载所述内存地址,将所述内存地址对应的内存空间存储的中断信息作为自身的状态信息
。2.
如权利要求1所述的方法,其特征在于,所述目的虚拟机加载所述内存地址,包括:所述目的虚拟机通过预设调用命令将所述内存地址加载至所述目的虚拟机的虚拟处理器对应的本地中断控制器的寄存器中
。3.
如权利要求1至2任一项所述的方法,其特征在于,所述方法还包括:所述目的虚拟机接收所述源虚拟机发送的除所述内存地址对应的内存空间存储的中断信息之外的其他状态信息
。4.
一种虚拟机热升级的方法,其特征在于,包括:源虚拟机接收热升级指令,所述热升级指令包括目的虚拟机的标识;所述源虚拟机响应于所述热升级指令,根据所述目的虚拟机的标识将文件描述符发送至所述目的虚拟机;所述文件描述符表征所述源虚拟机的本地中断控制器的寄存器中记录有中断信息的内存地址,用于指示所述目的虚拟机解析所述文件描述符,确定所述文件描述符对应的内存地址;加载所述内存地址,将所述内存地址对应的内存空间存储的中断信息作为自身的状态信息
。5.
如权利要求4所述的方法,其特征在于,源虚拟机接收热升级指令之前,还包括:所述源虚拟机通过预设方式分配所述源虚拟机对应的本地中断控制器的寄存器的内存地址,并得到文件描述符;所述内存地址对应的内存空间用于记录中断信息;所述源虚拟机通过预设调用命令将所述内...

【专利技术属性】
技术研发人员:罗飞
申请(专利权)人:北京世纪互联宽带数据中心有限公司
类型:发明
国别省市:

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

1