一种服务器硬件故障日志的采集方法技术

技术编号:20329049 阅读:45 留言:0更新日期:2019-02-13 05:41
本发明专利技术提出的一种服务器硬件故障日志的采集方法,自动对cache、TLB、总线、内存故障日志进行收集。其中,CPU故障包括,cache、TLB和总线。通过分析MCA架构信息的故障信息编码0到15位故障码的值,检测出硬件故障类别,根据错误码将硬件故障详细信息记录到相应的cache.log文件,tlb.log文件、bus.log文件、MEM.log中。本发明专利技术能够能把硬件故障信息解析出属于CPU和内存的硬件故障日志,并通过查看日志文件记录信息,随时了解服务器的硬件运行情况。工程师可以通过查询日志数据即可查得硬件错误日志,从而为采集硬件故障信息带来便利。

【技术实现步骤摘要】
一种服务器硬件故障日志的采集方法
本专利技术涉及服务器测试
,更具体的说是涉及一种服务器硬件故障日志的采集方法。
技术介绍
当今,服务器系统的设计越来越复杂,一块服务器主板上元器件往往有数千之多,当主板出现硬件故障时,工程师往往需要大量的数据测量并进行详细的分析才能定位到故障位置,这将是一个非常复杂的工作。服务器硬件故障信息主要包括:CPU故障、总线故障、内存ECC校验错、cache错误、TLB错误、内部时钟错误,BIOS配置错误、firmwarebug错误,上述故障信息一般保存在/dev/mcelog日志里。通常,工程师通过查看mcelog日志来进行服务器的硬件故障分析。但是,由于mcelog日志内的故障信息是按照服务器故障的发生时间顺序进行记录的,mcelog日志内的故障信息数据庞大且无法进行分类。而工程师进行故障分析时,需要对故障进行分类排查,因此必须在分析前对故障数据进行分类,这样不仅耗时还耗费大量人力,还容易出现失误,严重影响了工程师的工作效率。
技术实现思路
针对以上问题,本专利技术的目的在于提供一种服务器硬件故障日志的采集方法,能够收集服务器关键硬件的故障信息,并把每个错误分配到相应的日志里分别进行储存,实现了故障数据的分类存储,便于工程师的分类查看。本专利技术为实现上述目的,通过以下技术方案实现:一种服务器硬件故障日志的采集方法,包括如下步骤:步骤1:安装Linux操作系统;步骤2:配置mce;步骤3:创建用于保存故障事件的日志记录文件;步骤4:通过CPU故障检测模块访问字符设备/dev/mcelog,读取machinecheck记录的缓冲区内容;步骤5:判断读取的缓冲区内容是否为空,如果是,转到步骤4;如果否,转到步骤6;步骤6:解析缓冲区数据,根据MCA架构设定的故障编码判断故障的类别;步骤7:封装故障事件,将硬件故障详细信息记录到用于保存本类故障事件的日志记录文件中。进一步,所述步骤2具体为:在/boot/grub/grub.conf中加入mce=on。进一步,所述步骤3具体包括:在用户目录下分别创建cache.log文件、tlb.log文件、bus.log文件和MEM.log文件;所述cache.log文件为用于保存Cache错误的日志记录文件;所述tlb.log文件为用于保存TLB错误的日志记录文件;所述bus.log文件为用于保存总线故障的日志记录文件;所述MEM.log文件为用于保存内存故障的日志记录文件。进一步,所述步骤6还包括:从缓冲区数据中得到MCA架构信息的故障信息编码,通过所述故障信息编码的0到15位的值判断故障的类别。进一步,通过所述故障信息编码的0到15位的值判断故障的类别,包括:如果所述故障信息编码0到15位的格式为000F00000001TTLL,则判定为TLB错误。进一步,通过所述故障信息编码的0到15位的值判断故障的类别,还包括:如果所述故障信息编码0到15位的格式为000F0000000011LL或000F0001RRRRTTLL,则判定为Cache错误。进一步,通过所述故障信息编码的0到15位的值判断故障的类别,还包括:如果所述故障信息编码0到15位的格式为000F1PPTRRRRIILL,则判定为总线故障。进一步,通过所述故障信息编码的0到15位的值判断故障的类别,还包括:如果所述故障信息编码0到15位的格式为000F00001MMMCCCC,则判定为内存故障。进一步,所述Linux操作系统采用CentOS系列操作系统。对比现有技术,本专利技术有益效果在于:本专利技术提出的一种服务器硬件故障日志的采集方法,自动对cache、TLB、总线、内存故障日志进行收集。其中,CPU故障包括,cache、TLB和总线。通过分析MCA架构信息的故障信息编码0到15位故障码的值,检测出硬件故障类别,根据错误码将硬件故障详细信息记录到相应的cache.log文件,tlb.log文件、bus.log文件、MEM.log中。本专利技术能够能把硬件故障信息解析出属于CPU和内存的硬件故障日志,并通过查看日志文件记录信息,随时了解服务器的硬件运行情况。工程师可以通过查询日志数据即可查得硬件错误日志,从而为采集硬件故障信息带来便利。由此可见,本专利技术与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。附图说明附图1是本专利技术的方法流程图。具体实施方式下面结合附图对本专利技术的具体实施方式做出说明。如图1所示的一种服务器硬件故障日志的采集方法,包括如下步骤。步骤1:安装Linux操作系统。所述Linux操作系统采用CentOS系列操作系统。步骤2:配置mce。在/boot/grub/grub.conf中加入以下内容:mce=on。默认是on。步骤3:创建用于保存故障事件的日志记录文件。具体为:在用户目录下分别创建cache.log文件、tlb.log文件、bus.log文件和MEM.log文件。其中,cache.log文件为用于保存Cache错误的日志记录文件;tlb.log文件为用于保存TLB错误的日志记录文件;bus.log文件为用于保存总线故障的日志记录文件;MEM.log文件为用于保存内存故障的日志记录文件。步骤4:通过CPU故障检测模块访问字符设备/dev/mcelog,读取machinecheck记录的缓冲区内容。步骤5:判断读取的缓冲区内容是否为空,如果是,转到步骤4;如果否,转到步骤6。步骤6:解析缓冲区数据,根据MCA架构设定的故障编码判断故障的类别。从缓冲区数据中得到MCA架构信息的故障信息编码,通过故障信息编码的0到15位的值判断故障的类别。如果故障信息编码0到15位的格式为000F00000001TTLL,则判定为TLB错误。如果故障信息编码0到15位的格式为000F0000000011LL或000F0001RRRRTTLL,则判定为Cache错误。如果故障信息编码0到15位的格式为000F1PPTRRRRIILL,则判定为总线故障。如果故障信息编码0到15位的格式为000F00001MMMCCCC,则判定为内存故障。步骤7:封装故障事件,将硬件故障详细信息记录到用于保存本类故障事件的日志记录文件中。即根据硬件故障信息的类别,将故障详细信息记录到相应的cache.log文件,tlb.log文件、bus.log文件、MEM.log中。本专利技术主要针对cache、TLB、BUS、内存故障日志的收集。从缓冲区数据中,可以得到MCA架构信息的故障信息编码,一般共计64位编码,由于可以从0到15位标记通用的CPU和内存日志,所以查询cache、TLB、BUS、内存故障,只需要关注0到15位故障码的值。下面对以上故障码进行分类,各种MCA架构设定的故障编码参照如下:TLB:000F00000001TTLLCache:000F0000000011LL和000F0001RRRRTTLLBUS:000F1PPTRRRRIILLMEM:000F00001MMMCCCCTLB:000F00000001TTLL,所代表的含义为:只要错误码是000F00000001TTLL格式,都可以看做是TLB故障信息。以下类同:Cache:000F0000000011LL和0本文档来自技高网...

【技术保护点】
1.一种服务器硬件故障日志的采集方法,其特征在于,包括如下步骤:步骤1:安装Linux操作系统;步骤2:配置mce;步骤3:创建用于保存故障事件的日志记录文件;步骤4:通过CPU故障检测模块访问字符设备/dev/mcelog,读取machine check 记录的缓冲区内容;步骤5: 判断读取的缓冲区内容是否为空,如果是,转到步骤4;如果否,转到步骤6;步骤6:解析缓冲区数据,根据MCA架构设定的故障编码判断故障的类别;步骤7:封装故障事件,将硬件故障详细信息记录到用于保存本类故障事件的日志记录文件中。

【技术特征摘要】
1.一种服务器硬件故障日志的采集方法,其特征在于,包括如下步骤:步骤1:安装Linux操作系统;步骤2:配置mce;步骤3:创建用于保存故障事件的日志记录文件;步骤4:通过CPU故障检测模块访问字符设备/dev/mcelog,读取machinecheck记录的缓冲区内容;步骤5:判断读取的缓冲区内容是否为空,如果是,转到步骤4;如果否,转到步骤6;步骤6:解析缓冲区数据,根据MCA架构设定的故障编码判断故障的类别;步骤7:封装故障事件,将硬件故障详细信息记录到用于保存本类故障事件的日志记录文件中。2.根据权利要求1所述的服务器硬件故障日志的采集方法,其特征在于,所述步骤2具体为:在/boot/grub/grub.conf中加入mce=on。3.根据权利要求1所述的服务器硬件故障日志的采集方法,其特征在于,所述步骤3具体包括:在用户目录下分别创建cache.log文件、tlb.log文件、bus.log文件和MEM.log文件;所述cache.log文件为用于保存Cache错误的日志记录文件;所述tlb.log文件为用于保存TLB错误的日志记录文件;所述bus.log文件为用于保存总线故障的日志记录文件;所述MEM.log文件为用于保存内存故障的日志记录文件。4.根据权利要求1所述的服务器硬件故障日志的采集方法,其特征在于,...

【专利技术属性】
技术研发人员:杨振林
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1