CN114995840A - 一种bmc启动方法及相关组件 - Google Patents
一种bmc启动方法及相关组件 Download PDFInfo
- Publication number
- CN114995840A CN114995840A CN202210751050.8A CN202210751050A CN114995840A CN 114995840 A CN114995840 A CN 114995840A CN 202210751050 A CN202210751050 A CN 202210751050A CN 114995840 A CN114995840 A CN 114995840A
- Authority
- CN
- China
- Prior art keywords
- storage medium
- counter
- memory
- bmc
- image file
- 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
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000004590 computer program Methods 0.000 claims description 15
- 230000005856 abnormality Effects 0.000 claims description 10
- 238000009825 accumulation Methods 0.000 claims description 4
- 230000002159 abnormal effect Effects 0.000 abstract description 34
- 238000010586 diagram Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000750 progressive effect Effects 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/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1438—Restarting or rejuvenating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种BMC启动方法及相关组件,涉及服务器领域,首先当boot loader启动时,控制计数器的输出值加一,然后控制boot loader调用主用存储介质中的固件镜像文件,以便boot loader在固件镜像文件中加载数据至BMC对应的内存中;内核正常加载至内存证明主用存储介质及固件镜像文件可以被正常使用,因此将计数器的输出值清零;在内核未正常加载至内存时,若计数器的当前输出值大于预设阈值证明主用存储介质多次出现异常,确定主用存储介质无法正常使用,此时控制boot loader重新启动并控制boot loader调用备用存储介质中的固件镜像文件,保证了BMC的正常启动。
Description
技术领域
本发明涉及服务器领域,特别是涉及一种BMC启动方法及相关组件。
背景技术
随着信息技术的不断发展,各行业对服务器的需求激增,对服务器运行状态进行监控的BMC(Baseboard Management Controller,基板管理控制器)也得到了极大发展。BMC的启动过程大致可以分为:boot loader从存储介质中调用固件镜像文件以加载数据到指定的内存、将内核加载至指定的内存、将文件系统加载至指定的内存以及启动应用程序。但是预先向存储介质中烧写的固件镜像文件可能会出现异常,或者存储介质本身也可能会出现异常,这些情况都会导致BMC无法正常启动,进而使服务器受到影响。
发明内容
本发明的目的是提供一种BMC启动方法及相关组件,能够保证BMC的正常启动,进而对服务器的正常工作提供保证。
为解决上述技术问题,本发明提供了一种BMC启动方法,其特征在于,包括:
当boot loader启动时,控制计数器的输出值加一;
控制所述boot loader调用主用存储介质中的固件镜像文件,以便所述bootloader在所述固件镜像文件中加载数据至BMC对应的内存中;
在内核正常加载至所述内存后,将所述计数器的输出值清零;
在所述内核未正常加载至所述内存时,若所述计数器的当前输出值大于预设阈值则控制所述boot loader重新启动并控制所述boot loader调用备用存储介质中的固件镜像文件。
优选的,在控制所述boot loader调用主用存储介质中的固件镜像文件之后,还包括:
判断文件系统是否能正常加载至所述内存中;
在所述文件系统能够正常加载至所述内存钟时,进入将所述计数器的输出值清零的步骤;
在所述文件系统无法正常加载至所述内存中时,进入若所述计数器的当前输出值大于预设阈值则控制所述boot loader重新启动并控制所述boot loader调用备用存储介质中的固件镜像文件的步骤。
优选的,在控制所述boot loader调用主用存储介质中的固件镜像文件之后,还包括:
判断应用程序是否能正常启动;
在所述应用程序能正常启动时,进入将所述计数器的输出值清零的步骤;
在所述应用程序不能正常启动时,进入若所述计数器的当前输出值大于预设阈值则控制所述boot loader重新启动并控制所述boot loader调用备用存储介质中的固件镜像文件的步骤。
优选的,在所述内核未正常加载至所述内存时且所述计数器的当前输出值大于预设阈值之后,还包括:
将所述主用存储介质的硬件升级标识标记为不可用标识,其中,所述硬件升级标识包括可用标识和所述不可用标识。
优选的,在所述内核未正常加载至所述内存时且所述计数器的当前输出值大于预设阈值之后,还包括:
生成用于提示所述主用存储介质出现异常的告警信息并将所述告警信息发送至客户端。
优选的,在所述内核未正常加载至所述内存时且所述计数器的当前输出值大于预设阈值之后,还包括:
将所述备用存储介质中的固件镜像文件烧写至所述主用存储介质中。
为解决上述技术问题本发明还提供了一种BMC启动系统,包括:
计数器累加单元,用于当boot loader启动时,控制计数器的输出值加一;
镜像文件调用单元,用于控制所述boot loader调用主用存储介质中的固件镜像文件,以便所述boot loader在所述固件镜像文件中加载数据至BMC对应的内存中;
计数器清零单元,用于在内核正常加载至所述内存后,将所述计数器的输出值清零;
存储介质切换单元,用于在所述内核未正常加载至所述内存时,若所述计数器的当前输出值大于预设阈值则控制所述boot loader重新启动并控制所述boot loader调用备用存储介质中的固件镜像文件。
优选的,还包括:
文件系统加载判断单元,用于在控制所述boot loader调用主用存储介质中的固件镜像文件之后,判断文件系统是否能正常加载至所述内存中;在所述文件系统能够正常加载至所述内存中时,触发所述计数器清零单元;在所述文件系统无法正常加载至所述内存中时,触发所述存储介质切换单元。
优选的,还包括:
应用程序启动判断单元,用于在控制所述boot loader调用主用存储介质中的固件镜像文件之后,判断应用程序是否能正常启动;在所述应用程序能正常启动时,触发所述计数器清零单元;在所述应用程序不能正常启动时,触发所述存储介质切换单元。
优选的,还包括:
标记单元,用于在所述内核未正常加载至所述内存时且所述计数器的当前输出值大于预设阈值之后,将所述主用存储介质的硬件升级标识标记为不可用标识,其中,所述硬件升级标识包括可用标识和所述不可用标识。
优选的,还包括:
告警提示单元,用于在所述内核未正常加载至所述内存时且所述计数器的当前输出值大于预设阈值之后,生成用于提示所述主用存储介质出现异常的告警信息并将所述告警信息发送至客户端。
优选的,还包括:
镜像文件烧写单元,用于在所述内核未正常加载至所述内存时且所述计数器的当前输出值大于预设阈值之后,将所述备用存储介质中的固件镜像文件烧写至所述主用存储介质中。
为解决上述技术问题本发明还提供了一种BMC启动装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述BMC启动方法的步骤。
为解决上述技术问题本发明还提供了一种服务器,包括上述的BMC启动装置。
为解决上述技术问题本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述BMC启动方法的步骤。
综上,本发明公开了一种BMC启动方法及相关组件,首先当boot loader启动时,控制计数器的输出值加一以便后续基于计数器的输出值判断主用存储介质是否出现异常;控制boot loader调用主用存储介质中的固件镜像文件,以便boot loader在固件镜像文件中加载数据至BMC对应的内存中;内核正常加载至内存证明主用存储介质可以被正常使用,因此将计数器的输出值清零;在内核未正常加载至内存时,若计数器的当前输出值大于预设阈值证明主用存储介质多次出现异常,确定主用存储介质无法正常使用,此时控制bootloader重新启动并控制boot loader调用备用存储介质中的固件镜像文件,保证了BMC的正常启动。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种BMC启动方法的流程图;
图2为本发明提供的一种BMC启动系统的结构示意图;
图3为本发明提供的一种BMC启动装置的结构示意图。
具体实施方式
本发明的核心是提供一种BMC启动方法及相关组件,能够保证BMC的正常启动,进而对服务器的正常工作提供保证。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参照图1,图1为本发明提供的一种BMC启动方法的流程图,BMC启动方法包括:
S11:当boot loader启动时,控制计数器的输出值加一;
现有技术中BMC在启动过程中涉及到的存储介质以及存储介质中烧写的固件镜像文件都有可能出现异常,可能会导致BMC无法正常启动,进而导致服务器受到影响。
在本申请中,考虑到BMC的启动过程可以大致分为boot loader从存储介质中调用固件镜像文件以加载数据到指定的内存、将内核加载至指定的内存、将文件系统加载至指定的内存以及启动应用程序,其中,涉及到从存储介质中调用固件镜像文件的过程发生在boot loader启动之后,因此在涉及到存储介质及固件镜像文件之前也即在boot loader启动时先控制计数器的输出值加一,在涉及到存储介质及固件镜像文件之后基于存储介质及固件镜像文件是否能正常工作再对计数器的输出值进行修改,以便基于计数器的输出值对存储介质及固件镜像文件是否能正常工作进行判断。
S12:控制boot loader调用主用存储介质中的固件镜像文件,以便boot loader在固件镜像文件中加载数据至BMC对应的内存中;
在本申请中,服务器中除了主用存储介质外还设置有备用存储介质,当主用存储介质出现异常以及主用存储介质中的固件镜像文件出现异常时可以调用备用存储介质中的固件镜像文件,提升了BMC工作的稳定性。
在本申请中,考虑到服务器中设置有主用存储介质和备用存储介质,因此需要指定BMC每次启动时先从主用存储介质中调用固件镜像文件,在主用存储介质出现异常时再启动备用存储介质。控制boot loader调用主用存储介质中的固件镜像文件之后,bootloader能够自动从固件镜像文件中加载相关信息到BMC对应的内存中。
需要说明的是,主用存储介质和备用存储介质的类型及存储容量等可根据实际情况进行设置,本申请对此不做特别限定。
S13:在内核正常加载至内存后,将计数器的输出值清零;
考虑到BMC的启动过程依次为boot loader从存储介质中调用固件镜像文件以加载数据到指定的内存、将内核加载至指定的内存、将文件系统加载至指定的内存以及启动应用程序。因此在本申请中若内核正常加载至内存后即可证明boot loader从主用存储介质中调用固件镜像文件以加载数据到指定的内存的过程正常进行,证明服务器中的主用存储介质没有出现异常,主用存储介质中的固件镜像文件也没有异常,因此,在内核正常加载至内存后也即确定主用存储介质及其固件镜像文件无异常后将计数器的输出值清零,为下一次BMC启动做准备。
S14:在内核未正常加载至内存时,若计数器的当前输出值大于预设阈值则控制boot loader重新启动并控制boot loader调用备用存储介质中的固件镜像文件。
同样考虑到BMC的启动过程依次为boot loader从存储介质中调用固件镜像文件以加载数据到指定的内存、将内核加载至指定的内存、将文件系统加载至指定的内存以及启动应用程序,因此在本申请中若内核未正常加载至内存,则表明BMC启动过程中位于内核加载至内存的上一步也即boot loader从主用存储介质中调用固件镜像文件以加载数据到指定的内存的过程出现了异常,因此不会将计数器的输出值清零。
同时,为了排除由于除了主用存储介质以及主用存储介质中的固件镜像文件出现异常之外的其他因素对BMC启动造成的影响,在本申请中当计数器的输出值大于预设阈值时才判定主用存储介质及主用存储介质中的固件镜像文件出现异常,也即boot loader调用主用存储介质中的固件镜像文件多次失败时才会判定主用存储介质以及主用存储介质中的固件镜像文件出现异常,使得对主用存储介质以及主用存储介质中的固件镜像文件是否异常的判断更加准确和可靠。
综上,本申请通过在启动引导阶段也即boot loader启动阶段做累计重试判断,在内核运行阶段也即内核加载至内存的过程做累计清除,完成对BMC的主用存储介质以及主用存储介质中的固件镜像文件的可用性进行判断。此外,本申请还能通过操作存储介质的硬件升级标识控制boot loader启用主用存储介质还是备用存储介质,进而避免BMC一直处于卡死或循环启动的状态,保证了BMC的正常启动。
综上,本发明公开了一种BMC启动方法,首先当boot loader启动时,控制计数器的输出值加一以便后续基于计数器的输出值判断主用存储介质是否出现异常;控制bootloader调用主用存储介质中的固件镜像文件,以便boot loader在固件镜像文件中加载数据至BMC对应的内存中;内核正常加载至内存证明主用存储介质可以被正常使用,因此将计数器的输出值清零;在内核未正常加载至内存时,若计数器的当前输出值大于预设阈值证明主用存储介质多次出现异常,确定主用存储介质无法正常使用,此时控制boot loader重新启动并控制boot loader调用备用存储介质中的固件镜像文件,进而避免BMC一直处于卡死或循环启动的状态,保证了BMC的正常启动。
在上述实施例的基础上:
作为一种优选的实施例,在控制boot loader调用主用存储介质中的固件镜像文件之后,还包括:
判断文件系统是否能正常加载至内存中;
在文件系统能够正常加载至内存中时,进入将计数器的输出值清零的步骤;
在文件系统无法正常加载至内存中时,进入若计数器的当前输出值大于预设阈值则控制boot loader重新启动并控制boot loader调用备用存储介质中的固件镜像文件的步骤。
考虑到BMC的启动流程依次为boot loader从存储介质中调用固件镜像文件以加载数据到指定的内存、将内核加载至指定的内存、将文件系统加载至指定的内存以及启动应用程序。因此,为了进一步判断主用存储介质、主用存储介质中的固件镜像文件以及内核加载至内存是否均正常,在本实施例中,还判断了文件系统是否能正常加载至内存中,若文件系统能正常加载至内存证明BMC启动过程中boot loader调用主用存储介质、bootloader从主用存储介质中调用固件镜像文件以加载数据至BMC对应的内存中、内核加载至内存以及文件系统加载至内存均正常完成,此时可以确定主用存储介质和主用存储介质中的固件镜像文件均未出现异常,此时将计数器的输出值清零。
同样考虑到BMC的启动过程依次为boot loader从存储介质中调用固件镜像文件以加载数据到指定的内存、将内核加载至指定的内存、将文件系统加载至指定的内存以及启动应用程序,因此在本申请中若文件系统未正常加载至内存,则表明BMC启动过程中位于文件系统加载至内存之前的步骤也即boot loader调用主用存储介质中的固件镜像文件以及内核加载至内存都可能出现了异常,因此不会将计数器的输出值清零。
同时,为了排除由于其他因素对BMC启动造成的影响,在本申请中当文件系统无法正常加载至内存中时还需要在判定计数器的当前输出值大于预设阈值时才判定主用存储介质及主用存储介质中的固件镜像文件出现异常,也即boot loader调用主用存储介质中的固件镜像文件多次失败或者文件系统多次无法正常加载至内存时才会判定主用存储介质以及主用存储介质中的固件镜像文件出现异常,使得对主用存储介质以及主用存储介质中的固件镜像文件是否异常的判断更加准确和可靠,进而避免BMC一直处于卡死或循环启动的状态。
作为一种优选的实施例,在控制boot loader调用主用存储介质中的固件镜像文件之后,还包括:
判断应用程序是否能正常启动;
在应用程序能正常启动时,进入将计数器的输出值清零的步骤;
在应用程序不能正常启动时,进入若计数器的当前输出值大于预设阈值则控制boot loader重新启动并控制boot loader调用备用存储介质中的固件镜像文件的步骤。
考虑到BMC的启动流程依次为boot loader从存储介质中调用固件镜像文件以加载数据到指定的内存、将内核加载至指定的内存、将文件系统加载至指定的内存以及启动应用程序,因此,为了进一步保证对主用存储介质、主用存储介质中的固件镜像文件、文件系统加载到内存以及应用程序启动是否均能正常完成,在本实施例中,还进一步判断应用程序能否正常启动,若应用程序能够正常启动则证明BMC启动过程中boot loader调用主用存储介质、boot loader从主用存储介质中加载固件镜像文件至BMC对应的内存中、内核加载至内存、文件系统加载至内存以及应用程序启动的过程均正常完成,此时可以确定主用存储介质和主用存储介质中的固件镜像文件均未出现异常,此时将计数器的输出值清零。
同样考虑到BMC的启动过程依次为boot loader从存储介质中调用固件镜像文件以加载数据到指定的内存、将内核加载至指定的内存、将文件系统加载至指定的内存以及启动应用程序,因此若应用程序未正常启动,则表明BMC启动过程中位于应用程序启动之前的步骤包括boot loader调用主用存储介质中的固件镜像文件可能出现了异常,因此不会将计数器的输出值清零。
同时,为了排除由于其他因素对BMC启动造成的影响,在本申请中当应用程序无法正常启动时还需要在判定计数器的当前输出值大于预设阈值时才判定主用存储介质及主用存储介质中的固件镜像文件出现异常,也即boot loader调用主用存储介质中的固件镜像文件多次失败或者文件系统多次无法正常加载至内存或者应用程序无法启动时才会判定主用存储介质以及主用存储介质中的固件镜像文件出现异常,使得对主用存储介质以及主用存储介质中的固件镜像文件是否异常的判断更加准确和可靠,进而避免BMC一直处于卡死或循环启动的状态。
作为一种优选的实施例,在内核未正常加载至内存时且计数器的当前输出值大于预设阈值之后,还包括:
将主用存储介质的硬件升级标识标记为不可用标识,其中,硬件升级标识包括可用标识和不可用标识。
在本实施例中,考虑到服务器中的存储介质都有对应的硬件升级标识,硬件升级标识通常包括可用标识和不可用标识,BMC启动时可以控制boot loader调用硬件升级标识为可用标识的存储介质,进而保证BMC启动过程中boot loader从主用存储介质中调用固件镜像文件能够正常进行。
因此,在本实施例中,在内核未正常加载至内存时且计数器的当前输出值大于预设阈值也即排除其他因素引起的BMC不能正常启动时,将主用存储介质的硬件升级标识标记未不可用标识,以便运维人员及时了解服务器中主用存储介质以及备用存储介质的情况,以及下一次启动BMC时能够从备用存储介质中调用固件镜像文件。
综上,通过在确定主用存储介质出现异常也即内核未正常加载至内存时且计数器的当前输出值大于预设阈值之后,将主用存储介质的硬件升级标识标记为不可用标识,能够为BMC正常启动提供保证,并且还能够为运维人员了解服务器中的存储介质的状态提供信息。
作为一种优选的实施例,在内核未正常加载至内存时且计数器的当前输出值大于预设阈值之后,还包括:
生成用于提示主用存储介质出现异常的告警信息并将告警信息发送至客户端。
在本实施例中,当确定主用存储介质出现异常也即内核未正常加载至内存时且计数器的当前输出值大于预设阈值之后,还可以生成用于提示主用存储介质异常的告警信息,对于告警信息的具体形式本申请对此不作特别限定,只要能够提示运维人员服务器中的主用存储介质出现了异常即可。在生成告警信息之后,还要将告警信息发送至客户端,以便使用客户端的用户及时了解主用存储介质的状态。
作为一种优选的实施例,在内核未正常加载至内存时且计数器的当前输出值大于预设阈值之后,还包括:
将备用存储介质中的固件镜像文件烧写至主用存储介质中。
在本实施例中,当确定主用存储介质出现异常也即内核未正常加载至内存时且计数器的当前输出值大于预设阈值之后,为了将主用存储介质恢复到可用状态,在本申请中还将备用存储介质中的固件镜像文件烧写到主用存储介质中,这样在BMC下次启动时,bootloader调用主用存储介质中的固件镜像文件时能够正常调用主用存储介质中的固件镜像文件,而不用在判定主用存储介质出现异常之后再启动备用存储介质。
此外,还可以将外界存储介质中存储的固件镜像文件或者预先存储的固件镜像文件备份烧写到主用存储介质中,只要能够将主用存储介质中的固件镜像文件恢复正常即可,本申请对此不做特别限定。
还需要说明的是,若将备用存储介质中的固件镜像文件烧写至主用存储介质之后,若boot loader仍然无法正常调用主用存储介质中的固件镜像文件则可以提示运维人员主用存储介质可能出现了异常,可以对该主用存储介质进行维修或者更换。
综上,在本实施例中通过在判定主用存储介质异常之后将备用存储介质中的固件镜像文件烧写至主用存储介质中可以将主用存储介质进行修复,为BMC的正常启动提供保证,进而保证服务器能够正常运行。
请参照图2,图2为本发明提供的一种BMC启动系统的结构示意图,BMC启动系统包括:
计数器累加单元11,用于当boot loader启动时,控制计数器的输出值加一;
镜像文件调用单元12,用于控制boot loader调用主用存储介质中的固件镜像文件,以便boot loader在固件镜像文件中加载数据至BMC对应的内存中;
计数器清零单元13,用于在内核正常加载至内存后,将计数器的输出值清零;
存储介质切换单元14,用于在内核未正常加载至内存时,若计数器的当前输出值大于预设阈值则控制boot loader重新启动并控制boot loader调用备用存储介质中的固件镜像文件。
综上,本发明公开了一种BMC启动系统,首先计数器累加单元11用于当bootloader启动时,控制计数器的输出值加一以便后续基于计数器的输出值判断主用存储介质是否出现异常;镜像文件调用单元12,用于控制boot loader调用主用存储介质中的固件镜像文件,以便boot loader在固件镜像文件中加载数据至BMC对应的内存中;计数器清零单元13,用于在内核正常加载至内存证明主用存储介质可以被正常使用,因此将计数器的输出值清零;存储介质切换单元14,用于在内核未正常加载至内存时,若计数器的当前输出值大于预设阈值证明主用存储介质多次出现异常,确定主用存储介质无法正常使用,此时控制boot loader重新启动并控制boot loader调用备用存储介质中的固件镜像文件,进而避免BMC一直处于卡死或循环启动的状态,保证了BMC的正常启动。
通过从BMC起始引导到内核正常运行的整个启动过程来判断该存储介质内镜像是否运行可靠,来切换主备镜像,能够有效避免BMC系统无法启动问题,提高了产品维护和使用的可靠性。
在上述实施例的基础上:
作为一种优选的实施例,还包括:
文件系统加载判断单元,用于在控制boot loader调用主用存储介质中的固件镜像文件之后,判断文件系统是否能正常加载至内存中;若文件系统能够正常加载至内存中,则触发计数器清零单元13;若文件系统无法正常加载至内存中,则触发存储介质切换单元14。
作为一种优选的实施例,还包括:
应用程序启动判断单元,用于在控制boot loader调用主用存储介质中的固件镜像文件之后,判断应用程序是否能正常启动;在应用程序能正常启动时,触发计数器清零单元13;在应用程序不能正常启动时,则触发存储介质切换单元14。
作为一种优选的实施例,还包括:
标记单元,用于在内核未正常加载至内存时且计数器的当前输出值大于预设阈值之后,将主用存储介质的硬件升级标识标记为不可用标识,其中,硬件升级标识包括可用标识和不可用标识。
作为一种优选的实施例,还包括:
告警提示单元,用于在内核未正常加载至内存时且计数器的当前输出值大于预设阈值之后,生成用于提示主用存储介质出现异常的告警信息并将告警信息发送至客户端。
作为一种优选的实施例,还包括:
镜像文件烧写单元,用于在内核未正常加载至内存时且计数器的当前输出值大于预设阈值之后,将备用存储介质中的固件镜像文件烧写至主用存储介质中。
请参照图3,图3为本发明提供的一种BMC启动装置的结构示意图,BMC启动装置包括:
存储器21,用于存储计算机程序;
处理器22,用于执行计算机程序时实现上述BMC启动方法的步骤。
综上,本发明公开了一种BMC启动装置,包括存储器21和处理器22,其中,处理器22用于首先当boot loader启动时,控制计数器的输出值加一以便后续基于计数器的输出值判断主用存储介质是否出现异常;控制boot loader调用主用存储介质中的固件镜像文件,以便boot loader在固件镜像文件中加载数据至BMC对应的内存中;内核正常加载至内存证明主用存储介质可以被正常使用,因此将计数器的输出值清零;在内核未正常加载至内存时,若计数器的当前输出值大于预设阈值证明主用存储介质多次出现异常,确定主用存储介质无法正常使用,此时控制boot loader重新启动并控制boot loader调用备用存储介质中的固件镜像文件,进而避免BMC一直处于卡死或循环启动的状态,保证了BMC的正常启动。
本发明还提供了一种服务器,包括上述的BMC启动装置。
对于本发明提供的一种服务器的相关介绍请参照上述BMC启动方法的实施例,本申请在此不再赘述。
本发明还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述BMC启动方法的步骤。
综上,本发明公开了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现首先当boot loader启动时,控制计数器的输出值加一以便后续基于计数器的输出值判断主用存储介质是否出现异常;控制boot loader调用主用存储介质中的固件镜像文件,以便boot loader在固件镜像文件中加载数据至BMC对应的内存中;内核正常加载至内存证明主用存储介质可以被正常使用,因此将计数器的输出值清零;在内核未正常加载至内存时,若计数器的当前输出值大于预设阈值证明主用存储介质多次出现异常,确定主用存储介质无法正常使用,此时控制boot loader重新启动并控制boot loader调用备用存储介质中的固件镜像文件,保证了BMC的正常启动。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种BMC启动方法,其特征在于,包括:
当boot loader启动时,控制计数器的输出值加一;
控制所述boot loader调用主用存储介质中的固件镜像文件,以便所述boot loader在所述固件镜像文件中加载数据至BMC对应的内存中;
在内核正常加载至所述内存后,将所述计数器的输出值清零;
在所述内核未正常加载至所述内存时,若所述计数器的当前输出值大于预设阈值则控制所述boot loader重新启动并控制所述boot loader调用备用存储介质中的固件镜像文件。
2.如权利要求1所述的BMC启动方法,其特征在于,在控制所述boot loader调用主用存储介质中的固件镜像文件之后,还包括:
判断文件系统是否能正常加载至所述内存中;
在所述文件系统能够正常加载至所述内存中时,进入将所述计数器的输出值清零的步骤;
在所述文件系统无法正常加载至所述内存中时,进入若所述计数器的当前输出值大于预设阈值则控制所述boot loader重新启动并控制所述boot loader调用备用存储介质中的固件镜像文件的步骤。
3.如权利要求1所述的BMC启动方法,其特征在于,在控制所述boot loader调用主用存储介质中的固件镜像文件之后,还包括:
判断应用程序是否能正常启动;
在所述应用程序能正常启动时,进入将所述计数器的输出值清零的步骤;
在所述应用程序不能正常启动时,进入若所述计数器的当前输出值大于预设阈值则控制所述boot loader重新启动并控制所述boot loader调用备用存储介质中的固件镜像文件的步骤。
4.如权利要求1所述的BMC启动方法,其特征在于,在所述内核未正常加载至所述内存时且所述计数器的当前输出值大于预设阈值之后,还包括:
将所述主用存储介质的硬件升级标识标记为不可用标识,其中,所述硬件升级标识包括可用标识和所述不可用标识。
5.如权利要求1所述的BMC启动方法,其特征在于,在所述内核未正常加载至所述内存时且所述计数器的当前输出值大于预设阈值之后,还包括:
生成用于提示所述主用存储介质出现异常的告警信息并将所述告警信息发送至客户端。
6.如权利要求1至5任一项所述的BMC启动方法,其特征在于,在所述内核未正常加载至所述内存时且所述计数器的当前输出值大于预设阈值之后,还包括:
将所述备用存储介质中的固件镜像文件烧写至所述主用存储介质中。
7.一种BMC启动系统,其特征在于,包括:
计数器累加单元,用于当boot loader启动时,控制计数器的输出值加一;
镜像文件调用单元,用于控制所述boot loader调用主用存储介质中的固件镜像文件,以便所述boot loader在所述固件镜像文件中加载数据至BMC对应的内存中;
计数器清零单元,用于在内核正常加载至所述内存后,将所述计数器的输出值清零;
存储介质切换单元,用于在所述内核未正常加载至所述内存时,若所述计数器的当前输出值大于预设阈值则控制所述boot loader重新启动并控制所述boot loader调用备用存储介质中的固件镜像文件。
8.一种BMC启动装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述BMC启动方法的步骤。
9.一种服务器,其特征在于,包括如权利要求8所述的BMC启动装置。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述BMC启动方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210751050.8A CN114995840A (zh) | 2022-06-29 | 2022-06-29 | 一种bmc启动方法及相关组件 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210751050.8A CN114995840A (zh) | 2022-06-29 | 2022-06-29 | 一种bmc启动方法及相关组件 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114995840A true CN114995840A (zh) | 2022-09-02 |
Family
ID=83020039
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210751050.8A Pending CN114995840A (zh) | 2022-06-29 | 2022-06-29 | 一种bmc启动方法及相关组件 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114995840A (zh) |
-
2022
- 2022-06-29 CN CN202210751050.8A patent/CN114995840A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111045866B (zh) | 一种bmc故障处理方法、装置、电子设备及存储介质 | |
WO2019062576A1 (zh) | 一种系统升级异常断电的保护方法及终端设备 | |
CN112948182B (zh) | 机顶盒紧急备份恢复升级方法及系统 | |
CN110109772B (zh) | 一种cpu的重启方法、通信设备及可读存储介质 | |
CN112732674A (zh) | 云平台服务管理方法、装置、设备及可读存储介质 | |
CN114995840A (zh) | 一种bmc启动方法及相关组件 | |
CN113778607A (zh) | 虚拟机实现高可用方法及装置、云管理平台、存储介质 | |
JP3551079B2 (ja) | 修正ロードモジュール置換後の復旧方法ならびに装置 | |
JP5683088B2 (ja) | 復旧システム、復旧方法及びバックアップ制御システム | |
CN116185510A (zh) | 分区切换启动方法、阵列服务器和计算机可读存储介质 | |
CN112269693B (zh) | 一种节点自协调方法、装置和计算机可读存储介质 | |
CN111475339A (zh) | 一种bios固件更新方法、装置、设备及存储介质 | |
JP2010146436A (ja) | 監視システム、及びその制御方法、プログラム | |
CN111427718A (zh) | 文件备份方法、恢复方法及装置 | |
CN112685086B (zh) | 一种信息处理方法及电子设备 | |
JPH07261888A (ja) | デ−タ処理の閉塞方法及びデ−タ処理装置 | |
CN111625420B (zh) | 一种分布式训练任务处理方法、装置、设备及存储介质 | |
US11714631B2 (en) | Method, electronic device, and computer program product for managing operating system | |
JPH08329006A (ja) | 障害通知方式 | |
CN114640586B (zh) | 集群的版本升级方法、装置、存储介质及设备 | |
CN114185606B (zh) | 一种基于嵌入式系统提高系统运行可靠性的方法和装置 | |
CN114655140B (zh) | 一种车辆启动控制方法和相关装置 | |
CN116820605A (zh) | 基板管理控制器安全启动方法、装置、设备和存储介质 | |
CN115562702A (zh) | 控制方法、控制装置、机器可读存储介质及处理器 | |
CN116340957A (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 |