CN107168815B - 一种收集硬件错误信息的方法 - Google Patents
一种收集硬件错误信息的方法 Download PDFInfo
- Publication number
- CN107168815B CN107168815B CN201710359111.5A CN201710359111A CN107168815B CN 107168815 B CN107168815 B CN 107168815B CN 201710359111 A CN201710359111 A CN 201710359111A CN 107168815 B CN107168815 B CN 107168815B
- Authority
- CN
- China
- Prior art keywords
- server
- node
- information
- hardware
- expansion module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000004458 analytical method Methods 0.000 claims abstract description 9
- 238000007726 management method Methods 0.000 claims description 8
- 238000013507 mapping Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 7
- 230000003993 interaction Effects 0.000 claims description 6
- 238000013500 data storage Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 17
- 238000005516 engineering process Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0709—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3024—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种收集硬件错误信息的方法,用于快速、准确的采集服务器内硬件错误信息,盖方法包括以下步骤:步骤1:划分节点并设置节点控制器扩展模块;步骤2:用户自定义寄存器列表及数据结构;步骤3:设置服务器中断功能;步骤4:重启服务器,使服务器进入待命状态;步骤5:服务器发生硬件错误,节点采集硬件信息。该方法利用高端服务器中节点控制器扩容特性,实现系统出错时能及时收集硬件状态信息并保存的功能,该功能不用考虑带内系统状态,直接通过带外系统读取信息,通过对已读取信息的详细解析,从而实现具体问题的定位。
Description
技术领域
本发明涉及高端服务器监控领域,尤其涉及一种高端服务器收集硬件错误信息的方法。
背景技术
随着互联网的广泛应用,网络对服务器提出了更高的要求,作为服务器产业的原始动力,先进技术的应用于对于用户采购会起到决定性的作用,在网络技术、虚拟化技术、分布式应用快速发展的今天,服务器所要求的可用性,可靠性,可服务性的指标越来越高。
特别是金融、电信业务的正常运转高度依赖于信息系统的持续稳定运行,对高端服务器的可用性也提出了很高的要求,不仅要求高端服务器系统的可用度达到99.999%,而且对于出现硬件错误后对于错误的定位和处理速度,也提出了更高的要求。
高端服务器由于其复杂的硬件架构对系统容错技术有更高的要求,目前,服务器硬件错误信息的采集原理如图1所示,系统固件根据UEFI标准和ACPI标准提供相应的数据给操作系统,操作系统进行解析,同时系统固件收集信息并解析最后将出错硬件信息传给BMC。
然而,对于上述的方法来说,由于高端服务器系统复杂,系统某个硬件出错可能导致多个硬件同时报错,系统日志同时出现多个硬件错误,对系统出错场景的分析受限,从而难以实现问题的精准定位。
发明内容
为了解决上述问题,本发明提供了一种收集硬件错误信息的方法,利用高端服务器中节点控制器扩容特性,实现系统出错时能及时收集硬件状态信息并保存的功能,该功能不用考虑带内系统状态,直接通过带外系统读取信息,通过对已读取信息的详细解析,从而实现具体问题的定位。
本发明采用以下技术方案:
一种收集硬件错误信息的方法,用于快速、准确的采集服务器内硬件错误信息,其特征在于,所述的方法包括以下步骤:
步骤1:划分节点并设置节点控制器扩展模块;
步骤2:用户自定义寄存器列表及数据结构;
步骤3:设置服务器中断功能;
步骤4:重启服务器,使服务器进入待命状态;
步骤5:服务器发生硬件错误,节点采集硬件信息。
进一步的,步骤1中,每一个节点至少包括一个CPU和一个节点控制器。
进一步的,在步骤1中,扩展模块的设置标准为:扩展模块是设置在节点控制器内部的存储模块,具有与存储控制器数据交互功能,以及与带外系统数据交互功能。
优选的,节点控制器和扩展模块之间通过地址映射实现数据存储。
优选的,带外系统和扩展模块之间通过SMBUS协议实现数据读取。
进一步的,步骤2中,用户自定义寄存器列表及数据结构的具体过程为:
研发人员首先结合芯片手册,选择需要收集的错误状态寄存器并自定义数据结构;然后形成文档并开发出解析工具对获取的错误信息进行解析,嵌入在系统固件用于收集错误信息模块。
进一步的,步骤3的具体实现原理为:系统出错时,系统管理中断功能使服务器系统进入中断服务程序。
进一步的,步骤4的具体实现过程为:
1)重启服务器,硬件初始化并启动服务器中断功能;
2)将扩展模块的存储部分映射到带内系统地址空间的一段MMIO地址段,并把这段地址空间的SAD指向节点控制器;
3)系统随机指定主节点和从节点;
4)系统通过主节点连接IO,并断开从节点上的IO接口。
进一步的,步骤5中,节点采集硬件信息的具体过程为:
1)启动服务器中断功能,所有CPU停止处理当前任务,进入中断服务程序;
2)步骤2中自定义的寄存器及数据结构分别收集数据,并将数据拷贝到主节点的扩展模块内;
3)从带外系统访问主节点扩展模块并读取硬件错误信息。
本发明的有益效果是:
1、每一次发生硬件错误后,本发明采集的是全部预设的寄存器和数据结构的信息,也可以算是全部的硬件信息,这样一来,就不会产生信息采集的遗漏,确保错误信息完全包含在所采集的信息内。
2、该扩展模块具备的特征是能够同时被带内和带外系统访问,其存储大小能够保存所有节点内部CPU、NC及IO的各个子模块错误状态寄存器的信息。因此,可以十分方便的将系统内采集到的信息导到系统外部,将后续的分析过程放在服务器系统之外来处理,即降低了服务器自身的能耗,又提高了分析处理的速度,尽量减少硬件错误对服务器运行的影响。
3、扩展模块设置在每一节点内,因此,在主、从节点的选择上就有充分的余地,也可以说是没有了选择的限制,大大减少了系统重启的时间。
附图说明
图1是现有技术的功能原理图;
图2是本发明方法功能原理图;
图3是本发明主、从节点一种典型应用的原理结构框图;
图4是本发明方法的流程图。
具体实施方式
为了便于对于本申请的理解,对于本申请设计的英文含义进行说明,UEFI是Unified Extensible Firmware Interface的简称,中文名称为通用可扩展固件接口;ACPI是Advanced Configuration and Power Interface的简称,中文名称为高级电源管理接口;BMC是Board manager controller的简称,中文名称为基板管理控制器;NC是NodeController的简称,中文名称为节点控制器;BSP是BootStrap Processor的简称,中文名称为自举处理器;MMIO是Memory Map IO的简称,中文名称为内存映射I/O;SAD是SourceAddress Decode的简称,中文名称为源地址解析。
下面结合具体实施例对本申请的方法进行详细说明。
如图4所示,一种收集硬件错误信息的方法,用于快速、准确的采集服务器内硬件错误信息,所述的方法包括以下步骤:
步骤1:划分节点并设置节点控制器扩展模块,具体要求为:
每一个节点至少包括一个CPU和一个节点控制器,也可以增加CPU和节点控制器的数量,比如图3中的节点就有4个CPU和2个节点控制器组成。
扩展模块的设置标准为:扩展模块是设置在节点控制器内部的存储模块,具有与存储控制器数据交互功能,以及与带外系统数据交互功能。其中,节点控制器和扩展模块之间通过地址映射实现数据存储;带外系统和扩展模块之间通过SMBUS协议实现数据读取。
扩展模块的大小根据系统的最大硬件配置设计,比如收集一个CPU的信息需要64KB,系统有16颗CPU的话就要1MB大小,还有一个节点控制器大概需要4KB,系统有8个节点控制器就需要32KB,加起来大概1056KB大小。
步骤2:用户自定义寄存器列表及数据结构,导致本方法的整体原理和现有技术相比,增加了新的思路,整体功能原理如图2所示,自定义寄存器列表及数据结构的具体原理为:研发人员可以通过芯片手册归纳出需要收集的错误状态寄存器并自定义数据结构,然后形成文档并开发出解析工具对获取的错误信息进行解析,嵌入在系统固件的收集错误信息模块,功能和解析工具(可以是基于OS环境下的脚本或可执行软件)需要根据文档定义的数据结构体系进行开发才能保证一致。
一般CPU的有Machine Check MSR(Model Specific Register)和各个功能模块CSR,不同的CPU有不同的寄存器名称,需要根据系统设计定义,下表是一个CPU内部的模块列表举例:
每个CPU的寄存器数量不一样,每个寄存器数据大小是4或8个字节,加上节点控制器的寄存器,这个需要根据芯片手册归纳出具体的寄存器数量,一般以一个16路系统为例,估计1MB~2MB大小可以满足需求。
步骤3:设置服务器中断功能,具体要求为:系统出错时,系统管理中断功能使服务器系统进入中断服务程序。
步骤4:重启服务器,使服务器进入待命状态,具体实现过程为:
1)重启服务器,硬件初始化并启动服务器中断功能,保证在系统出错时,系统管理中断功能使服务器系统进入中断服务程序;
2)将扩展模块的存储部分映射到带内系统地址空间的一段MMIO地址段,并把这段地址空间的SAD指向节点控制器,使得节点控制器能够正确解析带内系统处理器写入的数据信息并存储在扩展模块中;
3)系统随机指定主节点和从节点,由于每个节点硬件设计是一样的,系统管理控制器开机时会指定某一节点作为主节点,其余节点就自动成为从节点;
4)每个节点均有连接慢速的IO设备,类似以前的南桥,包括USB、VGA、串口等,选定主节点后,系统通过主节点连接IO,并断开从节点上的IO接口。
步骤5:服务器发生硬件错误,节点采集硬件信息,具体过程为:
1、启动服务器中断功能,所有CPU停止处理当前任务,进入中断服务程序;需要注意的是,只要发系统管理中断,所有CPU都会停止处理当前任务,进入到这个中断里面,中断处理完后如果错误可以修复就能退回到操作系统,如果不能修复可以收集完信息直接重启或关机。
2、步骤2中自定义的寄存器及数据结构分别收集数据,并将数据拷贝到主节点的扩展模块内,具体原理为:软件中断服务程序唤醒各个PBSP收集各自硬件信息存储到内存,由SBSP收集其它信息并将系统硬件信息拷贝到主节点节点控制器的扩展模块中。
3、从带外系统访问主节点扩展模块并读取硬件错误信息。
信息采集完成后,需要在服务器外部对信息进行解析,并将解析结果反馈到服务器系统中。
应当指出,以上所述具体实施方式可以使本领域的技术人员更全面地理解本发明的具体结构,但不以任何方式限制本发明创造。因此,尽管说明书及附图和实施例对本发明创造已进行了详细的说明,但是,本领域技术人员应当理解,仍然可以对本发明创造进行修改或者等同替换;而一切不脱离本发明创造的精神和范围的技术方案及其改进,其均涵盖在本发明创造专利的保护范围当中。
Claims (1)
1.一种收集硬件错误信息的方法,用于快速、准确的采集服务器内硬件错误信息,其特征在于,所述的方法包括以下步骤:
步骤1:划分节点并设置节点控制器扩展模块;
步骤1中,每一个节点至少包括一个CPU和一个节点控制器;
在步骤1中,扩展模块的设置标准为:扩展模块是设置在节点控制器内部的存储模块,具有与存储控制器数据交互功能,以及与带外系统数据交互功能;
节点控制器和扩展模块之间通过地址映射实现数据存储;
带外系统和扩展模块之间通过SMBUS协议实现数据读取;
步骤2:用户自定义寄存器列表及数据结构;
步骤2中,用户自定义寄存器列表及数据结构的具体过程为:
研发人员首先结合芯片手册,选择需要收集的错误状态寄存器并自定义数据结构;然后形成文档并开发出解析工具对获取的错误信息进行解析,嵌入在系统固件用于收集错误信息的模块;
步骤3:设置服务器中断功能;
步骤3的具体实现原理为:系统出错时,系统管理中断功能使服务器系统进入中断服务程序;
步骤4:重启服务器,使服务器进入待命状态;
步骤4的具体实现过程为:
1)重启服务器,硬件初始化并启动服务器中断功能;
2)将扩展模块的存储部分映射到带内系统地址空间的一段MMIO地址段,并把这段地址空间的SAD指向节点控制器;
3)系统随机指定主节点和从节点;
4)系统通过主节点连接IO,并断开从节点上的IO接口;
步骤5:服务器发生硬件错误,节点采集硬件信息;
步骤5中,节点采集硬件信息的具体过程为:
1)启动服务器中断功能,所有CPU停止处理当前任务,进入中断服务程序;
2)步骤2中自定义的寄存器及数据结构分别收集数据,并将数据拷贝到主节点的扩展模块内;
3)从带外系统访问主节点扩展模块并读取硬件错误信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710359111.5A CN107168815B (zh) | 2017-05-19 | 2017-05-19 | 一种收集硬件错误信息的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710359111.5A CN107168815B (zh) | 2017-05-19 | 2017-05-19 | 一种收集硬件错误信息的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107168815A CN107168815A (zh) | 2017-09-15 |
CN107168815B true CN107168815B (zh) | 2020-09-18 |
Family
ID=59815178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710359111.5A Active CN107168815B (zh) | 2017-05-19 | 2017-05-19 | 一种收集硬件错误信息的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107168815B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113051123B (zh) * | 2019-12-27 | 2023-12-26 | 上海微电子装备(集团)股份有限公司 | 一种半导体设备的处理器及固件数据采集方法 |
CN113778667B (zh) * | 2021-08-17 | 2024-01-23 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 服务器节点信息管理系统和方法、可读介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100552636C (zh) * | 2007-12-14 | 2009-10-21 | 中国人民解放军国防科学技术大学 | 一种用于并行计算机系统的带外诊断测试接口及测试方法 |
US8285900B2 (en) * | 2009-02-17 | 2012-10-09 | The Board Of Regents Of The University Of Texas System | Method and apparatus for congestion-aware routing in a computer interconnection network |
CN103500133A (zh) * | 2013-09-17 | 2014-01-08 | 华为技术有限公司 | 故障定位方法及装置 |
US9256489B2 (en) * | 2013-10-30 | 2016-02-09 | International Business Machines Corporation | Synchronized debug information generation |
CN104407952A (zh) * | 2014-11-12 | 2015-03-11 | 浪潮(北京)电子信息产业有限公司 | 一种通过多cpu节点控制器芯片进行调试的方法和系统 |
-
2017
- 2017-05-19 CN CN201710359111.5A patent/CN107168815B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107168815A (zh) | 2017-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6530774B2 (ja) | ハードウェア障害回復システム | |
US9778844B2 (en) | Installation of operating system on host computer using virtual storage of BMC | |
US9811369B2 (en) | Method and system for physical computer system virtualization | |
US9229730B2 (en) | Multi-chip initialization using a parallel firmware boot process | |
CN102929747B (zh) | 基于龙芯服务器的Linux操作系统崩溃转储的处理方法 | |
US10303458B2 (en) | Multi-platform installer | |
US10606677B2 (en) | Method of retrieving debugging data in UEFI and computer system thereof | |
US20030131039A1 (en) | System, method, and computer program product for preserving trace data after partition crash in logically partitioned systems | |
WO2022134855A1 (zh) | PCIe外插卡的带宽分配方法、装置、设备及存储介质 | |
US20220283928A1 (en) | Kernel debugging system and method | |
CN101364193A (zh) | 自动恢复bios的方法以及使用该方法的电脑与系统 | |
CN109324991B (zh) | 一种pcie设备的热插拔装置、方法、介质及系统 | |
JP2016518654A (ja) | サーバ制御方法及びサーバ制御装置 | |
WO2013088818A1 (ja) | 仮想計算機システム、仮想化機構、及びデータ管理方法 | |
CN103257922B (zh) | 一种快速测试bios与os接口代码可靠性的方法 | |
US11226755B1 (en) | Core dump in a storage device | |
CN107168815B (zh) | 一种收集硬件错误信息的方法 | |
CN114765051A (zh) | 内存测试方法及装置、可读存储介质、电子设备 | |
CN114024853A (zh) | 一种裸金属节点的硬件信息收集方法、系统及相关组件 | |
US10331557B1 (en) | Distribution of memory address resources to bus devices in a multi-processor computing system | |
JP2005032243A (ja) | 更新されたプロセッサポーリング情報を提供する方法および装置 | |
CN108985402B (zh) | 一种raid卡信息获取方法及相关装置 | |
CN116627702A (zh) | 虚拟机的宕机重启方法及装置 | |
CN102455919A (zh) | 基本输入输出系统自动最佳化设定方法 | |
CN113064750B (zh) | 一种bios日志信息的追踪方法、装置和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200821 Address after: 215100 No. 1 Guanpu Road, Guoxiang Street, Wuzhong Economic Development Zone, Suzhou City, Jiangsu Province Applicant after: SUZHOU LANGCHAO INTELLIGENT TECHNOLOGY Co.,Ltd. Address before: 450018 Henan province Zheng Dong New District of Zhengzhou City Xinyi Road No. 278 16 floor room 1601 Applicant before: ZHENGZHOU YUNHAI INFORMATION TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |