CN105022645A - 一种大规模更新管理模块固件的实现方法 - Google Patents
一种大规模更新管理模块固件的实现方法 Download PDFInfo
- Publication number
- CN105022645A CN105022645A CN201510329881.6A CN201510329881A CN105022645A CN 105022645 A CN105022645 A CN 105022645A CN 201510329881 A CN201510329881 A CN 201510329881A CN 105022645 A CN105022645 A CN 105022645A
- Authority
- CN
- China
- Prior art keywords
- firmware
- script
- administration module
- expect
- implementation method
- 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.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开一种大规模更新管理模块固件的实现方法,属于服务器技术及固件更新领域;设置全部管理模块在同一网络中,指定提供DHCP和TFTP的服务器系统,各个板级管理模块BMC通过LAN交换机与系统级管理模块AMM连接,并通过网络进行通信;利用Shell和Expect脚本的命令行更新固件:管理模块BMC的固件通过Shell脚本中控制程序的Telnet工具登录到AMM管理模块;通过Expect脚本中负责获取网络内所有管理模块的IP地址的程序将所有管理模块的IP地址写入文件;再通过Expect脚本中更新固件程序读取IP地址文件,循环调用该Expect脚本使固件更新直至完成所有管理模块的固件更新。
Description
技术领域
本发明公开一种固件的实现方法,属于服务器技术及固件更新领域,具体地说是一种大规模更新管理模块固件的实现方法。
背景技术
在云技术飞速发展的今天,具有较高计算密度、良好的架构部署、以及便于集中管理等优点的多单元服务器系统已经在各行各业得到大量应用。多单元服务器系统是集服务器、网络、存储、I/O、管理于一体的计算平台。监控系统是多单元服务器正常工作的保障,主要由板级管理模块(BMC,Baseboard Management Controller)和系统级管理模块(AMM,Advanced Management Module)组成。其中AMM负责整个系统的集中管理,主要功能:为机箱中所有的服务器单元提供本地及远程KVM(Keyboard,Video,Mouse)支持;通过以太网管理端口,借助Java技术实现对系统的远程管理;对系统中所有的部件进行监控、配置和维护。BMC主要负责对所在服务器板卡进行监控、配置和维护以及与AMM进行通信。
BMC和AMM的固件是负责实现管理功能,主要为BMC和AMM管理模块的芯片,加电会自动运行程序。随着各种硬件的扩展子卡不断的推出新品和升级换代,管理模块的固件也必须随之升级,才能实现对新硬件的管理。另外,新升级的固件能够修复原固件中的bug,对系统的稳定起到重要的作用。因此,管理模块的固件定期更新是一项常规的维护工作。但是目前系统中对管理模块的固件更新主要还是采用不同管理模块分别更新的方式。对于多单元服务器系统中同时更新数量众多的管理模块来说,需要耗费巨大的人力物力,并且逐一更新,操作复杂,十分不便,效率很低。本发明提供一种大规模更新管理模块固件的实现方法,实现能够同时更新多个管理模块固件,尤其针对多单元服务器系统中管理模块的固件更新,建立方法后,操作简单易行,工作效率大大提高。
发明内容
本发明针对目前系统中对管理模块的固件更新主要还是采用不同管理模块分别更新的方式,对多单元服务器系统中更新数量众多的管理模块来说,需要耗费大量的人力物力的问题,提供一种大规模更新管理模块固件的实现方法,实现能够同时更新多个管理模块固件。
本发明提出的具体方案是:
一种大规模更新管理模块固件的实现方法,设置全部管理模块在同一网络中,指定提供DHCP和TFTP的服务器系统,各个板级管理模块BMC通过LAN交换机与系统级管理模块AMM连接,并通过网络进行通信;
利用Shell和Expect脚本的命令行更新固件:管理模块BMC的固件通过Shell控制脚本的Telnet工具登录到AMM管理模块;通过Expect获取脚本获取网络内所有管理模块的IP地址并写入文件;再通过Expect更新脚本读取IP地址文件,循环调用该Expect脚本使固件更新直至完成所有管理模块的固件更新。
所述Shell控制脚本利用Telnet工具登录到AMM管理模块后,执行相应的控制命令,通过循环来自动完成多个BMC管理模块的固件登录,并将固件更新进程放入后台运行,以同时执行多个更新进程。
所述Shell控制脚本设定延迟一定的时间后,将所有升级后的进程kill掉。
所述Expect获取脚本发现网络中所有管理模块的IP地址后,将Telnet中需要的IP地址、用户名和密码三个变量进行赋值,然后请求Telnet访问,成功之后,执行命令让其发现网络中所有BMC的IP地址。
所述Expect更新脚本将Telnet中需要的IP地址、用户名和密码三个变量进行赋值,然后请求Telnet访问,成功之后,执行升级命令;Shell脚本中控制程序读取IP地址,并循环调用此脚本来实现多个BMC固件并行更新。
将利用Shell和Expect脚本的命令行更新固件的抽象的命令行更新方式转化为直观的WEB方式,将固件更新功能进行页面显示。
所述页面显示包括给出固件更新的步骤,其包括关闭相关进程、准备硬件过程、上传固件镜像文件、验证镜像文件、更新固件、重启系统。
本发明的有益之处是:本发明设置全部管理模块在同一网络中,指定提供DHCP和TFTP的服务器系统,各个板级管理模块BMC通过LAN交换机与系统级管理模块AMM连接,并利用Shell和Expect脚本的命令行更新固件,实现能够同时更新多个管理模块固件,尤其针对多单元服务器系统中管理模块的固件更新,建立方法后,操作简单易行,工作效率大大提高。
附图说明
图1本发明的网络拓扑示意图;
图2管理模块的固件更新流程示意图。
图3文件传输协议界面示意图。
具体实施方式
结合附图对本发明做进一步说明。
一种大规模更新管理模块固件的实现方法,设置全部管理模块在同一网络中,指定提供DHCP和TFTP的服务器系统,各个板级管理模块BMC通过LAN交换机与系统级管理模块AMM连接,并通过网络进行通信;对TFTP协议配置菜单,在弹出的协议配置页面中选择TFTP协议,参考图3。
利用Shell和Expect脚本的命令行更新固件:
管理模块BMC的固件通过Shell脚本中control.sh用来执行整个程序过程,包括使用Telnet工具登录到AMM管理模块,Telnet工具登录到AMM管理模块后,执行相应的控制命令,通过循环来自动完成多个BMC管理模块的固件登录,并将固件更新进程放入后台运行,以同时执行多个更新进程,此外可以设定延迟一定的时间,比如为1200秒,将所有升级后的进程kill掉,有利于保证所有BMC固件升级完成;control.sh命令行主要代码如下:
通过Expect脚本中getallip.tcl将所有管理模块的IP地址写入文件,过程为发现网络中所有管理模块的IP地址后,将Telnet中需要的IP地址、用户名和密码三个变量进行赋值,然后请求Telnet访问,成功之后,执行remotechassis–T mm命令让其发现网络中所有BMC的IP地址;getallip.tcl命令行主要代码如下:
再通过Expect脚本中update.tcl读取IP地址文件,循环调用该Expect脚本使固件更新直至完成所有管理模块的固件更新,过程为将Telnet中需要的IP地址、用户名和密码三个变量进行赋值,然后请求Telnet访问,成功之后,执行升级命令;control.sh会读取ip.out中IP地址,并循环调用此脚本来实现多个BMC固件并行更新;update.tcl命令行主要代码如下:
此外还可将利用Shell和Expect脚本的命令行更新固件的抽象的命令行更新方式转化为直观的WEB方式,将固件更新功能进行页面显示:包括给出固件更新的步骤,其包括关闭相关进程、准备硬件过程、上传固件镜像文件、验证镜像文件、更新固件、重启系统。
Claims (7)
1.一种大规模更新管理模块固件的实现方法,其特征是设置全部管理模块在同一网络中,指定提供DHCP和TFTP的服务器系统,各个板级管理模块BMC通过LAN 交换机与系统级管理模块AMM连接,并通过网络进行通信;
利用Shell和Expect脚本的命令行更新固件:管理模块BMC的固件通过Shell控制脚本的Telnet工具登录到AMM管理模块;通过Expect获取脚本获取网络内所有管理模块的IP地址并写入文件;再通过Expect更新脚本读取IP地址文件,循环调用该Expect脚本使固件更新直至完成所有管理模块的固件更新。
2.根据权利要求1所述的一种大规模更新管理模块固件的实现方法,其特征是所述Shell控制脚本利用Telnet工具登录到AMM管理模块后,执行相应的控制命令,通过循环来自动完成多个BMC管理模块的固件登录,并将固件更新进程放入后台运行,以同时执行多个更新进程。
3.根据权利要求2所述的一种大规模更新管理模块固件的实现方法,其特征是所述Shell控制脚本中设定延迟一定的时间后,将所有升级后的进程 kill 掉。
4.根据权利要求1或3所述的一种大规模更新管理模块固件的实现方法,其特征是所述Expect获取脚本发现网络中所有管理模块的IP地址后,将Telnet中需要的 IP 地址、用户名和密码三个变量进行赋值,然后请求 Telnet 访问,成功之后,执行命令让其发现网络中所有BMC的 IP 地址。
5.根据权利要求4所述的一种大规模更新管理模块固件的实现方法,其特征是所述Expect更新脚本将Telnet中需要的 IP 地址、用户名和密码三个变量进行赋值,然后请求Telnet 访问,成功之后,执行升级命令;Shell脚本中控制程序读取IP 地址,并循环调用此脚本来实现多个BMC固件并行更新。
6.根据权利要求1或5所述一种大规模更新管理模块固件的实现方法,其特征是将利用Shell和Expect脚本的命令行更新固件的抽象的命令行更新方式转化为直观的WEB方式,将固件更新功能进行页面显示。
7.根据权利要求6所述一种大规模更新管理模块固件的实现方法,其特征是所述页面显示包括给出固件更新的步骤,其包括关闭相关进程、准备硬件过程、上传固件镜像文件、验证镜像文件、更新固件、重启系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510329881.6A CN105022645A (zh) | 2015-06-15 | 2015-06-15 | 一种大规模更新管理模块固件的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510329881.6A CN105022645A (zh) | 2015-06-15 | 2015-06-15 | 一种大规模更新管理模块固件的实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105022645A true CN105022645A (zh) | 2015-11-04 |
Family
ID=54412635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510329881.6A Pending CN105022645A (zh) | 2015-06-15 | 2015-06-15 | 一种大规模更新管理模块固件的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105022645A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105516359A (zh) * | 2016-01-19 | 2016-04-20 | 浪潮电子信息产业股份有限公司 | 利用telnet协议对SAS Switch JBOD进行管理操作的方法 |
CN106911507A (zh) * | 2017-02-28 | 2017-06-30 | 郑州云海信息技术有限公司 | 一种用于整机柜服务器bmc固件更新管理的方法及系统 |
CN107423081A (zh) * | 2017-04-14 | 2017-12-01 | 广东浪潮大数据研究有限公司 | 一种带外批量升级bmc固件的方法 |
CN107733700A (zh) * | 2017-09-28 | 2018-02-23 | 郑州云海信息技术有限公司 | 一种单台、批量服务器bmc的远程刷新方法及系统 |
CN108196857A (zh) * | 2017-12-07 | 2018-06-22 | 山东超越数控电子股份有限公司 | 一种基于网络更新uefi固件的方法 |
CN108804114A (zh) * | 2017-04-27 | 2018-11-13 | 广达电脑股份有限公司 | 用于服务器装置的固件以及自定义设定的设定方法 |
CN108874435A (zh) * | 2018-05-29 | 2018-11-23 | 郑州云海信息技术有限公司 | 一种服务器BMC Web自动刷新方法 |
CN109450679A (zh) * | 2018-11-01 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种网络信息配置方法与装置 |
CN111475185A (zh) * | 2020-03-11 | 2020-07-31 | 苏州浪潮智能科技有限公司 | 一种跨大版本稳定升级bmc镜像的方法及系统 |
WO2022056881A1 (en) * | 2020-09-18 | 2022-03-24 | ARRIS Enterprises, LLC | Enhancing firmware upgrades in electronic devices included in a network |
CN115150345A (zh) * | 2022-06-28 | 2022-10-04 | 苏州浪潮智能科技有限公司 | 白盒交换机的bmc的管理方法、装置和白盒交换机 |
CN116466973A (zh) * | 2023-04-24 | 2023-07-21 | 合芯科技有限公司 | 一种多并发固件升级方法、系统、计算机设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1466048A (zh) * | 2002-07-02 | 2004-01-07 | 联想(北京)有限公司 | 机群系统自动初始化和自动内核升级的系统 |
US20040244008A1 (en) * | 2003-05-29 | 2004-12-02 | Myung-Jae Lee | Method of implementing Linux-based embedded system for mobile communication |
CN104375859A (zh) * | 2014-10-29 | 2015-02-25 | 浪潮电子信息产业股份有限公司 | 一种Rack整机柜批量刷新节点BMC的方法 |
CN104572227A (zh) * | 2015-02-06 | 2015-04-29 | 浪潮电子信息产业股份有限公司 | 一种基于安腾平台通过bmc刷新cpld fw方法 |
-
2015
- 2015-06-15 CN CN201510329881.6A patent/CN105022645A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1466048A (zh) * | 2002-07-02 | 2004-01-07 | 联想(北京)有限公司 | 机群系统自动初始化和自动内核升级的系统 |
US20040244008A1 (en) * | 2003-05-29 | 2004-12-02 | Myung-Jae Lee | Method of implementing Linux-based embedded system for mobile communication |
CN104375859A (zh) * | 2014-10-29 | 2015-02-25 | 浪潮电子信息产业股份有限公司 | 一种Rack整机柜批量刷新节点BMC的方法 |
CN104572227A (zh) * | 2015-02-06 | 2015-04-29 | 浪潮电子信息产业股份有限公司 | 一种基于安腾平台通过bmc刷新cpld fw方法 |
Non-Patent Citations (1)
Title |
---|
田晨: "一种大规模更新管理模块固件的实现方法", 《HTTPS://WWW.IBM.COM/DEVELOPERWORKS/CN/LINUX/L-CN-FIRMUPGRADE/》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105516359A (zh) * | 2016-01-19 | 2016-04-20 | 浪潮电子信息产业股份有限公司 | 利用telnet协议对SAS Switch JBOD进行管理操作的方法 |
CN106911507B (zh) * | 2017-02-28 | 2020-02-07 | 苏州浪潮智能科技有限公司 | 一种用于整机柜服务器bmc固件更新管理的方法及系统 |
CN106911507A (zh) * | 2017-02-28 | 2017-06-30 | 郑州云海信息技术有限公司 | 一种用于整机柜服务器bmc固件更新管理的方法及系统 |
CN107423081A (zh) * | 2017-04-14 | 2017-12-01 | 广东浪潮大数据研究有限公司 | 一种带外批量升级bmc固件的方法 |
CN108804114A (zh) * | 2017-04-27 | 2018-11-13 | 广达电脑股份有限公司 | 用于服务器装置的固件以及自定义设定的设定方法 |
CN107733700A (zh) * | 2017-09-28 | 2018-02-23 | 郑州云海信息技术有限公司 | 一种单台、批量服务器bmc的远程刷新方法及系统 |
CN108196857A (zh) * | 2017-12-07 | 2018-06-22 | 山东超越数控电子股份有限公司 | 一种基于网络更新uefi固件的方法 |
CN108874435A (zh) * | 2018-05-29 | 2018-11-23 | 郑州云海信息技术有限公司 | 一种服务器BMC Web自动刷新方法 |
CN109450679A (zh) * | 2018-11-01 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种网络信息配置方法与装置 |
CN111475185A (zh) * | 2020-03-11 | 2020-07-31 | 苏州浪潮智能科技有限公司 | 一种跨大版本稳定升级bmc镜像的方法及系统 |
WO2022056881A1 (en) * | 2020-09-18 | 2022-03-24 | ARRIS Enterprises, LLC | Enhancing firmware upgrades in electronic devices included in a network |
CN115150345A (zh) * | 2022-06-28 | 2022-10-04 | 苏州浪潮智能科技有限公司 | 白盒交换机的bmc的管理方法、装置和白盒交换机 |
CN115150345B (zh) * | 2022-06-28 | 2023-08-18 | 苏州浪潮智能科技有限公司 | 白盒交换机的bmc的管理方法、装置和白盒交换机 |
CN116466973A (zh) * | 2023-04-24 | 2023-07-21 | 合芯科技有限公司 | 一种多并发固件升级方法、系统、计算机设备及存储介质 |
CN116466973B (zh) * | 2023-04-24 | 2024-04-05 | 合芯科技有限公司 | 一种多并发固件升级方法、系统、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105022645A (zh) | 一种大规模更新管理模块固件的实现方法 | |
US20140129819A1 (en) | Cloud cluster system and boot deployment method for the same | |
CN108089913B (zh) | 一种超融合系统的虚拟机部署方法 | |
CN105242940A (zh) | 一种集中固件更新方法 | |
CN111245898A (zh) | 一种网络设备上线方法、装置、服务器及存储介质 | |
US10333785B2 (en) | Server information handling system configuration by peer-to-peer networking | |
CN104375860A (zh) | 一种对高密度机柜节点bmc批量刷新的方法 | |
CN109039788B (zh) | 网络设备的端口配置方法、装置和存储介质 | |
CN101739287A (zh) | 管理虚拟机的装置、系统和方法 | |
US9940275B2 (en) | System and method to avoid SMBus address conflicts via a baseboard management controller | |
CN109474467B (zh) | 网络自动化管理方法、装置、存储介质及电子设备 | |
CN106980493B (zh) | 固件管理方法和装置 | |
US20190205109A1 (en) | Computer system, baseboard management controller, and os installation method | |
CN107193605A (zh) | 一种操作系统的安装方法及系统 | |
CN103117874A (zh) | 一种刀片服务器管理网络快速配置方法 | |
CN105119732A (zh) | 一种在集群环境中部署主机的设备和方法 | |
CN111782283A (zh) | 一种裸金属服务器的自动化管理方法、装置及介质 | |
CN108989123A (zh) | 一种服务器配置方法及装置 | |
CN111966419A (zh) | 一种信号调节设备自动分配vpp地址的方法及装置 | |
CN111427602A (zh) | 一种vpx机箱的智能平台管理控制器在线升级固件的方法 | |
CN114650223A (zh) | 一种Kubernetes集群的网络配置方法、装置及电子设备 | |
CN108234172A (zh) | 一种用于云计算的物理资源自动部署系统 | |
CN107733717B (zh) | 一种云平台移动式运维的网络配置方法 | |
CN107547277B (zh) | 一种虚拟化控制板实现方法及网络通信设备 | |
CN105487621A (zh) | 一种电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151104 |