CN107209671A - 计算机中启动操作的动态自动监测和控制 - Google Patents
计算机中启动操作的动态自动监测和控制 Download PDFInfo
- Publication number
- CN107209671A CN107209671A CN201680006632.6A CN201680006632A CN107209671A CN 107209671 A CN107209671 A CN 107209671A CN 201680006632 A CN201680006632 A CN 201680006632A CN 107209671 A CN107209671 A CN 107209671A
- Authority
- CN
- China
- Prior art keywords
- computer
- starting device
- starting
- boot sequence
- availability
- 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
Links
Classifications
-
- 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
- G06F9/4406—Loading of operating system
- G06F9/4408—Boot device selection
-
- 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
- G06F9/4416—Network booting; Remote initial program loading [RIPL]
-
- 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/1417—Boot up procedures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3034—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
- Computer And Data Communications (AREA)
Abstract
网络设备管理多个计算机,并且将计算机连接到存储计算机用于启动的启动程序的启动设备。网络设备向每个计算机下载相应的启动顺序,其指定计算机尝试从启动顺序中指定的启动设备启动的顺序。网络设备自动确定每个计算机访问用于该计算机的启动顺序中的启动设备所经由的网络路径。网络设备自动确定每个网络路径的可用性和每个启动设备的可用性。当计算机尝试从用于该计算机的启动顺序中的启动设备启动时,网络设备还从每个计算机接收启动状态。网络设备基于所确定的网络路径和启动设备可用性、以及所接收的启动状态来自动执行启动相关动作。
Description
技术领域
本公开总体涉及计算机中启动操作的自动监测和控制。
背景技术
连接到诸如网络交换机之类的网络设备的计算机有时会在计算机上电或被重新配置时启动。通常,每个计算机尝试以该计算机的启动策略所规定的启动顺序来从各种存储设备(例如,硬盘)顺序启动。存在给定计算机未能以启动顺序从给定存储设备正确启动的许多原因。例如,存储设备、或存储设备与计算机之间的通信链路可能已经发生故障。或者,存储设备可能被断电、或以其他方式不可用。此外,计算机在进入启动过程之前可能无法退出其开机自检(POST)。识别这样的启动失败的原因是困难的。识别故障点并且实现校正动作的当前技术采用劳动密集型手动数据收集和干预。这是低效并且耗时的,特别是在涉及大量计算机的情况下。
附图说明
图1是根据示例实施例的其中可以实现本文呈现的实施例的示例广义融合基础设施(CI)的框图。
图2是根据示例实施例的其中可以实现本文呈现的实施例的被称为统一计算***(UCS)的示例CI的框图。
图3是根据示例实施例的其中计算机经由互连网小型计算机***接口(iSCSI)来访问存储刀片中的存储设备的示例。
图4是根据示例实施例的被配置为执行本文呈现的启动监测和控制操作的来自图2的示例结构(fabric)互连的框图。
图5是根据示例实施例的来自图2的计算机/服务器的框图。
图6是根据示例实施例的由结构互连执行的对计算机/服务器中的启动过程进行监测和控制的示例高层方法。
图7是根据示例实施例的在图6的方法中执行的自动启动相关动作的流程图。
图8是根据示例实施例的在图6的方法中执行的另一自动启动相关动作的流程图。
图9是根据示例实施例的在图6的方法中执行的又一自动启动相关动作的流程图。
图10是根据示例实施例的用于计算机的示例启动配置文件的图示。
图11是根据示例实施例的根据启动策略在计算机中执行的示例启动过程的流程图。
图12是根据示例实施例的在计算机和结构互连中执行以监测计算机的成功启动的各种过程的流程图。
图13是根据示例实施例的由结构互连执行以控制计算机的启动过程,以及由计算机执行以控制计算机的启动过程的示例过程的流程图。
图14是根据示例实施例的由结构互连执行以控制计算机的启动过程,以及由计算机执行以控制计算机的启动过程的另一示例过程的流程图。
图15是根据示例实施例的用于监测和控制图2的UCS中的各个计算机和存储设备所使用的电源的示例电源监测和控制***的框图。
具体实施方式
概览
在实施例中,网络设备管理多个计算机并且将计算机连接到存储计算机所使用的启动程序的启动设备。网络设备向每个计算机下载相应的启动顺序或序列,该启动顺序或序列指定计算机尝试从启动顺序中所指定的启动设备进行启动的顺序。网络设备自动确定每个计算机以针对该计算机的启动顺序来访问启动设备的路径。网络设备自动确定每个网络路径的可用性和每个启动设备的可用性。网络设备在计算机尝试以针对该计算机的启动顺序来从启动设备启动时还从每个计算机接收启动状态。网络设备基于所确定的网络路径和启动设备可用性、以及所接收的启动状态来自动执行启动相关动作。
示例实施例
融合基础设施(CI)是模块化的、集成的、通常被预配置或至少易于配置的一组信息技术(IT)组件,通常包括可以在要求存储、网络、以及计算资源的多个用户应用中共享的存储、网络、计算、以及虚拟化组件。由于CI的模块化性质,对于用户应用可用的CI组件可以相对容易和高效地被放大和缩小,以便适应用户应用资源要求的相应的增加和减少。
首先参考图1,示出了可以实现本文呈现的实施例的示例广义CI 100的框图。CI106包括集成的一组组件,包括:提供数据存储装置的存储组件110;提供到外部设备和通信网络113(包括诸如互连网之类的广域网(WAN),以及局域网(LAN),包括虚拟网络)的连接的网络组件112;为CI提供处理能力的计算或服务器组件114;以及托管虚拟环境的虚拟化组件116(例如,管理程序)。虚拟化组件116可以托管在CI组件110、112、以及114的堆栈上的多个虚拟用户操作环境118。虚拟用户操作环境118各自可包括虚拟化操作***(OS),以及在虚拟化OS中执行的一个或多个应用程序(AP)。组件110、112、以及114提供每个OS和相应的一个或多个AP所需的相应的数据存储、网络、以及计算资源。
参考图2,由思科技术公司提供的可以实现本文呈现的实施例的示例CI的框图,该示例CI被称为统一计算***(UCS)200。UCS 200包括多个动力机架202,其具有用于提供计算资源的多个服务器刀片204的槽,以及用于为服务器刀片提供存储资源的多个存储刀片206的槽。机架式服务器208和210提供另外的计算资源。由于服务器刀片204和机架式服务器208和210提供计算资源,因此在随后的描述中,服务器刀片和机架式服务器更一般地被称为“计算机”。UCS 200还包括结构互连212以提供网络资源。结构互连212通过相应的逻辑和物理连接来与计算机204、208、以及210、存储刀片206、远程存储装置216、以及网络113直接或间接地连接,逻辑和物理连接包括所连接的组件的输入/输出(I/O)端口之间的直接布线、以及结构扩展器(FEX)214,如图2所示。结构互连212在结构互连控制器(图4所示)的控制下有选择地将上述组件(例如,所选的计算机204、208、以及210)与所选的存储刀片206以及远程存储装置216和218互连。在计算机204、208、以及210与存储刀片206和远程存储装置216之间建立的连接被称为网络路径或通信链路。结构互连212总体上作为互连各个组件的网络设备(例如,网络交换机)来操作。因此,结构互连212更一般地被称为“网络设备”212。
存储刀片206和外部存储装置216在下面的描述中被单独地并且更一般地被统称为“存储装置”。存储装置206和216各自可以被逻辑地和/或物理地细分为许多存储空间,称为存储设备(图2中未具体示出)。换句话说,存储装置206和216各自托管许多可单独寻址/访问的存储设备。存储设备被映射到计算机204、208、以及210,以使得每个存储设备可以在映射到该存储设备的一个或多个计算机204、208、以及210中共享。计算机204、208、以及210经由通过结构互连212在计算机和存储设备之间建立的网络路径来访问它们各自的映射的存储设备。存储设备各自可以仅存储映射的计算机所使用和生成的数据、仅存储映射的存储设备从其启动的初始程序加载(IPL)、或二者。存储这样的IPL的存储设备被称为启动设备。在启动期间,计算机204、208、以及210取回映射的启动设备中所存储的IPL,并且使用所取回的IPL来启动。例如,在220和222处,计算机208和210分别从存储装置206(3)上所托管的启动设备取回它们的IPL。在224处,计算机204(3)从存储装置206(1)上所托管的启动设备取回其IPL。
参考图3,描绘了计算机204(3)经由互连网小型计算机***接口(iSCSI)来访问存储装置206(1)中的存储设备的示例,该iSCSI包括计算机204(3)的iSCSI启动器304和存储装置206(1)的iSCSI目标305。存储装置206(1)托管相应的逻辑单元编号(LUN)LUN1-LUNn所标识的存储设备306(1)-306(n)。存储设备306还简称为“LUN”306。仅存储IPL或数据的LUN306分别被称为“启动LUN”或“数据LUN”。为访问LUN 301中的给定的一个LUN,iSCSI启动器304向iSCSI目标305发送标识给定LUN的访问请求,并且iSCSI目标基于所提供的LUN来提供所请求的访问。
参考图2和3,结构互连212监测并且动态地控制计算机204、208、以及210从存储设备(例如,存储装置206和216上托管的启动设备或LUN(例如,LUN 306))启动的方式。为此,结构互连212自动地确定启动LUN(根据该启动LUN指示计算机204、208、以及210利用它们各自的启动策略启动)的可用性,并且基于所确定的可用性来控制计算机访问启动策略中的启动LUN的启动顺序。若确定某些启动LUN不可用,则结构互连212自动地采取校正动作来补偿。例如,结构互连212在必要时可以变换启动顺序以避免不可用的LUN,并且采取其他校正动作来节省否则将由计算机204、208、以及210、以及存储装置206和216消耗的功率。作为监测和动态控制动作的一部分,结构互连212还执行启动失败分析和报告。限定词“自动”表示所限定的动作是由计算机执行逻辑在没有手动干预的情况下执行/实现的。
参考图4,描绘了被配置为执行本文呈现的启动监测和控制操作的结构互连212的示例框图。结构互连212包括从网络113、计算机204、208和210、以及存储装置206和216接收数据分组并且向它们发送分组的多个网络端口402(1)-402(M)、在端口之间切换分组的切换结构407、中央处理单元(CPU)408(还简称为“处理器”408)、以及存储器410。处理器408例如是执行存储器410中所存储的软件指令以执行对结构互连212的操作的更高层控制的微处理器或微控制器。
存储器410可包括各种形式的易失性存储器(VM)和非易失性存储器(NVM),包括:只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质设备、光存储介质设备、闪速存储器设备、电的、光的、或其他物理/有形存储器存储设备。因此,通常,存储器410可包括编码有包括计算机可执行指令的软件的一个或多个有形(非暂态)计算机可读存储介质(例如,存储器设备)。在实施例中,处理器408包括因特尔的x86系列处理器。然而,其他类型的处理器是可能的。
例如,存储器410存储或编码有用于UCS管理器(UCSM)420的指令以配置切换结构407来互连各个端口402,并且配设和配置连接到端口的组件。UCSM 420包括执行本文呈现的启动监测和控制动作的启动控制逻辑422。因此,启动控制逻辑422包括:收集信息(例如,从与结构互连212相连的组件收集启动状态和其他启动相关信息)的启动数据收集引擎(BDCE)423、监测/确定通过结构互连212相连的网络路径的可用性的UCSM网络监测器424、监测/确定经由网络路径相连的端点设备(例如,计算机204、208、以及210、以及存储装置206和216,包括其中托管的LUN)的可用性的UCSM设备监测器426、以及基于所监测的可用性和所收集的启动相关信息来执行启动失败分析和纠正动作的启动分析引擎(BAE)428。
UCSM 420执行的操作包括但不限于下列操作:
a.执行计算机204、208、以及210以及它们的连接到结构互连212的相应组件的自动发现、维护计算机204、208、以及210的库存、以及监测计算机的健康/可用性。这些处理在不要求用户输入计算机凭证的情况下发生;
b.向用户提供计算机、存储装置、以及网络路径库存报告;
c.配设计算机204、208、以及210上的逻辑计算机,例如虚拟机(VM)。VM被逻辑地配置并且可被部署在支持逻辑配置要求的任意物理计算机上。即使不存在物理计算机,也可以定义逻辑计算机。
d.通过物理计算机来部署逻辑计算机,这使得物理计算机按逻辑计算机所指定的方式被配置。
e.利用启动策略来配置计算机204、208、以及210和其上托管的任意VM,该启动策略指定计算机尝试从不同的存储设备启动的启动序列或顺序。例如,计算机可被配置为从本地设备(本地硬盘、USB、闪速存储器等)启动、或经由接口/接口协议(例如但不限于:光纤通道(FC)、以太网FC(FCoE)、iSCSI、预启动执行环境(PXE)等)来从远程设备启动;以及
f.将启动策略下载到计算机。
存储器410存储处理器408在执行UCSM 420时所使用和生成的数据440。数据440包括指定计算机204、208、以及210将从其启动的启动设备(和托管启动设备的存储装置)以及计算机将尝试从那些启动设备启动的顺序的启动策略。数据440还包括存储BDCE 423所收集的启动相关信息的启动数据数据库。
参考图5,描绘了计算机204(1)的示例框图。框图代表图2中描绘的其它计算机。计算机204(1)包括连接外部设备的网络接口单元507、中央处理单元(CPU)508(还简称为“处理器”508)、以及存储器510。处理器508例如是执行存储器510所存储的软件指令以执行对计算机204(1)的操作的更高层控制的微处理器或微控制器。
存储器510包括与上面针对存储器410所列出的那些存储器组件相类似的存储器组件,并且通常包括编码有包括计算机可执行指令的软件的一个或多个有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当软件被执行(由处理器508)时,它可操作来执行本文描述的技术。
例如,存储器510存储或编码有用于下列项的指令:诸如思科IMC(CIMC)之类的集成管理控制器(IMC)520,其配置和管理计算机204(1)并且通过网络接口单元507与外部设备进行通信;由处理器508在计算机204(1)的启动期间访问的BIOS 524,其中,BIOS可经由键盘控制器规格(KCS)接口、与智能平台管理接口(IPMI)相关联的块传输(BT)接口、或网络接口与CIMC进行通信;以及可扩展固件接口(EFI)526,其提供可以在启动过程期间或之后被调用并且支持执行BIOS的服务。此外,存储器510存储处理器508和BIOS 524所使用和生成的数据540。数据540包括但不限于:由结构互连212下载到计算204(1)的启动策略、预定超时期限、以及重试次数N。
现在简要描述计算机204(1)中的启动过程。每次计算机204(1)启动(例如,在上电或重新配置之后)时,BIOS 526访问非易失性存储器中存储(在数据540中)的启动策略并且应用该启动策略。BIOS 526尝试从启动策略的启动顺序中列出的第一启动设备(例如,LUN(1))启动。若启动失败,则BIOS 526尝试从启动顺序中列出的第二启动设备(例如,LUN2)启动,并且沿着启动顺序以此类推,直到尝试启动成功或启动顺序耗尽。
在上述启动过程中可以以以下方式使用数据540中的超时期限和重试次数N。每次BIOS 526开始尝试从启动设备启动时,BIOS开启定时器。在一个实施例中,若定时器在启动完成之前达到预定超时期限,则认为启动已经失败。因此,BIOS 526开始尝试从启动顺序中的下一设备启动,并且重置定时器,并且沿着启动顺序重复该过程。在另一实施例中,替代在认为启动已经失败之后就移动到启动顺序中的下一启动设备,BIOS 526将重复尝试从同一设备启动N次,然后移动到启动顺序中的下一启动设备。此外,可以在重复尝试从启动设备启动时使用新的、增加的超时期限。
存在尝试从给定启动设备启动可能失败的许多原因,包括但不限于以下原因:
a.存储装置(因此,其上托管的启动设备)可能永久地或暂时地不可用;
b.到存储装置的一个或多个网络/连接路径可能永久地或暂时地不可用。在一些情况下,网络/连接路径在计算机试图启动时可能已经发生故障或是不可靠的;
c.计算机可能未能完成开机自检(POST)。例如,POST可能由于硬件故障和/或错误配置而失败;
d.启动相关网络访问可能由于网络拥塞而失败;
e.启动超时或重试值可能被设置的过于侵略性(例如,过低),这可能导致引导程序加载器无法连接到所请求的***设备,例如,启动设备;
f.诸如***组件接口(PCI)链路训练问题之类的计算机错误可能导致BIOS 524不能定位用于启动的***设备;
g.启动设备(或其组件,例如,主机总线适配器(HBA)、iSCSI、以太网接口等)可能有硬件或软件故障,或可能被错误配置(例如,HBA被配置不正确的目标世界广用名称(WWN)或LUN);
h.计算机被配置为防止启动,除非满足某些前提条件。例如,计算机可能具有对于操作***和/或应用的正确执行至关重要的电池。若电池低于某个阈值,则计算机将不启动;
i.主引导记录(MBR)可能尚未被写到启动设备;以及
j.BIOS 524成功地从启动设备加载启动加载器,但启动加载器不能加载操作***。
根据本文呈现的实施例,BIOS 524和CIMC 520包括以下能力以提供对计算机204(1)中启动可能已经失败的原因的了解,并且使得结构互连212能够维护对计算机中启动过程的控制。每次BIOS开始尝试从启动设备启动时,BIOS 524通过KCS或BT接口向CIMC 520发送通知。通知包括BIOS 524尝试从其启动的启动设备的标识符。CIMC 520将通知发送到结构互连212。在BIOS 524和CIMC 520中配置并且启用故障恢复启动(FRB)。因此,若BIOS 524未能达到POST完成,则CIMC 520生成警报/指示符并且将警报/指示符发送到结构互连212。BIOS 524提供对指示给定启动设备的可用性的运行时属性的访问。属性可用于防止启动或连续重试启动,直到给定启动设备变为可用。对于每个启动设备,属性可被设置为“可用”或“不可用”。“不可用”表示启动设备不可用,因此若尝试启动,则将失败。“可用”表示从结构互连212的角度来看,启动设备已知是可用的。因此,启动应该成功;然而,诸如拥塞之类的网络条件可能阻止实际的启动。可以响应于通过CIMC 520接收的来自结构互连212的消息来设置属性。
如上所述,在启动期间,BIOS 524如启动顺序所指示的来尝试每个启动设备。当所有规定启动设备都已发生故障时,计算机204(1)执行EFI526(称为“EFI壳(shell)”),并且独立于启动设备从非易失性存储器执行EFI启动脚本“startup.nsh”。CIMC 520在计算机进入EFI壳时提供安装/更新startup.nsh脚本的机制。EFI壳自动执行以下任务,其得出对启动为什么失败的进一步了解:
a.收集用户定义的启动设备名称和设备句柄之间的EFI映射。该映射可用于标识哪些启动设备对于EFI壳是可见的;
b.收集EFI驱动器所管理的设备的列表;
c.收集可用的驱动器;
d.收集驱动器诊断;
e.收集应包含用于所有块设备的MBR的块的内容;
f.收集用于所有设备的PCI寄存器的值。这包括PCI命令寄存器、PCI状态寄存器、以及高级错误报告(AER)寄存器。这些值可用于确定PCI设备是否存在问题,例如,设备引起SERR、奇偶校验错误、主设备中止、链路训练错误、流控制错误、数据链路协议错误等;以及
g.收集启动相关BIOS错误代码,包括指示下列项的代码:
i.BIOS无法达到iSCSI目标(例如,无L3连接或连接被拒绝);
ii.iSCSI会话启动,但例如由于无效的凭证而被终止;或者
iii.iSCSI会话被发起,但不存在可以启动的LUN(即,不存在计算机从其可以启动的LUN)。
EFI壳526将所收集的信息发送到CIMC 524,CIMC 524将信息转发到结构互连212。
现在转到图6,示出了由结构互连212执行的对计算机204、208、以及210(在方法600的描述中称为“计算机”)中的启动过程进行监测和控制的示例高层方法600的流程图。结构互连212执行逻辑420以执行方法600。为描述图6的目的参考图2。
初始地,在605处,结构互连212创建并存储用于计算机的启动策略。每个启动策略指定相应的计算机尝试从启动顺序中所指定的存储装置206和216(“存储设备”)上托管的启动设备(例如,启动LUN 306)启动的顺序。结构互连212的管理员可以通过使用结构互连的输入/输出设备和图形用户界面(GUI)填入服务配置文件来创建启动策略。替代地,可以在上传到结构互连212的文件中提供启动配置文件。
在610处,结构互连212向每个计算机下载相应的启动策略(包括启动顺序),该相应的启动策略指定服务器尝试从启动顺序中所指定的启动设备启动的顺序。
在615处,结构互连212自动确定每个计算机访问用于该计算机的启动顺序中的启动设备的网络路径。
在620处,结构互连212自动确定每个网络路径的可用性。为此,结构互连212检测网络路径中的网络组件故障,若任意检测到的网络故障阻止计算机经由网络路径来访问启动设备,则宣告网络路径不可用,并且若未检测到阻止计算机经由网络路径来访问启动设备的网络故障,则宣告网络路径可用。
在625处,结构互连212自动确定每个网络路径的端点的可用性。端点包括计算机、启动设备、以及托管启动设备的存储装置。为此,例如,结构互连检测给定启动设备是否发生故障、检测启动设备是开机还是关机、若启动设备发生故障或关机则宣告启动设备不可用、若启动设备未发生故障并且开机则宣告启动设备可用。
在630处,当计算机尝试从用于该计算机的启动顺序中的启动设备启动时,结构互连212自动从每个计算机接收/收集启动状态,并且将所收集的信息存储在数据的启动数据数据库440中。此外,操作630将从620-625确定的可用性存储在启动数据数据库中。
操作615-630自动收集提供对计算机中的启动过程的了解的信息,以及对那些启动过程具有负面影响的计算机外部的因素。这类外部因素可包括例如:
a.一个或多个启动设备(和/或托管启动设备的存储装置)的当前不可用性。原因可包括不完整的启动设备配置(例如,FC分区或LUN掩蔽可能具有不完整的或不正确的配置)、或启动设备(或托管启动设备的存储装置)中的硬件和软件故障。
b.一个或多个网络/存储区域网络(SAN)路径的不可用性;以及
c.使得计算机访问启动设备困难的一个或多个网络路径上的流量拥塞。
在635处,结构互连212基于所确定的网络路径和启动设备可用性、以及所接收的启动状态来自动执行启动相关校正动作。为此,结构互连212自动分析在操作615-630中收集的信息(存储在启动数据数据库中),并且做出明智的决定以实现校正动作。
在635处执行的自动启动相关操作在某些条件下可以改善从网络连接的启动设备(例如,通过诸如iSCSI、FC、以及FCoE之类的接口)进行启动的可靠性。考虑计算机(例如,计算机204(1))及其所分配的启动设备(例如,存储装置206(1)中托管的启动LUN 306(1))由同一电源或电源电路来供电的情况。当电源关机或故障时,计算机和启动设备均掉电。当电源恢复时,启动设备在计算机可以从启动设备启动之前需要自己启动。使用传统技术,若计算机在启动设备开机和启动之前尝试启动,则计算机启动将失败,并且当启动设备变为可用时,计算机可能要求手动恢复操作来重新启动计算机。本文呈现的实施例提供自动恢复,从而避免了这类手动恢复。更具体地,结构互连212跟踪操作状态,从而跟踪启动设备的可用性,并且相应地动态和自动控制在计算机处实现的启动序列的顺序和时序。此外,结构互连212可以自动应用校正动作。例如,结构互连212可确定启动设备未准备好服务输入/输出功能,例如,因为启动设备仍正被配置或关机。当启动设备准备好服务输入/输出功能时,结构互连212可自动重启计算机以重新启动其中的启动序列。
如上所述,结构互连212监测启动设备和托管启动设备的存储装置(例如,存储装置206和216)的可用性。当启动设备对于扩展的预定时间段(例如,10分钟)变为不可用时,结构互连212标识使用存储装置的所有计算机(例如,计算机204、208、以及210)的列表。利用该信息,结构互连212可以采取任意数目的自动校正动作,包括但不限于:
a.当计算机的启动设备不可用时,关闭计算机以节能。没有这种机制,计算机可能崩溃并且继续消耗电力,直到管理员确定计算机已经崩溃;
b.当启动设备再次可用时,打开/重新启动计算机。打开/重新启动可以利用:
i.还指示在任意给定时间应启动多少计算机的启动策略(因为在给定时间并非所有计算机可能被要求是可操作的);以及
ii.实现启动错开以减少电源浪涌的启动策略;
iii.重新启动计算机以从不同的存储设备启动(可能通过创建新的启动策略)。
下面结合图7、8、9、13、以及14以总结的形式描述了在635处执行的若干上述自动启动相关动作。
参考图7,在635处执行的示例自动启动相关动作700的流程图。
在705处,结构互连212确定计算机是否能够基于下列项从用于该计算机的启动顺序中的任意启动设备启动:(ⅰ)所确定的启动顺序中的启动设备的可用性、(ⅱ)所确定的计算机访问启动顺序中的启动设备所经由的网络路径的可用性、以及可选地(ⅲ)所接收的启动状态。
在710处,若确定计算机不能从启动顺序中的任意启动设备启动,则结构互连212指示计算机不启动。
在715处,若确定计算机不能从一些启动设备启动,但是能够从用于计算机的启动顺序中的其他启动设备启动,则结构互连212生成用于该计算机的仅指定这些其他启动设备的新的启动顺序,并且将新的启动顺序下载到计算机。
针对在结构互连212的控制下的/连接到结构互连212的每个计算机重复操作705-715。
参考图8,在635处执行的另一示例自动启动相关动作800的流程图。为辅助启动相关动作800,结构互连212可以使用下面结合图15所描述的功率控制和监测实施例来控制对各个适当的计算机和存储装置(启动设备)的功率分配,并且监测各个适当的计算机和存储装置(启动设备)的功率状态。
在805处,结构互连212基于所确定的启动设备可用性来确定对于预定时间段(例如,10分钟)已经不可用的启动设备。
在810处,结构互连212关闭要从被确定对于预定时间段已经不可用的启动设备启动的计算机。
在815处,结构互连212在被确定对于预定时间段已经不可用的相应启动设备变为可用时打开关闭的计算机。
针对在结构互连212的控制下的/连接到结构互连212的每个计算机重复操作805-815。
参考图9,在635处执行的又一示例自动启动相关动作900的流程图。在900处,若从计算机接收的启动状态指示从启动顺序中的启动设备的此前的启动尝试由于第一超时期限过期(例如,60秒)而失败,并且若计算机和(此前的)启动设备之间的网络路径被确定是可用的,并且若所确定的(此前的)启动设备的可用性指示启动设备可用,则结构互连212命令计算机使用大于第一超时期限的第二超时期限(例如,90秒)来重复地尝试从(此前的)启动设备启动。
参考图10,示出了结构互连212所创建/存储的并且被下载到一个或多个计算机的用于给定计算机的示例启动策略1000。启动配置文件1000包括启动设备标识符的列表1005和用于指定计算机尝试从所列出的启动设备启动的顺序或序列的启动顺序1010。当存储在结构互连212中时,启动配置文件1000还可包括第三列,该第三列列出被映射到配置文件的中间列中所列出的启动设备的相应/适当的启动设备的所确定的可用性。
下面结合图11-14描述了在计算机204、208、以及210和结构互连212中执行的与方法600-900相关的其他处理/方法。
参考图11,根据启动策略在计算机(例如,计算机204、208、以及210中的一个)中执行的示例启动过程1100的流程图。
在1102和1104处,计算机开机并且尝试执行POST。
若POST通过,则在1106处,计算机取回被下载到计算机并且存储在计算机的非易失性存储器(NVM)中的启动配置文件(即,启动/IPL设备的列表以及启动顺序)。
若计算机尚未尝试从启动顺序中的所有启动设备启动,则流程从1108前进到1110-1116,其中,计算机尝试从启动顺序中列出的下一启动设备启动。
在1110处,计算机尝试从其启动的下一启动设备的设备标识符(称为“设备id”)和“启动开始”指示符被传送到CIMC 520,CIMC 520在启动状态消息中将启动设备标识符转发到结构互连212。
在1112和1114处,计算机尝试取回所标识的启动设备中的IPL,并且若是可取回的,则从所取回的IPL启动。
在1114处,若启动尝试成功,则方法结束。若启动尝试失败,则流程前进到1118。
在1118和1120处,调用中断处理程序例程,并且若中断是错误中断(启动不成功),则流程前进到1122。
在1122处,启动设备的标识符和“启动失败”指示符被传送到CIMC 520,CIMC 520在启动状态消息中将启动设备标识符和启动失败消息转发到结构互连212。流程前进到1108。
返回1108,若所有启动设备均已耗尽(即,计算机已经尝试从启动顺序中的所有启动设备启动,均未成功),则流程前进到1124和1126。
在1124处,执行EFI程序526(还称为“EFI壳”526)。EFI壳526从计算机收集信息并且将收集到的信息发送到CIMC 520,CIMC 520在启动状态消息中将信息转发到结构互连212。
参考图12,在计算机(例如,计算机204、208、以及210中的一个)和结构互连212中执行以监测计算机中的启动成功的各种交互处理1200的流程图。处理1200包括:
a.处理1202,由计算机中的CIMC 520执行以从计算机收集启动状态并且将状态报告给结构互连212;
b.处理1204,由结构互连(FI)中的UCSM网络监测器424执行以监测网络路径可用性。处理1204表示方法600的操作615和620的实施例;
c.处理1206,由结构互连中的UCSM设备监测器426执行以监测端点设备可用性(例如,计算机、启动设备、以及托管启动设备的存储装置的可用性)。处理1206表示方法600中的操作625的实施例;以及
d.处理1208,由结构互连中的BDCE 423执行以从处理1202、1204、以及1206收集/接收启动相关状态。处理1208表示方法600中的操作630的实施例。
首先对于处理1202,在1210和1212处,CIMC 520从计算机收集启动状态,并且在启动状态消息中将启动状态报告给处理1208。
对于处理1204,在1214和1216处,UCSM网络监测器424基于计算机的启动策略来访问计算机(在图12中称为“启动器”)的启动设备和存储装置(在图12中称为托管启动LUN的“存储目标”)的列表。监测器424确定将列出的计算机连接到列出的启动设备中的适当的启动设备的网络路径,包括其中的网络组件。在1218和1220处,监测器424确定所确定的网络路径的健康/可用性,包括网络路径的组件的健康/可用性,并且将所确定的健康/可用性报告给处理1208。
对于处理1206,操作1222-1218类似于上述操作1214-1220,除了在操作1222-1218中,UCSM设备监测器426确定并报告在处理1206中确定的网络路径的端点的健康/可用性。端点包括计算机、启动设备、以及托管启动设备的存储装置、以及在端点上执行的软件处理。
对于处理1208,在1222和1224处,BDCE 423收集/接收如图12描绘的启动状态消息和健康/可用性报告,并且将信息存储在启动数据数据库中(数据440中,图4)。
参考图13,由结构互连212中的BAE 428执行的示例处理1302和由与处理1302交互的计算机(例如,计算机204、208、以及210中的一个)中的CIMC 520执行的示例处理1304的流程图。处理1302和1304一起控制计算机中的启动过程。
首先对于处理1302,在1306和1308处,BAE 428访问存储在启动设备数据库中的启动设备信息(例如,可用性和启动状态),以及用于每个计算机(例如,计算机204、208、以及210中的每个计算机)的启动顺序。在1310处,若确定用于给定计算机的启动顺序中列出的启动设备都不是可以启动的(即,可用的),则BAE 428向CIMC 520发送指示计算机不启动的消息1311。否则,流程前进到1312。在1312处,若用于给定计算机的启动顺序中列出的启动设备中仅一些启动设备是可以启动的,则BAE428仅使用可用的启动设备来创建新的启动顺序1313,并且将新的启动顺序发送到计算机中的CIMC 520。针对与互连结构212相连的每个计算机重复操作1310和1312。操作1312表示方法600中的操作635的实施例。
对于处理1304,在1314处,开始计算机中的通信处理。在1316处,CIMC 520与BIOS进行通信以阻止计算机响应于消息1311而启动。在1318处,CIMC 520将新的启动顺序1313传送到BIOS。
参考图14,由结构互连212中的BAE 428执行的示例处理1402和由与处理1402交互的计算机(例如,计算机204、208、以及210中的一个)中的CIMC 520执行的示例处理1404的流程图。处理1402和1404一起控制计算机中的启动过程。
首先对于处理1402,处理以操作1306和1308开始,类似于上面结合图13所描述的处理1302。在1410处,若(ⅰ)确定给定计算机和计算机尝试启动未成功的启动设备之间的网络路径可用,以及(ⅱ)确定启动设备可用,则BAE 428向计算机中的CIMC 520发送消息1411以使得CIMC设置相应的BIOS令牌,该BIOS令牌将使得BIOS利用比此前的启动尝试中所使用的启动超时期限更长的启动超时期限来重复尝试从启动设备进行启动。消息1411可包括新的重试次数N和较长超时期限。操作1410表示方法600中的操作635的实施例。
对于处理1404,处理以操作1314开始,类似于上面结合图13所描述的处理1304。在1414处,CIMC 520接收来自操作1410的消息1411并且设置相应的BIOS令牌,以使得BIOS526将重复尝试从启动设备启动并且将使用较长启动超时期限。此外,若消息1411包括重试次数N和较长超时期限,则CIMC 520将该信息存储在非易失性存储器(数据540)中以供BIOS526访问。替代地,可以在非易失性存储器中预先配设重试次数N和较长超时期限(以及原始的、较短超时期限)。响应于令牌,BIOS 526访问存储在非易失性存储器中的重试次数N和较长超时期限,并且使用它们作为上面结合图5所描述的启动期间的控制属性。
结构互连212和BIOS 526控制启动超时期限/重试尝试次数N的能力用作反馈循环以确保计算机(例如,计算机206(1))将从给定启动设备可靠地启动。BIOS令牌的使用是实现反馈的方便机制。当令牌被禁用时,BIOS 526正常地操作,即使用较短预定超时期限并且不重复尝试从同一启动设备启动。若令牌被启用,则BIOS 526使用较长超时期限和重复的启动尝试。可以在消息1411中使用多个令牌以在结构连接器212的控制下有选择地启用较长超时期限或重复重启、或二者的使用。
参考图15,用于监测和控制图2中所描述的各种计算机和存储装置所使用的功率的示例功率监测和控制***1500的框图。功率监测和控制***1500包括经由通信链路1502连接到机架202中的组件(如下所述)的结构互连212的处理器408。机架202包括功率分配(Power Dist)子***1506以生成功率,并且响应于控制信号1512经由相应的电力线1510来有选择地将功率提供给计算机204和存储装置206。机架202还包括功率控制器(PWRCNTRLR)1520,其响应于经由通信链路1502从结构互连212的处理器408接收的命令来生成控制信号1512,并且将控制信号提供给功率分配子***1506。功率控制器1520还监测功率分配子***1506、每个计算机204(服务器刀片)、以及每个存储装置206(存储刀片)的开机、关机、以及电源故障状态,并且经由通信链路1502将所监测的状态报告给结构互连212的处理器408。以这种方式,处理器408可以有选择地和动态地控制在任意给定时间哪些计算机204和存储装置206是打开的和关闭的,并且收集计算机和存储装置的功率状态。在如上所述的各个实施例中,处理器408控制功率并且使用功率状态。
总之,本文呈现的实施例包括用于动态控制和监测许多计算机启动序列中的每个计算机启动序列的方法和装置,其中,每个计算机可包括因特尔x86系列处理器。实施例在每次计算机启动时监测每个计算机中的启动序列;报告计算机从哪个启动设备启动;当计算机未从期望的启动设备启动时标识和报告警报;提供基于策略的机制以从指定的启动设备可靠地启动,即使目标启动设备不可用;以及基于启动策略采取纠正动作。纠正动作在存储设备不可用时可以节能,并且在存储设备变为可用时恢复计算机可用性。本文呈现的实施例在每次计算机启动时自动确定计算机从哪个实际的启动设备启动、执行启动失败分析、当存储设备不可用时最小化功耗、当启动设备开机时自动启动计算机。
总之,以一种形式,提供了一种方法,包括:在网络设备处管理多个计算机,并且将计算机连接到存储计算机用于启动的启动程序的启动设备;向每个计算机下载相应的启动顺序,该启动顺序指定计算机尝试从启动顺序中指定的启动设备启动的顺序;自动确定每个计算机访问用于该计算机的启动顺序中的启动设备所经由的网络路径;自动确定每个网络路径的可用性;自动确定每个启动设备的可用性;在计算机尝试从用于该计算机的启动顺序中的启动设备启动时,自动从每个计算机接收启动状态;以及基于所确定的网络路径和启动设备可用性、以及所接收的启动状态来自动执行启动相关动作。
总之,以另一形式,提供了一种装置,包括:网络端口,其被耦合到通信网络并且被配置为将多个计算机连接到存储计算机用于启动的启动程序的启动设备;处理器,其被耦合到网络端口以管理多个计算机,并且:向每个计算机下载相应的启动顺序,该启动顺序指定计算机尝试从启动顺序中指定的启动设备启动的顺序;自动确定每个计算机访问用于该计算机的启动顺序中的启动设备所经由的网络路径;自动确定每个网络路径的可用性;自动确定每个启动设备的可用性;在计算机尝试从针对该计算机的启动顺序中的启动设备启动时,自动从每个计算机接收启动状态;以及基于所确定的网络路径和启动设备可用性、以及所接收的启动状态来自动执行启动相关动作。
总之,以又一形式,提供了一种处理器可读介质。计算机可读存储介质编码有指令,指令当由网络设备的处理器执行以管理多个计算机并且将计算机连接到存储计算机用于启动的启动程序的启动设备时,使得处理器:向每个计算机下载相应的启动顺序,该启动顺序指定计算机尝试从启动顺序中指定的启动设备启动的顺序;自动确定每个计算机访问用于该计算机的启动顺序中的启动设备所经由的网络路径;自动确定每个网络路径的可用性;自动确定每个启动设备的可用性;在计算机尝试从针对该计算机的启动顺序中的启动设备启动时,自动从每个计算机接收启动状态;以及基于所确定的网络路径和启动设备可用性、以及所接收的启动状态来自动执行启动相关动作。
以上描述旨在仅作为示例的方式。
Claims (23)
1.一种方法,包括:
在网络设备处管理多个计算机,并且将所述计算机连接到存储所述计算机用于启动的启动程序的启动设备:
向每个计算机下载相应的启动顺序,该启动顺序指定所述计算机尝试从所述启动顺序中指定的启动设备启动的顺序;
自动确定每个计算机访问用于该计算机的所述启动顺序中的所述启动设备所经由的网络路径;
自动确定每个网络路径的可用性;
自动确定每个启动设备的可用性;
在所述计算机尝试从用于该计算机的所述启动顺序中的启动设备启动时,自动从每个计算机接收启动状态;以及
基于所确定的网络路径和启动设备可用性、以及所接收的启动状态自动执行启动相关动作。
2.如权利要求1所述的方法,其中,所述自动确定每个网络路径的可用性包括:
检测所述网络路径中的网络组件故障;
若任意检测到的网络故障阻止所述计算机经由所述网络路径访问所述启动设备,则宣告所述网络路径不可用;以及
若未检测到阻止所述计算机经由所述网络路径访问所述启动设备的网络故障,则宣告所述网络路径可用。
3.如权利要求1所述的方法,其中,所述自动确定每个启动设备的可用性包括:
检测所述启动设备是否已经发生故障;
检测所述启动设备是开机还是关机;
若所述启动设备已经发生故障或关机,则宣告所述启动设备不可用;以及
若所述启动设备未发生故障并且开机,则宣告所述启动设备可用。
4.如权利要求1所述的方法,其中,所述自动执行启动相关动作包括对于每个计算机:
基于所确定的所述启动顺序中的所述启动设备的可用性、所确定的所述计算机访问所述启动顺序中的所述启动设备所经由的所述网络路径的可用性、以及所接收的启动状态,确定所述计算机是否能够从用于所述计算机的所述启动顺序中的任意启动设备启动;以及
若确定所述计算机不能从所述启动顺序中的任意启动设备启动,则指示所述计算机不启动。
5.如权利要求4所述的方法,其中,在所述计算机上自动执行启动相关动作还包括对于每个计算机:
若确定所述计算机不能从用于所述计算机的所述启动顺序中的一些启动设备启动,但是能够从用于所述计算机的所述启动顺序中的其他启动设备启动,则:
生成用于所述计算机的仅指定所述其他启动设备的新的启动顺序;并且
将所述新的启动顺序下载到所述计算机。
6.如权利要求4所述的方法,其中,所述指示包括向所述计算机发送命令,所述命令将由所述计算机的控制所述计算机的所述启动序列的基本输入/输出***(BIOS)解析。
7.如权利要求1所述的方法,其中,所述自动执行启动相关动作包括:
基于所确定的启动设备可用性确定对于预定时间段已经不可用的启动设备;
关闭要从被确定对于所述预定时间段已经不可用的所述启动设备启动的所述计算机;以及
当被确定对于所述预定时间段已经不可用的所述相应的启动设备变为可用时,打开所述关闭的计算机。
8.如权利要求1所述的方法,其中,在所述计算机上自动执行启动相关动作包括对于每个计算机:
若所述接收到的启动状态指示从所述启动顺序中的启动设备的此前的启动尝试由于第一超时期限过期而失败,并且
若所述计算机和所述启动设备之间的所述网络路径被确定是可用的,并且
若所述确定启动设备的可用性指示所述启动设备可用,
则命令所述计算机使用大于所述第一超时期限的第二超时期限重复地尝试从所述启动设备启动。
9.如权利要求1所述的方法,其中,从所述每个计算机接收启动状态包括接收:
对所述计算机通过还是未通过开机自检(POST)的指示;
任意失败的启动尝试的指示符和所述尝试在其上失败的所述启动设备的标识符;以及
所述计算机中的状态寄存器的值,包括命令和通信寄存器。
10.一种装置,包括:
网络端口,所述网络端口被耦合到通信网络并且被配置为将多个计算机连接到存储所述计算机用于启动的启动程序的启动设备;
处理器,所述处理器被耦合到所述网络端口以管理所述多个计算机,并且:
向每个计算机下载相应的启动顺序,该启动顺序指定所述计算机尝试从所述启动顺序中指定的启动设备启动的顺序;
自动确定每个计算机访问用于该计算机的所述启动顺序中的所述启动设备所经由的网络路径;
自动确定每个网络路径的可用性;
自动确定每个启动设备的可用性;
在所述计算机尝试从用于该计算机的所述启动顺序中的启动设备启动时,自动从每个计算机接收启动状态;以及
基于所确定的网络路径和启动设备可用性、以及所接收的启动状态自动执行启动相关动作。
11.如权利要求10所述的装置,其中,所述处理器通过执行下列项来自动确定每个网络路径的可用性:
检测所述网络路径中的网络组件故障;
若任意检测到的网络故障阻止所述计算机经由所述网络路径访问所述启动设备,则宣告所述网络路径不可用;以及
若未检测到阻止所述计算机经由所述网络路径访问所述启动设备的网络故障,则宣告所述网络路径可用。
12.如权利要求10所述的装置,其中,所述处理器通过执行下列项来自动确定每个启动设备的可用性:
检测所述启动设备是否已经发生故障;
检测所述启动设备是开机还是关机;
若所述启动设备已经发生故障或关机,则宣告所述启动设备不可用;以及
若所述启动设备未发生故障并且开机,则宣告所述启动设备可用。
13.如权利要求10所述的装置,其中,所述处理器通过对于每个计算机执行下列项来自动执行启动相关动作:
基于所确定的所述启动顺序中的所述启动设备的可用性、所确定的所述计算机访问所述启动顺序中的所述启动设备所经由的所述网络路径的可用性、以及所接收的启动状态,确定所述计算机是否能够从用于所述计算机的所述启动顺序中的任意启动设备启动;
若确定所述计算机不能从所述启动顺序中的任意启动设备启动,则指示所述计算机不启动;以及
若确定所述计算机不能从用于所述计算机的所述启动顺序中的一些启动设备启动,但是能够从用于所述计算机的所述启动顺序中的其他启动设备启动,则:
生成用于所述计算机的仅指定所述其他启动设备的新的启动顺序;并且
将所述新的启动顺序下载到所述计算机。
14.如权利要求10所述的装置,其中,所述处理器通过执行下列项来自动执行另外的启动相关操作:
基于所确定的启动设备可用性确定对于预定时间段已经不可用的启动设备;
关闭要从被确定对于所述预定时间段已经不可用的所述启动设备启动的所述计算机;以及
当被确定对于所述预定时间段已经不可用的所述相应的启动设备变为可用时,打开所述关闭的计算机。
15.如权利要求10所述的装置,其中,所述处理器通过对于每个计算机执行下列项来自动执行另外的启动相关操作:
若所述接收到的启动状态指示从所述启动顺序中的启动设备的此前的启动尝试由于第一超时期限过期而失败,并且
若所述计算机和所述启动设备之间的所述网络路径被确定是可用的,并且
若所述确定启动设备的可用性指示所述启动设备可用,
则命令所述计算机使用大于所述第一超时期限的第二超时期限重复地尝试从所述启动设备启动。
16.如权利要求10所述的装置,其中,所述处理器通过接收下列项来从每个计算机接收启动状态:
对所述计算机通过还是未通过开机自检(POST)的指示;
任意失败的启动尝试的指示符和所述尝试在其上失败的所述启动设备的标识符;以及
所述计算机中的状态寄存器的值,包括命令和通信寄存器。
17.一种计算机可读存储介质,编码有指令,所述指令当由网络设备的处理器执行以管理多个计算机并且将所述计算机连接到存储所述计算机用于启动的启动程序的启动设备时,使得所述处理器:
向每个计算机下载相应的启动顺序,该启动顺序指定所述计算机尝试从所述启动顺序中指定的启动设备启动的顺序;
自动确定每个计算机访问用于该计算机的所述启动顺序中的所述启动设备所经由的网络路径;
自动确定每个网络路径的可用性;
自动确定每个启动设备的可用性;
在所述计算机尝试从用于该计算机的所述启动顺序中的启动设备启动时,自动从每个计算机接收启动状态;以及
基于所确定的网络路径和启动设备可用性、以及所接收的启动状态自动执行启动相关动作。
18.如权利要求17所述的计算机可读存储介质,其中,使得所述处理器自动确定每个网络路径的可用性的所述指令包括使得所述处理器执行下列项的指令:
检测所述网络路径中的网络组件故障;
若任意检测到的网络故障阻止所述计算机经由所述网络路径访问所述启动设备,则宣告所述网络路径不可用;以及
若未检测到阻止所述计算机经由所述网络路径访问所述启动设备的网络故障,则宣告所述网络路径可用。
19.如权利要求17所述的计算机可读存储介质,其中,使得所述处理器自动确定每个启动设备的可用性的所述指令包括使得所述处理器执行下列项的指令:
检测所述启动设备是否已经发生故障;
检测所述启动设备是开机还是关机;
若所述启动设备已经发生故障或关机,则宣告所述启动设备不可用;以及
若所述启动设备未发生故障并且开机,则宣告所述启动设备可用。
20.如权利要求17所述的计算机可读存储介质,其中,使得所述处理器自动执行启动相关动作的所述指令包括使得所述处理器对于每个计算机执行下列项的指令:
基于所确定的所述启动顺序中的所述启动设备的可用性、所确定的所述计算机访问所述启动顺序中的所述启动设备所经由的所述网络路径的可用性、以及所接收的启动状态,确定所述计算机是否能够从用于所述计算机的所述启动顺序中的任意启动设备启动;
若确定所述计算机不能从所述启动顺序中的任意启动设备启动,则指示所述计算机不启动;以及
若确定所述计算机不能从用于所述计算机的所述启动顺序中的一些启动设备启动,但是能够从用于所述计算机的所述启动顺序中的其他启动设备启动,则:
生成用于所述计算机的仅指定所述其他启动设备的新的启动顺序;并且
将所述新的启动顺序下载到所述计算机。
21.如权利要求17所述的计算机可读存储介质,其中,使得所述处理器自动执行启动相关动作的所述指令包括使得所述处理器执行下列项的指令:
基于所确定的启动设备可用性确定对于预定时间段已经不可用的启动设备;
关闭要从被确定对于所述预定时间段已经不可用的所述启动设备启动的所述计算机;以及
当被确定对于所述预定时间段已经不可用的所述相应的启动设备变为可用时,打开所述关闭的计算机。
22.如权利要求17所述的计算机可读存储介质,其中,使得所述处理器在所述计算机上自动执行启动相关动作的所述指令包括使得所述处理器对于每个计算机执行下列项的指令:
若所述接收到的启动状态指示从所述启动顺序中的启动设备的此前的启动尝试由于第一超时期限过期而失败,并且
若所述计算机和所述启动设备之间的所述网络路径被确定是可用的,并且
若所述确定启动设备的可用性指示所述启动设备可用,
则命令所述计算机使用大于所述第一超时期限的第二超时期限重复地尝试从所述启动设备启动。
23.如权利要求17所述的计算机可读存储介质,其中,使得所述处理器从每个计算机接收启动状态的所述指令包括使得所述处理器接收下列项的指令:
对所述计算机通过还是未通过开机自检(POST)的指示;
任意失败的启动尝试的指示符和所述尝试在其上失败的所述启动设备的标识符;以及
所述计算机中的状态寄存器的值,包括命令和通信寄存器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/601,566 | 2015-01-21 | ||
US14/601,566 US9678762B2 (en) | 2015-01-21 | 2015-01-21 | Dynamic, automated monitoring and controlling of boot operations in computers |
PCT/US2016/013849 WO2016118477A1 (en) | 2015-01-21 | 2016-01-19 | Dynamic, automated monitoring and controlling of boot operations in computers |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107209671A true CN107209671A (zh) | 2017-09-26 |
CN107209671B CN107209671B (zh) | 2020-10-09 |
Family
ID=55305078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680006632.6A Expired - Fee Related CN107209671B (zh) | 2015-01-21 | 2016-01-19 | 计算机中启动操作的动态自动监测和控制 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9678762B2 (zh) |
EP (1) | EP3248102B1 (zh) |
CN (1) | CN107209671B (zh) |
WO (1) | WO2016118477A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112148100A (zh) * | 2019-06-26 | 2020-12-29 | 西安诺瓦星云科技股份有限公司 | 嵌入式设备控制方法、装置及*** |
CN113791874A (zh) * | 2021-11-16 | 2021-12-14 | 苏州浪潮智能科技有限公司 | 虚拟机引导的配置方法、装置、计算机设备和存储介质 |
TWI758026B (zh) * | 2020-12-23 | 2022-03-11 | 神雲科技股份有限公司 | 基本輸入輸出系統功能的設定方法 |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9853873B2 (en) | 2015-01-10 | 2017-12-26 | Cisco Technology, Inc. | Diagnosis and throughput measurement of fibre channel ports in a storage area network environment |
US9087001B1 (en) * | 2015-01-16 | 2015-07-21 | Storagecraft Technology Corporation | Virtualizing multiple networked machines using a predetermined network recovery policy |
US9900250B2 (en) | 2015-03-26 | 2018-02-20 | Cisco Technology, Inc. | Scalable handling of BGP route information in VXLAN with EVPN control plane |
EP3292671B1 (en) * | 2015-05-06 | 2022-10-12 | Hewlett Packard Enterprise Development LP | Securely and reliably transferring startup script |
US10222986B2 (en) | 2015-05-15 | 2019-03-05 | Cisco Technology, Inc. | Tenant-level sharding of disks with tenant-specific storage modules to enable policies per tenant in a distributed storage system |
US11588783B2 (en) | 2015-06-10 | 2023-02-21 | Cisco Technology, Inc. | Techniques for implementing IPV6-based distributed storage space |
US10778765B2 (en) | 2015-07-15 | 2020-09-15 | Cisco Technology, Inc. | Bid/ask protocol in scale-out NVMe storage |
US9892075B2 (en) | 2015-12-10 | 2018-02-13 | Cisco Technology, Inc. | Policy driven storage in a microserver computing environment |
WO2017116401A1 (en) * | 2015-12-28 | 2017-07-06 | Hewlett-Packard Development Company, L.P. | Booting a computer using a wireless network connection |
US10140172B2 (en) | 2016-05-18 | 2018-11-27 | Cisco Technology, Inc. | Network-aware storage repairs |
US20170351639A1 (en) | 2016-06-06 | 2017-12-07 | Cisco Technology, Inc. | Remote memory access using memory mapped addressing among multiple compute nodes |
US10664169B2 (en) | 2016-06-24 | 2020-05-26 | Cisco Technology, Inc. | Performance of object storage system by reconfiguring storage devices based on latency that includes identifying a number of fragments that has a particular storage device as its primary storage device and another number of fragments that has said particular storage device as its replica storage device |
US11563695B2 (en) | 2016-08-29 | 2023-01-24 | Cisco Technology, Inc. | Queue protection using a shared global memory reserve |
CN112199223B (zh) * | 2016-10-25 | 2022-07-19 | 华为技术有限公司 | 终端设备开机失败的恢复方法和终端设备 |
US10545914B2 (en) | 2017-01-17 | 2020-01-28 | Cisco Technology, Inc. | Distributed object storage |
US10243823B1 (en) | 2017-02-24 | 2019-03-26 | Cisco Technology, Inc. | Techniques for using frame deep loopback capabilities for extended link diagnostics in fibre channel storage area networks |
US10713203B2 (en) | 2017-02-28 | 2020-07-14 | Cisco Technology, Inc. | Dynamic partition of PCIe disk arrays based on software configuration / policy distribution |
US10254991B2 (en) | 2017-03-06 | 2019-04-09 | Cisco Technology, Inc. | Storage area network based extended I/O metrics computation for deep insight into application performance |
TWI640872B (zh) * | 2017-07-07 | 2018-11-11 | 群聯電子股份有限公司 | 記憶體控制電路單元、記憶體儲存裝置及其控制方法 |
US10303534B2 (en) | 2017-07-20 | 2019-05-28 | Cisco Technology, Inc. | System and method for self-healing of application centric infrastructure fabric memory |
US10206092B1 (en) | 2017-09-29 | 2019-02-12 | Hewlett Packard Enterprise Development Lp | Automatic discovery |
US10404596B2 (en) | 2017-10-03 | 2019-09-03 | Cisco Technology, Inc. | Dynamic route profile storage in a hardware trie routing table |
US10942666B2 (en) | 2017-10-13 | 2021-03-09 | Cisco Technology, Inc. | Using network device replication in distributed storage clusters |
US11593121B1 (en) * | 2018-09-11 | 2023-02-28 | American Megatrends International, Llc | Remotely disabling execution of firmware components |
US10831606B2 (en) * | 2018-09-19 | 2020-11-10 | Hewlett Packard Enterprise Development Lp | Automatic diagnostic mode to determine potential cause of boot problem |
US11347520B2 (en) * | 2020-02-13 | 2022-05-31 | Dell Products L.P. | Unavailable memory device initialization system |
DE112021001313T5 (de) * | 2020-02-28 | 2022-12-15 | Nebulon, Inc. | Automatische population von boot-volumes über bereitgestellte url |
EP4214904A1 (en) * | 2020-10-29 | 2023-07-26 | Ubiquiti Inc. | Using wireless packets to indicate device boot status |
US11899532B2 (en) * | 2022-05-31 | 2024-02-13 | Micron Technology, Inc. | Determining locations in NAND memory for boot-up code |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1170903A (zh) * | 1996-07-15 | 1998-01-21 | 郑钢 | 一种具有自安全特性的网络计算机*** |
US20020161868A1 (en) * | 2001-04-27 | 2002-10-31 | International Business Machines Corporation | Method and system for fault-tolerant remote boot in the presence of boot server overload/failure with self-throttling boot servers |
US20040078679A1 (en) * | 2002-06-28 | 2004-04-22 | Cagle John M. | Autonomous boot failure detection and recovery |
US6748525B1 (en) * | 1999-11-30 | 2004-06-08 | International Business Machines Corporation | Method and apparatus for sending boot programs to workstation computers over a network in a controlled process |
CN1584826A (zh) * | 2003-08-20 | 2005-02-23 | 英业达股份有限公司 | 自动切换开机模式的方法 |
US6931519B1 (en) * | 2000-08-25 | 2005-08-16 | Sun Microsystems, Inc. | Method and apparatus for reliable booting device |
US20060236081A1 (en) * | 2005-04-18 | 2006-10-19 | Tsung-Fu Hung | Computer System and Related Method of Playing Audio Files when Booting |
CN101055527A (zh) * | 2006-04-10 | 2007-10-17 | 联想(北京)有限公司 | 快速启动计算机的***和方法 |
CN101120576A (zh) * | 2005-04-21 | 2008-02-06 | 国际商业机器公司 | 用于网格客户端重新部署的操作环境的重新分布 |
US20080120350A1 (en) * | 2001-11-09 | 2008-05-22 | Persystent Technology Corporation | System and Method for Management of End User Computing Devices |
US20080155075A1 (en) * | 2003-12-31 | 2008-06-26 | Daryl Carvis Cromer | Remote management of boot application |
CN101221508A (zh) * | 2008-01-31 | 2008-07-16 | 杭州华三通信技术有限公司 | 一种设备启动方法和装置 |
US20090038009A1 (en) * | 2007-07-31 | 2009-02-05 | Aruze Corp. | Information Processing Device That Verifies A Computer Program, And Gaming Machine |
CN101562007A (zh) * | 2008-04-16 | 2009-10-21 | 晨星半导体股份有限公司 | 可自动更新韧件的显示控制装置及其更新方法 |
CN102662696A (zh) * | 2012-03-27 | 2012-09-12 | 中国人民解放军国防科学技术大学 | 大规模并行计算机***的快速启动方法及装置 |
CN102833344A (zh) * | 2012-09-04 | 2012-12-19 | 中国人民解放军国防科学技术大学 | 基于本地启动映像文件的无盘计算机启动方法 |
US20140164752A1 (en) * | 2012-12-11 | 2014-06-12 | Manikantan Venkiteswaran | System and method for selecting a least cost path for performing a network boot in a data center network environment |
CN103902327A (zh) * | 2012-12-29 | 2014-07-02 | 鸿富锦精密工业(深圳)有限公司 | Bmc启动***及方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7073053B1 (en) | 2001-10-11 | 2006-07-04 | Cisco Technology, Inc. | Method and apparatus for a boot progression scheme for reliably initializing a system |
US7386711B1 (en) | 2002-01-08 | 2008-06-10 | Cisco Technology, Inc. | Method and apparatus for redirecting the boot operations of one or more systems |
US7127602B1 (en) | 2003-02-21 | 2006-10-24 | Cisco Technology, Inc. | iSCSI computer boot system and method |
US6857069B1 (en) | 2003-03-24 | 2005-02-15 | Cisco Technology, Inc. | Modified operating system boot sequence for iSCSI device support |
US7363356B1 (en) | 2003-03-24 | 2008-04-22 | Cisco Technology, Inc. | Boot modification of registry data for iSCSI network boot operations |
US7360072B1 (en) | 2003-03-28 | 2008-04-15 | Cisco Technology, Inc. | iSCSI system OS boot configuration modification |
US7664834B2 (en) * | 2004-07-09 | 2010-02-16 | Maxsp Corporation | Distributed operating system management |
US7512139B2 (en) * | 2006-05-16 | 2009-03-31 | Oracle International Corporation | Methods and systems for enabling remote booting of remote boot clients in a switched network defining a plurality of virtual local area networks (VLANS) |
US9361127B2 (en) * | 2013-07-19 | 2016-06-07 | Dell Products L.P. | Switching between network interface cards during different stages of operation |
-
2015
- 2015-01-21 US US14/601,566 patent/US9678762B2/en active Active
-
2016
- 2016-01-19 EP EP16703203.6A patent/EP3248102B1/en active Active
- 2016-01-19 CN CN201680006632.6A patent/CN107209671B/zh not_active Expired - Fee Related
- 2016-01-19 WO PCT/US2016/013849 patent/WO2016118477A1/en active Application Filing
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1170903A (zh) * | 1996-07-15 | 1998-01-21 | 郑钢 | 一种具有自安全特性的网络计算机*** |
US6748525B1 (en) * | 1999-11-30 | 2004-06-08 | International Business Machines Corporation | Method and apparatus for sending boot programs to workstation computers over a network in a controlled process |
US6931519B1 (en) * | 2000-08-25 | 2005-08-16 | Sun Microsystems, Inc. | Method and apparatus for reliable booting device |
US20020161868A1 (en) * | 2001-04-27 | 2002-10-31 | International Business Machines Corporation | Method and system for fault-tolerant remote boot in the presence of boot server overload/failure with self-throttling boot servers |
US20080120350A1 (en) * | 2001-11-09 | 2008-05-22 | Persystent Technology Corporation | System and Method for Management of End User Computing Devices |
US20040078679A1 (en) * | 2002-06-28 | 2004-04-22 | Cagle John M. | Autonomous boot failure detection and recovery |
CN1584826A (zh) * | 2003-08-20 | 2005-02-23 | 英业达股份有限公司 | 自动切换开机模式的方法 |
US20080155075A1 (en) * | 2003-12-31 | 2008-06-26 | Daryl Carvis Cromer | Remote management of boot application |
US20060236081A1 (en) * | 2005-04-18 | 2006-10-19 | Tsung-Fu Hung | Computer System and Related Method of Playing Audio Files when Booting |
CN101120576A (zh) * | 2005-04-21 | 2008-02-06 | 国际商业机器公司 | 用于网格客户端重新部署的操作环境的重新分布 |
CN101055527A (zh) * | 2006-04-10 | 2007-10-17 | 联想(北京)有限公司 | 快速启动计算机的***和方法 |
US20090038009A1 (en) * | 2007-07-31 | 2009-02-05 | Aruze Corp. | Information Processing Device That Verifies A Computer Program, And Gaming Machine |
CN101221508A (zh) * | 2008-01-31 | 2008-07-16 | 杭州华三通信技术有限公司 | 一种设备启动方法和装置 |
CN101562007A (zh) * | 2008-04-16 | 2009-10-21 | 晨星半导体股份有限公司 | 可自动更新韧件的显示控制装置及其更新方法 |
CN102662696A (zh) * | 2012-03-27 | 2012-09-12 | 中国人民解放军国防科学技术大学 | 大规模并行计算机***的快速启动方法及装置 |
CN102833344A (zh) * | 2012-09-04 | 2012-12-19 | 中国人民解放军国防科学技术大学 | 基于本地启动映像文件的无盘计算机启动方法 |
US20140164752A1 (en) * | 2012-12-11 | 2014-06-12 | Manikantan Venkiteswaran | System and method for selecting a least cost path for performing a network boot in a data center network environment |
CN103902327A (zh) * | 2012-12-29 | 2014-07-02 | 鸿富锦精密工业(深圳)有限公司 | Bmc启动***及方法 |
Non-Patent Citations (2)
Title |
---|
邱饶宁;蒋烈辉;郭玉东;董卫宇: "网络计算机双***启动技术研究", 《计算机工程与设计》 * |
陈立林: "网络计算机启动技术", 《硅谷》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112148100A (zh) * | 2019-06-26 | 2020-12-29 | 西安诺瓦星云科技股份有限公司 | 嵌入式设备控制方法、装置及*** |
CN112148100B (zh) * | 2019-06-26 | 2022-08-16 | 西安诺瓦星云科技股份有限公司 | 嵌入式设备控制方法、装置及*** |
TWI758026B (zh) * | 2020-12-23 | 2022-03-11 | 神雲科技股份有限公司 | 基本輸入輸出系統功能的設定方法 |
CN113791874A (zh) * | 2021-11-16 | 2021-12-14 | 苏州浪潮智能科技有限公司 | 虚拟机引导的配置方法、装置、计算机设备和存储介质 |
WO2023087622A1 (zh) * | 2021-11-16 | 2023-05-25 | 苏州浪潮智能科技有限公司 | 虚拟机引导的配置方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US9678762B2 (en) | 2017-06-13 |
CN107209671B (zh) | 2020-10-09 |
EP3248102A1 (en) | 2017-11-29 |
EP3248102B1 (en) | 2019-03-13 |
WO2016118477A1 (en) | 2016-07-28 |
US20160210161A1 (en) | 2016-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107209671A (zh) | 计算机中启动操作的动态自动监测和控制 | |
US9720757B2 (en) | Securing crash dump files | |
US10127032B2 (en) | System and method for unified firmware management | |
KR101081092B1 (ko) | 병렬 컴퓨터 시스템과 병렬 컴퓨터 시스템 구동 방법과 컴퓨터 판독가능한 기록 매체 | |
US8788636B2 (en) | Boot controlling method of managed computer | |
US8001221B2 (en) | Method of building system and management server | |
US10127095B2 (en) | Seamless automatic recovery of a switch device | |
US20170337101A1 (en) | Correcting operational state and incorporating additional debugging support into an online system without disruption | |
US20130262700A1 (en) | Information processing system and virtual address setting method | |
FI127566B (en) | RACK WITH SEVERAL RACK MANAGEMENT MODULE AND HARDWARE UPDATE METHOD | |
US20130117518A1 (en) | System controller, information processing system and method of saving and restoring data in the information processing system | |
CN109254783A (zh) | 一种服务器***安装方法、装置、设备及可读存储介质 | |
US9459884B2 (en) | Self-healing using an alternate boot partition | |
US10880153B2 (en) | Method and system for providing service redundancy between a master server and a slave server | |
US20140019667A1 (en) | Method for controlling i/o switch, method for controlling virtual computer, and computer system | |
CN113285822A (zh) | 数据中心故障排除机制 | |
US20220300384A1 (en) | Enhanced fencing scheme for cluster systems without inherent hardware fencing | |
CN109358982A (zh) | 硬盘自愈装置、方法以及硬盘 | |
CN111090537A (zh) | 集群启动方法、装置、电子设备及可读存储介质 | |
CN115168146A (zh) | 一种异常检测方法和装置 | |
US20230216607A1 (en) | Systems and methods to initiate device recovery | |
CN116860337A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20201009 Termination date: 20220119 |