System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种BMC在线升级方法及装置制造方法及图纸_技高网

一种BMC在线升级方法及装置制造方法及图纸

技术编号:40329283 阅读:14 留言:0更新日期:2024-02-09 14:21
本发明专利技术提供了一种BMC在线升级方法及装置,方法包括如下步骤:将待升级文件传输到BMC系统挂载的存储介质eMMC中。执行升级脚本程序,进行版本匹配,确保升级后的版本号高于当前版本之后方可继续执行后续升级过程。版本匹配通过后开始升级主flash,升级主flash成功后在存储介质的升级标识文件内写入升级成功标识并重启BMC系统。在系统后台对存储介质中的升级标识文件进行读取,若扫描到升级成功标识,则校准升级后的BMC版本号和待升级BMC版本号是否一致,如果一致则开始执行升级备用flash的过程。本发明专利技术的技术方案克服现有技术中双flash的BMC系统在线升级的可靠性较低、效率较低、升级成本较高的问题。

【技术实现步骤摘要】

本专利技术涉及计算机,具体涉及一种bmc在线升级方法与装置。


技术介绍

1、在高性能数据网络测试仪以及服务器等产品中广泛集成了bmc芯片,该芯片中运行独立的系统,支持与处理器操作系统之间进行交互,便于实时监控系统运行的信息,包括温度、电压以及风扇转速等。bmc运行过程中采用flash器件存储其固件,一般采用离线方式将生成的固件烧录到flash中,然后焊接到板卡上。由于后续可能需要对bmc系统的功能进行升级和维护,在很多场景下是将对应的flash取下之后采用专用的烧录工具进行离线烧写,在烧写完成之后再次焊接。为了保证bmc运行的连续性与可靠性,目前在高性能网络数据测试仪等复杂的设备中逐步采用了双flash的bmc系统,二者一主一备,在主flash发生故障或者固件系统异常而无法正常启动的情况下,则自动从备用flash启动,因此也涉及到了主备flash升级的问题。若直接将两片flash取下进行烧录,则效率较低,也会影响到用户的使用体验。一些厂家推出了面向双flash的升级方案,采取了同步升级两片flash的方案,但是缺乏对于版本的严格校准,若升级固件有误,会导致系统无法从任一片flash启动。

2、因此有必要设计高可靠的在线升级方法,能够高效完成对双flash的在线升级,在保证系统运行可靠性的同时提升了效率,节约了成本。

3、因此,现需要一种可靠性能较高、能够高效完成对双flash的在线升级、节约成本的bmc在线升级方法及装置。


技术实现思路

1、本专利技术的主要目的在于提供一种bmc在线升级方法及装置,以解决现有技术中双flash的bmc系统在线升级的可靠性较低、效率较低、升级成本较高的问题。

2、为实现上述目的,本专利技术提供了一种bmc在线升级方法,具体包括如下步骤:

3、s1,将待升级文件,包括:待升级bmc固件、与待升级bmc固件相对应的版本文件以及升级脚本程序传输到bmc系统挂载的存储介质emmc中。

4、s2,在传输完成之后将待升级文件解压,执行升级脚本程序,进行版本匹配,确保升级后的版本号高于当前版本之后方可继续执行后续升级过程。

5、s3,版本匹配通过后开始升级主flash,升级主flash成功后在存储介质emmc的升级标识文件内写入升级成功标识并重启bmc系统。

6、s4,若bmc系统成功启动,在系统后台对存储介质emmc中的升级标识文件进行读取,若扫描到升级成功标识,则校准升级后的bmc版本号和待升级bmc版本号是否一致,如果一致则开始执行升级备用flash的过程。

7、s5,若bmc系统无法从主flash中正常启动,则自动从备用flash中启动原先版本的bmc系统,在启动之后将指定版本的固件升级到主flash中,后续bmc系统启动之后仍然是指定版本的固件。

8、进一步地,步骤s1具体包括如下步骤:

9、s1.1,将待升级bmc固件、版本文件以及升级脚本打包成一个压缩包文件。

10、s1.2,与当前运行的bmc系统建立网络连接之后以scp或者tftp方式将待升级文件传输到bmc系统挂载的存储介质emmc中。

11、进一步地,步骤s2具体包括如下步骤:

12、s2.1,在待升级文件传输完成之后解压待升级文件,在bmc系统下执行待升级文件中的升级脚本程序。

13、s2.2,升级过程中先进行版本匹配,即读取当前bmc版本号以及待升级bmc版本号,判断二者的关系,确保待升级bmc版本号高于当前bmc版本号的情况下继续执行后续的过程,其中,待升级bmc版本号存储于版本文件中,待升级bmc版本号为当前最新版本。

14、s2.3,若版本匹配结果不符合要求,则直接退出升级的过程。

15、进一步地,步骤s3具体包括如下步骤:

16、s3.1,版本匹配通过之后开始升级主flash,烧写主flash程序之前先校准bmc固件的完整性,校准之后擦除主flash对应的mtd文件。

17、s3.2,然后向mtd文件中烧写固件,烧写完成之后进行校准。

18、s3.3,校准无误后将升级成功的标识写入到存储介质emmc中的标识文件中,最后重启bmc系统。

19、进一步地,步骤s4中的升级备用flash的过程具体包括如下步骤:

20、s4.1,执行校准的过程,即读取当前bmc版本号和待升级bmc版本号,若二者保持一致,则认为主flash升级成功,并自动备份新版本的bmc固件,然后继续执行升级备用flash的过程。

21、s4.2,备份待升级bmc固件,复制到以版本号命令的文件夹中。

22、s4.3,升级备用flash时仍然向备用flash对应的mtd设备文件中烧写,在写入完成并校准合格之后说明升级成功;若校准后当前bmc版本号和待升级bmc版本号不一致,则说明主flash升级有误,退出升级备用flash。

23、本专利技术还提供一种bmc在线升级装置,包括:flash存储器、存储介质emmc和处理器,bmc在线升级装置通过与之连接的flash内的固件启动,升级过程即将固件烧写到该flash中;存储介质emmc用于存储待升级bmc固件、与待升级bmc固件相对应的版本文件以及升级脚本程序;在处理器中执行升级脚本来完成升级的过程。

24、本专利技术具有如下有益效果:

25、本专利技术以升级脚本程序的方式实现升级的功能,支持在外部编写升级脚本程序,然后与待升级bmc固件同步传输到系统中,可以直接调用升级脚本程序来执行升级的过程。相对于将升级功能集成在固件中的方式,无须在固件生成代码中编写升级模块并进行编译和调试,这种方式灵活度较高,易于修改和测试升级程序。

26、本专利技术实现了严格的版本匹配和校准流程,在升级主flash时将版本文件中的待升级bmc版本号和当前bmc版本号进行匹配,确保升级后的新版本号更高时方可执行后续升级过程;在升级备用flash前将已经升级完成的主flash版本和待升级bmc版本号进行对比,确保二者保持一致之后继续升级备用flash,即保证主flash升级完成并且版本正确的情况下才能升级备用flash,这种方式保证了版本的一致性,确保升级的固件符合要求。

27、在成功升级主flash之后将升级固件备份在存储介质emmc中,以版本号命名备份文件夹。在满足存储介质容量的前提下存储了先前多个版本的固件。在升级失败的情况下支持选择需要恢复的固件版本,具体是在执行升级脚本程序时以参数的形式指定,即可升级先前指定版本的固件;若未指定该参数,则直接恢复上一版本的固件,由此达到了较高的灵活度。

本文档来自技高网...

【技术保护点】

1.一种BMC在线升级方法,其特征在于,具体包括如下步骤:

2.根据权利要求1所述的一种BMC在线升级方法,其特征在于,步骤S1具体包括如下步骤:

3.根据权利要求1所述的一种BMC在线升级方法,其特征在于,步骤S2具体包括如下步骤:

4.根据权利要求1所述的一种BMC在线升级方法,其特征在于,步骤S3具体包括如下步骤:

5.根据权利要求1所述的一种BMC在线升级方法,其特征在于,步骤S4中的升级备用flash的过程具体包括如下步骤:

6.一种BMC在线升级装置,利用权利要求1-5中任意一项所述的方法,其特征在于,包括:flash存储器、存储介质eMMC和处理器,BMC在线升级装置通过与之连接的flash内的固件启动,升级过程即将固件烧写到该flash中;存储介质eMMC用于存储待升级BMC固件、与待升级BMC固件相对应的版本文件以及升级脚本程序;在处理器中执行升级脚本来完成升级的过程。

【技术特征摘要】

1.一种bmc在线升级方法,其特征在于,具体包括如下步骤:

2.根据权利要求1所述的一种bmc在线升级方法,其特征在于,步骤s1具体包括如下步骤:

3.根据权利要求1所述的一种bmc在线升级方法,其特征在于,步骤s2具体包括如下步骤:

4.根据权利要求1所述的一种bmc在线升级方法,其特征在于,步骤s3具体包括如下步骤:

5.根据权利要求1所述的一种bmc在线升级方法,其特征在于...

【专利技术属性】
技术研发人员:杨宇袁海军彭玉光
申请(专利权)人:中电科思仪科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1