OpenBMC批量升级方法、装置、设备及存储介质与流程

未命名 10-08 阅读:93 评论:0

openbmc批量升级方法、装置、设备及存储介质
技术领域
1.本发明涉及版本升级技术领域,具体涉及openbmc批量升级方法、装置、设备及存储介质。


背景技术:

2.目前相关的升级单台openbmc的技术,需要手动将新版本的openbmc镜像文件拷贝到待升级的openbmc对应系统的指定目录下,手动执行ssh命令登录到待升级的openbmc的系统下,执行reboot重启命令,完成更新操作。
3.若有大量的openbmc版本等待更新,手动进行单台openbmc升级操作,不仅耗费的时间和人工成本较高,且手动操作的效率极低。


技术实现要素:

4.有鉴于此,本发明提供了一种openbmc批量升级方法,以解决手动进行单台openbmc升级操作,耗费的时间和人工成本较高,且效率较低的问题。
5.第一方面,本发明提供了一种openbmc批量升级方法,所述方法包括:读取预先存储所有待升级openbmc的ip地址的文档中的ip地址,并记录ip地址的总数量值;依次将当前ip地址传递给单次升级工具,使得单次升级工具对所述当前ip地址对应的当前待升级openbmc进行版本升级,直至传递给所述单次升级工具的ip地址的次数达到所述ip地址总数量值。
6.本发明提供的openbmc批量升级方法,通过读取预先存储所有待升级openbmc的ip地址的文档,获取ip地址,并记录文档中ip地址的总数量值,依次自动将当前ip地址传递给单次升级工具,使得单次升级工具对所述当前ip地址对应的当前待升级openbmc进行版本升级,直至传递给所述单次升级工具的ip地址的次数达到所述总数量值,可以大批量的自动远程升级openbmc的方法,减少了升级openbmc所需的人力和时间成本,且提高了升级的效率。
7.在一种可选的实施方式中,所述预先存储所有待升级openbmc对应的ip地址的文档通过下述步骤获得:获取待升级openbmc对应的ip地址;将所有待升级openbmc对应的ip地址存储到预先创建的文档中。
8.本发明先获取所有待升级openbmc对应的ip地址,并将所有的ip地址存储到文档中,防止数据丢失,且方便后续读取待升级openbmc的ip地址。
9.在一种可选的实施方式中,所述将所有待升级openbmc对应的ip地址存储到预先创建的文档中,包括:基于每一ip地址单独成一行的存储规则,将所有待升级openbmc对应的ip地址存储到预先创建的文档中。
10.本发明基于每一ip地址单独成一行的存储规则,将所有待升级openbmc对应的ip地址存储到预先创建的文档中,可从上到下按照每一行的顺序依次将当前ip地址传递给单次升级工具,不会出现传递的ip地址与其他ip地址混乱的情况,提高了数据传递的准确性
和效率。
11.在一种可选的实施方式中,所述ip地址的总数量值通过下述步骤获得:统计所述文档中所有ip地址占的行数,作为ip地址的总数量值。
12.本发明统计文档中所有ip地址占的行数,作为ip地址的总数量值,从而更加方便且精确统计ip地址的总数量值,并且,通过在升级过程中判断升级的次数达到ip地址的总数量值时即可停止升级,节约了资源,提高了升级效率。
13.在一种可选的实施方式中,所述单次升级工具对所述当前ip地址对应的当前待升级openbmc进行版本升级,包括:单次升级工具删除本地系统中的know_hosts文件;单次升级工具在本地系统中提取新版本的openbmc镜像文件;单次升级工具将所述新版本的openbmc镜像文件拷贝到当前ip地址对应的当前待升级openbmc的指定路径下;单次升级工具远程登录到所述当前待升级openbmc系统,执行系统重启命令;单次升级工具远程登出所述当前待升级openbmc系统,使得所述当前待升级openbmc检测所述指定路径下是否存在所述新版本的openbmc镜像文件;若所述指定路径下存在所述新版本的openbmc镜像文件,使得所述待升级openbmc在重启过程中进行版本更新;在执行所述单次升级工具将所述新版本的openbmc镜像文件拷贝至待升级openbmc在重启过程中进行版本更新的过程中,单次升级工具记录对所述当前待升级openbmc进行升级时的动作和执行动作的结果,并保存在由当前ip地址命名的日志文件。
14.本发明通过调用expect交互脚本即可自动把需要升级的openbmc镜像文件拷贝到当前ip地址对应的待升级的openbmc系统的指定路径下,并自动远程登录到当前待升级的openbmc系统下,执行系统重启命令,使得当前待升级openbmc在重启过程中进行固件版本更新,本发明的openbmc系统升级的全过程为自动过程,减少了人力成本,提高了升级效率。
15.本发明预先删除本地系统中的know_hosts文件,因为know_hosts文件中保存了访问过的计算机的公钥,当单次升级工具需要登录到任一计算机时,会提示输入密码,当密码输入正确时,才能登录计算机成功,但密码需要错误,还需要重新输入,甚至报错,删除know_hosts文件可防止单次升级工具登录当前待升级openbmc时报错,节省了升级时间。
16.本发明将对当前待升级openbmc进行升级时的动作和执行动作的结果,保存在由当前ip地址命名的日志文件中,可以记录系统运行过程,如果有异常信息,可以为快速定位系统运行中出现的问题及开发过程中的程序调试问题提供详细信息。
17.在一种可选的实施方式中,所述know_hosts文件、所述新版本的openbmc镜像文件和由ip地址命名的日志文件保存在本地系统的统一路径下。
18.本发明将所有单次升级工具在升级工程中需要用到的文件均保存在同一路径下,在升级的过程中可以快速便捷地提取文件,提高了升级的效率。
19.在一种可选的实施方式中,所述本地系统为linux系统。
20.本技术实施例中linux系统已部署好ssh(secure shell protocol,安全外壳协议)远程通信环境,用于远程登录到待升级的openbmc系统中,且在linux系统上已安装expect工具,通过调用已编写好的expect脚本可自动化完成交互任务。
21.第二方面,本发明提供了一种openbmc批量升级装置,所述装置包括:ip地址读取模块,用于读取预先存储所有待升级openbmc的ip地址的文档中的ip地址,并记录ip地址的总数量值;批量升级模块,用于依次将当前ip地址传递给单次升级工具,使得单次升级工具
对所述当前ip地址对应的当前待升级openbmc进行版本升级,直至传递给所述单次升级工具的ip地址的次数达到所述总数量值。
22.第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的openbmc批量升级方法。
23.第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的openbmc批量升级方法。
附图说明
24.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
25.图1是根据本发明实施例的openbmc批量升级方法的流程示意图;
26.图2是根据本发明实施例的openbmc批量升级方法对应的方法流程图;
27.图3是根据本发明实施例的另一openbmc批量升级方法的流程示意图;
28.图4是根据本发明实施例的openbmc批量升级装置的结构框图;
29.图5是本发明实施例的计算机设备的硬件结构示意图。
具体实施方式
30.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
31.目前相关的升级单台openbmc的技术,需要手动将新版本的openbmc镜像文件拷贝到待升级的openbmc对应系统的指定目录下,手动执行ssh命令登录到待升级的openbmc的系统下,执行reboot重启命令,完成更新操作。
32.若有大量的openbmc版本等待更新,手动进行单台openbmc升级操作,不仅耗费的时间和人工成本较高,且手动操作的效率极低。
33.本发明提供了一种openbmc批量升级方法、装置、设备及存储介质,通过读取预先存储所有待升级openbmc的ip地址的文档,获取ip地址,并记录文档中ip地址的总数量值,依次自动将当前ip地址传递给单次升级工具,使得单次升级工具对所述当前ip地址对应的当前待升级openbmc进行版本升级,直至传递给所述单次升级工具的ip地址的次数达到所述总数量值,可以大批量的自动远程升级openbmc的方法,减少了升级openbmc所需的人力和时间成本,且提高了升级的效率。
34.根据本发明实施例,提供了一种openbmc批量升级方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示
出或描述的步骤。
35.在本实施例中提供了一种openbmc批量升级方法,可用于linux系统,其中,linux系统已部署好ssh(secure shell protocol,安全外壳协议)远程通信环境,用于远程登录到待升级的openbmc系统中,且在linux系统上已安装expect工具,通过调用已编写好的expect脚本可自动化完成交互任务,比如将新版本的openbmc固件镜像文件自动拷贝到当前ip地址的openbmc系统的指定路径下,仅作为举例。图1是根据本发明实施例的openbmc批量升级方法的流程图,如图1所示,该流程包括如下步骤:
36.步骤s101,读取预先存储所有待升级openbmc的ip地址的文档中的ip地址,并记录ip地址的总数量值。
37.本技术实施例中文档中已预先存储所有待升级openbmc的ip地址,可将文档命名为openbmcipaddr.txt,仅作为举例,linux系统中的批量升级工具读取并解析openbmcipaddr.txt文档中的ip地址,读取完一个ip地址就可将ip地址存到批量升级工具对应的缓存中,依次将所有的ip地址都存到缓存中,并可根据读取ip地址或存储的次数来记录ip地址的总数量值,仅作为举例,也可以是批量升级工具读取openbmcipaddr.txt文档中的ip地址,记录读取次数,并读取完成后,直接可将所有的ip地址存储到批量升级工具对应的缓存中,仅作为举例。
38.步骤s102,依次将当前ip地址传递给单次升级工具,使得单次升级工具对所述当前ip地址对应的当前待升级openbmc进行版本升级,直至传递给所述单次升级工具的ip地址的次数达到所述总数量值。
39.本技术实施例批量升级工具可根据缓存的顺序,如图2所示,将第一个ip地址传递给单次升级工具,调用单次升级工具对当前ip地址对应的当前待升级openbmc进行版本升级,在进行第一个ip地址对应的openbmc升级时,升级次数为1,在单次升级工具升级完成后,升级次数加1,仅作为举例,依次对ip地址对应的当前待升级openbmc进行升级,判断升级次数与ip地址的总数量值的大小,若升级次数小于或等于ip地址的总数量值,单次升级工具继续升级操作,若升级次数大于ip地址的总数量值时,单次升级工具结束升级,也可以是单次升级工具预先设定初始升级次数为0,当完成一次升级后,升级次数加1,直到升级次数与ip地址的总数量值一致,则结束升级操作,仅作为举例,可根据实际情况自行设定。
40.本技术实施例也可以在ip地址存储到预先创建的文档中时,根据ip地址存储的顺序为每一ip地址创建索引,批量升级工具可首先将第一个索引对应的ip地址传递给单次升级工具,使得单次升级工具对当前ip地址对应的当前待升级openbmc进行版本升级,单次升级工具升级完成后,批量升级工具根据索引,依次将下一个索引对应ip地址传递给单次升级工具,直至升级时对应的索引值与记录的ip地址的总数量值一致时,则单次升级工具可结束升级。
41.本发明提供的openbmc批量升级方法,通过读取预先存储所有待升级openbmc的ip地址的文档,获取ip地址,并记录文档中ip地址的总数量值,依次自动将当前ip地址传递给单次升级工具,使得单次升级工具对所述当前ip地址对应的当前待升级openbmc进行版本升级,直至传递给所述单次升级工具的ip地址的次数达到所述总数量值,可以大批量的自动远程升级openbmc的方法,减少了升级openbmc所需的人力和时间成本,且提高了升级的效率。
42.根据本发明实施例,提供了一种openbmc批量升级方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
43.在本实施例中提供了一种openbmc批量升级方法,可用于上述的linux系统,图3是根据本发明实施例的openbmc批量升级方法的流程图,如图3所示,该流程包括如下步骤:
44.步骤s301,读取预先存储所有待升级openbmc的ip地址的文档中的ip地址,并记录ip地址的总数量值。
45.具体地,上述步骤s301包括:
46.步骤s3011,获取待升级openbmc对应的ip地址。
47.步骤s3012,将所有待升级openbmc对应的ip地址存储到预先创建的文档中。
48.本技术实施例可在ssh控制台中输入指令来查看所有openbmc对应的ip地址,提取出需要升级的openbmc对应的ip地址,可预先在linux系统中创建文档,在获取到待升级openbmc对应的ip地址后,将所有的ip地址存储到创建的文档中。
49.本发明通过预先获取所有待升级openbmc对应的ip地址,并将所有的ip地址存储到文档中,防止数据丢失,且方便后续读取待升级openbmc的ip地址。
50.在一些可选的实施方式中,上述步骤s3012包括:
51.步骤a1,基于每一ip地址单独成一行的存储规则,将所有待升级openbmc对应的ip地址存储到预先创建的文档中。
52.本技术实施例ip地址存储规则可根据实际情况自行设定,本技术实施例每一ip地址以单独一行的规则存储到预先创建的文档中,仅作为举例。
53.本发明基于每一ip地址单独成一行的存储规则,将所有待升级openbmc对应的ip地址存储到预先创建的文档中,可从上到下按照每一行的顺序依次将当前ip地址传递给单次升级工具,不会出现传递的ip地址与其他ip地址混乱的情况,提高了数据传递的准确性和效率。
54.步骤a2,统计所述文档中所有ip地址占的行数,作为ip地址的总数量值。
55.本技术实施例将每一ip地址单独成一行的存储到预先创建的文档中,则可直接统计文档中所有ip地址占的行数作为ip地址的总数量值。
56.本发明统计文档中所有ip地址占的行数,作为ip地址的总数量值,从而更加方便且精确统计ip地址的总数量值,并且,通过在升级过程中判断升级的次数达到ip地址的总数量值时即可停止升级,节约了资源,提高了升级效率。
57.步骤s302,依次将当前ip地址传递给单次升级工具,使得单次升级工具对所述当前ip地址对应的当前待升级openbmc进行版本升级,直至传递给所述单次升级工具的ip地址的次数达到所述总数量值。
58.具体地,上述步骤s302包括:
59.步骤s3021,单次升级工具删除本地系统中的know_hosts文件。
60.本技术实施例单次升级工具对当前升级的openbmc升级前,输入当前的ip地址,可先删除本地系统中的know_hosts文件,其中,本地系统为linux系统。
61.本发明预先删除本地系统中的know_hosts文件,因为know_hosts文件中保存了访
问过的计算机的公钥,当单次升级工具需要登录到任一计算机时,会提示输入密码,当密码输入正确时,才能登录计算机成功,但密码需要错误,还需要重新输入,甚至报错,删除know_hosts文件可防止单次升级工具登录当前待升级openbmc时报错,节省了升级时间。
62.步骤s3022,单次升级工具在本地系统中提取新版本的openbmc镜像文件。
63.本技术实施例中预先在know_hosts文件对应的linux系统同一路径下存储了新版本的openbmc镜像文件,在单次升级工具进行升级操作时,提取新版本的openbmc镜像文件。
64.步骤s3023,单次升级工具将新版本的openbmc镜像文件拷贝到当前ip地址对应的当前待升级openbmc的指定路径下。
65.本技术实施例中,如图2所示,可调用同一路径下的scpl2r.exp脚本基于openbmc的用户名和密码,将openbmc镜像文件自动拷贝到远程的当前ip地址对应的当前待升级openbmc的指定路径下,可将镜像文件重命名bmc-image,仅作为举例。
66.步骤s3024,单次升级工具远程登录到所述当前待升级openbmc系统,执行系统重启命令。
67.步骤s3025,单次升级工具远程登出所述当前待升级openbmc系统,使得所述当前待升级openbmc检测所述指定路径下是否存在所述新版本的openbmc镜像文件。
68.步骤s3026,若所述指定路径下存在所述新版本的openbmc镜像文件,使得所述待升级openbmc在重启过程中进行版本更新。
69.本技术实施例中如图2所示,单次升级工具调用同一路径下的bmc_reboot.exp脚本,可自动远程登录到当前待升级openbmc系统下,并在openbmc系统下执行reboot(重启)命令,然后再自动登出当前openbmc系统,此时openbmc系统在重启过程中就会检测bmc-image文件,若检测到文件存在就调用自身的烧录工具软件进行固件更新,若没有检测到bmc-image文件,表示单次升级工具并未成功将新版本的openbmc镜像文件放入到ip地址的指定路径下,此时可判断是否放入到其他路径下,如果存在可将该镜像文件移到指定的路径下,或者还可以单次升级工具重新将新版本的openbmc镜像文件放入到指定路径下,仅作为举例。
70.本发明通过调用expect交互脚本即可自动把需要升级的openbmc镜像文件拷贝到当前ip地址对应的待升级的openbmc系统的指定路径下,并自动远程登录到当前待升级的openbmc系统下,执行系统重启命令,使得当前待升级openbmc在重启过程中进行固件版本更新,本发明的openbmc系统升级的全过程为自动过程,减少了人力成本,提高了升级效率。
71.步骤s3027,在执行所述单次升级工具将所述新版本的openbmc镜像文件拷贝至待升级openbmc在重启过程中进行版本更新的过程中,单次升级工具记录对所述当前待升级openbmc进行升级时的动作和执行动作的结果,并保存在由当前ip地址命名的日志文件。
72.本技术实施例,如图2所示,在单次升级工具将新版本的openbmc镜像文件拷贝到待升级openbmc的过程,可将升级工具的操作动作和执行结果,比如是否成功将镜像文件拷贝到待升级openbmc中,并可保存在由当前ip地址命名的日志文件,还可以记录单次升级工具调用脚本远程登录到openbmc系统,并执行reboot命令的过程的操作动作以及操作结果,比如是否成功执行reboot命令,或是否成功登录到openbmc系统等等,也可将其存储在由当前ip地址命名的日志文件,仅作为举例。
73.本发明将对当前待升级openbmc进行升级时的动作和执行动作的结果,保存在由
当前ip地址命名的日志文件中,可以记录系统运行过程,如果有异常信息,可以为快速定位系统运行中出现的问题及开发过程中的程序调试问题提供详细信息。
74.具体地,步骤s2027包括:
75.步骤a1,know_hosts文件、所述新版本的openbmc镜像文件和由ip地址命名的日志文件保存在本地系统的统一路径下。
76.本技术实施例中known_hosts文件、scpl2r.exp脚本、新版本的openbmc镜像文件、bmc_reboot.exp脚本和由ip地址命名的日志文件都在linux系统中的统一路径下。
77.本发明将所有单次升级工具在升级工程中需要用到的文件均保存在同一路径下,在升级的过程中可以快速便捷地提取文件,提高了升级的效率。
78.本发明实施例提供的openbmc批量升级方法,可应用到任何需要大批量升级的服务器机房中,不作限定。
79.在本实施例中还提供了一种openbmc批量升级装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
80.本实施例提供一种openbmc批量升级装置,如图4所示,openbmc批量升级装置包括:
81.ip地址读取模块401,用于读取预先存储所有待升级openbmc的ip地址的文档中的ip地址,并记录ip地址的总数量值。
82.批量升级模块402,用于依次将当前ip地址传递给单次升级工具,使得单次升级工具对所述当前ip地址对应的当前待升级openbmc进行版本升级,直至传递给所述单次升级工具的ip地址的次数达到所述总数量值。
83.本发明提供的openbmc批量升级装置,通过读取预先存储所有待升级openbmc的ip地址的文档,获取ip地址,并记录文档中ip地址的总数量值,依次自动将当前ip地址传递给单次升级工具,使得单次升级工具对所述当前ip地址对应的当前待升级openbmc进行版本升级,直至传递给所述单次升级工具的ip地址的次数达到所述总数量值,可以大批量的自动远程升级openbmc的方法,减少了升级openbmc所需的人力和时间成本,且提高了升级的效率。
84.在一些可选的实施方式中,批量升级模块402包括:
85.文件删除单元,用于单次升级工具删除本地系统中的know_hosts文件。
86.镜像文件拷贝单元,用于单次升级工具将新版本的openbmc镜像文件拷贝到当前ip地址对应的当前待升级openbmc的指定路径下。
87.远程命令执行单元,用于单次升级工具远程登录到所述当前待升级openbmc,执行系统重启命令。
88.文件检测单元,用于单次升级工具远程登出所述当前待升级openbmc系统,使得所述当前待升级openbmc检测所述指定路径下是否存在所述新版本的openbmc镜像文件。
89.版本更新单元,用于若所述指定路径下存在所述新版本的openbmc镜像文件,使得所述待升级openbmc在重启过程中进行版本更新;
90.日志记录单元,用于单次升级工具记录对所述当前待升级openbmc进行升级时的
动作和执行动作的结果,并保存在由当前ip地址命名的日志文件中。
91.在一些可选的实施方式中,know_hosts文件、所述新版本的openbmc镜像文件和由ip地址命名的日志文件保存在本地系统的统一路径下。
92.在一些可选的实施方式中,本地系统为linux系统。
93.在一些可选的实施方式中,ip地址读取模块401包括:
94.ip地址获取单元,用于获取待升级openbmc对应的ip地址;
95.ip地址存储单元,用于将所有待升级openbmc对应的ip地址存储到预先创建的文档中。
96.在一些可选的实施方式中,ip地址存储单元包括:
97.ip地址存储子单元,用于基于每一ip地址单独成一行的存储规则,将所有待升级openbmc对应的ip地址存储到预先创建的文档中。
98.在一些可选的实施方式中,ip地址读取模块401包括:
99.总数量值确定单元,用于统计所述文档中所有ip地址占的行数,作为ip地址的总数量值。
100.上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
101.本实施例中的openbmc批量升级装置是以功能单元的形式来呈现,这里的单元是指asic(application specific integrated circuit,专用集成电路)电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
102.本发明实施例还提供一种计算机设备,具有上述图5所示的openbmc批量升级装置。
103.请参阅图5,图5是本发明可选实施例提供的一种计算机设备的结构示意图,如图5所示,该计算机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示gui的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图5中以一个处理器10为例。
104.处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
105.其中,所述存储器20存储有可由至少一个处理器10执行的指令,以使所述至少一个处理器10执行实现上述实施例示出的方法。
106.存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一
个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
107.存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
108.该计算机设备还包括通信接口30,用于该计算机设备与其他设备或通信网络通信。
109.本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
110.虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所限定的范围之内。

技术特征:
1.一种openbmc批量升级方法,其特征在于,所述方法包括:读取预先存储所有待升级openbmc的ip地址的文档中的ip地址,并记录ip地址的总数量值;依次将当前ip地址传递给单次升级工具,使得单次升级工具对所述当前ip地址对应的当前待升级openbmc进行版本升级,直至传递给所述单次升级工具的ip地址的次数达到所述总数量值。2.根据权利要求1所述的openbmc批量升级方法,其特征在于,所述预先存储所有待升级openbmc对应的ip地址的文档通过下述步骤获得:获取待升级openbmc对应的ip地址;将所有待升级openbmc对应的ip地址存储到预先创建的文档中。3.根据权利要求2所述的openbmc批量升级方法,其特征在于,所述将所有待升级openbmc对应的ip地址存储到预先创建的文档中,包括:基于每一ip地址单独成一行的存储规则,将所有待升级openbmc对应的ip地址存储到预先创建的文档中。4.根据权利要求3所述的openbmc批量升级方法,其特征在于,所述ip地址的总数量值通过下述步骤获得:统计所述文档中所有ip地址占的行数,作为ip地址的总数量值。5.根据权利要求1所述的openbmc批量升级方法,其特征在于,所述单次升级工具对所述当前ip地址对应的当前待升级openbmc进行版本升级,包括:单次升级工具删除本地系统中的know_hosts文件;单次升级工具在本地系统中提取新版本的openbmc镜像文件;单次升级工具将所述新版本的openbmc镜像文件拷贝到当前ip地址对应的当前待升级openbmc的指定路径下;单次升级工具远程登录到所述当前待升级openbmc系统,执行系统重启命令;单次升级工具远程登出所述当前待升级openbmc系统,控制所述当前待升级openbmc检测所述指定路径下是否存在所述新版本的openbmc镜像文件;若所述指定路径下存在所述新版本的openbmc镜像文件,控制所述待升级openbmc在重启过程中进行版本更新;在执行所述单次升级工具将所述新版本的openbmc镜像文件拷贝至待升级openbmc在重启过程中进行版本更新的过程中,单次升级工具记录对所述当前待升级openbmc进行升级时的动作和执行动作的结果,并保存在由当前ip地址命名的日志文件。6.根据权利要求5所述的openbmc批量升级方法,其特征在于,所述know_hosts文件、所述新版本的openbmc镜像文件和由ip地址命名的日志文件保存在本地系统的统一路径下。7.根据权利要求6所述的openbmc批量升级方法,其特征在于,所述本地系统为linux系统。8.一种openbmc批量升级装置,其特征在于,所述装置包括:ip地址读取模块,用于读取预先存储所有待升级openbmc的ip地址的文档中的ip地址,并记录ip地址的总数量值;批量升级模块,用于依次将当前ip地址传递给单次升级工具,使得单次升级工具对所
述当前ip地址对应的当前待升级openbmc进行版本升级,直至传递给所述单次升级工具的ip地址的次数达到所述总数量值。9.一种计算机设备,其特征在于,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1至7中任一项所述的openbmc批量升级方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至7中任一项所述的openbmc批量升级方法。

技术总结
本发明涉及版本升级技术领域,公开了OpenBMC批量升级方法、装置、设备及存储介质,通过读取预先存储所有待升级OpenBMC的IP地址的文档,获取IP地址,并记录文档中IP地址的总数量值,依次自动将当前IP地址传递给单次升级工具,使得单次升级工具对所述当前IP地址对应的当前待升级OpenBMC进行版本升级,直至传递给所述单次升级工具的IP地址的次数达到所述总数量值,可以大批量的自动远程升级OpenBMC的方法,减少了升级OpenBMC所需的人力和时间成本,且提高了升级的效率。且提高了升级的效率。且提高了升级的效率。


技术研发人员:翟振辉
受保护的技术使用者:苏州浪潮智能科技有限公司
技术研发日:2023.06.30
技术公布日:2023/10/6
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐