CN107193563B - 一种服务器无状态固件版本管理的方法 - Google Patents
一种服务器无状态固件版本管理的方法 Download PDFInfo
- Publication number
- CN107193563B CN107193563B CN201710359110.0A CN201710359110A CN107193563B CN 107193563 B CN107193563 B CN 107193563B CN 201710359110 A CN201710359110 A CN 201710359110A CN 107193563 B CN107193563 B CN 107193563B
- Authority
- CN
- China
- Prior art keywords
- firmware
- file
- storage medium
- version
- smc
- 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 17
- 230000006870 function Effects 0.000 claims description 26
- 230000007246 mechanism Effects 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 3
- 230000004044 response Effects 0.000 abstract description 3
- 108010028984 3-isopropylmalate dehydratase Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005457 optimization 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/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
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)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种服务器无状态固件版本管理的方法,该方法包括以下步骤:在服务器结构内增加文件存储介质;定义文件路径及文件名称;获取所有的固件文件信息并分别存储到共享内存和文件存储介质;建立固件管理模块。本发明通过将服务器内部各种设备的固件版本进行预先存储,避免了服务器内部SMC和设备之间在固件版本更新时的响应,解决了资源占用的情况。
Description
技术领域
本发明涉及服务器监控管理领域,尤其涉及一种服务器在无需响应的状态下对于固件版本管理的方法。
背景技术
随着用户对服务器性能需求的提高,用户对服务器计算节点的需求数量也越来越多。整机柜服务器在对节点的集成和管理上,与传统服务器相比具有很大的优势,并且在实际应用上也越来越广泛。
在整机柜服务器中,SMC(System Management Controller)需要管理交换机、节点等多种设备,针对不同的设备或组件而言,每一种设备或组件一般都有各自的Firmware(固件),在使用过程中,随着设备或组件的升级,又或是服务器的优化等情况,就会导致当前使用的固件版本与设备不匹配,导致整个服务器稳定性不足,这时候,就需要对不同设备的固件版本进行更新,从而保证该服务器的稳定运行。
目前,绝大多数的固件版本更新,都是从服务器外部获取最新的版本信息,在这种更新机制下,需要SMC比对服务器外部版本库与服务器内部设备或组件当前运行的固件版本,并向服务器外部版本库发送固件下载请求,然后向设备和组件发送固件更新的命令并实现固件版本更新,这样一来,在版本更新过程中,SMC、外界版本库、内部设备或组件这三者之间进行数据交互,SMC从设备中实时查找固件版本文件并下载新的固件版本到设备中,由于SMC与设备之间不断响应,服务器内部大量资源被占用,影响服务器进程。
发明内容
为了解决上述问题,本发明提供了一种服务器无状态固件版本管理的方法,通过将服务器内部各种设备的固件版本进行预先存储,避免了服务器内部SMC和设备之间在固件版本更新时的响应,解决了资源占用的情况。
本发明采用以下技术方案:
一种服务器无状态固件版本管理的方法,所述的方法包括以下步骤:
步骤1:在服务器结构内增加文件存储介质;
步骤2:定义文件路径及文件名称;
步骤3:获取所有的固件文件信息并分别存储到共享内存和文件存储介质;
步骤4:建立固件管理模块。
进一步的,在完成步骤4以后,该方法还包括步骤5:设置SMC控制下的固件版本更新机制。
进一步的,步骤5中的固件版本更新机制包括以下步骤:
SMC检测设备的固件版本过低时,向用户发送更新提示,当用户确认后,SMC利用固件管理模块,通过网络、I2C或SPI等方式给对应设备进行升级。
进一步的,步骤1中的文件存储介质设置在存储模块中,且该存储介质仅受控于SMC,与其他设备没有任何连接关系;SMC可以对该存储介质进行读取和写入操作。
进一步的,步骤2中,文件路径的定义标准为:工作路径+文件名称;
文件名称的定义标准为:固件类型+版本号,其中,版本号是各个固件厂商生产固件的时候提供的。
进一步的,所述步骤3的具体实现过程为:
1)SMC底层增加获取固件列表的接口函数dir;
2)通过dir函数遍历所有文件夹下的所有文件;
3)读取的文件名放入共享内存,存放标准为:相同名称的固件存放在一起,并按照版本号从小到大的顺序存放;
4)利用文件路径将读取的文件存放在文件存储介质。
进一步的,所述的固件管理模块为SMC控制下的Web页面并具有查看功能、上传功能、导出功能、删除功能。
本发明的有益效果是:
1、利用共享内存存储固件文件名称,并设立文件路径,通过设置文件存储介质存储固件本本文件,SMC可以直接通过共享内存中的文件名称判断该设备固件版本需不需要更新,并在需要更新时,同步更新文件存储介质和设备内的固件文件,这样一来,在文件更新之前的所有阶段,SMC不需要与设备之间发生访问和响应,更新时直接替换设备内的固件文件即可,大大缩短了对于设备资源占有的时间,提升了服务器的性能。
2、通过设置固件管理模块,利用Web页面直观且操作简易的特性,实现查看功能、上传功能、导出功能、删除功能,大大提升了对于固件文件的总能和管理能力。
附图说明
图1是本发明方法流程图;
图2是本发明文件名称定义示例图。
具体实施方式
如图1所示,一种服务器无状态固件版本管理的方法,所述的方法包括以下步骤:
步骤1:在服务器结构内增加文件存储介质,文件存储介质包括但不限于SD卡、硬盘等这个安装在服务器结构下的存储模块中,该存储介质仅受控于SMC(SystemManagement Controller),与其他设备没有任何连接关系,并且SMC可以对该存储介质进行读取和写入操作。
步骤2:定义文件路径及文件名称,文件路径的定义标准为:工作路径+文件名称;文件名称的定义标准为:固件类型+版本号,其中,版本号是各个固件厂商生产固件的时候提供的。
文件名称定义的示例如图2所示,fw_version是总的文件夹的名称,下面显示了4种固件的名称,分别是SWITCH、BIOS、BMC、RAID,但是固件名称并不限于这四种,每一个固件名称下面均有若干固件文件名称,例如SWITCH下面有switch_version_1/switch_version_2/switch_version_3等文件夹。
步骤3:获取所有的固件文件信息并分别存储到共享内存和文件存储介质,具体步骤为:
1)SMC底层增加获取固件列表的接口函数dir;
2)通过dir函数遍历所有文件夹下的所有文件;
3)读取的文件名放入共享内存,由于仅仅存放文件名,因此共享内存是足够大的,并不需要进行存储方面的特别限制,不同名称的固件可以随意存储,仅仅需要将相同名称的固件存放在一起,并按照版本号从小到大的顺序存放;
4)利用文件路径将读取的文件存放在文件存储介质。
步骤4:建立固件管理模块,该固件管理模块为SMC控制下的Web页面并具有查看功能、上传功能、导出功能、删除功能。其中,查看功能可以通过发送IPMI命令从底层的共享内存获取版本号并分类显示。上传功能可以通过网络发送PC端固件到底层,并指定文件夹存储,然后更新共享内存;上传完成后,原有数据若被修改,就是修改以后的数据,没有被修改就不变。导出功能可以通过window.open直接导出选择的固件并在PC端本地存储。删除功能通过发送命令给底层,底层执行system函数实现文件删除,删除完成后,已经删除的原数据被完全删除,无法还原,以后想要使用的话,只能再次上传。
步骤5:设置SMC控制下的固件版本更新机制,固件版本更新机制包括以下步骤:当SMC检测到BMC、交换机等设备的固件版本过低时,能够提示用户并实现一键升级,即当用户确认后,将版本库中的固件通过网络、I2C或SPI等方式给对应设备进行升级。
对于如何检测固件版本,本发明提供了一种思路:根据命名规则中版本号中的数字来检测。比如switch_version_1和switch_version_2中会去对比后面的数字1和2。RAID的46.1.1.11和46.1.1.12这类的,会从前往后对比。就会先比较最前面的46,一样的话再对比46后面的1,又一样再对比后面的1,还一样再对比11和12。我们根据这样的对比原理,在用户上传了最新的版本之后,会去对比当前固件是不是最新的,不是的话就提醒用户更新。
对于版本库而言,版本库获取的新版本是用户自己手动上传的,上传新版本以后,版本库里既有新版本又有旧版本。每次用户上传完新版本,SMC都会去通过版本号检测当前固件的版本是不是最新的,不是的话提示用户更新。同时,会有一个web页面显示所有的固件版本,用户可以在版本库一目了然的看到每个固件的版本名称,方便以后的管理。
应当指出,以上所述具体实施方式可以使本领域的技术人员更全面地理解本发明的具体结构,但不以任何方式限制本发明创造。因此,尽管说明书及附图和实施例对本发明创造已进行了详细的说明,但是,本领域技术人员应当理解,仍然可以对本发明创造进行修改或者等同替换;而一切不脱离本发明创造的精神和范围的技术方案及其改进,其均涵盖在本发明创造专利的保护范围当中。
Claims (1)
1.一种服务器无状态固件版本管理的方法,其特征在于,所述的方法包括以下步骤:
步骤1:在服务器结构内增加文件存储介质;
步骤1中的文件存储介质包括但不限于SD卡、硬盘,文件存储介质设置在服务器原有存储模块中,且该文件存储介质仅受控于SMC,与其他设备没有任何连接关系;SMC可以对该文件存储介质进行读取和写入操作;
步骤2:定义文件路径及文件名称;
步骤2中,文件路径的定义标准为:工作路径+文件名称;文件名称的定义标准为:固件类型+版本号,其中,版本号是各个固件厂商生产固件的时候提供的;
步骤3:获取所有的固件文件信息并分别存储到共享内存和文件存储介质;
所述步骤3的具体实现过程为:
1)SMC底层增加获取固件列表的接口函数dir;
2)通过dir函数遍历所有文件夹下的所有文件;
3)将读取到的固件的文件名称放入共享内存,存放标准为:相同类型的固件的文件名称存放在一起;
4)利用文件路径将读取的固件文件存放在文件存储介质;
步骤4:建立固件管理模块;
所述的固件管理模块为SMC控制下的Web页面并具有查看功能、上传功能、导出功能、删除功能;
步骤5:设置SMC控制下的固件版本更新机制;
步骤5中的固件版本更新机制包括以下步骤:
SMC查询共享内存中固件的文件名称,当检测设备的固件版本过低时,向用户发送更新提示,当用户确认后,SMC利用固件管理模块,通过网络、I2C或SPI方式同步更新文件存储介质和设备内的固件文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710359110.0A CN107193563B (zh) | 2017-05-19 | 2017-05-19 | 一种服务器无状态固件版本管理的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710359110.0A CN107193563B (zh) | 2017-05-19 | 2017-05-19 | 一种服务器无状态固件版本管理的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107193563A CN107193563A (zh) | 2017-09-22 |
CN107193563B true CN107193563B (zh) | 2021-05-25 |
Family
ID=59874795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710359110.0A Active CN107193563B (zh) | 2017-05-19 | 2017-05-19 | 一种服务器无状态固件版本管理的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107193563B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107844311A (zh) * | 2017-10-25 | 2018-03-27 | 郑州云海信息技术有限公司 | 一种服务器固件升级方法及装置 |
CN110515641A (zh) * | 2019-08-30 | 2019-11-29 | 西安易朴通讯技术有限公司 | 服务器固件的更新方法、装置及系统 |
CN112748948B (zh) * | 2021-01-07 | 2022-06-07 | 苏州浪潮智能科技有限公司 | PCIe switch工作模式更新方法及相关组件 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1859191A (zh) * | 2006-02-14 | 2006-11-08 | 华为技术有限公司 | 一种软件版本升级的实现方法 |
CN1885258A (zh) * | 2005-06-20 | 2006-12-27 | 中兴通讯股份有限公司 | 一种多软件版本集中管理和使用的系统及方法 |
US20110302567A1 (en) * | 2010-06-07 | 2011-12-08 | International Business Machines Corporation | Updating software in an information handling system |
CN102707976A (zh) * | 2012-05-14 | 2012-10-03 | 中兴通讯股份有限公司 | 一种atca系统及其管理固件版本的方法 |
CN103138969A (zh) * | 2011-11-28 | 2013-06-05 | 英业达科技有限公司 | 服务器机架系统 |
US20140201727A1 (en) * | 2013-01-17 | 2014-07-17 | International Business Machines Corporation | Updating firmware compatibility data |
CN106681779A (zh) * | 2017-02-07 | 2017-05-17 | 济南浪潮高新科技投资发展有限公司 | 一种集中更新bios固件的方法 |
-
2017
- 2017-05-19 CN CN201710359110.0A patent/CN107193563B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1885258A (zh) * | 2005-06-20 | 2006-12-27 | 中兴通讯股份有限公司 | 一种多软件版本集中管理和使用的系统及方法 |
CN1859191A (zh) * | 2006-02-14 | 2006-11-08 | 华为技术有限公司 | 一种软件版本升级的实现方法 |
US20110302567A1 (en) * | 2010-06-07 | 2011-12-08 | International Business Machines Corporation | Updating software in an information handling system |
CN103138969A (zh) * | 2011-11-28 | 2013-06-05 | 英业达科技有限公司 | 服务器机架系统 |
CN102707976A (zh) * | 2012-05-14 | 2012-10-03 | 中兴通讯股份有限公司 | 一种atca系统及其管理固件版本的方法 |
US20140201727A1 (en) * | 2013-01-17 | 2014-07-17 | International Business Machines Corporation | Updating firmware compatibility data |
CN106681779A (zh) * | 2017-02-07 | 2017-05-17 | 济南浪潮高新科技投资发展有限公司 | 一种集中更新bios固件的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107193563A (zh) | 2017-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021217871A1 (zh) | 微服务集群部署方法、装置、计算机设备及存储介质 | |
CN102667772B (zh) | 文件级分级存储管理系统、方法和设备 | |
US11687488B2 (en) | Directory deletion method and apparatus, and storage server | |
CN103098024B (zh) | 移动中间设备场景中的成员跟踪和数据逐出 | |
KR101373461B1 (ko) | 클라우드 서비스를 이용하기 위한 단말기 및 방법 | |
CN103309754B (zh) | 终端和数据分区管理方法 | |
JP2004227359A (ja) | ポリシーに基づいたストレージシステムの運用管理方法 | |
CN107193563B (zh) | 一种服务器无状态固件版本管理的方法 | |
WO2009012696A1 (fr) | Procédé de gestion de configuration de lot de dispositifs de communication et son appareil | |
CN107483241B (zh) | 一种在网元升级过程中下载升级镜像版本的方法和装置 | |
CN103634144A (zh) | 多idc集群的配置文件管理方法、系统和设备 | |
CN110520844A (zh) | 云管理平台、虚拟机管理方法及其系统 | |
CN104737135A (zh) | 信息处理终端、同步控制方法以及同步控制程序 | |
CN103024065A (zh) | 用于云存储系统的系统配置管理方法 | |
CN104081376A (zh) | 使用分布式文件系统协议远程维持系统固件映像 | |
CN111371891B (zh) | 业务处理方法、装置、设备及存储介质 | |
CN109726546A (zh) | 一种权限管理方法及装置 | |
CN104793981A (zh) | 一种虚拟机集群的在线快照管理方法及装置 | |
CN106294842A (zh) | 一种数据交互方法、平台及分布式文件系统 | |
CN102880478A (zh) | 软件更新方法 | |
CN115517009B (zh) | 集群管理方法、集群管理装置、存储介质与电子设备 | |
CN109495298B (zh) | 在OpenStack系统中管理节点的方法和装置 | |
CN117032889A (zh) | 一种新云数据库容器化部署方法、系统、电子设备及介质 | |
CN102867029A (zh) | 一种管理分布式文件系统目录的方法及分布式文件系统 | |
CN107861761B (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 |