BMC—服务器运维管理利器

    BMC全称BaseboardManagement Controller,通俗来讲,BMC是整个服务器单板的大管家。从一款服务器上电时刻,它的所有部件都归BMC来负责和管理。说到这里,大家可能已经了解BMC是与服务器有关的,但还是会有疑惑,BMC到底是啥?它在服务器哪里?它在干什么?

    简单提下服务器,服务器从功能上来讲,跟我们日常学习办公使用的台式机和笔记本没有本质区别,主要也是由最为关键的三大件CPU、内存、硬盘组成,但是服务器的应用场景主要是提供给企业等角色用来支撑形形色色业务,不仅仅是用来安装浏览器访问网页、安装播放器看看电影,因此服务器会使用更强的配置,即更强劲的CPU、更大的内存、更大的硬盘存储。从外形上来说,服务器存在多种外形,如机架式、刀片式、塔式等等,最主要的区别在于服务器一般不会配置显示器、键盘、鼠标等部件用于近端操作,一般通过IP远程连接的方式访问即可。因为服务器一般情况下都会放置于单独的机房,而且风扇噪音会比家用电脑更大些。

    说到这里,大家可能觉得我懂了,BMC就是跑在服务器上的一个软件是吧?错误。

    BMC是一款服务器AC上电起始即运行的软件,运行在服务器上一款单独的ARM芯片上,这个ARM芯片就是BMC软件的CPU,同时会芯片外围会配置自己的RAM、Flash等器件,只要服务器插上电源线,BMC软件便快速运行起来,此时有可能我们通常意义上的x86服务器侧的OS都还没有安装呢。BMC是整个服务器的大管家,主要用于服务器各个部件(CPU、内存、硬盘、风扇、机框等)的温度、电压等健康状态进行检测,同时根据各个温度采集点情况实时调整风扇转速保证服务器不产生过温、而且控制总体功耗又不能过高,如果单板部件出现任何异常则通过SNMP协议、SMTP协议、Redfish协议等多种业界通用规范讲信息及时上报给上层网管,以便运维人员及时处理,保证业务无损。

    此处介绍下带外管理和带内的概念,通常情况下x86侧执行的运维管理动作被称作带内的方式,而BMC是脱离x86侧独立运行的服务器管理软件,被称作带外管理软件。

    简单来说,BMC可以采集任何服务器上的除x86侧运行的私有业务本身之外的任何信息,本文不展开讲到底可以采集哪种信息,但是请注意,现在业界的BMC带外管理软件有各种解决方案,可以采集到任何你想要的信息,是的,任何。因为即使从带外无法获取的信息,当前业界也存在带外和带内监控结合、带外统一提供接口的方案,可以实现通过BMC获取任何想要获得信息。

    从功能上来讲,BMC主要用于采集单个服务器上各种信息,同时提供给上层运维网管软件。主要有两种手段,第一种BMC会提供各种各样的接口供上层网管查询,如web、命令行等人机接口、SNMP、IPMI、Restful等机机接口;第二种是主动上报,当检测到有故障产生时,BMC可以通过SNMP trap消息、SMTP 邮件消息、Redfish http json报文等手段上报给上层网管软件的服务端,以便运维人员及时识别处理故障。一般情况下,BMC软件上报的消息中都会明确的指明具体是哪个部件产生了故障、处理建议是怎样的等等。

    讲到这里,大家对BMC带外管理应该有了初步的认识,也达到了本文的目的。此时大家可能存在疑问,在x86侧OS上部署一套自研的Agent,也可以采集到我想要的各种信息,对于少量与硬件强相关的信息,我在带内OS上通过BMC接口查询补全,这种带内结合带外管理的方式不是也挺好吗?

    全带外管理,是当前各大服务器厂商推出的单板运维管理的解决方案。各大服务器厂商当前均自研统一的带内Agent信息补全工具,最终汇集信息至BMC侧统一对外提供接口。理论上来说,可以满足单板运维管理的诉求。对于服务器用户来说,这是零成本的解决方案,强烈建议采用,何必自己再研发一套增加成本呢?

    希望大家看完此文能对BMC带外管理有一定的了解。

 

 

 

你可能感兴趣的:(BMC—服务器运维管理利器)