本发明涉及服务器技术领域,特别涉及一种硬盘点灯的方法。本发明还涉及包括上述硬盘点灯的系统和计算机可读存储介质。
背景技术:
随着计算机技术的迅猛发展,海量信息的传输和存储的场景日益增多,在这种背景下,对于服务器系统中的存储系统而言,硬盘的管理非常重要。
硬盘的工作状态直接决定了系统工作的稳定性,对硬盘进行频繁读写造成硬盘的负荷越来越大,因此易出现硬盘故障的现象。一台服务器上一般安装有多块硬盘,因此,有效地反映硬盘的工作状态,以便及时进行数据保存及硬盘的更换,来保持服务器的正常运行。
现有技术中主要是操作系统下发硬盘状态的指令信息到硬盘背板cpld,硬盘背板cpld对指令信息进行解析,来获得故障硬盘位置信息并对故障硬盘进行指示灯点亮的操作。但是由于实际情况的多样性,对硬盘点灯的方法提出了更高的要求。目前的主要硬盘点灯方法单一,难以满足用户的多种需求。
因此如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。
技术实现要素:
有鉴于此,本发明的目的在于提供一种硬盘点灯的方法,这种方法可以满足用户多种条件下的硬盘点灯的需求;本发明的另一目的是提供包括上述硬盘点灯的系统和计算机可读存储介质,能够可以满足用户多种条件下的硬盘点灯的需求。
为解决上述技术问题,本发明提供一种硬盘点灯的方法,包括:
bmc接收到硬盘状态的请求指令,其中,所述请求指令为远程终端指令及操作系统内部指令;
将所述请求指令发送到硬盘背板cpld,以使所述硬盘背板cpld解析所述请求指令得到故障硬盘的信息,根据所述故障硬盘的信息对所述故障硬盘的信息对应的故障硬盘采取点亮硬盘指示灯操作。
优选地,所述bmc接收到硬盘状态请求指令,包括:
利用网络接口,接收远程终端的指令。
优选地,所述bmc接收到硬盘状态请求指令,还包括:
利用操作系统内部接口,接收操作系统内部的指令。
优选地,所述硬盘背板cpld解析所述请求指令得到故障硬盘的信息,根据所述故障硬盘的信息对所述故障硬盘的信息对应的故障硬盘采取点亮硬盘指示灯操作,包括:
所述硬盘背板cpld解析所述请求指令得到故障硬盘的信息,所述故障硬盘信息包括所述故障硬盘的位置信息和所述故障硬盘的故障类型信息;
根据所述位置信息对于所述位置信息对应的故障硬盘采取点亮硬盘指示灯操作,其中,当所述故障类型是物理故障时,使所述硬盘指示灯持续发光;当所述故障类型是软故障时,使所述硬盘指示灯闪烁发光。
本发明提供了一种硬盘点灯的系统,包括:
bmc,用于接收硬盘状态请求指令;所述请求指令为远程终端指令及操作系统内部指令;将所述请求指令发送给硬盘背板cpld;
所述硬盘背板cpld,用于解析所述请求指令得到故障硬盘的信息,根据所述故障硬盘的信息对所述故障硬盘的信息对应的故障硬盘采取点亮硬盘指示灯操作。
优选地,所述bmc具体为利用网络接口,接收远程终端的指令。
优选地,所述bmc具体为利用操作系统内部接口,接收操作系统内部的指令。
优选地,所述硬盘背板cpld,包括:
请求指令解析单元,用于解析所述请求指令得到故障硬盘的信息,所述故障硬盘信息包括所述故障硬盘的位置信息和所述故障硬盘的故障类型信息;
请求指令实施单元,用于根据所述位置信息对于所述位置信息对应的故障硬盘采取点亮硬盘指示灯操作,其中,当所述故障类型是物理故障时,使所述硬盘指示灯持续发光;当所述故障类型是软故障时,使所述硬盘指示灯闪烁发光。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述硬盘点灯的方法的步骤。
本发明提供的硬盘点灯的方法,包括:bmc接收到硬盘状态的请求指令,其中,请求指令为远程终端指令及操作系统内部指令,将请求指令发送到硬盘背板cpld,以使硬盘背板cpld解析请求指令得到故障硬盘的信息,根据故障硬盘的信息对故障硬盘的信息对应的故障硬盘采取点亮硬盘指示灯操作。
可见,该方法通过bmc接收到远程终端以及操作系统内部的获取硬盘状态的请求指令,用户可根据实际的需要选择远程终端还是操作系统内部来发送请求指令,最终实现故障硬盘点亮指示灯的操作;可以看出,请求指令获取的方式可以是操作系统内部也可以是远程终端,可以满足用户多种条件下的需求,进而提升用户体验。本发明还提供了硬盘点灯的系统和计算机可读存储介质,具有如上述方法相同的有益效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明提供的硬盘点灯的方法的一种具体实施方式的流程图;
图2为本发明提供的硬盘点灯的方法的另一种具体实施方式的流程图;
图3为本发明提供的硬盘点灯的方法的另一种具体实施方式的流程图;
图4为本发明提供的硬盘点灯的方法的又一种具体实施方式的流程图;
图5为本发明提供的一种硬盘点灯系统的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中服务器硬盘点灯的方法主要采用的方法是操作系统下发硬盘状态的指令信息到硬盘背板cpld(complexprogrammablelogicdevice,复杂可编程逻辑器),硬盘背板cpld对指令信息进行解析,来获得故障硬盘位置信息并对故障硬盘进行指示灯点亮的操作。但是这种单一的点亮硬盘指示灯的方法已经不能满足用户的需求,在实际情况下用户不仅需要实现操作系统下点亮硬盘指示灯也需要在大量服务器存在的情况下进行远程监控硬盘状态,并对故障硬盘采取点亮指示灯操作。因此基于上述问题,本发明为满足不同的用户的需求,本实施例提供了一种硬盘点灯的方法,既能够实现在操作系统下硬盘点灯能又能够实现远程监控下硬盘点灯操作,满足用户的实际需求,提高用户体验。具体请参考图1,图1为本发明提供的硬盘点灯方法的一种具体实施方式的流程图,包括:
s100、bmc接收到硬盘状态的请求指令,其中,请求指令为远程终端指令及操作系统内部指令。
本实施例并不对硬盘状态的请求指令进行限定,用户可以根据实际的需求进行设定。具体的,bmc(baseboardmanagementcontroller,基板管理控制器)作为ipmi(intelligentplatformmanagementinterface,智能平台管理接口)协议的嵌入式芯片可以提供操作系统内部及远程对硬盘进行监管,bmc的外围接口包括serial、lan、i2c、kcs、gpio、操作系统内部接口等。例如,当实际需求为需要对硬盘进行远程监控,进行远程硬盘状态获取时,选择接受远程终端指令,其中bmc可以与lan接口或者serial接口连接,遵循标准ipmi协议,具有通用性,提高了用户监控的效率;当实际需求为需要操作系统内部指令下发,获取硬盘状态时,bmc与操作系统内部接口连接,通过ipmi协议接受操作系统内部的指令。
对于本发明来说在信息传递上通过ipmi协议,实际的物理接口为网络接口以及操作系统内部接口,ipmi协议让用户可以通过网络或者操作系统来监控服务器上硬盘的健康状况。
bmc提供的ipmi协议接口requestdata包括:
netfncommand:
byte1:addresstype,
0x01:slotaddress;
byte2:backplanenumber;
byte3:slotnumber;
byte4:ledlight,
bit1表示定位,0点亮定位灯,1熄灭定位灯;
bit2表示故障,0点亮故障灯,1熄灭故障灯。
其中,byte2可定义为:
bit7,0前置,1后置;
bit6,0相对硬盘索引,1绝对硬盘索引;
bit3-0,硬盘背板索引。
bmc提供的ipmi协议接口的respond:completecode。
请求指令通过ipmi协议通过向bmc发送指令完成。
本实施例中通过bmc可以获取操作系统内部的指令也可以获取远程的指令,因而能够满足用户的实际需求,在满足实际需求的情况下选择合理的方法点亮故障硬盘的指示灯。
s110、将请求指令发送到硬盘背板cpld,以使硬盘背板cpld解析请求指令得到故障硬盘的信息,根据故障硬盘的信息对故障硬盘的信息对应的故障硬盘采取点亮硬盘指示灯操作。
bmc将请求指令发送到硬盘背板cpld。一般地,bmc指定的i2c通道与硬盘背板cpld指定的i2c通道互连,实现两者的信息传递,当然也可以通过其他信号通道进行传递。
硬盘背板cpld接收到bmc发送来的内容包括:
byte1,addresstype(1);
byte2,slot;
byte4,led。
进一步的,硬盘背板cpld对信息进行解析。具体地,随后向硬盘发送指令获取硬盘状态信息,具体地,硬盘状态包括正常、数据传输状态和故障状态,进而硬盘背板cpld获得故障硬盘的信息。
按照实际应用及硬盘所能表现出来的亮灯状态本发明不再对此进行限定,可根据用户的实际情况进行设定。例如,可以设置3种状态指示灯,用户可以通过每种状态来判断当前硬盘所处的状态,起到对硬盘监管的作用。例如,绿色为指示硬盘上数据传输的指示灯;红色为指示硬盘告警故障的指示灯。硬盘背板cpld根据故障硬盘信息对故障硬盘信息对应的故障硬盘采取点亮指示灯的操作。一般的硬盘状态指示灯为led灯,当然也可以根据实际需求进行选择,本发明在此不做限定。最终,硬盘背板cpld通过控制背板上的led灯的开关来显示硬盘的工作状态。此时完成了一次点亮故障硬盘指示灯操作。
本实施例中并未对预设的服务器的数量做限定,其可以根据实际的需求进行确定。只要可以根据该方法可以使服务器的故障硬盘点亮指示灯即可。本实施例中也不限定同一服务器中故障硬盘数量的阈值,用户可以根据实际情况选择当前合适的阈值,例如当某一服务器的故障硬盘的数量达到阈值时,可以通过提高指示灯的亮度或者其他有效的方式来使用户可以得到该服务器硬盘损坏严重的信息,用户可以对该服务器进行进一步处理,进而能够重点对待严重故障的服务器,提高用户对服务器的监管。
基于上述技术方案,本发明实施例提供的硬盘点灯的方法,该方法通过bmc接收到远程终端以及操作系统内部的希望获取硬盘状态的请求指令,用户可根据实际的需要选择远程终端还是操作系统内部来发送请求指令,最终实现故障硬盘点亮指示灯的操作;可以看出,请求指令获取的方式可以是操作系统内部也可以是远程终端,可以满足用户多种条件下的需求,进而提升用户体验。
基于上述实施例,本实施中提供一种硬盘点灯的方法,bmc通过网络接口接收远程终端的指令,接受远程指令来实现故障硬盘点亮指示灯的操作,简单可靠,便于操作。具体请参考图2,图2为本发明提供的硬盘点灯的方法的另一种具体实施方式的流程图,该方法可以包括:
s200、bmc利用网络接口,接收远程终端的指令。
s210、将请求指令发送到硬盘背板cpld,以使硬盘背板cpld解析请求指令得到故障硬盘的信息,根据故障硬盘的信息对故障硬盘的信息对应的故障硬盘采取点亮硬盘指示灯操作。
bmc利用网络接口,接收远程终端的指令。网络接口可以是通过lan或者serial接口与bmc连接。遵循标准ipmi协议,具有通用性,提高了用户监控的效率。具体的说,接收到的终端的指令可以是对终端设备的远程操作,web发布工具实现的远程监控的信息。通过bmc可以获取远程的指令,使硬盘背板cpld解析请求指令得到故障硬盘的信息,根据故障硬盘的信息对故障硬盘的信息对应的故障硬盘采取点亮硬盘指示灯操作。
基于上述技术方案,本发明实施例提供的硬盘点灯的方法,通过网络接口,接收远程终端的指令,进而实现在大量服务器存在的情况下,远程对故障硬盘采取点亮指示灯的操作,可以看出该方法避免了在服务器大量存在的情况下逐一对服务器的硬盘进行检测的复杂,本实施例可以对服务器硬盘进行远程操控,能够独立、不受操作系统控制的远程实现对硬盘的监控及点灯操作,因而大大降低了操作的复杂性,从而提高了客户体验。尤其是有利于服务器大量应用场景,快速定位问题硬盘,减轻工作量,快速识别硬盘状态。
基于上述实施例,本实施中也可以是操作系统内部下发请求指令,进而进行故障硬盘采取点亮指示灯的操作。具体请参考图3,图3为本发明提供的硬盘点灯的方法的另一种具体实施方式的流程图;该方法可以包括:
s300、bmc利用操作系统内部接口,接收操作系统内部的指令。
s310、将请求指令发送到硬盘背板cpld,以使硬盘背板cpld解析请求指令得到故障硬盘的信息,根据故障硬盘的信息对故障硬盘的信息对应的故障硬盘采取点亮硬盘指示灯操作。
bmc利用操作系统内部接口,接收操作系统内部的指令,命令形式明确直接,将请求指令发送到硬盘背板cpld,以使硬盘背板cpld解析请求指令得到故障硬盘的信息,根据故障硬盘的信息对故障硬盘的信息对应的故障硬盘采取点亮硬盘指示灯操作。
基于上述技术方案,本发明实施例提供的硬盘点灯的方法,接收操作系统内部接口指令对故障硬盘采取点亮指示灯的操作,命令形式明确直接。因而本实施例可以对服务器硬盘进行硬盘状态的监控,下发直接的命令获得故障硬盘的信息进而点亮故障硬盘的指示灯,定位问题硬盘,识别硬盘状态。
基于上述实施例,为了对不同的故障硬盘状态进行辨别,进而本实施例提供一种硬盘点灯的方法,可以辨别故障硬盘的故障类型,进而便于用户采取相应操作。具体请参考图4,图4为本发明所提供的硬盘点灯的方法的又一种具体实施的流程图;该方法可以包括:
s400、bmc接收到硬盘状态的请求指令。
s410、将请求指令发送到硬盘背板cpld,以使硬盘背板cpld解析请求指令得到故障硬盘的信息,故障硬盘信息包括故障硬盘的位置信息和故障硬盘的故障类型信息;根据位置信息对于位置信息对应的故障硬盘采取点亮硬盘指示灯操作,其中,当故障类型是物理故障时,使硬盘指示灯持续发光;当故障类型是软故障时,使硬盘指示灯闪烁发光。
bmc接收到硬盘状态的请求指令,其中,请求指令为远程终端指令及操作系统内部指令。bmc将请求指令发送到硬盘背板cpld,以使硬盘背板cpld解析请求指令得到故障硬盘的信息,故障硬盘信息包括故障硬盘的位置信息和故障硬盘的故障类型信息。具体地,故障信息包括硬盘的位置信息和故障硬盘的故障类型信息,当然,也可以包括故障硬盘的型号等信息。
当故障类型是物理故障时,具体地,物理故障包括磁头组件故障、控制电路故障、综合性故障和扇区物理性故障,指示灯持续发光,需要指出的是,本实施例并未对指示灯发光强度进行设定,用户可根据实际情况进行设定,例如设定一个强度序列,每一个强度范围表示表示不同的故障程度。当故障类型是软故障时,具体地,软故障包括磁道伺服信息出错、系统信息区出错和扇区逻辑错误,指示灯闪烁发光,需要指出的是,本实施例并未对指示灯闪烁频率进行设定,用户可以根据实际情况进行设定,根据闪烁频率的不同来划分不同的软故障,进而可以方便用户采取相应的措施。此时完成了一次点亮故障硬盘指示灯的操作。
基于上述技术方案,本发明实施例提供的硬盘点灯的方法,通过bmc可以获取操作系统内部的指令也可以获取远程的指令,以使硬盘背板cpld解析请求指令得到故障硬盘的信息,故障硬盘信息包括故障硬盘的位置信息和故障硬盘的故障类型信息;根据位置信息对于位置信息对应的故障硬盘采取点亮硬盘指示灯操作,其中,当故障类型是物理故障时,使硬盘指示灯持续发光;当故障类型是软故障时,使硬盘指示灯闪烁发光。用户可以通过观察硬盘指示灯的不同状态,可以判断硬盘的故障情况,并根据不同的故障情况采取相应的措施。操作的复杂性,从而提高了客户体验。尤其是有利于服务器大量应用场景,快速定位问题硬盘,减轻工作量,快速识别硬盘状态。
下面对本发明实施例提供的硬盘点灯的系统以及计算机可读存储介质进行介绍,下文描述的硬盘点灯系统以及计算机可读存储介质与上文描述的硬盘点灯方法可相互对应参照。
请参考图5,图5为本发明实施例提供的硬盘点灯的系统的结构框图;该系统包括:
bmc100,用于接收硬盘状态请求指令;请求指令为远程终端指令及操作系统内部指令;将请求指令发送给硬盘背板cpld200;
硬盘背板cpld200,用于解析请求指令得到故障硬盘的信息,根据故障硬盘的信息对故障硬盘的信息对应的故障硬盘采取点亮硬盘指示灯操作。
基于上述任意实施例,bmc100具体为利用网络接口,接收远程终端的指令。
基于上述任意实施例,bmc100具体为利用操作系统内部接口,接收操作系统内部的指令。
基于上述任意实施例,硬盘背板cpld200,包括:
请求指令解析单元,用于解析请求指令得到故障硬盘的信息,故障硬盘信息包括故障硬盘的位置信息和故障硬盘的故障类型信息;
请求指令实施单元,用于根据位置信息对于位置信息对应的故障硬盘采取点亮硬盘指示灯操作,其中,当故障类型是物理故障时,使硬盘指示灯持续发光;当故障类型是软故障时,使硬盘指示灯闪烁发光。
对于本发明提供的硬盘点灯的系统的介绍请参照上述实施例,本发明不再赘述。
本发明还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述硬盘点灯的方法的步骤。
该计算机可读存储介质可以包括硬盘等各种可以存储程序代码的介质。
对于本发明提供的计算机可读存储介质的介绍请参照上述事实例,本发明不再赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上对本发明所提供的一种硬盘点灯的方法、系统及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。