一种基板管理控制器BMC设置方法、装置和存储介质与流程

文档序号:16535997发布日期:2019-01-08 19:54阅读:271来源:国知局
一种基板管理控制器BMC设置方法、装置和存储介质与流程

本发明涉及计算机技术,尤指一种基板管理控制器bmc设置方法、装置和存储介质。



背景技术:

基板管理控制器(baseboardmanagementcontroller),bmc支持行业标准的ipmi规范。该规范描述了已经内置到主板上的管理功能。这些功能包括:本地和远程诊断、控制台支持、配置管理、硬件管理和故障排除。

在信息时代,对服务器进行管理变得越来越重要,通过bmc对服务器进行管理变得越来越普遍,随着bmc功能的增加及完善,经常需要对bmc进行升级操作;传统的升级方式,需要人为对登陆服务器bmc界面,上传升级文件进行升级。服务器比较多的情况下,需要一台台的进行操作,升级起来非常麻烦。



技术实现要素:

为了解决上述技术问题,本发明提供了一种基板管理控制器bmc设置方法、装置和存储介质,能够实现服务器bmc批量自动升级。

为了达到本发明目的,本发明提供了一种基板管理控制器bmc设置方法,所述方法包括:

保存服务器的bmc升级文件和升级文件版本信息,当所述服务器的定时任务到达定时时间后,获取所述服务器的升级策略;

根据所述服务器的升级策略判断如果需要获取所述服务器的当前bmc版本信息,则获取所述服务器的当前bmc版本信息;

根据获取的所述当前bmc版本信息和保存的所述服务器的升级文件版本信息判断如果需要升级,则向所述服务器下发升级命令和所述bmc升级文件。

进一步地,所述升级策略为非强制升级策略。

进一步地,所述方法还包括:根据所述服务器的升级策略判断如果不需要获取所述服务器的bmc版本信息,则向服务器下发升级命令和所述bmc升级文件,所述升级策略为强制升级策略。

进一步地,所述定时任务通过quartz框架创建。

为了达到本发明目的,本发明还提供了一种基板管理控制器bmc设置装置,所述装置包括获取模块和判断模块,其中:

所获取存模块,用于保存服务器的bmc升级文件和升级文件版本信息,当所述服务器的定时任务到达定时时间后,获取所述服务器的升级策略;

所述判断模块,用于根据所述服务器的升级策略判断如果需要获取所述服务器的当前bmc版本信息,则获取所述服务器的当前bmc版本信息;根据获取的所述当前bmc版本信息和保存的所述服务器的升级文件版本信息判断如果需要升级,则向所述服务器下发升级命令和所述bmc升级文件。

进一步地,所述升级策略为非强制升级策略。

进一步地,所述判断模块还包括:所述判断模块根据所述服务器的升级策略判断如果不需要获取所述服务器的bmc版本信息,则所述判断模块向服务器下发升级命令和所述bmc升级文件,所述升级策略为强制升级策略。

进一步地,所述定时任务通过quartz框架创建。

为了达到本发明目的,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述方法的步骤。

为了达到本发明目的,本发明还提供了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述方法中的步骤。

与现有技术相比,本发明包括保存服务器的bmc升级文件和升级文件版本信息,当所述服务器的定时任务到达定时时间后,获取所述服务器的升级策略;

根据所述服务器的升级策略判断如果需要获取所述服务器的当前bmc版本信息,则获取所述服务器的当前bmc版本信息;

根据获取的所述当前bmc版本信息和保存的所述服务器的升级文件版本信息判断如果需要升级,则向所述服务器下发升级命令和所述bmc升级文件。本发明实施例中,面向基于quartz框架的服务器bmc升级方法,通过对不同的服务器设置不同的升级策略,可以实现根据不同服务器的具体情况自动批量的进行升级。相比常规单个手动升级的方法,可以在服务器没人用的时间自动智能升级,减少了运维成本,提升的bmc升级的智能化,提高经济效益。

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

附图说明

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

图1为本发明实施例一的基板管理控制器bmc设置方法的流程图;

图2为本发明实施例二的基板管理控制器bmc设置方法的另一种流程图;

图3为本发明实施例三的基板管理控制器bmc设置装置的结构示意图;

图4为本发明实施例三的计算机设备的结构示意图。

具体实施方式

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

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

实施例一

本实施例提供了一种基板管理控制器bmc设置方法,如图1所示,该方法包括s11-s12:

s11、保存服务器的bmc升级文件和升级文件版本信息,当服务器的定时任务到达定时时间后,获取服务器的升级策略;

s12、根据服务器的升级策略判断如果需要获取服务器的当前bmc版本信息,则获取服务器的当前bmc版本信息;根据获取的当前bmc版本信息和保存的服务器的升级文件版本信息判断如果需要升级,则向服务器下发升级命令和bmc升级文件。

本发明实施例中,通过对不同的服务器设置不同的升级策略,可以实现根据不同服务器的具体情况自动批量的进行升级,减少了运维成本,提升的bmc升级的智能化。

在一个可选实施例中,所述升级策略为非强制升级策略。

升级策略为非强制升级时,当所述升级文件版本高于服务器当前bmc版本,则判断结果为所述服务器需要升级;当所述升级文件版本不高服务器当前bmc版本,则判断结果为所述服务器不需要升级。

进一步地,当判断出所述升级文件版本不高服务器当前bmc版本时,还可以进行升级文件版本是否与服务器当前bmc版本的相等判断,当两者版本相等时,可以根据需要设置为需要升级或者设置为不需要升级。

在一个可选实施例中,该方法还包括:根据服务器的升级策略判断如果不需要获取服务器的bmc版本信息,则向服务器下发升级命令和bmc升级文件,升级策略为强制升级策略。

不同服务器上未升级前版本是不同的,设置策略也不同的,因此可是实现不同服务器不同需要的批量自动升级。

在一个可选实施例中,所述定时任务通过quartz框架创建。

通过quartz框架创建定时任务,包括:根据服务器的信息上传可以标识所述服务器的信息和所述服务器的版本信息,依次设置多个服务器的升级时间和升级策略。

quartz是一个开源任务调度的框架,通过触发器设置作业定时运行规则,控制作业的运行时间。其中quartz集群通过故障切换和负载平衡的功能,能给调度器带来高可用性和伸缩性。主要用来执行定时任务,如:定时发送信息、定时生成报表等等。

本发明实施例中保存服务器的bmc升级文件和升级文件版本信息,当所述服务器的定时任务到达定时时间后,获取所述服务器的升级策略;根据所述服务器的升级策略判断如果需要获取所述服务器的当前bmc版本信息,则获取所述服务器的当前bmc版本信息;根据获取的所述当前bmc版本信息和保存的所述服务器的升级文件版本信息判断如果需要升级,则向所述服务器下发升级命令和所述bmc升级文件,相比常规单个手动升级的方法,可以在服务器没人用的时间自动智能升级,减少了运维成本,提升的bmc升级的智能化,提高经济效益。

实施例二

一种基于quartz框架的服务器bmc升级方法,可以实现bmc自动升级,当bmc有新版本后将升级文件上传到系统升级目录下,基于quartz框架创建升级任务,可以设置要升级的服务器,升级时间,升级参数,配置好任务之后,系统会在设定好的时间,将bmc升级到规定的版本;用户可以启动bmc自动升级任务,当用户上传新的bmc升级文件时,自动升级任务在设定好时间进行如下操作:获取服务器的当前bmc版本,与bmc升级版本进行比较,如果升级的版本比较新时,自动将服务器的bmc升级。

主要包括如下几个步骤:

(1)将要升级的bmc镜像上传到升级目录;

(2)创建定时任务;

通过quartz框架创建定时任务,设定将要升级的服务器的信息,例如服务器的bmcip、用户、密码、待升级的bmc镜像文件和任务开始时间,还需要输入将要升级bmc的服务器信息,及升级镜像的目录。

预设的策略包括强制升级和非强制升级两种情况,当预设的策略为强制升级时,则向服务器下发升级命令和所述bmc升级文件;

预设的策略为非强制升级时,需比较所述升级文件与当前bmc版本高低;

1)当比较结果为所述升级文件版本高于服务器当前bmc版本,则需要升级;

2)当比较结果为所述升级文件版本不高于服务器当前bmc版本时,需判断升级文件是否等于服务器当前bmc版本,当判断出相等时,设置的策略为相等仍需要升级,则需要升级此服务器;否则,放弃此服务器的本次升级;或者,判断出相等时,设置的策略为相等不需要升级,则判断出相等时则放弃本次升级;

当比较结果为所述升级文件版本不高于服务器当前bmc版本时,可以设置为放弃此次升级,或者继续判断升级文件是否等于服务器当前bmc版本,当判断出不相等时,则放弃本次升级。

如图2所示,为判断出升级文件版本等于服务器当前bmc版本时,需升级的情况;

通过设置策略时设置为强制升级,无论升级文件版本是否高于服务器当前bmc版本,均需要升级,可以克服该服务器当前版本由于安装存在的问题,通过者重新安装退回之前的版本,克服了当前版本的问题;

通过设置策略时设置为非强制升级,进一步需要判断升级文件版本是否高于服务器当前bmc版本,可以将当前服务器中版本低的bmc批量升级为升级版本;

进一步地,判断升级文件版本是否等于服务器当前bmc版本,可以重新安装bmc,能够克服上一次因为安装导致bmc存在问题的问题。

(3)自动执行升级任务;

升级程序会在设定的时间触发任务自动执行,基于预设的策略判断是否需要进行升级;

系统任务触发升级任务,通过调用升级程序进行升级;自动将服务器bmc升级到指定的版本,并同时可以创建任务自动获取升级目录的镜像文件,当升级镜像的文件更新时,自动触发服务器bmc升级任务。

本发明采用java方式实现,首先用户需要将要升级的bmc镜像文件上传到系统升级目录下,用户新建定时任务,设定将要升级bmc的服务器信息,及升级镜像的目录、升级时间、bmc升级配置等信息。任务基于quartz框架创建。创建定时任务成功后,任务会在设定的时间,触发任务获取待升级文件的版本,当升级文件比服务器当前bmc版本新时,比较两个bmc版本,如果服务器bmc版本高于要升级的镜像版本,可以根据设定的是否强制升级,如果不需要强制升级则不升级;如果强制升级则自动升级bmc;服务器bmc版本低于要升级的镜像版本,则根据配置的策略进行升级,有需要升级的服务器任务时,调用升级程序根据配置的策略进行升级,并记录升级日志以供升级后查看。

实施例三

本实施例提供了一种基板管理控制器bmc设置装置,上述方法实施例中描述也适用于本实施例中,图3所示,该装置包括获取模块31和判断模块32,其中:

所述获取存模块33,用于保存服务器的bmc升级文件和升级文件版本信息,当服务器的定时任务到达定时时间后,获取服务器的升级策略;

所述判断模块32,用于根据服务器的升级策略判断如果需要获取服务器的当前bmc版本信息,则获取服务器的当前bmc版本信息;根据获取的当前bmc版本信息和保存的服务器的升级文件版本信息判断如果需要升级,则向服务器下发升级命令和bmc升级文件。

在一个可选实施例中,所述升级策略为非强制升级策略。

在一个可选实施例中,所述判断模块32还包括:判断模块根据服务器的升级策略判断如果不需要获取服务器的bmc版本信息,则所述判断模块向服务器下发升级命令和bmc升级文件,升级策略为强制升级策略。

在一个可选实施例中,定时任务通过quartz框架创建。

本发明实施例还提供一种计算机存储介质,所述计算机存储介质存储有计算机程序;所述计算机程序被执行后,能够实现前述实施例提供的基板管理控制器bmc设置方法,例如,执行如图1所示方法。

本发明实施例还提供一种计算机设备,其可以是如图4所示的结构,包括处理器41、存储器42以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时可实现实施例一或实施例二中部分或全部步骤。

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

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