一种服务器电源固件的升级方法及升级系统与流程

文档序号:15229614发布日期:2018-08-21 19:13阅读:433来源:国知局

本申请涉及服务器领域,特别涉及一种服务器电源固件的升级方法及升级系统。



背景技术:

随着计算机行业的高速发展,服务器尤其是高密度多节点服务器在实际应用中尤其在大型数据中心、云计算基地等场合应用越来越广泛,在一个数据中心往往会部署几万甚至几十万台服务器,因此服务器的管理易用性尤其是固件刷新方法的简便性成为服务器使用管理者最为关注的问题。在多节点服务器系统中,整机供电单元电源固件一般是通过特殊的固件刷新治具来更新,刷新时,需要将整机上每台电源分别拔下,使用专用的电源固件刷新治具和刷新软件更新。此种刷新治具更新方式存在的问题是:

(1)需要特殊的电源固件刷新治具和刷新软件支持,没有升级治具无法进行更新。

(2)在机房运行环境中,通过刷新治具更新电源固件,需要将电源从整机上拔下再使用治具进行更新,无法进行在线或远程更新,实际操作起来非常不方便,在大的数据中心,机器众多,无法实施大规模批量更新,且频繁插拔电源会影响整机稳定运行。

因此,如何实现一种能方便、快速刷新多节点服务器电源固件的方法,成为设计和开发人员亟需解决的问题。

申请内容

本申请的目的是提供一种服务器电源固件的升级方法及升级系统,解决现有服务器电源固件升级依赖治具且过程繁琐的问题。

为解决上述技术问题,本申请提供一种服务器电源固件的升级方法,具体技术方案如下:

通过i2c接口获取所述电源固件的当前版本;

判断所述当前版本是否为新版本若否,则利用所述新版本对所述电源固件在线升级。

其中,所述升级方法还包括:

将所述新版本通过网络远程上传至整机管理单元,以使所述整机管理单元判断所述当前版本是否为新版本。

其中,通过i2c接口获取所述电源固件的当前版本包括:

通过i2c接口发送pmbus指令获取所述电源固件的当前版本。

其中,利用所述新版本对所述电源固件升级,包括:

将所述新版本以设定帧数划分数据块,再分批传送所述数据块,以使电源在接收所有所述数据块后执行本地升级程序对所述电源固件升级。

其中,所述升级方法还包括:

当所述新版本需要更新至最新版本时,将所述最新版本通过scp工具上传至所述整机管理单元,并在所述整机管理单元重启后升级所述电源固件。

本申请还提供一种服务器电源固件的升级系统,包括:

获取模块,用于通过i2c接口获取所述电源固件的当前版本;

判断模块,用于判断所述当前版本是否为新版本;

升级模块,用于若所述判断模块判断为否时,利用所述新版本对所述电源固件在线升级。

其中,所述升级系统还包括:

上传模块,用于将所述新版本通过网络远程上传至整机管理单元,以使所述整机管理单元判断所述当前版本是否为新版本。

其中,所述获取模块具体为通过i2c接口发送pmbus指令获取所述电源固件的当前版本的模块。

其中,所述升级模块包括:

升级单元,用于将所述新版本以设定帧数划分数据块,再分批传送所述数据块,以使电源在接收所有所述数据块后执行本地升级程序对所述电源固件升级。

其中,所述升级系统还包括:

更新模块,用于当所述新版本需要更新至最新版本时,将所述最新版本通过scp工具上传至所述整机管理单元,并在所述整机管理单元重启后升级所述电源固件。

本申请所提供的一种服务器电源固件的升级方法,包括:通过i2c接口获取所述电源固件的当前版本;判断所述当前版本是否为新版本;若否,则利用所述新版本对所述电源固件在线升级。本申请无需使用特殊的电源固件刷新治具和刷新软件,可直接远程在线自动更新,操作方便,适合在数据中心实施批量更新,升级时无需插拔电源,不影响整机系统的稳定性,在实际中有着广阔的应用前景。本申请还提供一种服务器电源固件的升级系统,具有上述有益效果,此处不再赘述。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例所提供的一种服务器电源固件的升级方法的流程图;

图2为本申请实施例所提供的一种服务器电源固件的升级系统结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

请参考图1,图1为本申请实施例所提供的一种服务器电源固件的升级方法的流程图,该升级方法包括:

s101:通过i2c接口获取所述电源固件的当前版本;

本步骤旨在获取电源固件的当前版本。在整机上电后,可以由整机管理单元发送请求指令以请求获取电源固件的当前版本,例如该请求指令可以为pmbus指令mfr_revision(0x9b)。

需要注意的是,本申请可以在整机上电,整机管理单元启动时进行对电源固件当前版本的获取,亦可以在新的电源插入系统时,进行对其当前版本的获取,并根据其版本信息进行相应的后续操作。

在本步骤之前,可以将电源固件的当前版本信息包入设定文件,例如包入至整机管理单元的系统存储目录,则在上电后,整机管理单元可直接从系统存储目录文件中获取到电源固件的当前版本信息。

s102:判断所述当前版本是否为新版本;若否,进入s103;

应当理解的是,新版本的电源固件应存于整机管理单元可获取的位置,例如直接存于整机管理单元中。在有新版本时,可以通过网络远程上传至整机管理单元。在此对于上传方法不作限定,例如可以使用scp等工具上传新版本。

可以理解的是,对于电源固件而言,较晚的版本应为较新的版本,因此只需判断当前版本是否为新版本即可,若不是,意味着电源固件存在可更新的版本。

s103:利用所述新版本对所述电源固件在线升级。

升级时,需要从整机管理单元将升级文件传至电源,因为升级文件数据量较大,可以将其分割成小数据块,并将小数据块逐个或分批传送至电源,直至将整个升级文件上传。电源在收到所有的小数据块后,执行本地固件升级程序以完成固件更新。

可以理解的是,整机管理单元和电源之间的传输协议需要提前设定,二者通过i2c接口进行传输协议格式的确定。在升级过程中,传输协议还可以根据升级文件的格式等信息进行相应的变化,具体不作限定。此外,考虑i2c接口的稳定性较差,可以每次向电源传送一帧数据块,或者数帧数据块,以保证数据传输的稳定性。

本申请所描述的电源固件自动更新方法,无需使用特殊的电源固件刷新治具和刷新软件,可直接通过操控整机管理单元完成上述步骤以实现远程在线自动更新,操作方便,适合在数据中心实施批量更新,升级时无需插拔电源,避免影响整机系统的稳定性,在实际中有着广阔的应用前景。

基于上述实施例,作为优选的实施例,该电源固件的升级方法还可以包括对新版本的更新,意即是指当有更新版本的电源固件时,将最新版本的电源固件和固件版本信息上传至整机管理单元,在整机管理单元重启后执行如上述实施例所述的升级方法。

需要注意的是,具体应当升级哪个版本应由本领域技术人员根据相应的版本内容决定。例如,电源中当前版本为版本a,整机管理单元中存在新版本b,而此时已有最新版本c,那么此时是否先升级版本b再升级版本c或是直接升级至版本c应视版本b和版本c之间的联系而定。

下面对本申请实施例提供的一种服务器电源固件的升级系统进行介绍,下文描述的升级系统与上文描述的升级方法可相互对应参照。

参见图2,图2为本申请实施例所提供的一种服务器电源固件的升级系统结构示意图,该升级系统可以包括:

获取模块100,用于通过i2c接口获取所述电源固件的当前版本;

判断模块200,用于判断所述当前版本是否为新版本;

升级模块300,用于若所述判断模块200判断为否时,利用所述新版本对所述电源固件在线升级。

基于上述实施例,作为优选的实施例,所述升级系统还可以包括:

上传模块,用于将所述新版本通过网络远程上传至整机管理单元,以使所述整机管理单元判断所述当前版本是否为新版本。

基于上述实施例,作为优选的实施例,所述获取模块100具体为通过i2c接口发送pmbus指令获取所述电源固件的当前版本的模块。

基于上述实施例,作为优选的实施例,所述升级模块300可以包括:

升级单元,用于将所述新版本以设定帧数划分数据块,再分批传送所述数据块,以使电源在接收所有所述数据块后执行本地升级程序对所述电源固件升级。

基于上述实施例,作为优选的实施例,所述升级系统还可以包括:

更新模块,用于当所述新版本需要更新至最新版本时,将所述最新版本通过scp工具上传至所述整机管理单元,并在所述整机管理单元重启后升级所述电源固件。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例提供的升级系统而言,由于其与实施例提供的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

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