[发明专利]一种Linux服务器宕机故障分析系统及方法在审

专利信息
申请号: 201711206093.3 申请日: 2017-11-27
公开(公告)号: CN107832166A 公开(公告)日: 2018-03-23
发明(设计)人: 范冬冬 申请(专利权)人: 郑州云海信息技术有限公司
主分类号: G06F11/07 分类号: G06F11/07
代理公司: 济南信达专利事务所有限公司37100 代理人: 姜明
地址: 450000 河南省郑州市*** 国省代码: 河南;41
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 linux 服务器 故障 分析 系统 方法
【说明书】:

技术领域

发明涉及服务器故障分析技术领域,特别涉及一种Linux服务器宕机故障分析系统及方法。

背景技术

Linux服务器操作系统上一般运行着非常关键的业务应用,系统的可靠性非常重要。但随着系统硬件资源规模的不断扩展,系统业务应用复杂程度的不断提高,系统出现不稳定的几率也随之不断上升。

在Linux操作系统运行过程中由于不确定的因素(如硬件故障或系统软件逻辑错误)会导致系统产生异常:对于应用程序出现的问题可能会导致应用进程终止,影响业务运行;对于操作系统内核出现的问题,常常会打印错误信息到内核日志中,严重的内核问题(例如在禁止CPU的所有中断超过一定时间(几秒)时,外部设备发生的中断无法处理,此时认为内核发生hard lockup)会导致操作系统无法提供正常服务。在上述情况下操作系统内核会触发应急panic,即机器彻底被锁定,不能使用,即宕机。如果在终端下,可以看到内核转储dump出来的信息,即内核发生应急panic时的函数调用链以及寄存器、堆栈信息等,这些信息是排查宕机原因的最重要的数据。但对于批量部署在机房中的服务器很少通过终端捕捉到这些信息,服务器重启后这些信息就会丢失,为后续定位宕机原因增加了难度。

针对于宕机后系统关键信息无法保存的问题,当前发行版的Linux操作系统常用的解决办法是部署kdump服务。kdump是一种基于kexec的Linux内核崩溃捕获机制,将kernel崩溃前的内存镜像保存,程序员通过分析该文件找出kernel崩溃的原因,从而进行系统改进,即在系统崩溃、死锁或者死机的时候用来转储内存运行参数的一个工具和服务。当系统崩溃时,正常的内核就没有办法工作了,此时将由kdump产生一个用于捕获当前运行信息的内核,该内核会将此时内存中的所有运行状态和数据信息收集到一个dump core文件中,以便于工程师分析崩溃原因,一旦内存信息收集完成,系统将自动重启。kdump服务处理流程如附图2所示。

但是,实施该技术的前提条件是在操作系统在启动时必须配置kdump服务才能在系统宕机时收集系统关键信息。而配置kdump需要隔离出一部物物理内存预留给捕获内核使用,系统可用内存将会减少,因此部分服务器用户并不会部署kdump服务,当宕机发生时工程师很难定位故障根源。

基于此,本发明设计了一种Linux服务器宕机故障分析系统及方法。

发明内容

本发明为了弥补现有技术的缺陷,提供了一种简单高效的Linux服务器宕机故障分析系统及方法。

本发明是通过如下技术方案实现的:

一种Linux服务器宕机故障分析系统,其特征在于:包括故障服务器和分析服务器,所述故障服务器和分析服务器主板上均集成处理器调试接口,并分别通过处理器调试接口连接到处理器调试器。

本发明Linux服务器宕机故障分析系统的分析方法,其特征在于,包括以下步骤:

(1)故障服务器宕机后,将处理器调试器连接到故障服务器主板集成处理器调试接口,通过处理器调试器读出故障服务器上处理器每个内核当前程序指针寄存器中的内容;

(2)分析服务器将故障服务器上同版本的操作系统内核源码解压安装到制定目录下,并进行编译生成vmlinux文件;

(3)分析服务器根据处理器调试器读出的故障服务器上处理器每个内核当前程序指针寄存器中的内容和编译生成的vmlinux文件定位出每个内核所在的执行的代码源码行号;

(4)对照Linux内核源码分析每个内核执行代码的上下文场景,对故障原因进行排查定位即可。

所述步骤(1)中,通过处理器调试器读出故障服务器上处理器核正在执行的代码的地址,读出的代码地址为addr x;所述步骤(3)中分析服务器根据读出的代码地址addr x和编译生成的vmlinux文件定位出每个核所在的执行的代码源码行号。

所述步骤(3)中利用addr2line工具定位出每个核所在的执行的代码源码行号。

当故障服务器为单核服务器时,代码地址addr x中x为1;当故障服务器为多核服务器时,总内核数为n,各内核分别命名为addr1,addr2,…,addr n,代码地址addr x中x为不大于n的自然数。

本发明的有益效果:该Linux服务器宕机故障分析系统及方法,通过处理器调试器获取故障服务器处理器核执行程序地址,并利用addr2line工具对程序地址进行解析,结合Linux源代码定位故障原因,操作简单,快速高效,同时规避了部署kdump带来的系统可用内存减少的弊端。

附图说明

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201711206093.3/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top