CN106815054B - 一种刷新bmc固件的方法及装置 - Google Patents
一种刷新bmc固件的方法及装置 Download PDFInfo
- Publication number
- CN106815054B CN106815054B CN201710055704.2A CN201710055704A CN106815054B CN 106815054 B CN106815054 B CN 106815054B CN 201710055704 A CN201710055704 A CN 201710055704A CN 106815054 B CN106815054 B CN 106815054B
- Authority
- CN
- China
- Prior art keywords
- node
- refreshed
- bmc
- address
- firmware
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000004891 communication Methods 0.000 claims description 8
- 238000012360 testing method Methods 0.000 abstract description 13
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 239000002184 metal Substances 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000009193 crawling Effects 0.000 description 2
- 108010028984 3-isopropylmalate dehydratase Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种刷新BMC固件的方法及装置,该方法包括:在红帽Red Hat系统下,运行预设的状态抓取脚本,以通过SMC确定待测试服务器上在位的至少一个待刷新节点;运行预设的IP抓取脚本,获取每一个待刷新节点上BMC的IP地址,并将IP地址写入预设的日志文件;运行预设的类型判断脚本,判断每一个待刷新节点的节点类型,并将各个待刷新节点的节点类型写入日志文件中;针对于每一个待刷新节点,运行预设的固件刷新脚本,从日志文件中获取对应的IP地址及节点类型,并根据IP地址及节点类型对待刷新节点上的BMC进行固件刷新。本方案能够对多节点服务器进行BMC固件刷新测试的效率。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种刷新BMC固件的方法及装置。
背景技术
随机计算机技术的不断发展与进步,用户对服务器性能的要求越来越高,为了减小布置服务器所需的空间并降低服务器的成本,出现了包括多个节点的服务器,比如通过将多个卡式服务器单元插装在一个标准高度的机架式机箱内,形成高可用性高密度且低成本刀片服务器。
作为服务器生产厂家,在刀片服务器出厂时,需要对服务器上每一个节点的BMC进行固件刷新测试,以保证交付给用户的刀片服务器能够正常地对各个节点上的BMC进行固件刷新。
目前,在对多节点服务器上BMC进行固件刷新测试时,通过手动操作的方式分别对各个节点上的BMC进行固件刷新。
针对于目前对多节点服务器上BMC进行固件刷新测试的方法,由于多节点服务器通常包括有多个节点,针对于每一个节点都通过手动操作的方式对BMC的固件进行刷新,需要耗费大量的时间,造成对多节点服务器进行BMC固件刷新测试的效率较低。
发明内容
本发明实施例提供了一种刷新BMC固件的方法及装置,能够提高对多节点服务器进行BMC固件刷新测试的效率。
第一方面,本发明实施例提供了一种刷新BMC固件的方法,包括:
在红帽Red Hat系统下,运行预设的状态抓取脚本,以通过系统管理控制器SMC确定待测试服务器上在位的至少一个待刷新节点;
运行预设的IP抓取脚本,获取每一个所述待刷新节点上基板管理控制器BMC的IP地址,并将所述IP地址写入预设的日志文件;
运行预设的类型判断脚本,判断每一个所述待刷新节点的节点类型,并将各个所述待刷新节点的节点类型写入所述日志文件中;
针对于每一个所述待刷新节点,运行预设的固件刷新脚本,从所述日志文件中获取对应的所述IP地址及所述节点类型,并根据所述IP地址及所述节点类型对所述待刷新节点上的BMC进行固件刷新。
优选地,该方法进一步包括:
运行所述状态抓取脚本,获取每一个所述待刷新节点的标识码并输出。
优选地,该方法进一步包括:
运行所述IP抓取脚本,将各个所述待刷新节点上BMC的IP地址输出。
优选地,该方法进一步包括:
运行所述类型判断脚本,将各个所述待刷新节点的节点类型输出。
优选地,所述获取每一个所述待刷新节点上BMC的IP地址,并将所述IP地址写入预设的日志文件,包括:
针对于每一个所述待刷新节点,抓取所述待刷新节点上BMC的16进制IP地址,将所述16进制IP地址所包括的4组16进制数分别转换为对应的4组10进制数,对所述4组10进制数进行组合,形成对应于所述待刷新节点上BMC的10进制IP地址,将所述10进制IP地址写入所述日志文件。
优选地,所述根据所述IP地址及所述节点类型对所述待刷新节点上的BMC进行固件刷新,包括:
根据所述IP地址检测所述待刷新节点是否网络连通;
如果所述待刷新节点的网络连通,判断所述待刷新节点的节点类型是否为全宽节点或半宽节点,如果是,根据外部输入的固件名称读取相应的固件文件对所述待刷新节点上的BMC进行固件刷新,否则输出报警信息;
如果所述待刷新节点的网络不通,输出报警信息。
优选地,在所述根据所述IP地址及所述节点类型对所述待刷新节点上的BMC进行固件刷新之前,进一步包括:
输出BMC配置更新选项,并接收外部针对所述BMC配置更新选项输入的配置更新指令;
如果所述配置更新指令指示保留BMC配置,则对所述待刷新节点上BMC的配置项进行保存,并执行所述根据所述IP地址及所述节点类型对所述待刷新节点上的BMC进行固件刷新;
如果所述配置更新指令指示不保留BMC配置,则不保留所述待刷新节点上BMC的配置项,直接执行所述根据所述IP地址及所述节点类型对所述待刷新节点上的BMC进行固件刷新。
第二方面,本发明实施例还提供了一种刷新BMC固件的装置,包括:状态抓取单元、IP抓取单元、类型抓取单元及固件刷新单元;
所述状态抓取单元,用于在红帽Red Hat系统下,运行预设的状态抓取脚本,以通过系统管理控制器SMC获得待测试服务器上在位的至少一个待刷新节点;
所述IP抓取单元,用于运行预设的IP抓取脚本,获取所述状态抓取单元确定出的每一个所述待刷新节点上基板管理控制器BMC的IP地址,并将所述IP地址写入预设的日志文件;
所述类型抓取单元,用于运行预设的类型判断脚本,判断所述状态抓取单元确定出的每一个所述待刷新节点的节点类型,并将各个所述待刷新节点的节点类型写入所述日志文件中;
所述固件刷新单元,用于针对于每一个所述待刷新节点,运行预设的固件刷新脚本,从所述日志文件中获取所述IP抓取单元写入的所述IP地址及所述类型抓取单元写入的所述节点类型,并根据所述IP地址及所述节点类型对所述待刷新节点上的BMC进行固件刷新。
优选地,
所述状态抓取单元,进一步用于运行所述状态抓取脚本,获取每一个所述待刷新节点的标识码并输出。
优选地,
所述IP抓取单元,进一步用于运行所述IP抓取脚本,将各个所述待刷新节点上BMC的IP地址输出。
优选地,
所述类型抓取单元,进一步用于运行所述类型判断脚本,将各个所述待刷新节点的节点类型输出。
优选地,
所述IP抓取单元,用于针对于每一个所述待刷新节点,抓取所述待刷新节点上BMC的16进制IP地址,将所述16进制IP地址所包括的4组16进制数分别转换为对应的4组10进制数,对所述4组10进制数进行组合,形成对应于所述待刷新节点上BMC的10进制IP地址,将所述10进制IP地址写入所述日志文件。
优选地,所述固件刷新单元包括:刷新子单元;
所述刷新子单元,用于根据所述IP地址检测所述待刷新节点是否网络连通,如果所述待刷新节点的网络连通,判断所述待刷新节点的节点类型是否为全宽节点或半宽节点,如果是,根据外部输入的固件名称读取相应的固件文件对所述待刷新节点上的BMC进行固件刷新,否则输出报警信息;如果所述待刷新节点的网络不通,输出报警信息。
优选地,该装置进一步包括:配置更新单元;
所述配置更新单元,用于输出BMC配置更新选项,并接收外部针对所述BMC配置更新选项输入的配置更新指令;如果所述配置更新指令指示保留BMC配置,则对所述待刷新节点上BMC的配置项进行保留,并触发所述固件刷新单元执行所述根据所述IP地址及所述节点类型对所述待刷新节点上的BMC进行固件刷新;如果所述配置更新指令指示不保留BMC配置,则不保留所述待刷新节点上BMC的配置项,直接触发所述固件刷新单元执行所述根据所述IP地址及所述节点类型对所述待刷新节点上的BMC进行固件刷新。
本发明实施例提供了一种刷新BMC固件的方法及装置,在红帽Red Hat系统下,运行状态抓取脚本确定待测试服务器上在位的至少一个待刷新节点,运行IP抓取脚本获取每一个待刷新节点上BMC的IP地址,运行类型判断脚本确定每一个待刷新节点的节点类型;针对每一个待刷新节点,运行固件刷新脚本,根据该待刷新节点上BMC的IP地址及该待刷新节点的节点类型,该待刷新节点上的BMC进行固件刷新。由此可见,本方法在红帽Red Hat系统下基于脚本文件实现BMC固件刷新,可以同时对多个节点上的BMC进行固件刷新,从而提高了对多节点服务器进行BMC固件刷新测试的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种刷新BMC固件的方法流程图;
图2是本发明另一个实施例提供的一种刷新BMC固件的方法流程图;
图3是本发明一个实施例提供的一种刷新BMC固件的装置所在设备的示意图;
图4是本发明一个实施例提供的一种刷新BMC固件的装置示意图;
图5是本发明另一个实施例提供的一种刷新BMC固件的装置示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种刷新BMC固件的方法,该方法可以包括以下步骤:
步骤101:在红帽Red Hat系统下,运行预设的状态抓取脚本,以通过系统管理控制器SMC确定待测试服务器上在位的至少一个待刷新节点;
步骤102:运行预设的IP抓取脚本,获取每一个所述待刷新节点上基板管理控制器BMC的IP地址,并将所述IP地址写入预设的日志文件;
步骤103:运行预设的类型判断脚本,判断每一个所述待刷新节点的节点类型,并将各个所述待刷新节点的节点类型写入所述日志文件中;
步骤104:针对于每一个所述待刷新节点,运行预设的固件刷新脚本,从所述日志文件中获取对应的所述IP地址及所述节点类型,并根据所述IP地址及所述节点类型对所述待刷新节点上的BMC进行固件刷新。
本发明实施例提供了一种刷新BMC固件的方法,在红帽Red Hat系统下,运行状态抓取脚本确定待测试服务器上在位的至少一个待刷新节点,运行IP抓取脚本获取每一个待刷新节点上BMC的IP地址,运行类型判断脚本确定每一个待刷新节点的节点类型;针对每一个待刷新节点,运行固件刷新脚本,根据该待刷新节点上BMC的IP地址及该待刷新节点的节点类型,该待刷新节点上的BMC进行固件刷新。由此可见,本方法在红帽Red Hat系统下基于脚本文件实现BMC固件刷新,可以同时对多个节点上的BMC进行固件刷新,从而提高了对多节点服务器进行BMC固件刷新测试的效率。
在本发明一个实施例中,在运行状态抓取脚本时,状态抓取脚本除了能够确定待测试服务器上在位的各个待刷新节点,还能够获取每一个待刷新节点的标识码并输出。相应地,IP抓取脚本除了能够获取每一个待刷新节点上BMC的IP地址,还能够将所获取到的IP地址输出;类型判断脚本除了能够确定每一个待刷新节点的节点类型,还能够将各个待刷新节点的节点类型输出。
当待刷新节点的标识码、待刷新节点上BMC的IP地址及待刷新节点的节点类型被输出时,用户可以根据每一个待刷新节点的节点类型及其上BMC的IP地址,指定相应的固件文件对该待刷新节点上的BMC进行固件刷新,从而可以通过不同的固件文件对各个待刷新节点上的BMC进行固件刷新。因此,一方面确保了可正常刷新不同类型节点上的BMC,另一方面可以将各个节点上的BMC刷新为不同的固件版本,进而提高了对服务器进行BMC固件刷新测试的全面性。
在本发明一个实施例中,在步骤102中通过运行IP抓取脚本获取每一个待刷新节点上BMC的IP地址时,首先抓取待刷新节点上BMC的16进制IP地址,然后将16进制IP地址所包括的4组16进制数分别转换为对应的4组10进制数,最后将4组10进制数进行组合,形成对应于待刷新节点上BMC的10进制IP地址,并将所形成的10进制IP地址写入日志文件中。
具体地,由于在BMC内部IP地址均是以16进制数据进行存储的,因此IP抓取脚本所抓取到的IP地址为16进制IP地址,而通常用户所使用的IP地址为10进制IP地址。在抓取到16进制IP地址后,IP抓取脚本将16进制IP地址包括的4组16进制数分别转换为对应的10进制数后进行组合,形成10进制IP地址并输出。这样,用户最终获得的是10进制的IP地址,可以直接根据10进制的IP地址确定刷新BMC固件时所采用的固件文件,而不需要再次对16进制IP地址进行转换,进一步提高了该刷新BMC固件方法的易用性。另外,固件刷新脚本在根据IP地址及节点类型刷新BMC固件时,所使用的IP地址也需要是10进制的IP地址,因此通过IP抓取脚本将16进制IP地址转换为10进制IP地址,保证固件刷新脚本能够正常地对待刷新节点的BMC进行固件刷新。
在本发明一个实施例中,在步骤104中根据IP地址及节点类型对待刷新节点上的BMC进行固件刷新时,根据待刷新节点上BMC的IP地址检测待刷新节点是否网络连通,如果网络连通则进一步判断待刷新节点的节点类型是否为全宽节点或半宽节点,如果是,则根据外部输入的固件名称读取相应的固件文件对待刷新节点上的BMC进行固件刷新,否则输出报警信息;如果待刷新节点的网络不通,则发出报警信息。
具体地,根据待刷新节点上BMC的IP地址,向待刷新节点发送Ping命令,如果待刷新节点返回的值为特定值则判定待刷新节点的网络连通,进而判断待刷新节点的节点类型是否为全宽节点或半宽节点,如果待刷新节点返回的值不少特定值则判定待刷新节点的网络不通,直接发出报警信息提示用户。通过IP地址检测待刷新节点的网络是否连通,在网络连通的情况下进行后续更新步骤,网络不通直接发出报警信息,一方面在网络连通的情况下保证能够顺利对待测试节点上的BMC进行固件刷新,另一方面在网络不通的情况下发出报警信息以通知测试人员。
在待测试节点的网络连通时,进一步判断待测试节点的节点类型是否为全宽节点和半宽节点中的任意一个,如果是,则执行后续刷新步骤,否则发出报警信息。根据待刷新节点的节点类型判断待刷新节点上的BMC能否进行固件刷新,保证刷新的成功率。
在确定待刷新节点的网络连通且待刷新节点的节点类型为全宽节点或半宽节点后,接收外部输入端的固件名称,根据接收到的固件名称从相应的文件夹中读取固件文件,通过所读取的固件文件对待刷新节点上的BMC进行固件刷新。这样,用户可以根据需求输入不同的固件名称,以通过不同的固件文件对BMC进行固件刷新,提高了该BMC固件刷新方法的适用性。
在本发明一个实施例中,在步骤104中根据IP地址及节点类型对待刷新节点上的BMC进行固件刷新之前,输出BMC配置更新选项,并接收外部根据该BMC配置更新选项输入的配置更新指令;如果配置更新指令指示保留BMC配置,则对待刷新节点上BMC的配置项进行保存后再对待刷新节点上的BMC进行固件刷新;如果配置更新指令指示不保留BMC配置,则直接对待刷新节点上的BMC进行固件刷新。
具体地,在对待刷新节点上的BMC进行固件刷新之前,通过发送BMC配置更新选项的方式询问用户是否要求保留BMC配置,根据用户输入的配置更新指令保留BMC配置项后对BMC进行固件刷新或直接对BMC进行固件刷新。这样,用户可以根据需求发送相应地配置更新指令,以在对BMC进行固件刷新时保留BMC配置项或不保留BMC配置项,提高了本发明实施例所提供的BMC固件刷新方法的适用性。
下面以包括8个节点的服务器为例,对本发明实施例提供的刷新BMC固件的方法作进一步详细说明,如图2所示,该方法可以包括以下步骤:
步骤201:运行状态抓取脚本,确定待测试服务器上在位的待刷新节点。
在本发明一个实施例中,在终端上运行Red Hat系统,并关闭防火墙以确定SMC可以网路连通。在红帽Red Hat系统下运行状态抓取脚本,利用IPMI Tool(智能平台管理接口工具)通过远程网络访问SMC,获取待测试服务器上在位节点的标识码及在位节点的总数量,将在位的各个节点确定为待刷新节点,并将在位节点的总数量输出。
例如,刀片服务器A上包括有8个节点,现需要对刀片服务器A所包括的各个节点上BMC的固件进行更新测试。在与刀片服务器A相连的终端B上运行红帽Red Hat系统,在红帽Red Hat系统下运行状态抓取脚本,抓取刀片服务器A上在位的节点,获取每一个在位节点的标识码及在位节点总数量。比如状态抓取脚本抓取到8个节点,8个节点的标识码分别为1至8,在位节点总数量为8。将在位节点的总数量8输出到终端B的显示器上。
步骤202:运行IP抓取脚本,获取每一个待刷新节点上BMC的16进制IP地址。
在本发明一个实施例中,在红帽Red Hat系统下运行IP抓取脚本,IP抓取脚本通过SMC获取各个待刷新节点上BMC的16进制IP地址。
例如,针对标识码为1至8的8个节点,在终端B的红帽Red Hat系统下运行IP抓取脚本,获取对应节点上BMC的16进制IP地址。比如,针对标识码为1的节点1运行IP抓取脚本,获取节点1上BMC的16进制IP地址为C0A80065。
步骤203:针对于每一个待刷新节点,将16进制IP地址转换为10进制IP地址,并将对应的标识码及10进制IP地址输出,并将10进制IP地址写入日志文件。
在本发明一个实施例中,针对于任意一个待刷新节点,IP抓取脚本获取该待刷新节点上BMC的16进制IP地址后,IP抓取脚本进一步将16进制IP地址所包括的4组16进制数分别转换为对应的10进制数,并对转换而成的4组10进制数据进行组合,形成对应于该待刷新节点上BMC的10进制IP地址。另外,IP抓取脚本还打印包括标识码、BMC IP地址及节点类型的标题栏,形成用于显示节点属性的属性表格,并将每一个待刷新节点的标识码、所包括BMC的10进制IP地址打印到属性表格下对应的位置。并将每一个待刷新节点上BMC的10进制IP地址写入日志文件中。
例如,针对标识码为1的节点1,16进制IP地址C0A80065所包括的四组16进制数依次为C0、A8、00和65,IP抓取脚本将16进制数C0转换为10进制数192,将16进制数A8转换为10进制数168,将16进制数00转换为10进制数0,将16进制数65转换为10进制数101;将转换而成的4组10进制数进行依次组合,形成节点1上BMC的10进制IP地址,该10进制IP地址为192.168.0.101。
IP抓取单元在终端B的显示器上打印如下表1的属性表格,并将各个8个节点的标识码及10进制IP地址打印到属性表格中对应的位置。其中,Blade表征待刷新节点的标识码,BMC IP表征待刷新节点上BMC的10进制IP地址,Mode表征待刷新节点的节点类型。
表1
Blade | BMC IP | Mode |
1 | 192.168.0.101 | |
2 | 192.168.0.102 | |
3 | 192.168.0.103 | |
4 | 192.168.0.104 | |
5 | 192.168.0.105 | |
6 | 192.168.0.106 | |
7 | 192.168.0.107 | |
8 | 192.168.0.108 |
IP抓取脚本,还进一步将各个待刷新节点上BMC的10进制IP地址写到日志文件local.log中。
步骤204:针对于每一个待刷新节点,运行类型判断脚本获取节点类型,将节点类型输出并写入日志文件。
在本发明一个实施例中,针对于待测试服务器上的每一个待刷新节点,在红帽RedHat系统下运行类型判断脚本,类型判断脚本获取表征该待刷新节点类型的参数值,根据参数值确定该待刷新节点的节点类型,并将每一个待刷新节点的节点类型打印到属性表格中节点类型下对应的行。类型判断脚本进一步将各个待刷新节点的节点类型存储到日志文件中。
例如,针对于标识码为1的节点1,类型判断脚本获取对应于节点1的参数值为03,则确定节点1的节点类型为全宽节点,相应地在日志文件中记录节点1为全宽节点,并在上述表1的第二行第三列打印full width;针对标识码为7的节点7,类型判断脚本获取对应于节点7的参数值为01,则确定节点7的节点类型为半宽节点,相应地在日志文件中记录节点7为半宽节点,并在上述表1的第八行第三列打印half width;相应地,确定节点2至节点6及节点8均为全宽节点,在日志文件中记录节点2至节点6及节点8为全宽节点,并在上述表1中第三列的第3至7行及第9行打印full width。
步骤205:运行固件刷新脚本,针对于每一个待刷新节点,判断该待刷新节点的网络是否连通,如果是,执行步骤206,否则执行步骤211。
在本发明一个实施例中,针对于每一个待刷新节点,运行固件刷新脚本后,从日志文件中获取该待刷新节点的10进制IP地址,根据10进制IP地址向该待刷新节点发送Ping命令,如果该待刷新节点回去的值与预设的目标值相同,判断该待刷新节点的网络连通,相应地执行步骤206;如果该待刷新节点返回的值与预设的目标值不同,判断该待刷新节点的网络不通,相应地执行步骤211。
例如,针对标识码为1的节点1,固件刷新脚本运行后从日志文件local.log中获取节点1的10进制IP地址192.168.0.101,根据10进制IP地址向节点1发送Ping命令,如果节点1返回值为64,判定节点1的网络连通,相应地执行步骤206;如果节点1返回值不是64,判定节点1的网络不通,相应地执行步骤211。
步骤206:判断待刷新节点的节点类型是否为全宽节点或半宽节点,如果是,执行步骤207,否则执行步骤211。
在本发明一个实施例中,针对步骤205中判断网络连通的每一个待刷新节点,固件刷新脚本从日志文件中获取待刷新节点的节点类型,如果待刷新节点的节点类型为全宽节点或半宽节点,相应地执行步骤207;如果待刷新节点的节点类型既不是全宽节点也不是半宽节点,相应地执行步骤211。
例如,针对标识码为1的节点1,固件刷新脚本运行后从日志文件中获取到节点1的节点类型为全宽节点,则针对节点1执行步骤207。
步骤207:输出提示输入固件文件名的提示信息,并接收输入的固件文件名。
在本发明一个实施例中,针对网络连通且节点类型为全宽节点或半宽节点的每一个待刷新节点,固件刷新脚本通过终端向用户输出提示用户输入固件文件名的提示信息,并接收用户根据提示信息通过终端输入的固件文件名。
例如,针对标识码为1的节点1,固件刷新脚本通过终端B的显示器向用户发出输入固件文件名的提示信息,用户在接收到提示信息后输入刷新节点1上BMC所要使用固件文件的文件名。
步骤208:判断相应的文件夹中是否存在文件名为所述固件文件名的固件文件,如果是,执行步骤209,否则执行步骤207。
在本发明一个实施例中,针对任意一个待刷新节点,固件刷新脚本在接收到用户输出的固件文件名后,判断在预设的文件夹中是否存在文件名为用户所输入固件文件名的固件文件,如果是,针对该待刷新节点执行步骤209;否则针对该待刷新节点执行步骤207。
步骤209:输出配置更新选项,并接收用户针对配置更新指令输入的配置更新指令。
在本发明一个实施例中,固件刷新脚本在判断一个待刷新节点的固件文件存在时,针对该待刷新文件,通过终端输出配置更新选项,询问用户是否保留BMC配置项,并接收用户针对该配置更新选项输入的配置更新指令。
步骤210:根据配置更新指令,通过固件文件对待刷新节点上BMC进行固件刷新,并结束当前流程。
在本发明一个实施例中,针对任意一个待刷新节点,固件刷新脚本在接收到针对该待刷新节点的配置更新指令后,如果该配置更新指令指示不保留BMC配置项,则直接利用步骤208中确定的固件文件对该待刷新节点上BMC进行固件刷新;如果该配置更新指令指示保留BMC配置项,则首先新建窗口包括该待刷新节点上BMC的所有配置项,然后利用步骤208中确定的固件文件对该待刷新节点上的BMC进行固件刷新。
步骤211:发出报警信息。
在本发明一个实施例中,当待刷新节点的网络不通或待刷新节点的节点类型不是全宽节点或半宽节点时,固件刷新脚本发出报警信息,提示用户对相应地的故障进行处理。
在本发明一个实施例中,刷新BMC固件的方法可以通过在红帽Red Hat系统下运行如下代码实现:
如图3、图4所示,本发明实施例提供了一种刷新BMC固件的装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本发明实施例提供的刷新BMC固件的装置所在设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。本实施例提供的刷新BMC固件的装置,包括:状态抓取单元401、IP抓取单元402、类型抓取单元403及固件刷新单元404;
所述状态抓取单元401,用于在红帽Red Hat系统下,运行预设的状态抓取脚本,以通过系统管理控制器SMC获得待测试服务器上在位的至少一个待刷新节点;
所述IP抓取单元402,用于运行预设的IP抓取脚本,获取所述状态抓取单元401确定出的每一个所述待刷新节点上基板管理控制器BMC的IP地址,并将所述IP地址写入预设的日志文件;
所述类型抓取单元403,用于运行预设的类型判断脚本,判断所述状态抓取单元401确定出的每一个所述待刷新节点的节点类型,并将各个所述待刷新节点的节点类型写入所述日志文件中;
所述固件刷新单元404,用于针对于每一个所述待刷新节点,运行预设的固件刷新脚本,从所述日志文件中获取所述IP抓取单元402写入的所述IP地址及所述类型抓取单元403写入的所述节点类型,并根据所述IP地址及所述节点类型对所述待刷新节点上的BMC进行固件刷新。
在本发明一个实施例中,所述状态抓取单元401进一步用于运行所述状态抓取脚本,获取每一个所述待刷新节点的标识码并输出。
在本发明一个实施例中,所述IP抓取单元402进一步用于运行所述IP抓取脚本,将各个所述待刷新节点上BMC的IP地址输出。
在本发明一个实施例中,所述类型抓取单元403进一步用于运行所述类型判断脚本,将各个所述待刷新节点的节点类型输出。
在本发明一个实施例中,所述IP抓取单元402用于针对于每一个所述待刷新节点,抓取所述待刷新节点上BMC的16进制IP地址,将所述16进制IP地址所包括的4组16进制数分别转换为对应的4组10进制数,对所述4组10进制数进行组合,形成对应于所述待刷新节点上BMC的10进制IP地址,将所述10进制IP地址写入所述日志文件。
在本发明一个实施例中,所述固件刷新单元404包括:刷新子单元;
所述刷新子单元用于根据所述IP地址检测所述待刷新节点是否网络连通,如果所述待刷新节点的网络连通,判断所述待刷新节点的节点类型是否为全宽节点或半宽节点,如果是,根据外部输入的固件名称读取相应的固件文件对所述待刷新节点上的BMC进行固件刷新,否则输出报警信息;如果所述待刷新节点的网络不通,输出报警信息。
在本发明一个实施例中,如图5所示,该刷新BMC固件的装置还可以包括:配置更新单元505;
所述配置更新单元505用于输出BMC配置更新选项,并接收外部针对所述BMC配置更新选项输入的配置更新指令;如果所述配置更新指令指示保留BMC配置,则对所述待刷新节点上BMC的配置项进行保留,并触发所述固件刷新单元404执行所述根据所述IP地址及所述节点类型对所述待刷新节点上的BMC进行固件刷新;如果所述配置更新指令指示不保留BMC配置,则不保留所述待刷新节点上BMC的配置项,直接出发所述固件刷新单元404执行所述根据所述IP地址及所述节点类型对所述待刷新节点上的BMC进行固件刷新。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例提供了一种可读介质,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行本发明实施例提供的刷新BMC固件的方法。
本发明实施例提供了一种存储控制器,包括:处理器、存储器和总线;
所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述存储控制器执行本发明实施例提供的刷新BMC固件的方法。
综上所述,本发明实施例提供的刷新BMC固件的方法及装置,不仅能够应用于包括多节点服务器的BMC固件刷新测试,还能够应用于实际对单节点或多节点服务器的BMC固件进行刷新。
本发明实施例提供的刷新BMC固件的方法及装置,至少具有如下有益效果:
1、在本发明实施例提供的刷新BMC固件的方法及装置中,在红帽Red Hat系统下,运行状态抓取脚本确定待测试服务器上在位的至少一个待刷新节点,运行IP抓取脚本获取每一个待刷新节点上BMC的IP地址,运行类型判断脚本确定每一个待刷新节点的节点类型;针对每一个待刷新节点,运行固件刷新脚本,根据该待刷新节点上BMC的IP地址及该待刷新节点的节点类型,该待刷新节点上的BMC进行固件刷新。由此可见,本方法在红帽Red Hat系统下基于脚本文件实现BMC固件刷新,可以同时对多个节点上的BMC进行固件刷新,从而提高了对多节点服务器进行BMC固件刷新测试的效率。
2、在本发明实施例提供的刷新BMC固件的方法及装置中,状态抓取脚本可以输出待刷新节点的标识码,IP抓取脚本可以输出待刷新节点上BMC的IP地址,类型判断脚本可以输出每一个待刷新节点的类型,用户可以根据每一个待刷新节点的节点类型及其上BMC的IP地址,指定相应的固件文件对该待刷新节点上的BMC进行固件刷新,从而可以通过不同的固件文件对各个待刷新节点上的BMC进行固件刷新。因此,一方面确保了可正常刷新不同类型节点上的BMC,另一方面可以将各个节点上的BMC刷新为不同的固件版本,进而提高了对服务器进行BMC固件刷新测试的全面性。
3、在本发明实施例提供的刷新BMC固件的方法及装置中,IP抓取脚本能够将抓取到的16进制IP地址转换为10进制IP地址,这样,用户最终获得的是10进制的IP地址,可以直接根据10进制的IP地址确定刷新BMC固件时所采用的固件文件,而不需要再次对16进制IP地址进行转换,进一步提高了该刷新BMC固件方法的易用性。
4、在本发明实施例提供的刷新BMC固件的方法及装置中,在对待刷新节点上的BMC进行固件刷新之前,通过发送BMC配置更新选项的方式询问用户是否要求保留BMC配置,根据用户输入的配置更新指令保留BMC配置项后对BMC进行固件刷新或直接对BMC进行固件刷新。这样,用户可以根据需求发送相应地配置更新指令,以在对BMC进行固件刷新时保留BMC配置项或不保留BMC配置项,提高了本发明实施例所提供的BMC固件刷新方法的适用性。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个〃〃〃〃〃〃”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (2)
1.一种刷新BMC固件的方法,其特征在于,包括:
在红帽Red Hat系统下,运行预设的状态抓取脚本,以通过系统管理控制器SMC确定待测试服务器上在位的至少一个待刷新节点;
运行预设的IP抓取脚本,获取每一个所述待刷新节点上基板管理控制器BMC的IP地址,并将所述IP地址写入预设的日志文件;
运行预设的类型判断脚本,判断每一个所述待刷新节点的节点类型,并将各个所述待刷新节点的节点类型写入所述日志文件中;
针对于每一个所述待刷新节点,运行预设的固件刷新脚本,从所述日志文件中获取对应的所述IP地址及所述节点类型,并根据所述IP地址及所述节点类型对所述待刷新节点上的BMC进行固件刷新;
进一步包括:
运行所述状态抓取脚本,获取每一个所述待刷新节点的标识码并输出;
和/或,
运行所述IP抓取脚本,将各个所述待刷新节点上BMC的IP地址输出;
和/或,
运行所述类型判断脚本,将各个所述待刷新节点的节点类型输出;
所述获取每一个所述待刷新节点上BMC的IP地址,并将所述IP地址写入预设的日志文件,包括:
针对于每一个所述待刷新节点,抓取所述待刷新节点上BMC的16进制IP地址,将所述16进制IP地址所包括的4组16进制数分别转换为对应的4组10进制数,对所述4组10进制数进行组合,形成对应于所述待刷新节点上BMC的10进制IP地址,将所述10进制IP地址写入所述日志文件;
所述根据所述IP地址及所述节点类型对所述待刷新节点上的BMC进行固件刷新,包括:
根据所述IP地址检测所述待刷新节点是否网络连通;
如果所述待刷新节点的网络连通,判断所述待刷新节点的节点类型是否为全宽节点或半宽节点,如果是,根据外部输入的固件名称读取相应的固件文件对所述待刷新节点上的BMC进行固件刷新,否则输出报警信息;
如果所述待刷新节点的网络不通,输出报警信息;
在所述根据所述IP地址及所述节点类型对所述待刷新节点上的BMC进行固件刷新之前,进一步包括:
输出BMC配置更新选项,并接收外部针对所述BMC配置更新选项输入的配置更新指令;
如果所述配置更新指令指示保留BMC配置,则对所述待刷新节点上BMC的配置项进行保存,并执行所述根据所述IP地址及所述节点类型对所述待刷新节点上的BMC进行固件刷新;
如果所述配置更新指令指示不保留BMC配置,则不保留所述待刷新节点上BMC的配置项,直接执行所述根据所述IP地址及所述节点类型对所述待刷新节点上的BMC进行固件刷新。
2.一种刷新BMC固件的装置,其特征在于,包括:状态抓取单元、IP抓取单元、类型抓取单元及固件刷新单元;
所述状态抓取单元,用于在红帽Red Hat系统下,运行预设的状态抓取脚本,以通过系统管理控制器SMC获得待测试服务器上在位的至少一个待刷新节点;
所述IP抓取单元,用于运行预设的IP抓取脚本,获取所述状态抓取单元确定出的每一个所述待刷新节点上基板管理控制器BMC的IP地址,并将所述IP地址写入预设的日志文件;
所述类型抓取单元,用于运行预设的类型判断脚本,判断所述状态抓取单元确定出的每一个所述待刷新节点的节点类型,并将各个所述待刷新节点的节点类型写入所述日志文件中;
所述固件刷新单元,用于针对于每一个所述待刷新节点,运行预设的固件刷新脚本,从所述日志文件中获取所述IP抓取单元写入的所述IP地址及所述类型抓取单元写入的所述节点类型,并根据所述IP地址及所述节点类型对所述待刷新节点上的BMC进行固件刷新;
所述状态抓取单元,进一步用于运行所述状态抓取脚本,获取每一个所述待刷新节点的标识码并输出;
和/或,
所述IP抓取单元,进一步用于运行所述IP抓取脚本,将各个所述待刷新节点上BMC的IP地址输出;
和/或,
所述类型抓取单元,进一步用于运行所述类型判断脚本,将各个所述待刷新节点的节点类型输出;
所述IP抓取单元,用于针对于每一个所述待刷新节点,抓取所述待刷新节点上BMC的16进制IP地址,将所述16进制IP地址所包括的4组16进制数分别转换为对应的4组10进制数,对所述4组10进制数进行组合,形成对应于所述待刷新节点上BMC的10进制IP地址,将所述10进制IP地址写入所述日志文件;
所述固件刷新单元包括:刷新子单元;
所述刷新子单元,用于根据所述IP地址检测所述待刷新节点是否网络连通,如果所述待刷新节点的网络连通,判断所述待刷新节点的节点类型是否为全宽节点或半宽节点,如果是,根据外部输入的固件名称读取相应的固件文件对所述待刷新节点上的BMC进行固件刷新,否则输出报警信息;如果所述待刷新节点的网络不通,输出报警信息;
进一步包括:配置更新单元;
所述配置更新单元,用于输出BMC配置更新选项,并接收外部针对所述BMC配置更新选项输入的配置更新指令;如果所述配置更新指令指示保留BMC配置,则对所述待刷新节点上BMC的配置项进行保留,并触发所述固件刷新单元执行所述根据所述IP地址及所述节点类型对所述待刷新节点上的BMC进行固件刷新;如果所述配置更新指令指示不保留BMC配置,则不保留所述待刷新节点上BMC的配置项,直接触发所述固件刷新单元执行所述根据所述IP地址及所述节点类型对所述待刷新节点上的BMC进行固件刷新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710055704.2A CN106815054B (zh) | 2017-01-25 | 2017-01-25 | 一种刷新bmc固件的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710055704.2A CN106815054B (zh) | 2017-01-25 | 2017-01-25 | 一种刷新bmc固件的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106815054A CN106815054A (zh) | 2017-06-09 |
CN106815054B true CN106815054B (zh) | 2020-05-12 |
Family
ID=59112073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710055704.2A Active CN106815054B (zh) | 2017-01-25 | 2017-01-25 | 一种刷新bmc固件的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106815054B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107391186A (zh) * | 2017-07-13 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种刷新电源供给单元固件的方法、装置及系统 |
CN108334367B (zh) * | 2017-08-31 | 2021-03-30 | 郑州云海信息技术有限公司 | 一种面向bmc芯片的固件远程升级方法 |
CN109359021A (zh) * | 2018-09-26 | 2019-02-19 | 郑州云海信息技术有限公司 | 一种系统状态的检测方法、装置、设备及存储介质 |
CN109408307B (zh) * | 2018-10-11 | 2021-10-29 | 郑州云海信息技术有限公司 | 一种自动化并行测试bmc保留配置升级功能的方法 |
CN109471646A (zh) * | 2018-11-01 | 2019-03-15 | 郑州云海信息技术有限公司 | 一种服务器的bmc版本的升级方法、装置及存储介质 |
CN109408094A (zh) * | 2018-11-01 | 2019-03-01 | 郑州云海信息技术有限公司 | 一种bios固件刷新方法、装置、设备及存储介质 |
CN109542479A (zh) * | 2018-11-12 | 2019-03-29 | 郑州云海信息技术有限公司 | 一种多级联服务器的固件刷新方法及系统 |
CN109634659A (zh) * | 2018-12-18 | 2019-04-16 | 浪潮电子信息产业股份有限公司 | 一种对bmc进行控制的方法、装置、设备以及存储介质 |
CN109992275A (zh) * | 2019-04-15 | 2019-07-09 | 苏州浪潮智能科技有限公司 | 一种ic固件烧录方法及相关装置 |
CN112445670B (zh) * | 2019-08-27 | 2023-06-02 | 合肥格易集成电路有限公司 | 一种eMMC测试方法和装置 |
CN111857783A (zh) * | 2020-07-28 | 2020-10-30 | 山东云海国创云计算装备产业创新中心有限公司 | 一种远程刷新bmc固件的方法、装置、设备及存储介质 |
CN112130876A (zh) * | 2020-08-28 | 2020-12-25 | 浪潮电子信息产业股份有限公司 | 一种bmc固件的远程升级方法、系统及装置 |
CN112506758A (zh) * | 2020-11-19 | 2021-03-16 | 宁畅信息产业(北京)有限公司 | 固件刷新方法、装置、计算机设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473152A (zh) * | 2013-09-25 | 2013-12-25 | 浪潮电子信息产业股份有限公司 | 一种刀片服务器主备管理模块备份及更新方法 |
CN103488494A (zh) * | 2013-08-12 | 2014-01-01 | 浪潮电子信息产业股份有限公司 | 一种刀片服务器多固件同步更新升级方法 |
CN105242940A (zh) * | 2015-09-14 | 2016-01-13 | 浪潮集团有限公司 | 一种集中固件更新方法 |
CN105955742A (zh) * | 2016-04-29 | 2016-09-21 | 浪潮电子信息产业股份有限公司 | 一种bios刷新方法、服务系统及bios刷新系统 |
-
2017
- 2017-01-25 CN CN201710055704.2A patent/CN106815054B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103488494A (zh) * | 2013-08-12 | 2014-01-01 | 浪潮电子信息产业股份有限公司 | 一种刀片服务器多固件同步更新升级方法 |
CN103473152A (zh) * | 2013-09-25 | 2013-12-25 | 浪潮电子信息产业股份有限公司 | 一种刀片服务器主备管理模块备份及更新方法 |
CN105242940A (zh) * | 2015-09-14 | 2016-01-13 | 浪潮集团有限公司 | 一种集中固件更新方法 |
CN105955742A (zh) * | 2016-04-29 | 2016-09-21 | 浪潮电子信息产业股份有限公司 | 一种bios刷新方法、服务系统及bios刷新系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106815054A (zh) | 2017-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106815054B (zh) | 一种刷新bmc固件的方法及装置 | |
JP6614756B2 (ja) | 取引システムエラー検出方法、装置、記憶媒体及びコンピュータデバイス | |
CN110990411B (zh) | 数据结构的生成方法及装置、调用方法及装置 | |
CN105204969A (zh) | 异常日志处理方法以及异常日志处理装置 | |
CN107622008A (zh) | 一种应用页面的遍历方法和装置 | |
CN108874441B (zh) | 一种板卡配置方法、装置、服务器和存储介质 | |
CN110969000B (zh) | 数据合并的处理方法及装置 | |
CN105573872B (zh) | 数据存储系统的硬盘维护方法和装置 | |
CN113259273B (zh) | 交换机的控制方法、交换机、计算机设备和存储介质 | |
US20110004817A1 (en) | Crc management method performed in sata interface and data storage device using crc management method | |
CN111930363B (zh) | 区块接口代码生成方法、及装置 | |
US20050005015A1 (en) | Method, system, and computer-readable medium for managing a host session on a remote computer | |
CN107562766B (zh) | 一种数据文件写入方法、装置及系统 | |
JP2020525944A (ja) | バス監視システム、方法および装置 | |
CN113253934A (zh) | Flash坏块处理方法、装置、计算机设备和可读存储介质 | |
JP5929384B2 (ja) | 情報処理装置及び情報処理プログラム | |
CN105144073A (zh) | 可移除存储设备身份和配置信息 | |
JP4498945B2 (ja) | パラメータ設定装置及びパラメータ設定方法及びプログラム | |
CN115098311A (zh) | 一种基于多路径别名的测试方法、系统、装置及存储介质 | |
US20070057956A1 (en) | Method, apparatus, and computer program product for implementing self-modeling computer systems componentry | |
CN109144415B (zh) | 节点检测方法及共享存储装置 | |
CN111563008A (zh) | 数据存储方法、装置、存储系统及计算机可读存储介质 | |
CN110413669A (zh) | 一种基于etl的数据处理方法、装置、终端设备及存储介质 | |
CN110990065B (zh) | 一种不加载NC-SI驱动显示BMC共享网口mac的方法 | |
CN102819471A (zh) | 一种设备终端的软件备份系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200413 Address after: 215100 No. 1 Guanpu Road, Guoxiang Street, Wuzhong Economic Development Zone, Suzhou City, Jiangsu Province Applicant after: SUZHOU LANGCHAO INTELLIGENT TECHNOLOGY Co.,Ltd. Address before: 450000 Henan province Zheng Dong New District of Zhengzhou City Xinyi Road No. 278 16 floor room 1601 Applicant before: ZHENGZHOU YUNHAI INFORMATION TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |