一种多级联服务器的固件刷新方法及系统与流程

文档序号:17261350发布日期:2019-03-30 09:41阅读:148来源:国知局
一种多级联服务器的固件刷新方法及系统与流程

本申请涉及服务器产品测试技术领域,特别是涉及一种多级联服务器的固件刷新方法及系统。



背景技术:

为满足云计算、大数据、数据挖掘、深度学习等高端it应用,逐渐诞生了基于pcieswitch芯片开发的2upciegpu(graphicsprocessingunit,图形处理器)设备池化服务器,这种服务器为主服务器和1个或多个从服务器构成的多级联服务器。在这种多级联服务器架构中,cpu资源使用通用服务器作为主机,box(即:从服务器)只挂载gpu,每个box支持4个gpu,单主机可以连接1-8个box。在多级联服务器架构中,对主机所挂载的多个gpubox中的固件进行刷新,是个重要的工作。

目前,对主机所挂载的多个gpubox中的固件进行刷新的方法,通常是:在机器正常运行状态下,通过人工手动对各个gpubox节点进行固件刷新。

然而,这种人工手动进行固件刷新的方法,容易出错,且刷新效率太低,导致测试效率低。尤其在主机挂载多个gpubox的时候,或者多个gpubox中又包括多种固件的时候,目前人工手动刷新固件的方法就更影响刷新效率,而且也更容易有误差,从而影响测试效率。



技术实现要素:

本申请提供了一种多级联服务器的固件刷新方法及系统,以解决现有技术中多级联服务器固件刷新效率低,容易产生测试误差的问题。

为了解决上述技术问题,本申请实施例公开了如下技术方案:

一种多级联服务器的固件刷新方法,所述方法应用于主机对所述主机连接的gpubox节点的刷新,所述方法包括:

通过主机获取与所述主机连接的gpubox节点的节点信息,所述节点信息包括:节点的ip地址;

根据所述节点信息,读取每个与所述主机连接的gpubox节点的bmc(baseboardmanagementcontroller,基板管理控制器)版本;

判断所述bmc版本是否与数据库中的最新bmc文件一致;

如果否,根据数据库中的最新bmc文件,对每个与所述主机连接的gpubox节点进行固件更新。

可选地,所述根据数据库中的最新bmc文件,对每个与所述主机连接的gpubox节点进行固件更新,具体为:

根据数据库中的最新bmc文件,对每个与所述主机连接的gpubox节点进行bmc刷新、fru(fieldreplaceableunit,现场可替换装置)刷新以及rtc(real-timeclock,实时时钟,用于设置系统时钟)时间设置。

可选地,根据所述节点信息,读取每个与所述主机连接的gpubox节点的bmc版本之前,所述方法还包括:

判断每个与所述主机连接的gpubox节点的通信是否正常;

如果是,执行下一步骤;

如果否,发出通信异常的提示。

可选地,所述判断每个与所述主机连接的gpubox节点的通信是否正常的方法,包括:

获取与所述主机连接的gpubox节点的数量;

判断与所述主机连接的gpubox节点的数量是否与数据库中预存的gpubox节点的数量一致;

如果是,判定每个与所述主机连接的gpubox节点的通信正常;

如果否,判定至少有一个与所述主机连接的gpubox节点的通信异常。

可选地,根据数据库中的最新bmc文件,对每个与所述主机连接的gpubox节点进行固件更新之后,所述方法还包括:

根据每个与所述主机连接的gpubox节点中更新后的固件,上传与固件更新相关的日志文件。

可选地,通过主机获取与所述主机连接的gpubox节点的节点信息之前,所述方法还包括:

主机的bmc网口和普通网口,以及,每个与所述主机连接的gpubox节点的网口和普通网口,均设置在同一网段。

一种多级联服务器的固件刷新系统,所述系统应用于主机对所述主机连接的gpubox节点的刷新,所述系统包括:

节点信息获取模块,用于通过主机获取与所述主机连接的gpubox节点的节点信息,所述节点信息包括:节点的ip地址;

bmc版本读取模块,用于根据所述节点信息,读取每个与所述主机连接的gpubox节点的bmc版本;

第一判断模块,用于判断所述bmc版本是否与数据库中的最新bmc文件一致;

更新模块,用于当所述bmc版本与数据库中的最新bmc文件不一致时,根据数据库中的最新bmc文件,对每个与所述主机连接的gpubox节点进行固件更新。

可选地,所述系统还包括:第二判断模块,用于判断每个与所述主机连接的gpubox节点的通信是否正常,如果是,启动bmc版本读取模块,否则发出通信异常的提示。

可选地,所述第二判断模块包括:

节点数获取单元,用于获取与所述主机连接的gpubox节点的数量;

通信判断单元,用于判断与所述主机连接的gpubox节点的数量是否与数据库中预存的gpubox节点的数量一致,如果一致,判定每个与所述主机连接的gpubox节点的通信正常,否则,判定至少有一个与所述主机连接的gpubox节点的通信异常。

可选地,所述系统中还包括网段设置单元,用于将主机的bmc网口和普通网口,以及,每个与所述主机连接的gpubox节点的网口和普通网口设置在同一网段。

本申请的实施例提供的技术方案可以包括以下有益效果:

本申请提供一种多级联服务器的固件刷新方法,该方法首先通过主机获取与主机连接的gpubox节点的节点信息;其次,根据节点信息读取每个与主机连接的gpubox节点的bmc版本;然后判断bmc版本是否与数据库中的最新bmc文件一致,如果是不进行固件更新,如果否,根据最新bmc文件对每个gpubox节点进行固件更新。本申请通过主机获取所有gpubox节点的ip地址,能够确保获取到所有与主机连接的节点,测试覆盖率较高,再通过主机对与主机连接的所有gpubox节点进行固件自动刷新,能够大大提高固件刷新效率,从而提高测试效率。由于本申请可以自动判断节点的bmc版本并刷新,全程无需人工干预,可以作为主机测试的一部分,加入主机诊断流程中,有利于提高测试效率,提高产品品质。

本申请还提供一种多级联服务器的固件刷新系统,该系统主要包括节点信息获取模块、bmc版本读取模块、第一判断模块和更新模块。通过节点信息获取模块获取到与主机连接的gpubox节点的信息,主要为ip地址,根据该ip地址读取每个节点的bmc版本并进行刷新。通过节点信息获取模块能够获取到所有与主机连接的节点的ip地址,便于后续进行固件刷新,测试覆盖率较高,通过bmc版本读取模块、第一判断模块和更新模块能够实现自动刷新节点的固件版本,相比于人工手动刷新,能够大大提高各节点固件的刷新效率,从而大大提高测试效率。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

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

图1为本申请实施例所提供的一种多级联服务器的固件刷新方法的流程示意图;

图2为本申请实施例所提供的另一种多级联服务器的固件刷新方法的流程示意图;

图3为本申请实施例中提供的一个示例性应用的流程图;

图4为本申请实施例所提供的一种多级联服务器的固件刷新系统的结构示意图。

具体实施方式

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

为了更好地理解本申请,下面结合附图来详细解释本申请的实施方式。

实施例一

参见图1,图1为本申请实施例所提供的一种多级联服务器的固件刷新方法的流程示意图。由图1可知,本实施例中多级联服务器的固件刷新方法主要包括如下过程:

s2:通过主机获取与主机连接的gpubox节点的节点信息。

其中,节点信息包括:节点的ip地址。在多级联服务器架构中,主机通常可以挂载1-8个gpubox节点。本实施例为了对各个gpubox节点进行固件刷新,首先通过主机获取各个gpubox节点的相关信息,主要为节点的ip地址。通过获取各gpubox节点的ip地址,能够提高测试覆盖率,以免漏掉任何一个与主机挂载的节点,确保后续读取所有节点的bmc版本并进行固件刷新。

本实施例中的方法可以作为主机测试的一部分,加入主机诊断流程中。因此,执行步骤s2时,可以在主机以及主机所连接的gpubox节点处于开机状态时进行节点信息获取,即:在多级联服务器架构开机运行时,获取各gpubox节点的节点信息。

获取到各节点的节点信息后,执行步骤s4:根据节点信息,读取每个与主机连接的gpubox节点的bmc版本。

具体地,可以通过主机的ipmi读取每个与主机连接的gpubox节点的bmc版本。本实施例通过主机ipmi访问gpubox节点,从而读取每个与主机连接的gpubox节点的bmc版本,gpubox节点只是被动接受访问。

s5:判断bmc版本是否与数据库中的最新bmc文件一致。

执行本实施例的方法之前,需要将最新版本的bmc文件、fru信息等维护到数据库中,因此,多级联服务器架构的数据库中都预存有最新bmc文件。通过判断每个与主机连接的gpubox节点的bmc版本是否与最新bmc文件一致,确定是否需要对gpubox节点进行固件更新。如果与主机连接的gpubox节点的bmc版本与数据库中的最新bmc文件一致,则不需要对该gpubox节点进行固件更新,否则执行步骤s6:根据数据库中的最新bmc文件,对每个与主机连接的gpubox节点进行固件更新。

本实施例中对各gpubox节点进行固件更新包括:对bmc、fru和rtc进行更新。步骤s6的具体执行方法为:根据数据库中的最新bmc文件,对每个与所述主机连接的gpubox节点进行bmc刷新、fru刷新以及rtc时间设置。

需要注意的是,执行本实施例步骤s2之前,还包括步骤s1:主机的bmc网口和普通网口,以及,每个与主机连接的gpubox节点的网口和普通网口,均设置在同一网段。通过主机对各节点固件进行更新需要确保各网口处于同一网段,否则无法进行固件更新。

实施例二

在图1所示实施例的基础之上参见图2,图2为本申请实施例所提供的另一种多级联服务器的固件刷新方法的流程示意图。由图2可知,本实施例在步骤s4之前还包括步骤s3:判断每个与主机连接的gpubox节点的通信是否正常。如果通信正常,则执行步骤s4,否则发出通信异常的提示并终止运行。

具体地,步骤s3又包括如下过程:

s31:获取与主机连接的gpubox节点的数量。

s32:判断与主机连接的gpubox节点的数量是否与数据库中预存的gpubox节点的数量一致。

s33:如果是,判定每个与主机连接的gpubox节点的通信正常。

s34:如果否,判定至少有一个与主机连接的gpubox节点的通信异常。

通过以上步骤s31-s34,能够从节点数的角度判断主机与各gpubox节点的通信状况,防止步骤s2中获取节点信息时有漏掉的gpubox节点,确保后续能够进行整个多级联服务器架构中所有gpubox节点的bmc版本判断以及固件刷新,从而进一步提高测试覆盖率,进而提高测试准确性和测试效率。

继续参见图2可知,本实施例在步骤s6之后还包括步骤s7:根据每个与主机连接的gpubox节点中更新后的固件,上传与固件更新相关的日志文件。

对所有gpubox节点进行固件刷新后,进行相关日志文件的上传,从而使得监控系统通过数据库能够查询并显示每个操作步骤的细节。

该实施例未详细描述的部分,可以参见图1所示的实施例一,在此不再赘述。

下面以一个示例性应用为例,描述本申请中多级联服务器的固件刷新方法。参见图3可知:

1)将主机以及与主机所连接的所有gpubox节点进行组装,并扫描绑定。

可以通过扫描枪将主机与gpubox节点的序列号扫描到数据库中,从而实现主机与gpubox节点之间的一对多绑定,方便后续通过诊断程序获取gpubox节点的数量。

2)对多级联服务器架构中的主机服务器上电并开机。

3)进行pxe启动。

即:在pxe环境下,通过主机启动与主机连接的所有gpubox节点。

4)进入系统诊断程序。

5)通过主机读取gpubox节点数。

6)通过主机从数据库中读取最新bmc文件。

7)获取当前每个与主机连接的gpubox节点的固件版本信息。

8)判断每个gpubox节点的固件是否为最新版本。

9)如果是最新版本,上传关于版本的日志文件,刷新结束。

10)如果不是最新版本,先对固件不是最新版本的gpubox节点进行bmc、fru以及rtc刷新,刷新完毕后再上传关于版本的日志文件,刷新结束。

实施例三

在图1-图3所示实施例的基础之上参见图4,图4为本申请实施例所提供的一种多级联服务器的固件刷新系统的结构示意图。由图4可知,本实施例中多级联服务器的固件刷新系统主要包括:节点信息获取模块、bmc版本读取模块、第一判断模块和更新模块四部分。

其中,节点信息获取模块用于通过主机获取与主机连接的gpubox节点的节点信息,节点信息包括:节点的ip地址;bmc版本读取模块用于根据节点信息,读取每个与主机连接的gpubox节点的bmc版本;第一判断模块用于判断bmc版本是否与数据库中的最新bmc文件一致;更新模块用于当bmc版本与数据库中的最新bmc文件不一致时,根据数据库中的最新bmc文件,对每个与主机连接的gpubox节点进行固件更新。

通过节点信息获取模块能够获取到所有与主机连接的节点的ip地址,便于后续进行固件刷新,测试覆盖率较高。通过bmc版本读取模块、第一判断模块和更新模块能够实现自动刷新节点的固件版本,相比于人工手动刷新,能够大大提高各节点固件的刷新效率,从而大大提高测试效率。

进一步地,本系统还包括第二判断模块,用于判断每个与主机连接的gpubox节点的通信是否正常,如果是,启动bmc版本读取模块,否则发出通信异常的提示。

具体地,第二判断模块包括:节点数获取单元和通信判断单元。其中,节点数获取单元用于获取与主机连接的gpubox节点的数量;通信判断单元用于判断与主机连接的gpubox节点的数量是否与数据库中预存的gpubox节点的数量一致,如果一致,判定每个与主机连接的gpubox节点的通信正常,否则,判定至少有一个与主机连接的gpubox节点的通信异常。

第二判断模块的设置,能够进一步确保主机与各节点的通信正常,避免有漏掉的节点,便于后续一次性进行固件版本信息读取和固件更新,有利于进一步提高测试覆盖率,提高测试效率和测试准确性。

进一步地,本系统还包括有网段设置单元,用于将主机的bmc网口和普通网口,以及,每个与所述主机连接的gpubox节点的网口和普通网口设置在同一网段。

本实施例中多级联服务器的固件刷新系统的工作原理和工作方法,在图1-图3所示的实施例中已经详细阐述,三者之间可以互相参照,在此不再赘述。

以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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