[发明专利]虚拟机的故障检测恢复方法及系统有效
申请号: | 201810432549.6 | 申请日: | 2018-05-08 |
公开(公告)号: | CN108762886B | 公开(公告)日: | 2020-12-01 |
发明(设计)人: | 邓艳山 | 申请(专利权)人: | 烽火通信科技股份有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 武汉智权专利代理事务所(特殊普通合伙) 42225 | 代理人: | 沈林华 |
地址: | 430000 湖北省武*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 虚拟机 故障 检测 恢复 方法 系统 | ||
本发明公开了一种虚拟机的故障检测恢复方法及系统,涉及虚拟机领域。该方法包括以下步骤:启动虚拟机时,虚拟看门狗;虚拟机启动后,创建高精度定时器,并启动高精度定时器;创建内核监控线程和用户态监控线程,内核监控线程进行基于netlink的内核故障心跳检测,用户态监控线程进行用户态喂狗检测;内核监控线程检测到心跳异常时,关闭看门狗,记录内核故障信息日志;再打开看门狗,如果用户态喂狗异常超过预设的喂狗异常时间,记录用户态故障信息日志,看门狗触发系统故障复位重启。本发明能检测虚拟机的内核和用户态故障,实现内核和用户态故障日志收集及故障自动恢复。
技术领域
本发明涉及虚拟机领域,具体是涉及一种虚拟机的故障检测恢复方法及系统。
背景技术
NFVI(网络功能虚拟化基础设施解决方案)是用来托管和连接虚拟功能的一组资源。具体来说,NFVI是一种包含服务器、虚拟化管理程序(hypervisor)、操作系统、虚机、虚拟交换机和网络资源的云数据中心。在NFVI领域,虚拟机是承载和运行业务的实体,对虚拟机的可靠运行和故障检测提出了较高的要求,需要检测是内核态故障,还是用户态故障,并记录故障log(日志)。
QEMU是一套由法布里斯·贝拉编写的以GPL许可证分发源码的模拟处理器,在GNU/Linux平台上使用广泛。目前,QEMU启动的虚拟机任务进程作为host linux的一个用户进程,一般只能检测QEMU进程是否异常退出或处于僵尸进程状态,无法判断虚拟机内核状态是否异常,而且不能及时记录异常日志,重启恢复系统,这样就会造成业务中断,带来致命的电信设备宕机故障。
发明内容
本发明的目的是为了克服上述背景技术的不足,提供一种虚拟机的故障检测恢复方法及系统,能够可靠地检测虚拟机的内核和用户态故障,实现虚拟机的内核和用户态故障日志收集及故障自动恢复。
本发明提供一种虚拟机的故障检测恢复方法,包括以下步骤:
启动虚拟机时,虚拟看门狗;
虚拟机启动后,创建高精度定时器,并启动高精度定时器;
创建内核监控线程和用户态监控线程,内核监控线程进行基于netlink的内核故障心跳检测,用户态监控线程进行用户态喂狗检测;
内核监控线程检测到心跳异常时,用户态监控线程关闭看门狗,记录内核故障信息日志;用户态监控线程再打开看门狗,如果用户态喂狗异常超过预设的喂狗异常时间,则记录用户态故障信息日志,看门狗触发系统故障复位重启。
在上述技术方案的基础上,所述创建内核监控线程和用户态监控线程以后,还包括以下步骤:创建Linux文件系统的内核状态交互查询接口文件,作为虚拟机用户态和内核态的交互查询文件。
在上述技术方案的基础上,所述内核监控线程按照高精度定时器配置的周期进行基于netlink的内核故障心跳检测,用户态监控线程按照高精度定时器配置的周期进行用户态喂狗检测。
在上述技术方案的基础上,所述高精度定时器配置内核故障心跳检测的周期为20ms。
在上述技术方案的基础上,所述内核监控线程检测到心跳异常时,用户态监控线程关闭看门狗两个喂狗周期,提前收集内核故障信息日志。
本发明还提供一种虚拟机的故障检测恢复系统,包括看门狗虚拟单元、高精度定时器创建单元、监控线程创建单元、故障日志收集单元,其中:
看门狗虚拟单元用于:启动虚拟机时,虚拟看门狗;
高精度定时器创建单元用于:虚拟机启动后,创建高精度定时器,并启动高精度定时器;
监控线程创建单元用于:创建内核监控线程和用户态监控线程,内核监控线程进行基于netlink的内核故障心跳检测,用户态监控线程进行用户态喂狗检测;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于烽火通信科技股份有限公司,未经烽火通信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810432549.6/2.html,转载请声明来源钻瓜专利网。