服务器集群监管方法、装置、设备及可读存储介质与流程

文档序号:29076246发布日期:2022-03-01 22:50阅读:93来源:国知局
服务器集群监管方法、装置、设备及可读存储介质与流程

1.本发明涉及服务器管理技术领域,尤其涉及一种服务器集群监管方法、装置、设备及可读存储介质。


背景技术:

2.服务器已经广泛应于it、金融、数据中心等领域,对服务器的运维需求日益提高。bmc远程管理为运维人员对服务器集群实现集中式的监控和控制提供了技术基础。bmc(baseboard management controller)也称为基板管理控制器,它是一个独立于服务器cpu、bios或操作系统而存在的专用芯片,可以控制服务器电源开机、关机、重启以及重装操作系统等操作,并对服务器物理健康状态进行监视,如电压、温度、内存、磁盘以及风扇等指标参数。
3.bmc作为独立于服务器及其操作系统的微处理器,对外提供了多种协议管理接口:
4.ipmi(intelligent platform management interface):智能型平台管理接口,通过它与bmc进行交流,可对服务器发送远程开机、关机、重启等指令,监测服务器各物理组件的健康状态;
5.snmp(simple network management protocol):简单网络管理协议,通过它与bmc上的snmp代理进行交互,可以监视服务器网络状态,修改网络状态,接收服务器告警;
6.redfish:基于web服务的restful接口,通过使用https协议和json数据格式的方式访问bmc上的web服务接口,能够实现对服务器物理组件信息的获取和操作。
7.目前,服务器集中管理系统作为第三方管理软件,往往使用单协议信道进行远程管理,无法对完整的服务器硬件资源信息获取和远程操作,故需要服务器管理系统能够针对不同硬件资源的操作请求,适配相应的通讯协议与bmc交互。其次,品牌众多的服务器被批量部署在机房中,且不同厂家服务器使用的bmc控制器所提供的管理接口存在着很大的差异。
8.这种情况下,需要操作人员熟悉不同厂家服务器所使用的bmc的控制指令及其对应的通讯协议,从而实现对不同厂家的服务器进行bmc远程控制,对运维人员的要求高。


技术实现要素:

9.本发明的主要目的在于提供一种服务器集群监管方法、装置、设备及可读存储介质,旨在解决现有技术中运维人员对不同厂家的服务器进行bmc远程控制难度高的技术问题。
10.第一方面,本发明提供一种服务器集群监管方法,所述服务器集群监管方法包括:
11.接收远程控制指令,确定所述远程控制指令对应的目标服务器;
12.获取所述目标服务器对应的目标指令集文件;
13.基于所述目标指令集文件将所述远程控制指令转换成bmc控制报文;
14.将所述bmc控制报文发送至所述目标服务器的bmc。
15.可选的,在所述接收远程控制指令,确定所述远程控制指令对应的目标服务器的步骤之前,还包括:
16.建立每种服务器类型对应的指令集文件,并将服务器类型与对应的指令集文件关联存储至数据库,所述指令集文件包括对应类型服务器所使用的bmc的bmc控制指令集合以及bmc控制指令集合中各个bmc控制指令对应的通讯协议类型。
17.可选的,所述获取所述目标服务器对应的目标指令集文件的步骤包括:
18.检测缓存中是否存在所述目标服务器的服务器类型对应的目标指令集文件;
19.若存在,则从缓存中获取所述目标指令集文件;
20.若不存在,则从数据库中获取所述目标服务器的服务器类型对应的目标指令集文件。
21.可选的,在所述若不存在,则从数据库中获取所述目标服务器的服务器类型对应的目标指令集文件的步骤之后,还包括:
22.将所述目标指令集文件存入缓存。
23.可选的,所述基于所述目标指令集文件将所述远程控制指令转换成bmc控制报文的步骤包括:
24.根据所述远程控制指令包含的指示字段,从所述目标指令集文件中查找所述指示字段对应的目标bmc控制指令;
25.获取所述目标bmc控制指令对应的通讯协议类型对应的通讯协议参数;
26.基于所述目标bmc控制指令以及所述通讯协议参数得到bmc控制报文。
27.可选的,同一品牌同一型号的服务器属于同一服务器类型,其中型号为服务器的最小分类单元。
28.第二方面,本发明还提供一种服务器集群监管装置,所述服务器集群监管装置包括:
29.接收模块,用于接收远程控制指令,确定所述远程控制指令对应的目标服务器;
30.获取模块,用于获取所述目标服务器对应的目标指令集文件;
31.转换模块,用于基于所述目标指令集文件将所述远程控制指令转换成bmc控制指令;
32.发送模块,用于将所述bmc控制指令发送至所述目标服务器的bmc。
33.可选的,所述服务器集群监管装置包括:
34.建立模块,用于建立每种服务器类型对应的指令集文件,并将服务器类型与对应的指令集文件关联存储至数据库,所述指令集文件包括对应类型服务器所使用的bmc的bmc控制指令集合以及bmc控制指令集合中各个bmc控制指令对应的通讯协议类型。
35.第三方面,本发明还提供一种服务器集群监管设备,所述服务器集群监管设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的服务器集群监管程序,其中所述服务器集群监管程序被所述处理器执行时,实现如上所述的服务器集群监管方法的步骤。
36.第四方面,本发明还提供一种可读存储介质,所述可读存储介质上存储有服务器集群监管程序,其中所述服务器集群监管程序被处理器执行时,实现如上所述的服务器集群监管方法的步骤。
37.本发明中,接收远程控制指令,确定所述远程控制指令对应的目标服务器;获取所述目标服务器对应的目标指令集文件;基于所述目标指令集文件将所述远程控制指令转换成bmc控制报文;将所述bmc控制报文发送至所述目标服务器的bmc。通过本发明,可自动将远程控制指令转换成bmc控制报文,使得运维人员无需了解不同型号服务器所使用的bmc的控制指令及其对应的通讯协议,简化了运维人员的操作,降低了对运维人员的专业要求,减少了运维成本。
附图说明
38.图1为本发明实施例方案中涉及的服务器集群监管设备的硬件结构示意图;
39.图2为本发明服务器集群监管方法一实施例的流程示意图;
40.图3为图2中步骤s30的细化流程示意图;
41.图4为实施例中服务器集群监管系统的架构示意图;
42.图5为本发明服务器集群监管装置一实施例的功能模块示意图。
43.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
44.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
45.第一方面,本发明实施例提供一种服务器集群监管设备。
46.参照图1,图1为本发明实施例方案中涉及的服务器集群监管设备的硬件结构示意图。本发明实施例中,服务器集群监管设备可以包括处理器1001(例如中央处理器central processing unit,cpu),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真wireless-fidelity,wi-fi接口);存储器1005可以是高速随机存取存储器(random access memory,ram),也可以是稳定的存储器(non-volatile memory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。本领域技术人员可以理解,图1中示出的硬件结构并不构成对本发明的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
47.继续参照图1,图1中作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及服务器集群监管程序。其中,处理器1001可以调用存储器1005中存储的服务器集群监管程序,并执行本发明实施例提供的服务器集群监管方法。
48.第二方面,本发明实施例提供了一种服务器集群监管方法。
49.一实施例中,参照图2,图2为本发明服务器集群监管方法一实施例的流程示意图。如图2所示,服务器集群监管方法包括:
50.步骤s10,接收远程控制指令,确定所述远程控制指令对应的目标服务器;
51.本实施例中,远程控制指令为通用的指令,但无法通过远程控制指令直接与bmc进行交互。其中,远程控制指令包括但不限于:服务器开机/关机/重启指令、网络状态监控指令、网络状态修改指令、获取服务器物理指标参数指令。
52.远程控制指令由用户在操作界面触发,例如用户需要对服务器1进行远程控制,用户在远程控制指令选择界面选择要触发的远程控制指令以及在服务器选择界面选择服务器1,从而触发远程控制指令。本实施例的执行主体收到基于用户操作触发的远程控制指令,根据远程控制指令中携带的服务器id,确定远程控制指令对应的目标服务器。其中,1个服务器id用于唯一标识一台服务器。
53.步骤s20,获取所述目标服务器对应的目标指令集文件;
54.本实施例中,确定远程控制指令对应的目标服务器后,获取该目标服务器对应的目标指令集文件。其中,预先建立服务器与指令集文件的对应关系,基于对应关系,即可获取目标服务器对应的目标指令集文件。
55.进一步地,一实施例中,在步骤s10之前,还包括:
56.建立每种服务器类型对应的指令集文件,并将服务器类型与对应的指令集文件关联存储至数据库,所述指令集文件包括对应类型服务器所使用的bmc的bmc控制指令集合以及bmc控制指令集合中各个bmc控制指令对应的通讯协议类型。
57.本实施例中,预先建立每种服务器类型对应的指令集文件,并将服务器类型与对应的指令集文件关联存储至数据库。其中,指令集文件包括对应类型服务器所使用的bmc的bmc控制指令集合以及bmc控制指令集合中各个bmc控制指令对应的通讯协议类型。
58.例如,建立服务器类型1对应的指令集文件1,指令集文件1包括服务器类型1的服务器所使用的bmc的bmc控制指令集合1以及bmc控制指令集合1中各个bmc控制指令对应的通讯协议类型。
59.其中,各个bmc控制指令根据其对应的通讯协议的不同,包含如下属性:
60.snmp协议:指令名称、snmp协议oid(标示符)、数据类型;
61.redfish协议:指令名称、资源url;
62.ipmi协议:指令名称、指令功能码、指令命令码。
63.其中,可基于需要监管的服务器集群所包含的服务器类型建立每种服务器类型对应的指令集文件。
64.进一步地,一实施例中,同一品牌同一型号的服务器属于同一服务器类型,其中型号为服务器的最小分类单元。
65.本实施例中,以相同品牌相同型号的服务器作为同一类型的服务器,其中型号为服务器的最小分类单元。
66.进一步地,一实施例中,步骤s20包括:
67.检测缓存中是否存在所述目标服务器的服务器类型对应的目标指令集文件;若存在,则从缓存中获取所述目标指令集文件;若不存在,则从数据库中获取所述目标服务器的服务器类型对应的目标指令集文件。
68.本实施例中,首先在缓存中查找目标服务器的服务器类型对应的目标指令集文件,若缓存中存在目标服务器的服务器类型对应的目标指令集文件,则直接从缓存中获取该目标指令集文件;若缓存中不存在,则从数据库中获取目标服务器的服务器类型对应的目标指令集文件。
69.进一步地,一实施例中,在步骤s203之后,还包括:
70.将所述目标指令集文件存入缓存。
71.本实施例中,当缓存中不存在目标指令集文件,从数据库中获取目标指令集文件后,将目标指令集文件存入缓存,使得后续若再次需要获取该目标指令集文件时,可直接从缓存中获取,提高了数据获取速度,从而提高了系统运行效率。
72.步骤s30,基于所述目标指令集文件将所述远程控制指令转换成bmc控制报文;
73.本实施例中,在目标指令集文件中找到与远程控制指令匹配的bmc控制指令,以及该bmc控制指令对应的通讯协议类型,根据找到的bmc控制指令及其对应的通讯协议类型,即可构造得到远程控制指令转换成bmc控制报文。
74.进一步地,一实施例中,参照图3,图3为图2中步骤s30的细化流程示意图。如图3所示,步骤s30包括:
75.步骤s301,根据所述远程控制指令包含的指示字段,从所述目标指令集文件中查找所述指示字段对应的目标bmc控制指令;
76.本实施例中,远程控制指令包含指示字段,该指示字段用于标识远程控制指令的名称或目的,例如,指示字段为1,则表示该远程控制指令的目的是控制服务器关机或表示该远程控制指令的名称为关机指令。通过远程控制指令包含的指示字段,确定远程控制指令的名称或目的,再从目标指令集文件中查找与远程控制指令的名称或目的匹配的bmc控制指令作为远程控制指令的指示字段对应的目标bmc控制指令。
77.步骤s302,获取所述目标bmc控制指令对应的通讯协议类型对应的通讯协议参数;
78.本实施例中,由于指令集文件还包括bmc控制指令集合中各个bmc控制指令对应的通讯协议类型,基于此还可以从目标指令集文件中获取目标bmc控制指令对应的通讯协议类型。
79.在得到目标bmc控制指令对应的通讯协议类型后,即可获取通讯协议类型对应的通讯协议参数。其中,可预先在数据库中存储各个通讯协议类型对应的通讯协议参数,从而在得到目标bmc控制指令对应的通讯协议类型后,从数据库中获取通讯协议类型对应的通讯协议参数。
80.步骤s303,基于所述目标bmc控制指令以及所述通讯协议参数得到bmc控制报文。
81.本实施例中,基于上述步骤获取的目标bmc控制指令以及通讯协议参数,即可构造bmc控制报文。
82.步骤s40,将所述bmc控制报文发送至所述目标服务器的bmc。
83.本实施例中,得到bmc控制报文后,即可通过相应的协议接口将bmc控制报文发送至目标服务器的bmc,从而实现对目标服务器的远程控制。
84.本发明中,接收远程控制指令,确定所述远程控制指令对应的目标服务器;获取所述目标服务器对应的目标指令集文件;基于所述目标指令集文件将所述远程控制指令转换成bmc控制报文;将所述bmc控制报文发送至所述目标服务器的bmc。通过本发明,可自动将远程控制指令转换成bmc控制报文,使得运维人员无需了解不同型号服务器所使用的bmc的控制指令及其对应的通讯协议,简化了运维人员的操作,降低了对运维人员的专业要求,减少了运维成本。
85.为了本领域的技术人员可以更清楚地了解上述实施例,下面从系统架构的角度对本发明服务器集群监管方法进行补充说明。
86.参照图4,图4为实施例中服务器集群监管系统的架构示意图。如图4所示,服务器
集群监管系统包括:用户界面、bmc指令管理功能模块、服务器网元管理功能模块、指令文件系统、系统数据库以及采集器功能模块。
87.其中,服务器网元管理功能模块:负责批量导入被管理网元(即被管理服务器)的信息,将被管理网元的信息保存在系统数据库中;以及,负责提供通信协议参数模板配置,将配置好的通信协议参数保存至系统数据库中;
88.bmc指令管理功能模块:负责接收用户从管理界面上发来的远程控制指令,根据远程控制指令的指示字段从指令文件系统中获取相应的bmc控制指令;以及,从服务器网元管理功能模块中获取远程控制指令对应的被管理网元的信息;以及从系统数据库中获取bmc控制指令对应的通信协议参数;将获取的上述信息发送给采集器功能模块,它还负责接收采集器功能模块返回的信息,推送给前端用户界面显示;
89.采集器功能模块:负责将bmc指令管理功能模块传递的bmc控制指令、被管理网元的信息和通信协议参数,组成相应协议报文请求(即bmc控制报文),发送给远程控制指令对应的被管理网元的bmc;还接收bmc返回的信息,传送给bmc指令管理功能模块。
90.继续参照图4,服务器集群监管系统执行的步骤如下:
91.步骤1:在指令文件系统中建立bmc指令集预置文件,整理每种品牌型号服务器对应的bmc控制指令集合,保存至指令集预置文件中,一种品牌型号对应一个指令集预置文件;
92.步骤2:在指令文件系统中建立品牌型号-指令集配置文件,记录品牌型号与该品牌型号对应的指令集预置文件的对应关系;
93.其中,品牌型号-指令集配置文件提供了每种品牌型号名称及其对应的指令集预置文件的路径名称。
94.步骤3:服务器网元管理功能模块提供通信协议参数模板配置,将配置好的通信协议参数保存至系统数据库中;
95.其中,服务器网元管理功能模块提供snmp、redfish以及ipmi的通讯协议参数模板,系统支持模板的增、删、改操作,并将结果保存至数据库。模板中针对每种协议,包含下列参数:
96.snmp协议:读/写团体名、udp端口、接收告警端口;
97.redfish协议:bmc用户名、密码;
98.ipmi协议:端口、加密算法策略、认证级别。
99.步骤4:服务器网元管理功能模块提供批量导入被管理网元配置信息的功能,在数据库中保存批量导入的被管理网元的配置信息;
100.步骤5:用户从系统界面选择被管理网元,对bmc指令管理功能模块发出远程控制指令,bmc指令管理功能模块根据被管理网元的品牌型号加载对应的bmc控制指令集合,存储在系统缓存中;
101.步骤6:bmc指令管理功能模块根据远程控制指令的指示字段,在加载的bmc控制指令集合中找到匹配的bmc控制指令,并确定该bmc控制指令所使用的通讯协议;
102.步骤7:服务器网元管理功能模块从系统数据库中读取通讯协议对应的通信协议参数,发送给bmc指令管理功能模块;
103.步骤8:bmc指令管理功能模块将用户选择的被管理网元的信息、bmc控制指令以及
通信协议参数发送给采集器功能模块,采集器功能模块将来自bmc指令管理功能模块的信息组成对应的协议报文(即bmc控制报文),与被管理网元的bmc进行交互。
104.第三方面,本发明实施例还提供一种服务器集群监管装置。
105.一实施例中,参照图5,图5为本发明服务器集群监管装置一实施例的功能模块示意图。如图5所示,服务器集群监管装置包括:
106.接收模块10,用于接收远程控制指令,确定所述远程控制指令对应的目标服务器;
107.获取模块20,用于获取所述目标服务器对应的目标指令集文件;
108.转换模块30,用于基于所述目标指令集文件将所述远程控制指令转换成bmc控制指令;
109.发送模块40,用于将所述bmc控制指令发送至所述目标服务器的bmc。
110.进一步地,一实施例中,服务器集群监管装置包括:
111.建立模块,用于建立每种服务器类型对应的指令集文件,并将服务器类型与对应的指令集文件关联存储至数据库,所述指令集文件包括对应类型服务器所使用的bmc的bmc控制指令集合以及bmc控制指令集合中各个bmc控制指令对应的通讯协议类型。
112.进一步地,一实施例中,获取模块20,用于:
113.检测缓存中是否存在所述目标服务器的服务器类型对应的目标指令集文件;
114.若存在,则从缓存中获取所述目标指令集文件;
115.若不存在,则从数据库中获取所述目标服务器的服务器类型对应的目标指令集文件。
116.进一步地,一实施例中,服务器集群监管装置包括:
117.存储模块,用于将所述目标指令集文件存入缓存。
118.进一步地,一实施例中,转换模块30,用于:
119.根据所述远程控制指令包含的指示字段,从所述目标指令集文件中查找所述指示字段对应的目标bmc控制指令;
120.获取所述目标bmc控制指令对应的通讯协议类型对应的通讯协议参数;
121.基于所述目标bmc控制指令以及所述通讯协议参数得到bmc控制报文。
122.进一步地,一实施例中,同一品牌同一型号的服务器属于同一服务器类型,其中型号为服务器的最小分类单元。
123.其中,上述服务器集群监管装置中各个模块的功能实现与上述服务器集群监管方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
124.第四方面,本发明实施例还提供一种可读存储介质。
125.本发明可读存储介质上存储有服务器集群监管程序,其中所述服务器集群监管程序被处理器执行时,实现如上述的服务器集群监管方法的步骤。
126.其中,服务器集群监管程序被执行时所实现的方法可参照本发明服务器集群监管方法的各个实施例,此处不再赘述。
127.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该
要素的过程、方法、物品或者系统中还存在另外的相同要素。
128.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
129.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备执行本发明各个实施例所述的方法。
130.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1