虚拟机的宕机重启方法及装置制造方法及图纸

技术编号:38592232 阅读:9 留言:0更新日期:2023-08-26 23:30
本申请涉及一种虚拟机的宕机重启方法及装置。该方法包括:在虚拟机中添加虚拟外设;基于虚拟外设和多个监控函数对所述虚拟机的多核CPU进行监控,所述多个监控函数包括看门狗函数、喂狗函数和清狗函数,所述多核CPU包括核心CPU、控制核CPU、数据核CPU;在核心CPU发生异常时,通过所述虚拟外设发起监控中断请求;在控制核CPU或数据核CPU发生异常时,通过核心CPU发起监控中断请求;根据所述监控中断请求记录异常信息并进行重启。本申请涉及的虚拟机的宕机重启方法及装置,能够在虚拟机遇到内核死锁、死循环等宕机问题能及时保存异常信息并重启设备,保证系统安全运行。保证系统安全运行。保证系统安全运行。

【技术实现步骤摘要】
虚拟机的宕机重启方法及装置


[0001]本公开涉及计算机信息处理领域,具体而言,涉及一种虚拟机的宕机重启方法及装置。

技术介绍

[0002]QEMU嵌入式系统模拟器是运行在用户层的开源全虚拟化解决方案,可以在Intel x86机器上虚拟出完整的操作系统,QEMU是用户态工具,负责除CPU和内存外的其他设备的虚拟以及对各种虚拟设备的创建与调用。QEMU是一款开源的虚拟机软件,支持多种体系结构和操作系统。除了可以用于模拟桌面计算机和服务器系统外,它还可以用于模拟嵌入式系统。这种用法被称为QEMU嵌入式系统模拟器。
[0003]QEMU嵌入式系统模拟器的原理是在主机上模拟一个嵌入式系统的运行环境,包括处理器、内存、外设等。在这个模拟器环境中,可以加载和运行嵌入式系统镜像文件,进行软件开发和测试。这种模拟器可以大大简化嵌入式系统的开发过程,提高开发效率和软件质量。QEMU在现今的各个领域得到了广泛的应用。
[0004]但是,QEMU是运行在用户层,对linux操作系统内核态的一些问题无法感知,无法判断内核状态是否异常,比如:是否有内核死循环、是否有内核死锁,这些内核态问题会导致系统崩溃。Qemu目前无法在这些情况下自动的记录异常信息,并重启恢复操作系统,这就使得在人工发现问题之前,设备会一直处于宕机状态,业务也就会一直中断。
[0005]因此,需要一种新的虚拟机的宕机重启方法及装置。
[0006]在所述
技术介绍
部分公开的上述信息仅用于加强对本申请的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。

技术实现思路

[0007]有鉴于此,本申请提供一种虚拟机的宕机重启方法及装置,能够在虚拟机遇到内核死锁、死循环等宕机问题能及时保存异常信息并重启设备,保证系统安全运行。
[0008]本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
[0009]根据本申请的一方面,提出一种虚拟机的宕机重启方法,该方法包括:在虚拟机中添加虚拟外设;基于虚拟外设和多个监控函数对所述虚拟机的多核CPU进行监控,所述多个监控函数包括看门狗函数、喂狗函数和清狗函数,所述多核CPU包括核心CPU、控制核CPU、数据核CPU;在核心CPU发生异常时,通过所述虚拟外设发起监控中断请求;在控制核CPU或数据核CPU发生异常时,通过核心CPU发起监控中断请求;根据所述监控中断请求记录异常信息并进行重启。
[0010]在本申请的一种示例性实施例中,在虚拟机中添加虚拟外设,包括:在制作所述虚拟机的虚拟镜像文件的过程中修改内核配置文件;基于修改后的内核配置文件在所述硬件设备的中添加所述虚拟外设。
[0011]在本申请的一种示例性实施例中,基于修改后的内核配置文件在所述硬件设备的中添加所述虚拟外设,包括:通过KVM虚拟机在所述虚拟机中安装所述虚拟镜像文件;在安装过程中添加所述虚拟外设。
[0012]在本申请的一种示例性实施例中,基于虚拟外设和多个监控函数对所述虚拟机的多核CPU进行监控,包括:在虚拟机中使能所述虚拟外设以对核心CPU进行监控;在核心CPU中设置所述多个监控函数以对控制核CPU、数据核CPU进行监控。
[0013]在本申请的一种示例性实施例中,在虚拟机中使能所述虚拟外设以对核心CPU进行监控,包括:在虚拟机中使能i6300esb虚拟外设;基于i6300esb虚拟外设开启inject

nmi功能以对核心CPU进行监控。
[0014]在本申请的一种示例性实施例中,基于i6300esb虚拟外设开启inject

nmi功能以对核心CPU进行监控,包括:i6300esb虚拟外设选择inject

nmi功能获取核心CPU的监控健康状态变量;基于核心CPU的监控健康状态变量进行监控。
[0015]在本申请的一种示例性实施例中,在核心CPU中设置所述多个监控函数以对控制核CPU、数据核CPU进行监控,包括:在虚拟机的启动过程中对控制核CPU和数据核CPU的监控健康状态变量进行初始化;注册使能看门狗函数、喂狗函数和清狗函数以对控制核CPU、数据核CPU进行监控。
[0016]在本申请的一种示例性实施例中,注册使能看门狗函数、喂狗函数和清狗函数以对控制核CPU、数据核CPU进行监控,包括:在虚拟机的启动过程中启动核心CPU中的第一预设内核线程;基于第一预设内核线程对控制核和数据核的监控健康状态变量进行初始化;在完成初始化后,所述第一预设内核线程拉起所述第二预设内核线程;通过第二预设内核线程对控制核CPU和数据核CPU的监控健康状态变量进程检测。
[0017]在本申请的一种示例性实施例中,通过第二预设内核线程对控制核CPU和数据核CPU的监控健康状态变量进程检测,包括:通过控制核CPU中预设的全局变量生成控制核计数值;通过数据核CPU的使用率生成数据核计数值;所述第二预设内核线程分别获取控制核CPU和数据核CPU的控制计数值和数据计数值;根据控制计数值和数据计数值对控制核CPU和数据核CPU的监控健康状态变量进程检测。
[0018]根据本申请的一方面,提出一种虚拟机的宕机重启装置,该装置包括:安装模块,用于在虚拟机中添加虚拟外设;监控模块,用于基于虚拟外设和多个监控函数对所述虚拟机的多核CPU进行监控,所述多个监控函数包括看门狗函数、喂狗函数和清狗函数,所述多核CPU包括核心CPU、控制核CPU、数据核CPU;外设模块,用于在核心CPU发生异常时,通过所述虚拟外设发起监控中断请求;核心模块,用于在控制核CPU或数据核CPU发生异常时,通过核心CPU发起监控中断请求;重启模块,用于根据所述监控中断请求记录异常信息并进行重启。
[0019]根据本申请的一方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上文的方法。
[0020]根据本申请的一方面,提出一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上文中的方法。
[0021]根据本申请的虚拟机的宕机重启方法及装置,通过在虚拟机中添加虚拟外设;基
于虚拟外设和多个监控函数对所述虚拟机的多核CPU进行监控,所述多个监控函数包括看门狗函数、喂狗函数和清狗函数,所述多核CPU包括核心CPU、控制核CPU、数据核CPU;在核心CPU发生异常时,通过所述虚拟外设发起监控中断请求;在控制核CPU或数据核CPU发生异常时,通过核心CPU发起监控中断请求;根据所述监控中断请求记录异常信息并进行重启的方式,能够在虚拟机遇到内核死锁、死循环等宕机问题能及时保存异常信息并重启设备,保证系统安全运行。
[0022]应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
[0023]通过参照附图详细描述其示例实施例,本申请的上述和其本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种虚拟机的宕机重启方法,其特征在于,包括:在虚拟机中添加虚拟外设;基于虚拟外设和多个监控函数对所述虚拟机的多核CPU进行监控,所述多个监控函数包括看门狗函数、喂狗函数和清狗函数,所述多核CPU包括核心CPU、控制核CPU、数据核CPU;在核心CPU发生异常时,通过所述虚拟外设发起监控中断请求;在控制核CPU或数据核CPU发生异常时,通过核心CPU发起监控中断请求;根据所述监控中断请求记录异常信息并进行重启。2.如权利要求1所述的方法,其特征在于,在虚拟机中添加虚拟外设,包括:在制作所述虚拟机的虚拟镜像文件的过程中修改内核配置文件;基于修改后的内核配置文件在所述硬件设备的中添加所述虚拟外设。3.如权利要求2所述的方法,其特征在于,基于修改后的内核配置文件在所述硬件设备的中添加所述虚拟外设,包括:通过KVM虚拟机在所述虚拟机中安装所述虚拟镜像文件;在安装过程中添加所述虚拟外设。4.如权利要求1所述的方法,其特征在于,基于虚拟外设和多个监控函数对所述虚拟机的多核CPU进行监控,包括:在虚拟机中使能所述虚拟外设以对核心CPU进行监控;在核心CPU中设置所述多个监控函数以对控制核CPU、数据核CPU进行监控。5.如权利要求4所述的方法,其特征在于,在虚拟机中使能所述虚拟外设以对核心CPU进行监控,包括:在虚拟机中使能i6300esb虚拟外设;基于i6300esb虚拟外设开启inject

nmi功能以对核心CPU进行监控。6.如权利要求5所述的方法,其特征在于,基于i6300esb虚拟外设开启inject

nmi功能以对核心CPU进行监控,包括:i6300esb虚拟外设选择inject

nmi功能获取核心CPU的监控健康状态变量;基于核心CPU的监控健康状态变...

【专利技术属性】
技术研发人员:燕飞祥
申请(专利权)人:杭州迪普科技股份有限公司
类型:发明
国别省市:

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

1