本技术涉及计算机,尤其涉及一种raid卡的自适应监控方法和装置。
背景技术:
1、不同系列的raid(redundant arrays of independent disks,磁盘阵列)卡存在不同的带外数据传输层协议oob模式,一些系列的raid卡的oob模式为i2c模式,服务器bmc管理软件通过i2c协议与raid卡进行信息交互,实现raid卡的带外监控管理。一些系列的raid卡的oob模式为pcie模式,服务器bmc管理软件通过mctp协议(mctp over pcie)与raid卡进行信息交互,实现raid卡的带外监控管理。
2、当前,针对brcm的raid卡,服务器的bmc管理软件只能基于单一配置实现设备监控,只能够支持一种oob模式,即只能支持对i2c模式或者pcie模式其中的一种raid卡进行带外监控管理,因此当出现不同oob模式的raid卡在同一个服务器上混插的情况,bmc管理软件无法对i2c模式和pcie模式的raid卡同时监控管理。
3、因此,如何同时对i2c模式和pcie模式的raid卡同时进行带外监控管理是有待解决的技术问题。
技术实现思路
1、本技术的主要目的在于提供一种raid卡的自适应监控方法和装置,旨在解决当前服务器只能支持对i2c模式或者pcie模式其中的一种raid卡进行带外监控管理,当出现不同oob模式的raid卡在同一个服务器上混插时无法同时进行监控管理的技术问题。
2、第一方面,本技术提供一种raid卡的自适应监控方法,所述方法包括以下步骤:
3、确定服务器中的各个磁盘阵列raid卡的带外通信oob模式;
4、根据各个raid卡的oob模式加载对应的storlib库,以对各个raid卡进行注册;
5、根据各个raid卡的oob模式对应的传输协议通过带外通信的方式,获取对应raid卡的监控信息,以对各个raid卡进行带外监控管理。
6、一些实施例中raid卡的oob模式包括pcie模式和i2c模式,确定服务器中的各个磁盘阵列raid卡的带外通信oob模式之前,还包括:
7、所述服务器第一次上电时,确定所述服务器中支持pcie模式的raid卡和对应的槽位号,并根据支持pcie模式的raid卡和对应槽位号的对应关系生成第一信息列表;
8、确定所述服务器中支持i2c模式的raid卡和对应的槽位号,并根据支持i2c模式的raid卡和对应槽位号的对应关系生成第二信息列表。
9、一些实施例中,确定所述服务器中支持pcie模式的raid卡和对应的槽位号,包括:
10、获取所述服务器中各个pcie卡的槽位号信息和bdf信息;
11、通过mctp discovery操作,获得所述服务器中所有支持mctp over pcie协议的pcie卡及其bdf信息;
12、根据raid卡的verdor id标识,在支持mctp over pcie协议的pcie卡中筛选出支持mctp over pcie协议的raid卡;
13、对比支持mctp over pcie协议的raid卡的bdf信息和服务器中各个pcie卡的bdf信息,以确定支持pcie模式的raid卡的槽位号。
14、一些实施例中,确定所述服务器中支持i2c模式的raid卡和对应的槽位号,包括:
15、扫描所述服务器的i2c总线和raid卡对应的i2c地址,以获得所述服务器中所有支持i2c模式的raid卡的槽位号;
16、将支持i2c模式的raid卡的槽位号中,与所述第一信息列表中重复的槽位号进行过滤,获得保留的支持i2c模式的raid卡的槽位号。
17、一些实施例中,
18、确定服务器中的各个磁盘阵列raid卡的带外通信oob模式,包括:
19、根据各个raid卡的槽位号查找所述第一信息列表和所述第二信息列表,以确定各个raid卡为pcie模式或者i2c模式。
20、一些实施例中,根据各个raid卡的oob模式加载对应的storlib库,以对各个raid卡进行注册,包括:
21、若raid卡为pcie模式,则加载pcie模式对应的storlib库对该raid卡进行注册;
22、若raid卡为i2c模式,则加载i2c模式对应的storlib库对该raid卡进行注册。
23、一些实施例中,根据各个raid卡的oob模式对应的传输协议通过带外通信的方式,获取对应raid卡的监控信息,以对各个raid卡进行带外监控管理,包括:
24、若raid卡为pcie模式,则根据mctp over pcie协议通过带外通信的方式获取对应raid卡的监控信息;
25、若raid卡为i2c模式,则根据i2c协议通过带外通信的方式获取对应raid卡的监控信息。
26、第二方面,本技术还提供一种raid卡的自适应监控装置,所述装置包括:
27、确定模块,其用于确定服务器中的各个磁盘阵列raid卡的带外通信oob模式;
28、注册模块,其用于根据各个raid卡的oob模式加载对应的storlib库,以对各个raid卡进行注册;
29、获取模块,其用于根据各个raid卡的oob模式对应的传输协议通过带外通信的方式,获取对应raid卡的监控信息,以对各个raid卡进行带外监控管理。
30、一些实施例中,raid卡的oob模式包括pcie模式和i2c模式,该装置还用于:
31、所述服务器第一次上电时,确定所述服务器中支持pcie模式的raid卡和对应的槽位号,并根据支持pcie模式的raid卡和对应槽位号的对应关系生成第一信息列表;
32、确定所述服务器中支持i2c模式的raid卡和对应的槽位号,并根据支持i2c模式的raid卡和对应槽位号的对应关系生成第二信息列表。
33、一些实施例中,该装置还用:
34、获取所述服务器中各个pcie卡的槽位号信息和bdf信息;
35、通过mctp discovery操作,获得所述服务器中所有支持mctp over pcie协议的pcie卡及其bdf信息;
36、根据raid卡的verdor id标识,在支持mctp over pcie协议的pcie卡中筛选出支持mctp over pcie协议的raid卡;
37、对比支持mctp over pcie协议的raid卡的bdf信息和服务器中各个pcie卡的bdf信息,以确定支持pcie模式的raid卡的槽位号。
38、一些实施例中,该装置还用于:
39、扫描所述服务器的i2c总线和raid卡对应的i2c地址,以获得所述服务器中所有支持i2c模式的raid卡的槽位号;
40、将支持i2c模式的raid卡的槽位号中,与所述第一信息列表中重复的槽位号进行过滤,获得保留的支持i2c模式的raid卡的槽位号。
41、一些实施例中,所述确定模块还用于:
42、根据各个raid卡的槽位号查找所述第一信息列表和所述第二信息列表,以确定各个raid卡为pcie模式或者i2c模式。
43、一些实施例中,所述注册模块还用于:
44、若raid卡为pcie模式,则加载pcie模式对应的storlib库对该raid卡进行注册;
45、若raid卡为i2c模式,则加载i2c模式对应的storlib库对该raid卡进行注册。
46、一些实施例中,所述获取模块还用于:
47、若raid卡为pcie模式,则根据mctp over pcie协议通过带外通信的方式获取对应raid卡的监控信息;
48、若raid卡为i2c模式,则根据i2c协议通过带外通信的方式获取对应raid卡的监控信息。
49、本技术提供一种raid卡的自适应监控方法和装置,通过确定服务器中的各个磁盘阵列raid卡的带外通信oob模式;根据各个raid卡的oob模式加载对应的storlib库,以对各个raid卡进行注册;根据各个raid卡的oob模式对应的传输协议通过带外通信的方式,获取对应raid卡的监控信息,以对各个raid卡进行带外监控管理,实现了对混插在同一服务器上的不同oob模式的raid卡的oob模式进行自动识别,并同时对不同oob模式的raid卡进行带外监控管理。