硬盘的信息关联方法、装置、BMC和服务器系统与流程
未命名
07-27
阅读:136
评论:0
硬盘的信息关联方法、装置、bmc和服务器系统
技术领域
1.本技术实施例涉及服务器技术领域,具体而言,涉及一种硬盘的信息关联方法、装置、bmc和服务器系统。
背景技术:
2.在服务器设备中大量使用各种硬盘,作为服务器的存储载体,硬盘在服务器中的作用非常重要,因此,实时监测观察服务器硬盘的工作状态就显得尤为重要,当硬盘出现故障后,对故障硬盘的定位尤为重要。
3.目前主流服务器主要由bmc对硬盘背板上的硬盘进行状态监控和报警,由于目前服务器设计越来越复杂,服务器存在多个硬盘背板,当bmc(baseboard management controller,基板管理控制器)监控到硬盘异常或故障时,bmc能够定位到硬盘所在的背板及所在背板上的slot(插槽),而难以在raid(redundant arrays of independent disks,磁盘阵列)中找到对应的硬盘信息,给运维及业务人员带来很大苦恼。
技术实现要素:
4.本技术实施例提供了一种硬盘的信息关联方法、装置、bmc和服务器系统,以至少解决相关技术中bmc检测到硬盘故障后难以在raid中找到对应的硬盘信息,造成服务器检修不便的问题。
5.根据本技术的一个实施例,提供了一种硬盘的信息关联方法,所述方法应用于bmc,所述方法包括:第一获取步骤,获取第一目标信息,所述第一目标信息为目标硬盘的第一硬盘信息,raid控制器存储有服务器中每个硬盘的第一硬盘信息,所述第一硬盘信息包括硬盘标识,所述目标硬盘为多个所述硬盘中之一;第二获取步骤,在接收到预定信息的情况下,获取所述服务器中每个所述硬盘的状态信息和第二硬盘信息,所述预定信息为bios(basic input output system,基本输入输出系统)发出的或者raid控制器发出的信息,所述预定信息表征已调整所述目标硬盘的所述状态信息,使得所述目标硬盘的所述状态信息不同于其他各所述硬盘的所述状态信息,所述状态信息包括状态指示模块的开关状态,所述第二硬盘信息包括所述硬盘的插槽标识;第一确定步骤,从多个所述状态信息中确定所述目标硬盘的所述状态信息为目标状态信息,并确定所述目标状态信息对应的所述第二硬盘信息为第二目标信息;关联步骤,将所述第一目标信息与所述第二目标信息进行关联。
6.在一个示例性实施例中,所述第一获取步骤包括:在与所述raid控制器连接的情况下,从所述raid控制器中读取所有所述硬盘的所述第一硬盘信息,并从多个所述第一硬盘信息中确定所述第一目标信息;在未与所述raid控制器连接的情况下,接收bios发送的所述第一目标信息,其中,所述第一目标信息为所述bios从多个所述第一硬盘信息中确定并发出的,多个所述第一硬盘信息为所述bios在所述服务器开机的情况下从所述raid控制器中读取到的。
7.在一个示例性实施例中,在所述服务器开机的情况下,各所述硬盘对应的所述状
态信息为关闭状态,在未与所述raid控制器连接的情况下,所述预定信息为所述bios在发出第一指令之后发出的信息,所述第一指令用于指示所述目标硬盘将所述状态信息由关闭状态切换为开启状态。
8.在一个示例性实施例中,在所述第二获取步骤之前,所述方法还包括:在与所述raid控制器连接的情况下,向各所述硬盘发送第二指令,所述第二指令用于控制各所述硬盘的所述状态信息为关闭状态的指令;发送第三指令至所述raid控制器,所述第三指令用于指示所述raid控制器将所述目标硬盘的所述状态信息由所述关闭状态切换为开启状态;接收所述raid控制器完成所述第三指令后反馈的所述预定信息。
9.在一个示例性实施例中,所述第一确定步骤包括:根据多个所述状态信息中,确定表征所述开启状态的所述状态信息为所述目标状态信息。
10.在一个示例性实施例中,所述服务器包括多个硬盘背板,每个所述硬盘背板上设置有一个cpld(complex programmable logic device,可编程逻辑器件)和多个所述硬盘,所述第二硬盘信息还包括所述硬盘背板的标识信息,获取所述服务器中每个所述硬盘的状态信息和第二硬盘信息,包括:获取所述第二硬盘信息;发送第四指令至多个所述cpld,所述第四指令用于查询各所述硬盘背板上所述硬盘的所述状态信息;在接收到各反馈信息的情况下,从所述反馈信息提取得到各所述状态信息,其中,所述反馈信息为所述cpld响应于所述第四指令生成的信息。
11.在一个示例性实施例中,所述方法还包括:第二确定步骤,确定服务器中除所述目标硬盘外的一个所述硬盘为新的所述目标硬盘;循环步骤,循环执行所述第二确定步骤、所述第一获取步骤、所述第二获取步骤、所述第一确定步骤以及所述关联步骤,直到完成所述服务器中所有的所述硬盘的信息关联。
12.根据本技术的另一个实施例,提供了一种硬盘的信息关联装置,硬盘的信息关联装置,所述装置包括:第一获取单元,用于第一获取步骤,获取第一目标信息,所述第一目标信息为目标硬盘的第一硬盘信息,raid控制器存储有服务器中每个硬盘的第一硬盘信息,所述第一硬盘信息包括硬盘标识,所述目标硬盘为多个所述硬盘中之一;第二获取单元,用于第二获取步骤,在接收到预定信息的情况下,获取所述服务器中每个所述硬盘的状态信息和第二硬盘信息,所述预定信息为bios发出的或者raid控制器发出的信息,所述预定信息表征已调整所述目标硬盘的所述状态信息,使得所述目标硬盘的所述状态信息不同于其他各所述硬盘的所述状态信息,所述状态信息包括状态指示模块的开关状态,所述第二硬盘信息包括所述硬盘的插槽标识;第一确定单元,用于第一确定步骤,从多个所述状态信息中确定所述目标硬盘的所述状态信息为目标状态信息,并确定所述目标状态信息对应的所述第二硬盘信息为第二目标信息;关联单元,用于关联步骤,将所述第一目标信息与所述第二目标信息进行关联。
13.根据本技术的又一个实施例,还提供了一种bmc,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
14.根据本技术的再一个实施例,还提供了一种服务器系统,包括:多个硬盘;raid控制器,与多个所述硬盘连接;bios,与多个所述硬盘连接;所述的bmc,与所述raid控制器和/或所述bios连接。
15.通过本技术,首先获取raid控制器中存储的目标硬盘的第一硬盘信息,该第一硬盘信息包括硬盘标识;然后,在接收到bios或者raid控制器发出的表征目标硬盘对应的状态指示模块的状态信息不同于其他硬盘的情况下,获取服务器中每个硬盘的状态信息和对应的包括插槽标识的第二硬盘信息;之后从多个所述状态信息中确定目标硬盘对应的目标状态信息,并确定该状态信息对应的第二硬盘信息为第二目标信息;最后,实现第一目标信息与第二目标信息的关联,也就是实现raid控制器中存储的硬盘标识与硬盘实际的插槽标识两者的关联。本技术提供了一种bmc中硬盘信息与raid控制器中存储的硬盘信息自动关联的方法,这样在bmc检测到硬盘故障后可以在raid控制器中找到故障硬盘对应的硬盘信息,保证了运维人员的检修便捷性较高,使得服务器的运行较为可靠。
附图说明
16.图1是根据本技术实施例的硬盘的信息关联方法的移动终端的硬件结构框图;
17.图2是根据本技术实施例的硬盘的信息关联方法的流程图;
18.图3是根据本技术实施例的服务器系统的结构示意图;
19.图4是根据本技术实施例的bmc与cpld的通信协议构成图;
20.图5是根据本技术实施例的硬盘的信息关联装置的结构框图。
21.其中,上述附图包括以下附图标记:
22.102、处理器;104、存储器;106、传输设备;108、输入输出设备;11、raid控制器;12、sgpio;13、sas/sata控制器;21、硬盘背板;22、硬盘;23、cpld;24、定位状态指示模块;25、错误状态指示模块;31、bmc。
具体实施方式
23.下文中将参考附图并结合实施例来详细说明本技术的实施例。
24.需要说明的是,本技术的说明书和权利要求书及所述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
25.本技术实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本技术实施例的一种硬盘的信息关联方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,其中,所述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对所述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
26.存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本技术实施例中的硬盘的信息关联方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现所述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。所述网络的实例包括
但不限于互联网、企业内部网、局域网、移动通信网及其组合。
27.传输设备106用于经由一个网络接收或者发送数据。所述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(network interface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
28.在本实施例中提供了一种运行于bmc的硬盘的信息关联方法,图2是根据本技术实施例的硬盘的信息关联方法的流程图,如图2所示,该流程包括如下步骤:
29.步骤s202,第一获取步骤,获取第一目标信息,所述第一目标信息为目标硬盘的第一硬盘信息,raid控制器存储有服务器中每个硬盘的第一硬盘信息,所述第一硬盘信息包括硬盘标识,所述目标硬盘为多个所述硬盘中之一;
30.具体地,服务器包括多个硬盘背板、多个硬盘和raid控制器,一个硬盘背板上有多个硬盘插槽,每个硬盘通过硬盘插槽连接到硬盘背板上,raid控制器存储有各硬盘的所述第一硬盘信息,用于管理各个硬盘如逻辑部件一样各司其职地工作。所述硬盘标识可以为硬盘的名称、标识号、序列号、序号等表征硬盘身份标识的信息。所述第一硬盘信息除了所述硬盘标识外,还可以包括硬盘的版本信息以及接口类型等信息。所述接口类型包括sas(serial attached small computer system interface,串行连接小型计算机系统接口)类型以及sata(serial advanced technology attachment,串行高级技术附件)类型。
31.步骤s204,第二获取步骤,在接收到预定信息的情况下,获取所述服务器中每个所述硬盘的状态信息和第二硬盘信息,所述预定信息为bios发出的或者raid控制器发出的信息,所述预定信息表征已调整所述目标硬盘的所述状态信息,使得所述目标硬盘的所述状态信息不同于其他各所述硬盘的所述状态信息,所述状态信息包括状态指示模块的开关状态,所述第二硬盘信息包括所述硬盘的插槽标识;
32.具体地,在bmc支持与raid控制器连接并通信的情况下,所述预定信息可以为所述raid控制器发出的,也可以为bios发出的;在bmc不支持与raid控制器连接并通信的情况下,所述预定信息为bios发出的。硬盘背板包括cpld,bmc可以通过iic(inter-integrated circuit,集成电路总线)方式与硬盘背板的cpld通信,从cpld获取硬盘背板上硬盘的状态信息。
33.具体地,所述状态指示模块位于硬盘背板上,与所述硬盘一一对应,用于指示对应硬盘的状态。所述状态指示模块可以为指示灯,所述状态指示模块包括定位状态指示模块和错误状态指示模块中至少之一,所述定位状态指示模块通过状态的变化来指示控制的硬盘位置,错误状态指示模块通过状态的变化来指示硬盘是否出现错误。所述状态信息并不限于包括所述的开关状态,还可以包括发光颜色等信息。所述第二硬盘信息除了所述的插槽标识外,还可以包括硬盘背板的标识信息,所述插槽标识以及所述硬盘背板的标识信息可以为名称、序号、序列号以及标识号等信息。
34.步骤s206,第一确定步骤,从多个所述状态信息中确定所述目标硬盘的所述状态信息为目标状态信息,并确定所述目标状态信息对应的所述第二硬盘信息为第二目标信息;
35.具体地,由于所述目标硬盘的所述状态信息并不同于其他硬盘的状态信息,通过
所述第二确定步骤,可以从多个状态信息中确定该目标硬盘的状态信息,得到目标状态信息。
36.步骤s208,关联步骤,将所述第一目标信息与所述第二目标信息进行关联。
37.具体地,将所述第一目标信息与所述第二目标信息进行关联,可以通过:生成标识符;根据标识符,对第一目标信息和第二目标信息进行调整,使得调整后的第一目标信息和调整后的第二目标信息分别携带该标识符;存储调整后的第一目标信息和调整后的第二目标信息,来实现关联。也可以通过:将所述第一目标信息与所述第二目标信息存入关联表中的对应位置,来实现关联。
38.通过所述步骤,首先获取raid控制器中存储的目标硬盘的第一硬盘信息,该第一硬盘信息包括硬盘标识;然后,在接收到bios或者raid控制器发出的表征目标硬盘对应的状态指示模块的状态信息不同于其他硬盘的情况下,获取服务器中每个硬盘的状态信息和对应的包括插槽标识的第二硬盘信息;之后从多个所述状态信息中确定目标硬盘对应的目标状态信息,并确定该状态信息对应的第二硬盘信息为第二目标信息;最后,实现第一目标信息与第二目标信息的关联,也就是实现raid控制器中存储的硬盘标识与硬盘实际的插槽标识两者的关联。本技术提供了一种bmc中硬盘信息与raid控制器中存储的硬盘信息自动关联的方法,这样在bmc检测到硬盘故障后可以在raid控制器中找到故障硬盘对应的硬盘信息,保证了运维人员的检修便捷性较高,使得服务器的运行较为可靠。
39.通过本技术的所述方法,bmc在服务器告警中识别出告警硬盘所在的硬盘背板和硬盘插槽信息时,可以根据识别出的这些信息确定与之关联的raid控制器中的硬盘信息,从而定位到告警硬盘在raid下对应的硬盘信息,确认主机端哪些业务正使用该告警硬盘,避免该告警硬盘造成数据丢失甚至系统宕机的问题,保证服务器的可靠性较高。
40.其中,所述步骤的执行主体可以为终端等,但不限于此。
41.步骤s202和步骤s204的执行顺序是可以互换的,即可以先执行步骤s202,再执行步骤s204,也可以先执行步骤s204,然后再执行步骤s202。
42.在实际应用中,如图3所示,raid控制器11包括sgpio12和sas/sata控制器13,sas/sata控制器13通过物理链路(physical link)与硬盘背板21上的硬盘22进行数据通信,通过sgpio12将硬盘22的定位状态信息和/或错误状态信息发送给硬盘背板21的cpld23,由cpld23完成对硬盘背板21上各个硬盘22的定位状态指示模块24和错误状态指示模块25的状态控制。在所述定位状态指示模块24和所述错误状态指示模块25均为指示灯的情况下,通过cpld23完成对指示灯的开闭控制。
43.在一个示例性实施例中,所述第一获取步骤包括:在(bmc)与所述raid控制器连接的情况下,从所述raid控制器中读取所有所述硬盘的所述第一硬盘信息,并从多个所述第一硬盘信息中确定所述第一目标信息;在未与所述raid控制器连接的情况下,接收bios发送的所述第一目标信息,其中,所述第一目标信息为所述bios从多个所述第一硬盘信息中确定并发出的,多个所述第一硬盘信息为所述bios在所述服务器开机的情况下从所述raid控制器中读取到的。
44.通过所述实施例,无论bmc是否支持与raid控制器的连接,都可以实现对raid控制器中存储的硬盘信息的获取,方便了后续将raid控制器中存储的硬盘信息与bmc中的硬盘信息进行关联,进而进一步地解决bmc检测到硬盘故障时难以在raid中找到对应的硬盘信
息,造成检修不便的问题。
45.具体地,对于支持与raid控制器的连接的bmc,可以通过iic/pcie(peripheral component interconnect express,高速串行计算机扩展总线标准)方式与raid控制器通信,以对raid控制器进行监控。目前主流的raid厂家如broadcom和microchip,都支持bmc通过iic/pcie的方式获取raid控制器中存储的raid信息、硬盘信息和逻辑盘信息,同时支持bmc向raid控制器下发命令。
46.一种可选的方案中,在所述服务器开机的情况下,各所述硬盘对应的所述状态信息为关闭状态,在(bmc)未与所述raid控制器连接的情况下,所述预定信息为所述bios在发出第一指令之后发出的信息,所述第一指令用于指示所述目标硬盘将所述状态信息由关闭状态切换为开启状态。在bmc不支持与raid控制器连接的情况下,通过bios发送第一指令,控制改变目标硬盘的状态信息,保证了后续bmc可以较为快速且准确地从多个硬盘的状态信息中确定出目标硬盘的状态信息。
47.具体地,bios将该第一指令发送给目标硬盘所在的硬盘背板的cpld,使得cpld响应于该第一指令,控制目标硬盘的状态信息由关闭状态切换为开启状态,而服务器其他硬盘的状态信息仍为关闭状态,之后bios生成预定信息并发送给bmc,这样bmc在接收到该预定信息,获取所有硬盘的状态信息后,可以较为准确且快速地确定目标硬盘的状态信息。所述预定信息相当于bios发出所述第一指令后的反馈信息。
48.根据再一种可选的实施例,在所述第二获取步骤之前,所述方法还包括:在与所述raid控制器连接的情况下,向各所述硬盘发送第二指令,所述第二指令用于控制各所述硬盘的所述状态信息为关闭状态的指令;发送第三指令至所述raid控制器,所述第三指令用于指示所述raid控制器将所述目标硬盘的所述状态信息由所述关闭状态切换为开启状态;接收所述raid控制器完成所述第三指令后反馈的所述预定信息。在bmc于raid控制器连接的情况下,先发送控制所有硬盘的状态信息为关闭状态的第二指令,来关闭所有的状态指示模块,之后再发送仅打开目标硬盘的状态指示模块的第三指令,使得目标硬盘的状态信息有别于其他硬盘,保证了后续bmc可以较为快速且准确地从多个硬盘的状态信息中确定出目标硬盘的状态信息。
49.本技术的一种具体的实施中,所述的状态指示模块为定位状态指示模块,定位状态指示模块为定位状态指示灯。
50.进一步地,所述第一确定步骤包括:根据多个所述状态信息中,确定表征所述开启状态的所述状态信息为所述目标状态信息。由于所述目标硬盘的状态信息为开启状态,而其他硬盘的状态信息均为关闭状态,可以较为便捷快速且自动地确定所述目标状态信息。
51.为了进一步地实现raid控制器中存储的硬盘标识与硬盘实际的插槽标识两者的关联,可选地,所述服务器包括多个硬盘背板,每个所述硬盘背板上设置有一个cpld和多个所述硬盘,所述第二硬盘信息还包括所述硬盘背板的标识信息,获取所述服务器中每个所述硬盘的状态信息和第二硬盘信息,包括:获取所述第二硬盘信息;发送第四指令至多个所述cpld,所述第四指令用于查询各所述硬盘背板上所述硬盘的所述状态信息;在接收到各反馈信息的情况下,从所述反馈信息提取得到各所述状态信息,其中,所述反馈信息为所述cpld响应于所述第四指令生成的信息。本实施例中,通过发送查询硬盘背板上的硬盘的状态信息的第四指令至每个硬盘背板的cpld,来获取每个硬盘背板上所有硬盘的状态信息,
便于后续根据获取的状态信息确定目标硬盘,从而得到目标硬盘的第二硬盘信息与第一硬盘信息进行关联,实现raid控制器中的硬盘信息与实际硬盘信息一一对应的效果。
52.一种具体的实施例中,获取所述第二硬盘信息的具体实现方式可以为:从bmc的存储器中读取服务器的各硬盘的所述第二硬盘信息,也可以为从硬盘背板的cpld中读取该硬盘背板上各硬盘的所述第二硬盘信息。
53.具体地,所述反馈信息,也就是bmc与cpld的通信协议如图4所示,其中,disk*代表硬盘背板上每个硬盘的插槽状态,硬盘状态d0~d7的具体含义如表1所示。
54.表1
55.d7reserved(预留项)d6reservedd5reservedd4reservedd3reservedd2rebuild(重建项)d1error(错误状态指示模块)d0locate(定位指示模块)
56.通过解析所述反馈信息,确定反馈信息中d0对应的状态信息,如果为开启状态,则将该硬盘背板及硬盘标识信息与之前从raid控制器中读取的硬盘信息对应关联起来。
57.为了将raid控制器中每个硬盘的硬盘信息均与硬盘实际的信息进行关联,从而进一步地保证运维人员可以进行便捷性地检修,以及进一步地保证在硬盘告警时可以从主机端识别告警硬盘对应的业务,其他实施例中,所述方法还包括:第二确定步骤,确定服务器中除所述目标硬盘外的一个所述硬盘为新的所述目标硬盘;循环步骤,循环执行所述第二确定步骤、所述第一获取步骤、所述第二获取步骤、所述第一确定步骤以及所述关联步骤,直到完成所述服务器中所有的所述硬盘的信息关联。
58.在所述bmc不支持与raid控制器通信的情况下,在所述第二确定步骤之前,在所述关联步骤之后,所述方法还包括:生成关联成功信息,并将该关联成功信息发送至bios。
59.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据所述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本技术各个实施例所述的方法。
60.在本实施例中还提供了一种硬盘的信息关联装置,该装置用于实现所述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
61.图5是根据本技术实施例的一种运行于bmc的硬盘的信息关联装置的结构框图,如图5所示,该装置包括:
62.第一获取单元10,用于第一获取步骤,获取第一目标信息,所述第一目标信息为目
标硬盘的第一硬盘信息,raid控制器存储有服务器中每个硬盘的第一硬盘信息,所述第一硬盘信息包括硬盘标识,所述目标硬盘为多个所述硬盘中之一;
63.具体地,服务器包括多个硬盘背板、多个硬盘和raid控制器,一个硬盘背板上有多个硬盘插槽,每个硬盘通过硬盘插槽连接到硬盘背板上,raid控制器存储有各硬盘的所述第一硬盘信息,用于管理各个硬盘如逻辑部件一样各司其职地工作。所述硬盘标识可以为硬盘的名称、标识号、序列号、序号等表征硬盘身份标识的信息。所述第一硬盘信息除了所述硬盘标识外,还可以包括硬盘的版本信息以及接口类型等信息。所述接口类型包括sas(serial attached small computer system interface,串行连接小型计算机系统接口)类型以及sata(serial advanced technology attachment,串行高级技术附件)类型。
64.第二获取单元20,用于第二获取步骤,在接收到预定信息的情况下,获取所述服务器中每个所述硬盘的状态信息和第二硬盘信息,所述预定信息为bios发出的或者raid控制器发出的信息,所述预定信息表征已调整所述目标硬盘的所述状态信息,使得所述目标硬盘的所述状态信息不同于其他各所述硬盘的所述状态信息,所述状态信息包括状态指示模块的开关状态,所述第二硬盘信息包括所述硬盘的插槽标识;
65.具体地,在bmc支持与raid控制器连接并通信的情况下,所述预定信息可以为所述raid控制器发出的,也可以为bios发出的;在bmc不支持与raid控制器连接并通信的情况下,所述预定信息为bios发出的。硬盘背板包括cpld,bmc可以通过iic(inter-integrated circuit,集成电路总线)方式与硬盘背板的cpld通信,从cpld获取硬盘背板上硬盘的状态信息。
66.具体地,所述状态指示模块位于硬盘背板上,与所述硬盘一一对应,用于指示对应硬盘的状态。所述状态指示模块可以为指示灯,所述状态指示模块包括定位状态指示模块和错误状态指示模块中至少之一,所述定位状态指示模块通过状态的变化来指示控制的硬盘位置,错误状态指示模块通过状态的变化来指示硬盘是否出现错误。所述状态信息并不限于包括所述的开关状态,还可以包括发光颜色等信息。所述第二硬盘信息除了所述的插槽标识外,还可以包括硬盘背板的标识信息,所述插槽标识以及所述硬盘背板的标识信息可以为名称、序号、序列号以及标识号等信息。
67.第一确定单元30,用于第一确定步骤,从多个所述状态信息中确定所述目标硬盘的所述状态信息为目标状态信息,并确定所述目标状态信息对应的所述第二硬盘信息为第二目标信息;
68.具体地,由于所述目标硬盘的所述状态信息并不同于其他硬盘的状态信息,通过所述第二确定步骤,可以从多个状态信息中确定该目标硬盘的状态信息,得到目标状态信息。
69.关联单元40,用于关联步骤,将所述第一目标信息与所述第二目标信息进行关联。
70.具体地,将所述第一目标信息与所述第二目标信息进行关联,可以通过:生成标识符;根据标识符,对第一目标信息和第二目标信息进行调整,使得调整后的第一目标信息和调整后的第二目标信息分别携带该标识符;存储调整后的第一目标信息和调整后的第二目标信息,来实现关联。也可以通过:将所述第一目标信息与所述第二目标信息存入关联表中的对应位置,来实现关联。
71.通过所述单元,通过第一获取单元获取raid控制器中存储的目标硬盘的第一硬盘
信息,该第一硬盘信息包括硬盘标识;在接收到bios或者raid控制器发出的表征目标硬盘对应的状态指示模块的状态信息不同于其他硬盘的情况下,通过第二获取单元获取服务器中每个硬盘的状态信息和对应的包括插槽标识的第二硬盘信息;通过第一确定单元从多个所述状态信息中确定目标硬盘对应的目标状态信息,并确定该状态信息对应的第二硬盘信息为第二目标信息;通过关联单元实现第一目标信息与第二目标信息的关联,也就是实现raid控制器中存储的硬盘标识与硬盘实际的插槽标识两者的关联。本技术提供了一种bmc中硬盘信息与raid控制器中存储的硬盘信息自动关联的装置,这样在bmc检测到硬盘故障后可以在raid控制器中找到故障硬盘对应的硬盘信息,保证了运维人员的检修便捷性较高,使得服务器的运行较为可靠。
72.通过本技术的所述装置,bmc在服务器告警中识别出告警硬盘所在的硬盘背板和硬盘插槽信息时,可以根据识别出的这些信息确定与之关联的raid控制器中的硬盘信息,从而定位到告警硬盘在raid下对应的硬盘信息,确认主机端哪些业务正使用该告警硬盘,避免该告警硬盘造成数据丢失甚至系统宕机的问题,保证服务器的可靠性较高。
73.其中,所述装置的执行主体可以为终端等,但不限于此。
74.在实际应用中,如图3所示,raid控制器包括sgpio和sas/sata控制器,sas/sata控制器通过物理链路(physical link)与硬盘背板上的硬盘进行数据通信,通过sgpio将硬盘的定位状态信息和/或错误状态信息发送给硬盘背板的cpld,由cpld完成对硬盘背板上各个硬盘的定位状态指示模块和错误状态指示模块的状态控制。在所述定位状态指示模块和所述错误状态指示模块均为指示灯的情况下,通过cpld完成对指示灯的开闭控制。
75.在一个示例性实施例中,所述第一获取单元包括:读取模块,用于在(bmc)与所述raid控制器连接的情况下,从所述raid控制器中读取所有所述硬盘的所述第一硬盘信息,并从多个所述第一硬盘信息中确定所述第一目标信息;接收模块,用于在未与所述raid控制器连接的情况下,接收bios发送的所述第一目标信息,其中,所述第一目标信息为所述bios从多个所述第一硬盘信息中确定并发出的,多个所述第一硬盘信息为所述bios在所述服务器开机的情况下从所述raid控制器中读取到的。
76.通过所述实施例,无论bmc是否支持与raid控制器的连接,都可以实现对raid控制器中存储的硬盘信息的获取,方便了后续将raid控制器中存储的硬盘信息与bmc中的硬盘信息进行关联,进而进一步地解决bmc检测到硬盘故障时难以在raid中找到对应的硬盘信息,造成检修不便的问题。
77.具体地,对于支持与raid控制器的连接的bmc,可以通过iic/pcie方式与raid控制器通信,以对raid控制器进行监控。目前主流的raid厂家如broadcom和microchip,都支持bmc通过iic/pcie的方式获取raid控制器中存储的raid信息、硬盘信息和逻辑盘信息,同时支持bmc向raid控制器下发命令。
78.一种可选的方案中,在所述服务器开机的情况下,各所述硬盘对应的所述状态信息为关闭状态,在(bmc)未与所述raid控制器连接的情况下,所述预定信息为所述bios在发出第一指令之后发出的信息,所述第一指令用于指示所述目标硬盘将所述状态信息由关闭状态切换为开启状态。在bmc不支持与raid控制器连接的情况下,通过bios发送第一指令,控制改变目标硬盘的状态信息,保证了后续bmc可以较为快速且准确地从多个硬盘的状态信息中确定出目标硬盘的状态信息。
79.具体地,bios将该第一指令发送给目标硬盘所在的硬盘背板的cpld,使得cpld响应于该第一指令,控制目标硬盘的状态信息由关闭状态切换为开启状态,而服务器其他硬盘的状态信息仍为关闭状态,之后bios生成预定信息并发送给bmc,这样bmc在接收到该预定信息,获取所有硬盘的状态信息后,可以较为准确且快速地确定目标硬盘的状态信息。所述预定信息相当于bios发出所述第一指令后的反馈信息。
80.根据再一种可选的实施例,所述装置还包括:第一发送单元,用于在所述第二获取步骤之前,在与所述raid控制器连接的情况下,向各所述硬盘发送第二指令,所述第二指令用于控制各所述硬盘的所述状态信息为关闭状态的指令;第二发送单元,用于发送第三指令至所述raid控制器,所述第三指令用于指示所述raid控制器将所述目标硬盘的所述状态信息由所述关闭状态切换为开启状态;接收单元,用于接收所述raid控制器完成所述第三指令后反馈的所述预定信息。在bmc于raid控制器连接的情况下,先发送控制所有硬盘的状态信息为关闭状态的第二指令,来关闭所有的状态指示模块,之后再发送仅打开目标硬盘的状态指示模块的第三指令,使得目标硬盘的状态信息有别于其他硬盘,保证了后续bmc可以较为快速且准确地从多个硬盘的状态信息中确定出目标硬盘的状态信息。
81.本技术的一种具体的实施中,所述的状态指示模块为定位状态指示模块,定位状态指示模块为定位状态指示灯。
82.进一步地,所述第一确定单元包括:确定模块,用于根据多个所述状态信息中,确定表征所述开启状态的所述状态信息为所述目标状态信息。由于所述目标硬盘的状态信息为开启状态,而其他硬盘的状态信息均为关闭状态,可以较为便捷快速且自动地确定所述目标状态信息。
83.为了进一步地实现raid控制器中存储的硬盘标识与硬盘实际的插槽标识两者的关联,可选地,所述服务器包括多个硬盘背板,每个所述硬盘背板上设置有一个cpld和多个所述硬盘,所述第二硬盘信息还包括所述硬盘背板的标识信息,所述第二获取单元包括:获取模块,用于获取所述第二硬盘信息;发送模块,用于发送第四指令至多个所述cpld,所述第四指令用于查询各所述硬盘背板上所述硬盘的所述状态信息;提取模块,用于在接收到各反馈信息的情况下,从所述反馈信息提取得到各所述状态信息,其中,所述反馈信息为所述cpld响应于所述第四指令生成的信息。本实施例中,通过发送查询硬盘背板上的硬盘的状态信息的第四指令至每个硬盘背板的cpld,来获取每个硬盘背板上所有硬盘的状态信息,便于后续根据获取的状态信息确定目标硬盘,从而得到目标硬盘的第二硬盘信息与第一硬盘信息进行关联,实现raid控制器中的硬盘信息与实际硬盘信息一一对应的效果。
84.一种具体的实施例中,所述获取模块可以包括:第一读取子模块,用于从bmc的存储器中读取服务器的各硬盘的所述第二硬盘信息,也可以包括:第二读取子模块,用于从硬盘背板的cpld中读取该硬盘背板上各硬盘的所述第二硬盘信息。
85.具体地,所述反馈信息,也就是bmc与cpld的通信协议如图4所示,其中,disk*代表硬盘背板上每个硬盘的插槽状态,硬盘状态d0~d7的具体含义如表1所示。
86.通过解析所述反馈信息,确定反馈信息中d0对应的状态信息,如果为开启状态,则将该硬盘背板及硬盘标识信息与之前从raid控制器中读取的硬盘信息对应关联起来。
87.为了将raid控制器中每个硬盘的硬盘信息均与硬盘实际的信息进行关联,从而进一步地保证运维人员可以进行便捷性地检修,以及进一步地保证在硬盘告警时可以从主机
端识别告警硬盘对应的业务,其他实施例中,所述装置还包括:第二确定单元,用于第二确定步骤,确定服务器中除所述目标硬盘外的一个所述硬盘为新的所述目标硬盘;循环单元,用于循环步骤,循环执行所述第二确定步骤、所述第一获取步骤、所述第二获取步骤、所述第一确定步骤以及所述关联步骤,直到完成所述服务器中所有的所述硬盘的信息关联。
88.在所述bmc不支持与raid控制器通信的情况下,所述装置还包括:生成单元,用于在所述第二确定步骤之前,在所述关联步骤之后,生成关联成功信息,并将该关联成功信息发送至bios。
89.需要说明的是,所述各个单元、模块以及子模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:所述模块均位于同一处理器中;或者,所述各个模块以任意组合的形式分别位于不同的处理器中。
90.本技术的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行所述任一项方法实施例中的步骤。
91.在一个示例性实施例中,所述计算机可读存储介质可以包括但不限于:u盘、只读存储器(read-only memory,简称为rom)、随机存取存储器(random access memory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
92.本技术的实施例还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行所述任一项方法实施例中的步骤。
93.在一个示例性实施例中,所述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和所述处理器连接,该输入输出设备和所述处理器连接。
94.根据本技术的又一方面,还提供了一种bmc,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述任一项方法实施例中的步骤。
95.所述的bmc用于执行硬盘信息与raid控制器中存储的硬盘信息自动关联的方法,在bmc检测到硬盘故障后可以在raid控制器中找到故障硬盘对应的硬盘信息,保证了运维人员的检修便捷性较高,使得服务器的运行较为可靠。
96.根据本技术的再一个实施例,还提供了一种服务器系统,如图3所示,该服务器系统包括:多个硬盘22;raid控制器11,与多个所述硬盘22连接;bios(图中未示出),与多个所述硬盘22连接;所述的bmc31,与所述raid控制器11和/或所述bios连接。
97.所述的服务器系统包括硬盘、raid控制器、bios以及bmc,该bmc与raid控制器和/或bios连接,首先获取raid控制器中存储的目标硬盘的第一硬盘信息,该第一硬盘信息包括硬盘标识;然后,在接收到bios或者raid控制器发出的表征目标硬盘对应的状态指示模块的状态信息不同于其他硬盘的情况下,获取服务器中每个硬盘的状态信息和对应的包括插槽标识的第二硬盘信息;之后从多个所述状态信息中确定目标硬盘对应的目标状态信息,并确定该状态信息对应的第二硬盘信息为第二目标信息;最后,实现第一目标信息与第二目标信息的关联,也就是实现raid控制器中存储的硬盘标识与硬盘实际的插槽标识两者的关联,这样在bmc检测到硬盘故障后可以在raid控制器中找到故障硬盘对应的硬盘信息,保证了运维人员的检修便捷性较高,使得服务器的运行较为可靠。
98.具体地,如图3所示,多个所述硬盘22位于硬盘背板21上,所述bmc31通过iic方式还与多个硬盘背板21的cpld23连接。
99.为了使得本领域技术人员能够更加清楚地了解本技术的技术方案,以下将结合具体的实施例对本技术的硬盘的信息关联方法的实现过程进行详细说明。
100.实施例1
101.本实施例涉及一种具体的服务器系统的工作流程,适用于支持bmc监控的raid控制器,包括如下步骤:
102.步骤s1:bmc通过iic/pcie的方式获取到所有raid控制器下的物理盘信息并暂时存储下来,物理盘信息包括第一硬盘信息;
103.步骤s2:bmc通过iic/pcie的方式通知raid控制器关闭所有物理盘的定位状态指示模块并禁止其他方式对硬盘的定位状态指示模块进行操作;
104.步骤s3:bmc取出第一个物理盘信息,通过iic/pcie的方式向raid控制器发送调整第一个物理盘的定位状态指示模块的状态信息的命令,然后等待raid控制器执行结果;
105.步骤s4:raid控制器执行成功后,bmc开始向所有硬盘背板的cpld发送查询指令,查询每个硬盘背板上所有硬盘的状态信息,bmc与cpld通讯协议如图4所示,具体含义如表1所示;
106.步骤s5:查询如上cpld返回的每个硬盘插槽的d0状态,如果处于开启状态,则将包括该硬盘背板及硬盘插槽信息的第二硬盘信息与之前从raid控制器中读取的第一硬盘信息对应关联;
107.步骤s6:重复执行如上步骤直至查询完所有raid控制器下的硬盘信息;
108.步骤s7:bmc通过iic/pcie的方式通知raid控制器允许其他方式对硬盘的定位状态指示模块进行操作。
109.实施例2
110.本实施例涉及一种具体的服务器系统的工作流程,适用于不支持bmc监控的raid控制器,对于不支持bmc监控的raid控制器,需要bios附件的支持,具体包括如下步骤:
111.步骤s1’:bios在开机过程中查询raid控制器下所有的物理盘的物理盘信息;
112.步骤s2’:bios将该第一个物理盘的第一硬盘信息发送给bmc,并对第一个物理盘下发调整定位状态指示模块的状态信息的命令;
113.步骤s3’:bmc收到bios发送的信息后,开始查询所有硬盘背板上硬盘插槽的状态信息,若有硬盘插槽处于开启状态,则将包括该硬盘背板和硬盘背板上的硬盘插槽的第二硬盘信息与bios发送的第一硬盘信息对应关联起来;
114.步骤s4’:bios查询上一步bmc的执行状态,若bmc返回执行完成,则开始处理下一个物理盘的信息,直至所有物理硬盘都处理完成。
115.本实施例中的具体示例可以参考所述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
116.显然,本领域的技术人员应该明白,所述的本技术的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述
的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本技术不限制于任何特定的硬件和软件结合。
117.以上所述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
技术特征:
1.一种硬盘的信息关联方法,所述方法应用于bmc,其特征在于,所述方法包括:第一获取步骤,获取第一目标信息,所述第一目标信息为目标硬盘的第一硬盘信息,raid控制器存储有服务器中每个硬盘的第一硬盘信息,所述第一硬盘信息包括硬盘标识,所述目标硬盘为多个所述硬盘中之一;第二获取步骤,在接收到预定信息的情况下,获取所述服务器中每个所述硬盘的状态信息和第二硬盘信息,所述预定信息为bios发出的或者raid控制器发出的信息,所述预定信息表征已调整所述目标硬盘的所述状态信息,使得所述目标硬盘的所述状态信息不同于其他各所述硬盘的所述状态信息,所述状态信息包括状态指示模块的开关状态,所述第二硬盘信息包括所述硬盘的插槽标识;第一确定步骤,从多个所述状态信息中确定所述目标硬盘的所述状态信息为目标状态信息,并确定所述目标状态信息对应的所述第二硬盘信息为第二目标信息;关联步骤,将所述第一目标信息与所述第二目标信息进行关联。2.根据权利要求1所述的方法,其特征在于,所述第一获取步骤包括:在与所述raid控制器连接的情况下,从所述raid控制器中读取所有所述硬盘的所述第一硬盘信息,并从多个所述第一硬盘信息中确定所述第一目标信息;在未与所述raid控制器连接的情况下,接收bios发送的所述第一目标信息,其中,所述第一目标信息为所述bios从多个所述第一硬盘信息中确定并发出的,多个所述第一硬盘信息为所述bios在所述服务器开机的情况下从所述raid控制器中读取到的。3.根据权利要求2所述的方法,其特征在于,在所述服务器开机的情况下,各所述硬盘对应的所述状态信息为关闭状态,在未与所述raid控制器连接的情况下,所述预定信息为所述bios在发出第一指令之后发出的信息,所述第一指令用于指示所述目标硬盘将所述状态信息由关闭状态切换为开启状态。4.根据权利要求1所述的方法,其特征在于,在所述第二获取步骤之前,所述方法还包括:在与所述raid控制器连接的情况下,向各所述硬盘发送第二指令,所述第二指令用于控制各所述硬盘的所述状态信息为关闭状态的指令;发送第三指令至所述raid控制器,所述第三指令用于指示所述raid控制器将所述目标硬盘的所述状态信息由所述关闭状态切换为开启状态;接收所述raid控制器完成所述第三指令后反馈的所述预定信息。5.根据权利要求3或4所述的方法,其特征在于,所述第一确定步骤包括:根据多个所述状态信息中,确定表征所述开启状态的所述状态信息为所述目标状态信息。6.根据权利要求1至4中任一项所述的方法,其特征在于,所述服务器包括多个硬盘背板,每个所述硬盘背板上设置有一个cpld和多个所述硬盘,所述第二硬盘信息还包括所述硬盘背板的标识信息,获取所述服务器中每个所述硬盘的状态信息和第二硬盘信息,包括:获取所述第二硬盘信息;发送第四指令至多个所述cpld,所述第四指令用于查询各所述硬盘背板上所述硬盘的所述状态信息;在接收到各反馈信息的情况下,从所述反馈信息提取得到各所述状态信息,其中,所述
反馈信息为所述cpld响应于所述第四指令生成的信息。7.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:第二确定步骤,确定服务器中除所述目标硬盘外的一个所述硬盘为新的所述目标硬盘;循环步骤,循环执行所述第二确定步骤、所述第一获取步骤、所述第二获取步骤、所述第一确定步骤以及所述关联步骤,直到完成所述服务器中所有的所述硬盘的信息关联。8.一种硬盘的信息关联装置,所述装置应用于bmc,其特征在于,所述装置包括:第一获取单元,用于第一获取步骤,获取第一目标信息,所述第一目标信息为目标硬盘的第一硬盘信息,raid控制器存储有服务器中每个硬盘的第一硬盘信息,所述第一硬盘信息包括硬盘标识,所述目标硬盘为多个所述硬盘中之一;第二获取单元,用于第二获取步骤,在接收到预定信息的情况下,获取所述服务器中每个所述硬盘的状态信息和第二硬盘信息,所述预定信息为bios发出的或者raid控制器发出的信息,所述预定信息表征已调整所述目标硬盘的所述状态信息,使得所述目标硬盘的所述状态信息不同于其他各所述硬盘的所述状态信息,所述状态信息包括状态指示模块的开关状态,所述第二硬盘信息包括所述硬盘的插槽标识;第一确定单元,用于第一确定步骤,从多个所述状态信息中确定所述目标硬盘的所述状态信息为目标状态信息,并确定所述目标状态信息对应的所述第二硬盘信息为第二目标信息;关联单元,用于关联步骤,将所述第一目标信息与所述第二目标信息进行关联。9.一种bmc,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至7任一项中所述的方法的步骤。10.一种服务器系统,其特征在于,包括:多个硬盘;raid控制器,与多个所述硬盘连接;bios,与多个所述硬盘连接;权利要求9所述的bmc,与所述raid控制器和/或所述bios连接。
技术总结
本申请实施例提供了一种硬盘的信息关联方法、装置、BMC和服务器系统,其中,该方法包括:获取第一目标信息,第一目标信息为目标硬盘的第一硬盘信息,RAID控制器存储有服务器中每个硬盘的第一硬盘信息;在接收到预定信息的情况下,获取服务器中每个硬盘的状态信息和第二硬盘信息,预定信息为BIOS发出的或者RAID控制器发出的信息,预定信息表征已调整目标硬盘的状态信息,状态信息包括状态指示模块的开关状态;确定目标硬盘的状态信息为目标状态信息,并确定目标状态信息对应的第二硬盘信息为第二目标信息;将第一目标信息与第二目标信息进行关联。通过本申请,解决了难以在RAID中找到对应的硬盘信息,造成检修不便的问题。造成检修不便的问题。造成检修不便的问题。
技术研发人员:胡令超 刘波
受保护的技术使用者:苏州浪潮智能科技有限公司
技术研发日:2023.04.14
技术公布日:2023/7/25
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
