CN111124463A - 一种bmc的批量升级方法、系统及设备 - Google Patents

一种bmc的批量升级方法、系统及设备 Download PDF

Info

Publication number
CN111124463A
CN111124463A CN201911331513.XA CN201911331513A CN111124463A CN 111124463 A CN111124463 A CN 111124463A CN 201911331513 A CN201911331513 A CN 201911331513A CN 111124463 A CN111124463 A CN 111124463A
Authority
CN
China
Prior art keywords
upgrading
thread
upgrade
bmc
information
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.)
Granted
Application number
CN201911331513.XA
Other languages
English (en)
Other versions
CN111124463B (zh
Inventor
刘小雪
李德新
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN201911331513.XA priority Critical patent/CN111124463B/zh
Publication of CN111124463A publication Critical patent/CN111124463A/zh
Application granted granted Critical
Publication of CN111124463B publication Critical patent/CN111124463B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提出的一种BMC的批量升级方法、系统及设备,包括:通过Sevlet程序在配置文件中加载目标机器信息及升级信息,加载完成后为目标机器创建升级任务;在每个目标机器中,将升级信息传递给预设脚本程序;预设脚本程序根据升级信息将对应的镜像文件上传至BMC,并启动升级线程;加载完成后,根据目标机器列表通过循环遍历为每个目标机器创建对应的多线程升级任务。本发明能够大批量的自动升级BMC,并对升级过程的数据并进行统一监控,有效的提高了升级BMC的效率。

Description

一种BMC的批量升级方法、系统及设备
技术领域
本发明涉及BMC升级更新技术领域,更具体的说是涉及一种BMC的批量升级方法、系统及设备。
背景技术
大数据时代对服务器的需求和要求越来越高,后台性能的监控显得尤为重要,这就需要BMC这个平台管理系统,平台管理表示的是一系列的监视和控制功能,操作的对象是系统硬件。比如通过BMC平台管理监视系统的温度、电压、风扇和电源等等,并做相应的调节工作,以保证系统处于健康的状态。同时BMC平台管理还负责记录各种硬件的信息和日志记录,用于提示用户和后续问题的定位。BMC是服务器一个不可或缺的平台管理系统,从而BMC的可操作性和安全性非常重要。
在BMC进行升级时,需要人为辅助进行升级。当升级对象为多台目标机器的BMC时,多个服务器之间的相互切换和命令的重复键入是没有办法被避免的。因此如何大规模的升级BMC,并且保证BMC升级的可靠性,是我们亟待解决的问题。
发明内容
针对以上问题,本发明的目的在于提供一种BMC的批量升级方法、系统及设备,能够大批量的自动升级BMC,并对升级过程的数据并进行统一监控,有效的提高了升级BMC的效率。
本发明为实现上述目的,通过以下技术方案实现:一种BMC的批量升级方法,包括如下步骤:
S1:通过Sevlet程序在配置文件中加载目标机器信息及升级信息,加载完成后为目标机器创建升级任务;
S2:在每个目标机器中,将升级信息传递给预设脚本程序;预设脚本程序根据升级信息将对应的镜像文件上传至BMC,并启动升级线程;
S3:升级线程完成后,将升级过程数据通过Socket实时上传至Servlet程序进行统一监控。
进一步,在所述步骤S1中,加载完成后,根据目标机器列表通过循环遍历为每个目标机器创建对应的多线程升级任务。
进一步,所述目标机器信息包括:目标机器的IP、用户名、密码;所述升级信息包括:升级工具路径、升级文件和升级版本信息。
进一步,所述升级线程包括主线程和子线程,所述主线程用于上传镜像文件和升级工具,并执行预设的BMC升级程序;当主线程上传镜像文件和升级工具后,创建子线程,所述子线程用于监控升级过程中的指标。
进一步,所述子线程挂载到主线程上,与主线程同时进行,当主线程停止后,子线程同步停止;当子线程监控升级出现异常,立即停止当前目标机器的升级过程。
进一步,所述升级过程中的指标包括:升级进度、升级过程中镜像文件大小、CPU使用率。
相应的,本发明还公开了一种BMC的批量升级系统,包括:
升级任务创建单元,用于通过Sevlet程序在配置文件中加载目标机器信息及升级信息,加载完成后为目标机器创建升级任务;
升级单元,用于在每个目标机器中,将升级信息传递给预设脚本程序;预设脚本程序根据升级信息将对应的镜像文件上传至BMC,并启动升级线程;
监控单元,用于升级线程完成后,将升级过程数据通过Socket实时上传至Servlet程序进行统一监控。
相应的,本发明还公开了一种BMC的批量升级设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上文任一项所述BMC的批量升级方法步骤。
对比现有技术,本发明有益效果在于:本发明提供了一种BMC的批量升级方法、系统及设备,以Java为主要开发语言,以python脚本作为辅助。通过Servlet循环遍历目标机器信息,根据目标机器的升级对象选择要执行的脚本,创建升级任务。Servlet创建完升级任务后,将升级信息传递给python脚本程序。Python脚本程序根据路径信息、工具信息、需升级镜像文件等信息,将镜像文件上传至BMC,进行升级。升级过程分为两个线程,主线程负责升级,子线程负责监控升级过程中的异常指标。子线程挂载到主线程上,当主线程停止后,子线程随之结束。一旦子线程监控升级出现异常,立即停止此目标机器的升级过程。升级过程中,python脚本会将升级的监控指标及升级进度等信息将通过socket传输方式上传至Servlet端,由Servlet端统一进行监控。
本发明能够保证BMC升级的可靠性,可以迅速提高升级BMC的效率,方便实施人员使用。提高实施效率,节约人力成本,保证产品质量。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
附图1是本发明的方法流程图。
附图2是本发明的Servlet程序流程图。
附图3是本发明的升级程序流程图。
附图4是本发明的系统结构图。
具体实施方式
下面结合附图对本发明的具体实施方式做出说明。
实施例一:
如图1所示的一种BMC的批量升级方法,包括如下步骤:
S1:通过Sevlet程序在配置文件中加载目标机器信息及升级信息,加载完成后为目标机器创建升级任务。如图2所示,sevlet程序在配置文件中加载目标机器信息和升级信息,加载完信息后,根据机器列表创建多线程任务Task,每个Task对应一台目标机器。
其中,机器信息包括:IP、用户名、密码;升级信息包括:升级工具路径、升级文件及升级版本等。
S2:在每个目标机器中,将升级信息传递给预设脚本程序;预设脚本程序根据升级信息将对应的镜像文件上传至BMC,并启动升级线程。其中,升级线程包括主线程和子线程,所述主线程用于上传镜像文件和升级工具,并执行预设的BMC升级程序;当主线程上传镜像文件和升级工具后,创建子线程,所述子线程用于监控升级过程中的指标。
如图3所示,将升级信息下发至Python脚本程序中,python脚本根据升级的信息,将镜像文件上传至BMC指定目录下。主线程上传完镜像文件及升级工具后,创建子线程Thread_21,Thread_21主要职责是监控升级过程中的指标。主线程与Thread_21同时进行,Thread_21挂载在主线程上,当主线程结束后,子线程随之结束。子线程主要的监控指标是:监控升级进度、监控升级过程中镜像文件大小、监控Cpu使用率,一旦存在不达标者,将退出线程任务。
S3:升级线程完成后,将升级过程数据通过Socket实时上传至Servlet程序进行统一监控。
实施例二:
基于上述实施例,本发明以Java为主要开发语言,以python脚本作为辅助,提供了一种BMC的批量升级方法,具体步骤如下:
1、引入插件:
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Map;
import java.util.Properties;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import com.jcraft.jsch.Session;
import com.jcraft.jsch.SftpException;
import java.util.Timer;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.eagle.common.Config;
2、Servlet获取目标机器信息并将信息传递给Python脚本:
Figure BDA0002329728700000061
Figure BDA0002329728700000071
Figure BDA0002329728700000081
3、Python脚本根据获取升级信息,进行升级:
Figure BDA0002329728700000082
Figure BDA0002329728700000091
Figure BDA0002329728700000101
Figure BDA0002329728700000111
4、Python脚本升级过程中进行监控:
Figure BDA0002329728700000112
Figure BDA0002329728700000121
Figure BDA0002329728700000131
Figure BDA0002329728700000141
5、Python脚本将升级监控指标及升级进度等信息上传至Servlet:
Figure BDA0002329728700000142
6、Servlet收集升级信息,并进行统一监控:
Figure BDA0002329728700000151
Figure BDA0002329728700000161
Figure BDA0002329728700000171
Figure BDA0002329728700000181
相应的,如图4所示,本发明还公开了一种BMC的批量升级系统,包括:
升级任务创建单元,用于通过Sevlet程序在配置文件中加载目标机器信息及升级信息,加载完成后为目标机器创建升级任务。
升级单元,用于在每个目标机器中,将升级信息传递给预设脚本程序;预设脚本程序根据升级信息将对应的镜像文件上传至BMC,并启动升级线程。
监控单元,用于升级线程完成后,将升级过程数据通过Socket实时上传至Servlet程序进行统一监控。
相应的,本发明还公开了一种BMC的批量升级设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上文任一项所述BMC的批量升级方法步骤。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。
同理,在本发明各个实施例中的各处理单元可以集成在一个功能模块中,也可以是各个处理单元物理存在,也可以两个或两个以上处理单元集成在一个功能模块中。
结合附图和具体实施例,对本发明作进一步说明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所限定的范围。

Claims (8)

1.一种BMC的批量升级方法,其特征在于,包括如下步骤:
S1:通过Sevlet程序在配置文件中加载目标机器信息及升级信息,加载完成后为目标机器创建升级任务;
S2:在每个目标机器中,将升级信息传递给预设脚本程序;预设脚本程序根据升级信息将对应的镜像文件上传至BMC,并启动升级线程;
S3:升级线程完成后,将升级过程数据通过Socket实时上传至Servlet程序进行统一监控。
2.根据权利要求1所述的BMC的批量升级方法,其特征在于,在所述步骤S1中,加载完成后,根据目标机器列表通过循环遍历为每个目标机器创建对应的多线程升级任务。
3.根据权利要求1所述的BMC的批量升级方法,其特征在于,所述目标机器信息包括:目标机器的IP、用户名、密码;所述升级信息包括:升级工具路径、升级文件和升级版本信息。
4.根据权利要求1所述的BMC的批量升级方法,其特征在于,所述升级线程包括主线程和子线程,所述主线程用于上传镜像文件和升级工具,并执行预设的BMC升级程序;当主线程上传镜像文件和升级工具后,创建子线程,所述子线程用于监控升级过程中的指标。
5.根据权利要求4所述的BMC的批量升级方法,其特征在于,所述子线程挂载到主线程上,与主线程同时进行,当主线程停止后,子线程同步停止;当子线程监控升级出现异常,立即停止当前目标机器的升级过程。
6.根据权利要求4所述的BMC的批量升级方法,其特征在于,所述升级过程中的指标包括:升级进度、升级过程中镜像文件大小、CPU使用率。
7.一种BMC的批量升级系统,其特征在于,包括:
升级任务创建单元,用于通过Sevlet程序在配置文件中加载目标机器信息及升级信息,加载完成后为目标机器创建升级任务;
升级单元,用于在每个目标机器中,将升级信息传递给预设脚本程序;预设脚本程序根据升级信息将对应的镜像文件上传至BMC,并启动升级线程;
监控单元,用于升级线程完成后,将升级过程数据通过Socket实时上传至Servlet程序进行统一监控。
8.一种BMC的批量升级设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述BMC的批量升级方法步骤。
CN201911331513.XA 2019-12-21 2019-12-21 一种bmc的批量升级方法、系统及设备 Active CN111124463B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911331513.XA CN111124463B (zh) 2019-12-21 2019-12-21 一种bmc的批量升级方法、系统及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911331513.XA CN111124463B (zh) 2019-12-21 2019-12-21 一种bmc的批量升级方法、系统及设备

Publications (2)

Publication Number Publication Date
CN111124463A true CN111124463A (zh) 2020-05-08
CN111124463B CN111124463B (zh) 2023-08-08

Family

ID=70500886

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911331513.XA Active CN111124463B (zh) 2019-12-21 2019-12-21 一种bmc的批量升级方法、系统及设备

Country Status (1)

Country Link
CN (1) CN111124463B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107171833A (zh) * 2017-05-03 2017-09-15 深圳市同泰怡信息技术有限公司 一种通过bmc实现服务器bmc和bios批量升级方法
CN109471646A (zh) * 2018-11-01 2019-03-15 郑州云海信息技术有限公司 一种服务器的bmc版本的升级方法、装置及存储介质
CN110134417A (zh) * 2019-04-16 2019-08-16 深圳市国鑫恒宇科技有限公司 一种基于Python实现BMC批量升级的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107171833A (zh) * 2017-05-03 2017-09-15 深圳市同泰怡信息技术有限公司 一种通过bmc实现服务器bmc和bios批量升级方法
CN109471646A (zh) * 2018-11-01 2019-03-15 郑州云海信息技术有限公司 一种服务器的bmc版本的升级方法、装置及存储介质
CN110134417A (zh) * 2019-04-16 2019-08-16 深圳市国鑫恒宇科技有限公司 一种基于Python实现BMC批量升级的方法

Also Published As

Publication number Publication date
CN111124463B (zh) 2023-08-08

Similar Documents

Publication Publication Date Title
CN108566290B (zh) 服务配置管理方法、系统、存储介质和服务器
CN111459954A (zh) 分布式数据同步方法、装置、设备及介质
CN105095044A (zh) 基于snmp的服务器监控方法和装置
CN112527397A (zh) 基本输入输出系统选项的修改方法、装置和计算机设备
WO2017124799A1 (zh) 固件管理方法和装置
CN112136306A (zh) 多媒体展馆的中央控制系统及其控制方法和装置
CN113821168A (zh) 一种共享存储迁移系统、方法及电子设备和存储介质
US9575531B2 (en) Multi-vendor power distribution unit support in rack management software
WO2019027597A1 (en) WORKFLOW MANAGEMENT FRAMEWORK
CN113220342A (zh) 中心化配置方法、装置、电子设备及存储介质
CN111124463A (zh) 一种bmc的批量升级方法、系统及设备
CN116450353A (zh) 处理器核匹配方法、装置、电子设备及存储介质
CN112230978A (zh) 一种多数据源动态切换方法、电子设备及存储介质
CN115629936A (zh) 获取设备信息的方法及装置、计算机可读存储介质
WO2022134918A1 (zh) 虚拟机属性变更方法和装置、存储介质和电子装置
CN115604095A (zh) 网络设备配置方法及系统
CN114442765A (zh) 计算机设备的风扇控制方法、基板管理控制器及存储介质
CN112416743A (zh) 一种测试控制系统、方法及设备
CN116614323B (zh) 一种基于Rclone的云存储企业网盘管理方法及系统
CN111324374A (zh) 基于应用性能管理系统的应用程序的注册方法和装置
CN113220507B (zh) 双主控系统的版本一致性检验方法及装置
CN114579367B (zh) 数据备份系统、方法及电子设备
CN113485728A (zh) 一种服务器软件升级方法、装置、服务器及存储介质
CN115372803B (zh) 主板测试系统、方法、装置和存储介质
CN113110796B (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
GR01 Patent grant
GR01 Patent grant