一种服务器及指示灯控制方法与流程

文档序号:11216154阅读:578来源:国知局
一种服务器及指示灯控制方法与流程

本发明涉及云计算数据中心技术,尤指一种服务器及指示灯控制方法。



背景技术:

在云计算时代,数据中心的运维工作是保证数据中心正常工作的重中之重。在数据中心机房越来越庞大的趋势下,运维工作的难度和复杂度也越来越大。在数据中心运维工作中,工作人员经常需要通过观察服务器指示灯来判断某块硬盘、网卡或者电源的具体位置和状态。但目前数据中心没有提供对服务器指示灯进行自动控制的方法。



技术实现要素:

为了解决上述技术问题,本发明提供了一种服务器及指示灯控制方法,可以实现对服务器指示灯进行自动控制。

为了达到本发明目的,本发明提供了一种服务器,包括:基板管理控制器bmc和指示灯控制模块;

所述bmc通过预先约定的智能平台管理接口原始设备制造商ipmioem指令与所述指示灯控制模块进行通信,所述ipmioem指令用于通知所述指示灯控制模块对各个指示灯的状态进行控制;

所述指示灯控制模块与服务器指示灯连接,用于根据所述ipmioem指令控制各个指示灯的状态。

进一步地,所述bmc具体用于:

所述bmc的网页web界面接收远程客户端发来的指示灯操作请求;根据所述指示灯操作请求,更新所述bmc中的第一本地指示灯缓存文件中保存的第一指示灯状态信息,并向所述指示灯控制模块发送包含所述第一指示灯状态信息的第一ipmioem指令。

进一步地,所述bmc具体用于:所述bmc的网页web界面接收远程客户端发来的指示灯操作请求,更新所述bmc中的第一本地指示灯缓存文件中保存的第一指示灯状态信息;

所述指示灯控制模块,还用于定时轮询所述bmc获取包含所述第一指示灯状态信息的第二ipmioem指令。

进一步地,所述指示灯控制模块具体用于:

对比所述第一ipmioem指令或者所述第二ipmioem指令中包含的所述第一指示灯状态信息与所述指示灯控制模块中的第二本地指示灯缓存文件中保存的第二指示灯状态信息,当所述第一指示灯状态信息与所述第二指示灯状态信息一致时,不作任何操作;当所述第一指示灯状态信息与所述第二指示灯状态信息不一致时,根据所述第一指示灯状态信息控制各个指示灯的状态。

进一步地,所述指示灯控制模块,还用于接收所述指示灯反馈的结果消息并向所述bmc发送包含所述结果消息的第三ipmioem指令,所述结果消息用于表示是否成功控制所述指示灯的状态;

所述bmc,还用于根据所述结果消息在自身的web界面上提示指示灯操作状态,当所述结果消息用于表示成功操作更新所述指示灯的状态时,所述web界面向远程客户端提示指示灯操作成功,当所述结果消息用于表示失败操作更新所述指示灯的状态时,所述web界面向远程客户端提示指示灯操作失败。

进一步地,当所述bmc的web界面向远程客户端提示指示灯操作失败时,所述bmc更新第一本地指示灯缓存文件中保存的第一指示灯状态信息为上一次未更新时保存的指示灯状态信息。

为了达到本发明目的,本发明还提供了一种指示灯控制方法,应用于服务器,该方法包括:

基板管理控制器bmc通过预先约定的智能平台管理接口原始设备制造商ipmioem指令与指示灯控制模块进行通信,所述ipmioem指令用于通知所述指示灯控制模块对各个指示灯的状态进行操作控制;

所述指示灯控制模块根据所述ipmioem指令操作控制各个指示灯的状态。

进一步地,该方法具体包括:

所述bmc的网页web界面接收远程客户端发来的指示灯操作请求;根据所述指示灯操作请求,更新所述bmc中的第一本地指示灯缓存文件中保存的第一指示灯状态信息,并向所述指示灯控制模块发送包含所述第一指示灯状态信息的第一ipmioem指令;

所述指示灯控制模块根据所述第一ipmioem指令对各个指示灯进行操作控制。

进一步地,该方法具体包括:

所述bmc的网页web界面接收远程客户端发来的指示灯操作请求,更新所述bmc中的第一本地指示灯缓存文件中保存的第一指示灯状态信息;

所述指示灯控制模块定时轮询所述bmc获取包含所述第一指示灯状态信息的第二ipmioem指令;

所述指示灯控制模块根据所述第二ipmioem指令对各个指示灯进行操作控制。

进一步地,所述指示灯控制模块根据所述第一ipmioem指令或者所述第二ipmioem指令对各个指示灯进行操作控制,具体包括:

所述指示灯控制模块对比所述第一ipmioem指令或者所述第二ipmioem指令中包含的所述第一指示灯状态信息与所述指示灯控制模块中的第二本地指示灯缓存文件中保存的第二指示灯状态信息,当所述第一指示灯状态信息与所述第二指示灯状态信息一致时,不作任何操作;当所述第一指示灯状态信息与所述第二指示灯状态信息不一致时,根据所述第一指示灯状态信息控制各个指示灯的状态。

进一步地,该方法还包括:

所述指示灯控制模块接收所述指示灯反馈的结果消息并向所述bmc发送包含所述结果消息的第三ipmioem指令,所述结果消息用于表示是否成功控制所述指示灯的状态;

所述bmc根据所述结果消息在自身的web界面上提示指示灯操作状态,当所述结果消息用于表示成功操作更新所述指示灯的状态时,所述web界面向远程客户端提示指示灯操作成功,当所述结果消息用于表示失败操作更新所述指示灯的状态时,所述web界面向远程客户端提示指示灯操作失败。

进一步地,当所述bmc的web界面向远程客户端提示指示灯操作失败时,所述bmc更新第一本地指示灯缓存文件中保存的第一指示灯状态信息为上一次未更新时保存的指示灯状态信息。

本发明技术方案提供了一种服务器及指示灯控制方法,该服务器包括:基板管理控制器bmc和指示灯控制模块;所述bmc通过预先约定的智能平台管理接口原始设备制造商ipmioem指令与所述指示灯控制模块进行通信,所述ipmioem指令用于通知所述指示灯控制模块对各个指示灯的状态进行控制;所述指示灯控制模块与服务器指示灯连接,用于根据所述ipmioem指令控制各个指示灯的状态。本发明技术方案中,指示灯控制模块为服务器操作系统的功能模块之一,采用ipmioem指令实现服务器操作系统和bmc之间的自定义数据的通信交互,可以保证数据交互的有效性和准确性,保证了整个系统的正常运行;并通过对服务器指示灯的远程控制减轻了服务器运维难度。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。

图1为本发明实施例提供的服务器结构示意图;

图2为本发明实施例提供的指示灯控制方法流程图;

图3本发明实施例一提供的硬盘指示灯控制方法。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

数据中心的服务器上有各种各样的指示灯,例如电源指示灯,网卡指示灯,硬盘指示灯等等。可以通过指示灯的开关状态以及颜色指示服务器及其内部部件的工作状况,例如电源指示灯用于指示服务器系统是否正常启动或者断电、网卡指示灯用于指示网卡的工作情况,硬盘指示灯用于指示硬盘的工作情况。比如当电源指示灯为绿色长亮则表示服务器系统处于正常启动状态,当硬盘指示灯绿色持续亮起则表示物理磁盘处于联机状态,当网卡指示灯绿色不停闪烁则表示正在进行数据传输等。不同厂商不同型号的服务器可以预先设定各种指示灯的开关状态以及颜色指示服务器及其内部部件的不同状态。

在目前服务器的监控管理系统中,通常采用服务器上的基板管理控制器bmc(baseboardmanagementcontroller)为服务器提供带外监控管理。管理员通过客户端可远程登陆到服务器的bmc提供的web界面。

本发明提供了一种指示灯控制方法,通过采用定制化ipmioem(originalequipmentmanufacturer)指令,在服务器操作系统中安装指示灯控制模块,与bmc进行数据通信,从而实现对服务器指示灯的远程控制,实现了服务器操作系统与bmc之间的自定义数据互通,通过对服务器指示灯的远程控制减轻了服务器运维难度。

图1为本发明实施例提供的服务器结构示意图,如图1所示,本实施例提供了一种服务器,包括基板管理控制器bmc和指示灯控制模块;;

所述bmc通过预先约定的智能平台管理接口原始设备制造商ipmioem指令与所述指示灯控制模块进行通信,所述ipmioem指令用于通知所述指示灯控制模块对各个指示灯的状态进行控制;

所述指示灯控制模块与服务器指示灯连接,用于根据所述ipmioem指令控制各个指示灯的状态。

指示灯控制模块可以设置服务器的操作系统中,作为操作系统的功能模块之一。

进一步地,所述bmc具体用于:

所述bmc的网页web界面接收远程客户端发来的指示灯操作请求;根据所述指示灯操作请求,更新所述bmc中的第一本地指示灯缓存文件中保存的第一指示灯状态信息,并向所述指示灯控制模块发送包含所述第一指示灯状态信息的第一ipmioem指令。

进一步地,所述bmc具体用于:所述bmc的网页web界面接收远程客户端发来的指示灯操作请求,更新所述bmc中的第一本地指示灯缓存文件中保存的第一指示灯状态信息;

所述指示灯控制模块,还用于定时轮询所述bmc获取包含所述第一指示灯状态信息的第二ipmioem指令。

进一步地,所述指示灯控制模块具体用于:

对比所述第一ipmioem指令或者所述第二ipmioem指令中包含的所述第一指示灯状态信息与所述指示灯控制模块中的第二本地指示灯缓存文件中保存的第二指示灯状态信息,当所述第一指示灯状态信息与所述第二指示灯状态信息一致时,不作任何操作;当所述第一指示灯状态信息与所述第二指示灯状态信息不一致时,根据所述第一指示灯状态信息控制各个指示灯的状态。

进一步地,所述指示灯控制模块,还用于接收所述指示灯反馈的结果消息并向所述bmc发送包含所述结果消息的第三ipmioem指令,所述结果消息用于表示是否成功控制所述指示灯的状态;

所述bmc,还用于根据所述结果消息在自身的web界面上提示指示灯操作状态,当所述结果消息用于表示成功操作更新所述指示灯的状态时,所述web界面向远程客户端提示指示灯操作成功,当所述结果消息用于表示失败操作更新所述指示灯的状态时,所述web界面向远程客户端提示指示灯操作失败。

进一步地,当所述bmc的web界面向远程客户端提示指示灯操作失败时,所述bmc更新第一本地指示灯缓存文件中保存的第一指示灯状态信息为上一次未更新时保存的指示灯状态信息。

ipmi协议作为服务器操作系统和bmc之间数据交互的协议。智能平台管理接口ipmi(intelligentplatformmanagementinterface)原始设备制造商oem(originalequipmentmanufacturer)指令可以根据ipmi2.0oem指令的开发规范进行开发,采用ipmioem指令实现服务器操作系统和bmc之间的自定义数据的通信交互,可以保证数据交互的有效性和准确性,保证了整个系统的正常运行。

ipmioem指令是bmc和指示灯控制模块事先约定好的定制化指令。所述指示灯控制模块与所述bmc之间进行通信的ipmioem指令,可以按照下表1所述的ipmioem指令开发规范进行约定:

表1:ipmioem指令开发规范

语法解释:

netfn:bmc网络功能码

cmd:原语命令编码

flag:命令标志位,代表具体执行哪个方法

num:返回数据数量

checknum:命令校验码,

checknum=0x100–flag-性能数据–num。

通过上述ipmioem指令开发规范,约定了指示灯控制模块与bmc数据交互的内容。根据十六进制的数据结构,可确定需要控制硬盘、网卡、电源的位置、操作(点亮还是熄灭、颜色)等。

图2为本发明实施例提供的指示灯控制方法流程图,如图2所示,该指示灯控制方法,应用于服务器,包括:

基板管理控制器bmc通过预先约定的智能平台管理接口原始设备制造商ipmioem指令与指示灯控制模块进行通信,所述ipmioem指令用于通知所述指示灯控制模块对各个指示灯的状态进行操作控制;

所述指示灯控制模块根据所述ipmioem指令操作控制各个指示灯的状态。

进一步地,所述bmc的网页web界面接收远程客户端发来的指示灯操作请求;根据所述指示灯操作请求,更新所述bmc中的第一本地指示灯缓存文件中保存的第一指示灯状态信息,并向所述指示灯控制模块发送包含所述第一指示灯状态信息的第一ipmioem指令;

所述指示灯控制模块根据所述第一ipmioem指令对各个指示灯进行操作控制。

进一步地,所述bmc的网页web界面接收远程客户端发来的指示灯操作请求,更新所述bmc中的第一本地指示灯缓存文件中保存的第一指示灯状态信息;

所述指示灯控制模块定时轮询所述bmc获取包含所述第一指示灯状态信息的第二ipmioem指令;

所述指示灯控制模块根据所述第二ipmioem指令对各个指示灯进行操作控制。

进一步地,所述指示灯控制模块根据所述第一ipmioem指令或者所述第二ipmioem指令对各个指示灯进行操作控制,具体包括:

所述指示灯控制模块对比所述第一ipmioem指令或者所述第二ipmioem指令中包含的所述第一指示灯状态信息与所述指示灯控制模块中的第二本地指示灯缓存文件中保存的第二指示灯状态信息,当所述第一指示灯状态信息与所述第二指示灯状态信息一致时,不作任何操作;当所述第一指示灯状态信息与所述第二指示灯状态信息不一致时,根据所述第一指示灯状态信息控制各个指示灯的状态。

进一步地,所述指示灯控制模块接收所述指示灯反馈的结果消息并向所述bmc发送包含所述结果消息的第三ipmioem指令,所述结果消息用于表示是否成功控制所述指示灯的状态;

所述bmc根据所述结果消息在自身的web界面上提示指示灯操作状态,当所述结果消息用于表示成功操作更新所述指示灯的状态时,所述web界面向远程客户端提示指示灯操作成功,当所述结果消息用于表示失败操作更新所述指示灯的状态时,所述web界面向远程客户端提示指示灯操作失败。

进一步地,当所述bmc的web界面向远程客户端提示指示灯操作失败时,所述bmc更新第一本地指示灯缓存文件中保存的第一指示灯状态信息为上一次未更新时保存的指示灯状态信息。

本发明技术方案采用ipmioem指令实现服务器操作系统和bmc之间的自定义数据的通信交互,可以保证数据交互的有效性和准确性,保证了整个系统的正常运行;并通过对服务器指示灯的远程控制减轻了服务器运维难度。

实施例一

本实施例以操作控制硬盘指示灯为例进一步详细说明。图3为本发明实施例一提供的硬盘指示灯控制方法,如图3所示,本发明实施例提供了一种硬盘指示灯控制方法,包括:

步骤301,bmcweb界面触发某硬盘指示灯点亮请求时,bmc更新本地该硬盘指示灯缓存文件为点亮状态,bmc本地保存有第一指示灯缓存文件,用于缓存硬盘指示灯状态信息;

步骤302,指示灯控制模块定时(例如5秒)通过ipmioem指令轮询bmc,从第一指示灯缓存文件获取硬盘指示灯状态信息,包括所有硬盘的指示灯状态;

步骤303,指示灯控制模块通过对比本地第二指示灯缓存文件中保存的硬盘指示灯状态信息和从bmc获取的硬盘指示灯状态信息,指示灯控制模块本地保存有第二指示灯缓存文件,用于缓存本地获取的硬盘指示灯状态信息;

步骤304,确认信息对比一致时,指示灯控制模块说明硬盘指示灯处于点亮状态,不需要再进行任何操作,只向bmc发送硬盘指示灯操作结果指令即指示灯点亮操作成功,即点亮成功;如果信息对比不一致,则根据从bmc获取的硬盘指示灯信息控制硬盘指示灯的状态,比如控制点亮硬盘指示灯;

步骤305,硬盘指示灯向指示灯控制模块反馈是否点亮成功;

步骤305,反馈点亮成功,则指示灯控制模块更新指示灯控制模块本地保存的第二指示灯缓存文件中缓存的硬盘指示灯状态信息;并根据反馈结果向bmc发送硬盘指示灯操作结果指令;

步骤306,若指示灯操作结果指令为指示灯点亮操作成功,bmcweb界面提示成功,若指示灯操作结果指令为指示灯点亮操作失败,则bmcweb界面提示失败,并且bmc更新本地第一指示灯缓存文件中该指示灯状态为上一次未更新的状态。

本发明技术方案采用ipmioem指令实现服务器操作系统和bmc之间的自定义数据的通信交互,可以保证数据交互的有效性和准确性,保证了整个系统的正常运行;并通过对服务器指示灯的远程控制减轻了服务器运维难度。

虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所述领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1