CN112596989A - 一种硬盘故障通知方法、装置以及诊断系统 - Google Patents
一种硬盘故障通知方法、装置以及诊断系统 Download PDFInfo
- Publication number
- CN112596989A CN112596989A CN202011531187.XA CN202011531187A CN112596989A CN 112596989 A CN112596989 A CN 112596989A CN 202011531187 A CN202011531187 A CN 202011531187A CN 112596989 A CN112596989 A CN 112596989A
- Authority
- CN
- China
- Prior art keywords
- notification
- fault
- diagnosis
- hard disk
- chain
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/324—Display of status information
- G06F11/325—Display of status information by lamps or LED's
- G06F11/326—Display of status information by lamps or LED's for error or online/offline status
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/321—Display for diagnostics, e.g. diagnostic result display, self-test user interface
Abstract
本说明书提供一种硬盘故障通知方法、装置和诊断系统,涉及通信技术领域。一种硬盘故障通知方法,包括:创建通知链,将诊断线程注册到通知链;接收硬件中断,根据硬件中断向通知链中写入故障通知;当通知链中被写入故障通知时,向注册到通知链的诊断线程发送该故障通知,其中,故障通知包含有故障硬盘所在的背板信息;调用诊断线程,根据背板信息从对应的寄存器中读取故障硬盘的状态信息,并根据状态信息显示诊断结果。通过上述方法可以提升主机中硬盘故障的通知效率。
Description
技术领域
本说明书涉及通信技术领域,尤其涉及一种硬盘故障通知方法、装置和诊断系统。
背景技术
随着人们对于数据需求的增加,在部署有大量服务器的平台中存储海量的数据,而硬盘既是保有这些数据的存储介质。
当前大型数据中心中都有成千上万台服务器,便捷的运维显得尤为重要,这个时候就对BMC(基板管理控制器,Baseboard Management Controller)有着更为严格要求。BMC对服务器中部件故障的敏感度较强,能够及时反馈出服务器的运行状况。硬盘作为服务器的存储介质起着非常重要的作用,影响业务的运行,对于硬盘故障诊断的及时性是服务器正常运行的一个非常重要的指标,故障越快上报就能越快的让用户感知并做下一步处理,越小的影响服务器上业务的运行。
在服务器中,运行有很多诊断线程,用于确认服务器中硬盘的工作状态,诊断线程以轮询的方式从各个基板上读取出对应的状态信息,并根据这些状态信息进行汇总和处理,最终得到服务器中所部署的硬盘的工作状态。然而,当硬盘出现故障时,基板上的状态信息被更新,但诊断线程需要在轮询到对应基板的时候才能获取到更新的状态信息,那么,对于部署大量硬盘的服务器而言,也需要等待一段时间才能够获取到被更新的状态信息,从而降低了对服务器中硬盘的工作状态进行确认的效率。
发明内容
为克服相关技术中存在的问题,本说明书提供了一种硬盘故障通知方法、装置以及诊断系统。
根据本说明书实施方式的第一方面,提供了一种硬盘故障通知方法,包括:
创建通知链,将诊断线程注册到通知链;
接收硬件中断,根据硬件中断向通知链中写入故障通知;
当通知链中被写入故障通知时,向注册到通知链的诊断线程发送该故障通知,其中,故障通知包含有故障硬盘所在的背板信息;
调用诊断线程,根据背板信息从对应的寄存器中读取故障硬盘的状态信息,并根据状态信息显示诊断结果。
可选的,该方法应用于服务器中的基板管理控制器BMC。
可选的,根据状态信息显示诊断,包括:
根据状态信息,计算诊断结果;
根据诊断结果,确定服务器的健康状态,并通过健康灯显示健康状态,或者,根据诊断结果更新系统事件日志。
可选的,在接收硬件中断之前,还包括:
调用诊断线程,从服务器中各基板的寄存器中获取初期状态信息;
根据初期状态信息,确定服务器的健康状态,并通过健康灯显示健康状态,和/或,根据诊断结果更新系统事件日志。
根据本说明书实施方式的第二方面,提供了一种硬盘故障通知装置,包括:
创建单元,用于创建通知链,将诊断线程注册到通知链;
接收单元,用于接收硬件中断,根据硬件中断向通知链中写入故障通知;
传输单元,用于当通知链中被写入故障通知时,向注册到通知链的诊断线程发送该故障通知,其中,故障通知包含有故障硬盘所在的背板信息;
展示单元,用于调用诊断线程,根据背板信息从对应的寄存器中读取故障硬盘的状态信息,并根据状态信息显示诊断结果。
可选的,装置应用于服务器中的基板管理控制器BMC。
可选的,展示单元,包括:
读取模块,用于调用诊断线程,根据背板信息从对应的寄存器中读取故障硬盘的状态信息;
计算模块,用于根据状态信息,计算诊断结果;
确定模块,用于根据诊断结果,确定服务器的健康状态;
展示模块,用于通过健康灯显示健康状态,和/或,根据诊断结果更新系统事件日志。
可选的,读取模块,还用于调用诊断线程,从服务器中各基板的寄存器中获取初期状态信息;
展示模块,还用于根据初期状态信息,确定服务器的健康状态,并通过健康灯显示健康状态,和/或,根据诊断结果更新系统事件日志。
根据本说明书实施方式的第三方面,提供了一种诊断系统,应用于服务器,包括BMC和存储器,该BMC用于调用存储器中存储有程序代码,以实现:
创建通知链,将诊断线程注册到通知链;
接收硬件中断,根据硬件中断向通知链中写入故障通知;
当通知链中被写入故障通知时,向注册到通知链的诊断线程发送该故障通知,其中,故障通知包含有故障硬盘所在的背板信息;
调用诊断线程,根据背板信息从对应的寄存器中读取故障硬盘的状态信息,并根据状态信息显示诊断结果。
可选的,该诊断系统,还包括健康灯,和/或,显示屏;
根据状态信息显示诊断,包括:
根据状态信息,计算诊断结果;
根据诊断结果,确定服务器的健康状态,并通过健康灯显示健康状态,或者,根据诊断结果更新系统事件日志,并在通过显示屏显示更新后的系统事件日志。
本说明书的实施方式提供的技术方案可以包括以下有益效果:
本说明书实施方式中,在检测到硬盘故障时,通过通知链的方式,将故障通知分别转发给注册到该通知链的线程,避免各线程需要轮询获取硬盘的故障,从而提升了硬盘故障时的通知效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施方式,并与说明书一起用于解释本说明书的原理。
图1是本申请所涉及的一种硬盘故障通知方法的流程图;
图2是本申请所涉及的一种硬盘故障通知装置的结构示意图;
图3是本申请所涉及的一种诊断系统的结构示意图。
具体实施方式
这里将详细地对示例性实施方式进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施方式中所描述的实施方式并不代表与本说明书相一致的所有实施方式。
本申请提供了一种硬盘故障通知方法,如图1所示,包括:
S100、创建通知链,将诊断线程注册到通知链。
在主机中,可以设置有处理器、非易失性存储器和内存。处理器可以调用非易失性存储器中所存储的程序代码以执行和实现对应的功能。例如,在非易失性存储器存储器中,可以存储有诊断线程,该诊断线程可以包含获取传感器信息的传感器线程,从硬盘获取硬盘信息的存储线程等等。
该主机,可以是个人电脑和服务器等,一般来说,在个人电脑中,本申请可以通过CPU、内存和存储有程序代码的硬盘实现,在服务器中,可以部署单独的硬件来实现,该硬件可以是包含BMC的检测系统。该BMC可以包含有多个输入\输出接口,通过该输入\输出接口与检测系统中所包含的外围电路连接,以实现BMC与外围电路的通信。该外围电路,可以包含用于显示主机当前的健康状态的健康灯,用于连接显示屏的输出接口等等。该健康灯可以部署在主机的机箱上,通过诊断线程的诊断结果,以显示对应的颜色来标识主机的健康状态,或主机中个别部件的健康状态。在该显示屏上,可以预置有一显示界面,用以将诊断线程的诊断结果通过输出接口输出到显示屏上进行显示。对于具体的诊断结果的展示方式,还可以包含有其他,比如通过蜂鸣器、音频设备等进行音频输出等,在此不做限制。
在主机启动后,创建通知链,该通知链也可以理解为是一种线程,并在内存中拥有一段存储空间,用来存储硬盘的故障通知。该存储空间可以是以FIFO(先入先出,FirstInput First Output)的形式设置。
并且,为了实现通知链向诊断线程的通信(可以理解为线程间通信),需要在创建诊断线程后,将诊断线程注册到通知链中。比如,在通知链中记录诊断线程的线程标识等信息。
在创建诊断线程后,各个诊断线程可以先从主机中获取到主机的初期状态信息。比如,当主机为个人电脑时,可以通过读取个人电脑的主板上所部署的寄存器确定这些初期状态信息。当主机为服务器时,由于在服务器中可以部署有大量的硬盘,这些硬盘会连接到一个或数个基板上。因此,诊断线程可以访问各个基板上的寄存器来读取出服务器的初期状态信息。
需要说明的是,在获取初期状态信息时,可以并不限于主机中所部署的硬盘状态信息。
S101、接收硬件中断,根据硬件中断向通知链中写入故障通知。
此后,主机正常工作,处理器处于等待状态。如果有硬盘拔出或者硬盘故障等情况时,会触发硬件中断。硬盘中断会被处理器接收,处理器可以根据硬件中断确定出现故障的位置。比如,当个人电脑中的CPU接收到该硬件中断时,可以确定该故障出现于主板所连接的某一块硬盘,即可以包含有故障硬盘的槽位号。当服务器中的BMC接收到硬件中断时,可以确定发生故障的硬盘位于服务器中的哪一个背板,即确定背板信息。
此时,将会触发处理器向创建的通知链写入故障通知,该故障通知中包含有故障硬盘所在的背板信息。
S102、当通知链中被写入故障通知时,向注册到通知链的诊断线程发送该故障通知。
当通知链中被写入故障通知时,该通知链被触发,分别向注册到该通知链的诊断线程发送该故障通知,从而使得多个诊断线程可以分别获取到该故障通知。发送故障通知的方式,可以理解为向对应诊断线程的接口发送。
S103、调用诊断线程,根据背板信息从对应的寄存器中读取故障硬盘的状态信息,并根据状态信息显示诊断结果。
当该故障通知被诊断线程接收时,处理器调用该诊断线程确定故障通知中的背板信息,并根据该背板信息访问对应的背板上部署的寄存器获取到故障硬盘的状态信息。该背板上的寄存器中可以包含有多种状态信息,比如,在背板上可以设置有一个寄存器,该寄存器的每一位分别对应背板上所设置的一个硬盘的在位情况,通过读取该寄存器可以确定出背板上的哪一个硬盘出现了故障。
在背板上,还可以包含有传感器线程所需要获取状态信息的寄存器,比如温度传感器需要从寄存器中读取出此基板的温度,转速传感器需要从寄存器中读取出此基板所对应的风扇的转速等等。对于获取的状态信息,根据具体需求的不同而设置,在此不展开描述。
之后,主机上的处理器可以根据所获取的状态信息进行汇总和计算,从而确定出一个诊断结果。该诊断结果可以是反应背板上各硬盘的健康状态,可以是用于更新SEL(系统事件日志,System Event Log)的信息,当然,也可以是通过其他内容来表示主机的当前情况。这样一来,根据该诊断结果,就可以进行展示,例如,通过健康灯显示主机的健康状态,通过显示屏显示SEL,和/或通过蜂鸣器等来提醒工作人员当前的故障。
本说明书实施方式中,在检测到硬盘故障时,通过通知链的方式,将故障通知分别转发给注册到该通知链的线程,避免各线程需要轮询获取硬盘的故障,从而提升了硬盘故障时的通知效率。
另外,在主机上电后,还可以根据初期状态信息进行一次展示,同样地,可以通过健康灯、SEL或音频设备等方式进行,在此不再赘述。
相对应的,本申请还公开了一种硬盘故障通知装置,如图2所示,包括:
创建单元,用于创建通知链,将诊断线程注册到通知链;
接收单元,用于接收硬件中断,根据硬件中断向通知链中写入故障通知;
传输单元,用于当通知链中被写入故障通知时,向注册到通知链的诊断线程发送该故障通知,其中,故障通知包含有故障硬盘所在的背板信息;
展示单元,用于调用诊断线程,根据背板信息从对应的寄存器中读取故障硬盘的状态信息,并根据状态信息显示诊断结果。
可选的,装置应用于服务器中的基板管理控制器BMC。
可选的,展示单元,包括:
读取模块,用于调用诊断线程,根据背板信息从对应的寄存器中读取故障硬盘的状态信息;
计算模块,用于根据状态信息,计算诊断结果;
确定模块,用于根据诊断结果,确定服务器的健康状态;
展示模块,用于通过健康灯显示健康状态,和/或,根据诊断结果更新系统事件日志。
可选的,读取模块,还用于调用诊断线程,从服务器中各基板的寄存器中获取初期状态信息;
展示模块,还用于根据初期状态信息,确定服务器的健康状态,并通过健康灯显示健康状态,和/或,根据诊断结果更新系统事件日志。
相对应的,本申请提供了一种诊断系统,如图3所示,应用于服务器,包括BMC和存储器,该BMC用于调用存储器中存储有程序代码,以实现:
创建通知链,将诊断线程注册到通知链;
接收硬件中断,根据硬件中断向通知链中写入故障通知;
当通知链中被写入故障通知时,向注册到通知链的诊断线程发送该故障通知,其中,故障通知包含有故障硬盘所在的背板信息;
调用诊断线程,根据背板信息从对应的寄存器中读取故障硬盘的状态信息,并根据状态信息显示诊断结果。
可选的,该诊断系统,还包括健康灯,和/或,显示屏;
根据状态信息显示诊断,包括:
根据状态信息,计算诊断结果;
根据诊断结果,确定服务器的健康状态,并通过健康灯显示健康状态,或者,根据诊断结果更新系统事件日志,并在通过显示屏显示更新后的系统事件日志。
本说明书实施方式中,在检测到硬盘故障时,通过通知链的方式,将故障通知分别转发给注册到该通知链的线程,避免各线程需要轮询获取硬盘的故障,从而提升了硬盘故障时的通知效率。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。
以上所述仅为本说明书的较佳实施方式而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
Claims (10)
1.一种硬盘故障通知方法,其特征在于,包括:
创建通知链,将诊断线程注册到所述通知链;
接收硬件中断,根据所述硬件中断向所述通知链中写入故障通知;
当所述通知链中被写入故障通知时,向注册到所述通知链的诊断线程发送该故障通知,其中,所述故障通知包含有故障硬盘所在的背板信息;
调用所述诊断线程,根据所述背板信息从对应的寄存器中读取故障硬盘的状态信息,并根据所述状态信息显示诊断结果。
2.根据权利要求1所述的方法,其特征在于,所述方法应用于服务器中的基板管理控制器BMC。
3.根据权利要求1所述的方法,其特征在于,所述根据所述状态信息显示诊断,包括:
根据所述状态信息,计算诊断结果;
根据诊断结果,确定所述服务器的健康状态,并通过健康灯显示所述健康状态,或者,根据所述诊断结果更新系统事件日志。
4.根据权利要求3所述的方法,其特征在于,在所述接收硬件中断之前,还包括:
调用诊断线程,从服务器中各基板的寄存器中获取初期状态信息;
根据所述初期状态信息,确定服务器的健康状态,并通过健康灯显示所述健康状态,和/或,根据所述诊断结果更新系统事件日志。
5.一种硬盘故障通知装置,其特征在于,包括:
创建单元,用于创建通知链,将诊断线程注册到所述通知链;
接收单元,用于接收硬件中断,根据所述硬件中断向所述通知链中写入故障通知;
传输单元,用于当所述通知链中被写入故障通知时,向注册到所述通知链的诊断线程发送该故障通知,其中,所述故障通知包含有故障硬盘所在的背板信息;
展示单元,用于调用所述诊断线程,根据所述背板信息从对应的寄存器中读取故障硬盘的状态信息,并根据所述状态信息显示诊断结果。
6.根据权利要求5所述的装置,其特征在于,所述装置应用于服务器中的基板管理控制器BMC。
7.根据权利要求5所述的装置,其特征在于,所述展示单元,包括:
读取模块,用于调用所述诊断线程,根据所述背板信息从对应的寄存器中读取故障硬盘的状态信息;
计算模块,用于根据所述状态信息,计算诊断结果;
确定模块,用于根据诊断结果,确定所述服务器的健康状态;
展示模块,用于通过健康灯显示所述健康状态,和/或,根据所述诊断结果更新系统事件日志。
8.根据权利要求7所述的装置,其特征在于,所述读取模块,还用于调用诊断线程,从服务器中各基板的寄存器中获取初期状态信息;
所述展示模块,还用于根据所述初期状态信息,确定服务器的健康状态,并通过健康灯显示所述健康状态,和/或,根据所述诊断结果更新系统事件日志。
9.一种诊断系统,其特征在于,应用于服务器,包括BMC和存储器;
所述存储器中存储有程序代码,所述BMC调用所述程序代码,以实现:
创建通知链,将诊断线程注册到所述通知链;
接收硬件中断,根据所述硬件中断向所述通知链中写入故障通知;
当所述通知链中被写入故障通知时,向注册到所述通知链的诊断线程发送该故障通知,其中,所述故障通知包含有故障硬盘所在的背板信息;
调用所述诊断线程,根据所述背板信息从对应的寄存器中读取故障硬盘的状态信息,并根据所述状态信息显示诊断结果。
10.根据权利要求9所述的诊断系统,其特征在于,还包括健康灯,和/或,显示屏;
所述根据所述状态信息显示诊断,包括:
根据所述状态信息,计算诊断结果;
根据诊断结果,确定所述服务器的健康状态,并通过健康灯显示所述健康状态,或者,根据所述诊断结果更新系统事件日志,并在通过所述显示屏显示更新后的系统事件日志。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011531187.XA CN112596989A (zh) | 2020-12-22 | 2020-12-22 | 一种硬盘故障通知方法、装置以及诊断系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011531187.XA CN112596989A (zh) | 2020-12-22 | 2020-12-22 | 一种硬盘故障通知方法、装置以及诊断系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112596989A true CN112596989A (zh) | 2021-04-02 |
Family
ID=75200678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011531187.XA Pending CN112596989A (zh) | 2020-12-22 | 2020-12-22 | 一种硬盘故障通知方法、装置以及诊断系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112596989A (zh) |
-
2020
- 2020-12-22 CN CN202011531187.XA patent/CN112596989A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106648958B (zh) | 基本输入输出系统回复管理系统及其方法以及程序产品 | |
US20070055793A1 (en) | System of managing peripheral interfaces in IPMI architecture and method thereof | |
CN101126995B (zh) | 处理严重硬件错误的方法及设备 | |
US7302506B2 (en) | Storage system | |
US8086838B2 (en) | Methods and systems for providing manufacturing mode detection and functionality in a UEFI BIOS | |
US6760869B2 (en) | Reporting hard disk drive failure | |
US6880113B2 (en) | Conditional hardware scan dump data capture | |
US6823482B2 (en) | System and method for reporting platform errors in partitioned systems | |
CN107832199A (zh) | 基于cpld的硬盘监控系统 | |
US20100313072A1 (en) | Failure Analysis Based on Time-Varying Failure Rates | |
US7908407B1 (en) | Method, computer-readable storage media, and integrated circuit for providing enclosure management services utilizing multiple interfaces and protocols | |
GB2328045A (en) | Data processing system diagnostics | |
CN109189627B (zh) | 一种硬盘故障监控检测方法、装置、终端及存储介质 | |
US7266628B2 (en) | System and method of retiring events upon device replacement | |
US20080288828A1 (en) | structures for interrupt management in a processing environment | |
US7725806B2 (en) | Method and infrastructure for recognition of the resources of a defective hardware unit | |
CN109408281A (zh) | 用于无头服务器可管理性和自主日志记录的技术 | |
CN112596989A (zh) | 一种硬盘故障通知方法、装置以及诊断系统 | |
US7617417B2 (en) | Method for reading input/output port data | |
US7818627B2 (en) | Systems and methods for gathering debug information | |
TWI795950B (zh) | 硬碟監控方法、電子裝置及存儲介質 | |
US20090282229A1 (en) | Conditional inclusion of resources in a computer system configuration | |
CN114443446B (zh) | 硬盘指示灯控制方法、系统、终端及存储介质 | |
JP7484301B2 (ja) | 情報処理装置及び情報処理プログラム | |
US20230075055A1 (en) | Method and system for providing life cycle alert for flash memory device |
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 |