CN101211284A - 分配给存储卷的计算设备的故障转移的方法和系统 - Google Patents
分配给存储卷的计算设备的故障转移的方法和系统 Download PDFInfo
- Publication number
- CN101211284A CN101211284A CNA2007101944354A CN200710194435A CN101211284A CN 101211284 A CN101211284 A CN 101211284A CN A2007101944354 A CNA2007101944354 A CN A2007101944354A CN 200710194435 A CN200710194435 A CN 200710194435A CN 101211284 A CN101211284 A CN 101211284A
- Authority
- CN
- China
- Prior art keywords
- computing equipment
- storage volume
- cold standby
- area network
- described storage
- 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
Images
Classifications
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2033—Failover techniques switching over of hardware resources
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2025—Failover techniques using centralised failover control functionality
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2041—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with more than one idle spare processing component
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2046—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share persistent storage
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明涉及一种用于分配给存储卷的计算设备的故障转移的方法和系统。响应于确定已向其分配存储区域网络(SAN)内的一个或多个存储卷的计算设备满足停机准则,取消将所述存储区域网络内的所述存储卷分配给所述计算设备。将所述存储区域网络内的所述存储卷分配给冷备用计算设备,并且从这些存储卷中的一个存储卷引导所述冷备用计算设备。即使所述计算设备没有进行群集并且即使没有采用虚拟化,也可以提供此类计算设备故障转移。
Description
技术领域
本专利申请通常涉及分配给存储区域网络(SAN)内的存储卷的计算设备,更具体地说,涉及此类计算设备的故障转移。
背景技术
历史上,多个计算设备使用它们自己的外壳单独地进行封装,这在单个办公室/家庭办公室(SOHO)环境中仍然是普遍的。但是,在企业环境中支持此类计算设备已被发现是极其昂贵的。因此,计算设备近来已开始被共同地容纳在机架内,作为插入机架的单独计算设备“刀片”。
连同这种发展一起,另一种降低计算设备的维护成本的趋势是将它们的存储设备容纳在一个或多个单独外壳中,例如在存储区域网络(SAN)内。几乎所有现代计算设备仍需要从存储在存储设备(例如,硬盘驱动器)上的逻辑存储卷来引导,并从此类存储卷运行应用程序以及访问存储在此类存储卷上的数据。逻辑存储卷是在一个或多个存储设备(例如SAN内的存储设备)上组织的数据的逻辑集合。可以将给定计算设备分配给一个或多个存储卷并从这些存储卷之一来引导。以这种方式,所述存储设备并不位于计算设备内或在计算设备上,而是与其分离。
任何类型的计算设备环境所具有的一个问题是计算设备周期地出现故障,或者计算设备必须周期地停机以进行常规维护。在一个计算设备到另一个计算设备的最基本的故障转移中,计算设备被手工停机并代之以冷备用计算设备,然后引导该冷备用计算设备以代替停机的计算设备。但是,此类故障转移可能需要信息技术(IT)人员的介入,并因此在该人员执行故障转移所必须花费的时间方面,以及在冷备用计算设备可以被引导以代替所停机的计算设备先前所带来的停机时间长度方面是昂贵的。
已经开发了不同的技术来改进故障转移。一种此类技术是虚拟化。在虚拟化中,终端用户所看到的计算设备实际上是不与任何特定物理计算设备对应的虚拟计算设备。多个此类虚拟计算设备能够从较少数量的物理计算设备来运行。如果某个物理计算设备必须停机,则其所托管的虚拟计算设备只需在停机先前迁移到另一个物理计算设备。故障转移从而得以相对较快地进行,并且具有最短的停机时间(如果存在停机的话)。
另一种此类技术是群集。在群集中,多个计算设备彼此关联作为一个群集。群集内的一个计算设备能够容易地在群集中的另一个计算设备必须被停机时接管该计算设备。与虚拟化一样,故障转移相对较快地进行,并且具有最短的停机时间(如果存在停机的话)。还可以一起采用群集和虚拟化。
但是,虚拟化、群集和其他此类面向故障转移的技术是有缺点的,原因在于目前与这些解决方案关联的高昂成本。这两种技术均需要昂贵的硬件和/或软件,以及为组织的IT人员进行相对复杂的培训。许多将从更快的计算设备故障转移受益的组织无法承受修改其整体计算设备拓扑以便利用虚拟化和/或群集。因此,出于此类和其他原因而需要本发明。
发明内容
本发明涉及分配给存储区域网络(SAN)存储卷的计算设备的故障转移。本发明的一个实施例的方法确定已向其分配存储区域网络内的一个或多个存储卷的计算设备满足停机准则。作为响应,取消将所述SAN内的所述存储卷分配给所述计算设备,并将其分配给冷备用计算设备。然后,从这些存储卷中的一个存储卷引导所述冷备用计算设备,使得停机的计算设备有效地故障转移至所述冷备用计算设备而无需人为介入。
本发明的实施例的系统包括SAN、多个计算设备和管理软件。所述SAN包含多个存储设备,在其上逻辑地组织多个卷。将每个计算设备分类为运行计算设备或冷备用计算设备。将每个运行计算设备独占地分配给所述SAN的一个或多个所述存储卷,包括从其引导所述运行计算设备的存储卷。所述管理软件监视每个所述运行计算设备是否将停机。响应于确定运行计算设备将要停机,所述管理软件取消将所述存储卷分配给所述运行计算设备,并且将它们重新分配给所述冷备用计算设备之一。所述管理软件然后从所述存储卷中的一个存储卷来引导所述冷备用计算设备。
本发明的实施例的制品包括有形的计算机可读介质及该介质上的装置。所述有形的计算机可读介质可以是可记录的数据存储介质,或者是其他类型的计算机可读介质。所述装置用于确定从SAN的存储卷引导的计算设备将要停机。所述装置还用于取消将所述存储卷分配给所述计算设备,并用于将所述存储卷重新分配给冷备用计算设备。所述装置还用于从该存储卷来引导所述冷备用计算设备。
本发明的各实施例提供了优于现有技术的优点。实现了将已从SAN存储卷引导的计算设备故障转移到冷备用计算设备而无需人为介入并且是自动的,从而通过及时的方式以最小的昂贵停机时间进行故障转移。此外,实现了此类故障转移而不必采用群集和/或虚拟化。这样,本发明的实施例所提供的故障转移是一种能够被无法承受群集或虚拟化的组织所利用的经济有效的方法。
通过阅读以下详细描述并参考附图,本发明的其他方面、实施例和优点将变得显而易见。
附图说明
在此参考的附图形成了说明书的一部分。图中所示出的特征仅旨在例示本发明的一些实施例,而不是本发明的所有实施例,除非另外明确指出,否则并非进行相反的暗示。
图1是根据本发明实施例的能够结合其执行计算设备故障转移的基本系统的示意图;
图2是根据本发明实施例的用于执行计算设备故障转移的基本方法的流程图;
图3是根据本发明实施例的能够结合其执行计算设备故障转移的系统的示意图,其与图1的系统一致但更加详细;以及
图4是根据本发明实施例的用于执行计算设备故障转移的方法的流程图,其与图2的方法一致但更加详细。
具体实施方式
在本发明的示例性实施例的以下详细说明中,参考了形成本说明书一部分的附图,并且其中通过示例的方式示出了其中可以实现本发明的特定示例性实施例。这些实施例被充分详细地描述,以便使得本领域的技术人员能够实现本发明。可以使用其他实施例并且可以在不偏离本发明的精神或范围的情况下做出逻辑的、机械的更改和其他更改。因此,不应以限制的意义来理解以下的详细说明,并且本发明的范围仅由所附的权利要求来限定。
概述
图1示出了根据本发明实施例的系统100。参考图1描述了本发明的一般实施例的操作。在详细说明的下一部分中,提供了有关本发明的特定实施例的更明确的细节。系统100包括其中已插入被共同称为计算设备104的多个计算设备104A、104B和104C的机架102。系统100还包括存储区域网络(SAN)106,存储区域网络(SAN)106包含被共同称为存储卷108的存储卷108A和108B。
机架102是能够在机架102的槽内容纳多个计算设备104的外壳。本发明的此实施例中的计算设备104通常称为刀片计算设备。在另一个实施例中,可以没有机架102,从而每个计算设备104是独立的计算设备,例如本领域公知的更典型的桌面计算设备。
每个计算设备104都能够以非虚拟化的方式运行操作系统(OS)的实例。也就是说,操作系统实例并不在计算设备104上执行的虚拟机内运行,而是在物理计算设备104自身上直接执行。计算设备104没有以任何类型的群集技术进行进一步的组织。也可以说,不存在计算设备104的群集,并且计算设备104没有被群集。
但是,计算设备104并未从在存储设备(例如硬盘驱动器,存在于计算设备104自身上或计算设备104自身内)上逻辑地组织的存储卷来运行它们的OS实例。例如,按照惯例,计算设备具有一个或多个内部存储设备,所述内部存储设备具有一个或多个从其运行OS实例的存储卷。实际上,所有计算设备104都从SAN 106的存储卷108来运行它们的OS实例以及任何数据盘(包括那些是运行计算设备的计算设备104以及那些是冷备用计算设备的计算设备104,这将在后面的详细说明中描述)。
SAN 106是可通信地连接存储卷108作为单个可管理资源的特定类型的网络。SAN 106通常通过单个链路(但是,其可以具有冗余)可通信地连接到机架102,所述链路例如光纤通道,其为了简洁而未在图1中示出。虽然可以将不同的存储卷108唯一并单独地分配给不同计算设备104,但是存储卷108作为整体构成了单个网络资源,即SAN 106。
存储卷108是逻辑地组织的数据集合。此数据实际存储在诸如硬盘驱动器之类的物理存储设备上,其为了方便而未在图1中明确示出。给定存储卷可以使其数据存储在一个或多个物理存储设备上。此外,可以将多个存储卷存储在单个物理存储设备上。因此可以说存储卷108是存储在物理存储设备上的逻辑卷。本发明的实施例特别涉及逻辑存储卷,因此在图1中没有示出物理存储设备。此外,术语“SAN存储卷”指存储在SAN 106的一个或多个物理存储设备上的逻辑存储卷。
在图1的实例中,将计算设备104A和104B初始地指定为主动执行OS实例的运行计算设备。相比之下,将计算设备104C初始地指定为冷备用计算设备,其初始地并不执行OS实例。更确切地,在计算设备104A和104B之一必须离线、停机或出现故障的情况下,计算设备104C能够接管该计算设备;也就是说,计算设备104C能够接管先前与故障计算设备相关联的存储卷和操作系统实例。
与图1的实例相反,可以存在不同于图1所示数量的运行计算设备,并且可以存在多于一个的冷备用计算设备。计算设备104也可以在机架102之外进行组织。例如,仅作为一个实例,所有运行计算设备可以在一个机架内,而所有冷备用计算设备可以归属于单独的机架。
冷备用计算设备与热备用计算设备相反。热备用计算设备始终开启,并且能够立即接管必须离线、停机或出现故障的另一个计算设备。此类热备用计算设备已经被引导,因此能够立即接管另一个计算设备。相比之下,冷备用计算设备并不是始终开启,并且保持关闭直至需要它为止。当要求冷备用计算设备接管另一个计算设备时,冷备用计算设备必须被引导,然后其才能够接管另一个计算设备(在已将与故障计算设备关联的存储卷重新分配给所述冷备用计算设备之后)。
初始地,将每个运行计算设备104A和104B唯一地分配了SAN 106的一个或多个存储卷108。在图1的实例中,将存储卷108A分配给计算设备104A,如线110所示,而将存储卷108B分配给计算设备104B,如线112所示。计算设备104A和104B均需要至少一个分配给其的存储卷以便进行引导。在仅将一个存储卷分配给运行计算设备的情况下,将此存储卷称为引导存储卷,因为所述运行计算设备从此存储卷来引导并且从此存储卷来运行其OS实例。例如,如果将多于一个的存储卷分配给给定计算设备,则所述计算设备可以仅从一个存储卷来运行其OS实例,并将其他存储卷(多个)用于数据或其他用途。
因此,在图1的实例中,作为仅有的分配给计算设备104A的存储卷,存储卷108A是计算设备104A的引导存储卷,而作为仅有的分配给计算设备104B的存储卷,存储卷108B是计算设备104B的引导存储卷。这样,计算设备104A从存储卷108A引导并且从存储卷108A执行其OS实例。同样,计算设备104B从存储卷108B引导并且从存储卷108B执行其OS实例。
在图1的实例中,在某些时刻,计算设备104B需要停机,例如由于计算设备104B即将出现故障,或由于要对计算设备104B执行常规的预定维护。由于计算设备104B是物理的而不是虚拟的计算设备,并且由于计算设备104B并未与备用计算设备104C进行群集,所以传统上没有容易的方式来使备用计算设备104C接管计算设备104B。但是,尽管如此,本发明的实施例仍提供了将计算设备104B故障转移到备用计算设备104C。
首先,取消将存储卷108B分配给要停机的计算设备104B。其次,将存储卷108B分配给冷备用计算设备104C(如线114所示),作为计算设备104C的引导存储卷,并且从存储卷108B来引导计算设备104C。此过程在图1中由箭头116表示。
因此,将属于计算设备104B的存储故障转移到冷备用计算设备104C而无需人为介入,并且具有最小的停机时间。仅有的停机时间是开始取消分配存储卷108B和在冷备用计算设备104C已被分配存储卷108B之后对其完成引导之间所耗费的时间。计算设备104B已经从存储卷108B执行的OS实例现在由计算设备104C仍从存储卷108B执行。
因此,结合图1所描述的本发明的实施例利用了以下事实:在SAN 106被用于包含从其引导计算设备104的存储卷108的情况下,可以通过以下步骤来启动计算设备104之间的故障转移:取消将给定存储卷分配给一个计算设备,将其重新分配给冷备用计算设备,然后引导所述冷备用计算设备。虽然该过程可能不像完成热备用故障转移时那样快速地执行,但是热备用故障转移通常需要群集或虚拟化。相比之下,结合图1描述的本发明的实施例仅需要SAN 106,并且除了已经存在以允许计算设备104使用SAN 106的存储卷108的硬件和软件之外,在其他方面无需任何特殊硬件或特殊软件。
图2示出了根据本发明实施例的方法200,其概括了已结合图1描述的计算设备的故障转移的过程。确定向其分配了SAN存储卷的计算设备已满足停机准则(202)。例如,可以生成指示计算设备即将出现故障的事件。作为另一个实例,用户可以启动所述事件,以便发信号通知计算设备将要停机,以便对计算设备执行常规维护。
取消将SAN存储卷分配给所述计算设备(204),并且将其分配给冷备用计算设备(206)。此时,所述冷备用计算设备初始地是关闭的。此后,引导所述冷备用计算设备(208),其中从分配给所述冷备用计算设备的SAN存储卷来进行引导过程。也就是说,冷备用计算设备从所述SAN存储卷来加载和执行其OS实例。
详细实施例和结论
图3示出了根据本发明实施例的系统100,其与图1一致但更加详细。系统100同样包括具有三个计算设备104的机架102以及SAN 106,除存储卷108A和108B之外,SAN 106现在示为包括存储卷108C。存储卷108A、108B和108C共同被称为存储卷108。
在机架102与SAN 106之间示出了链路302,链路302可以是光纤通道或其他类型的链路。计算设备104和存储卷108之间的所有通信均经由链路302传播。计算设备104分别包括主机-总线适配器(HBA)304A、304B和304C,它们共同被称为HBA 304。
更一般地,HBA 304是网络适配器。HBA 304是借助其实现计算设备104与SAN 106之间通过链路302进行通信的方式。可以以多种不同的方式来建立计算设备104和SAN 106之间的连接,例如基于光纤和/或基于铜线(例如,以太网)。在连接是基于光纤的情况下,将HBA 304称为光纤通道HBA。在连接是基于铜线的情况下,通常将HBA 304称为iSCSI HBA。可以说HBA 304(或更一般地,网络适配器)将计算设备104可通信地连接到SAN 106。还要指出的是,除HBA 304之外,计算设备104通常还包括其他组件,例如处理器、存储器、芯片组等,为了简洁而未在图3中示出。
SAN 106包括控制器306。在将在后面的详细说明中更详细描述的其他功能中,控制器306是SAN 106的存储卷108借助其经由链路302与计算设备104进行通信的方式。控制器306还维护将计算设备104分配给存储卷108。因此,当将计算设备分配给存储卷或取消将计算设备分配给存储卷时,此分配或取消分配在控制器306内进行。
图3的系统100还包括服务器计算设备308,服务器计算设备308可通信地与机架102的计算设备104以及SAN 106两者连接。如图3的实例所示,服务器计算设备308不是插入机架102的刀片计算设备,尽管在不同的实施例中它也可以是刀片计算设备。类似地,服务器计算设备308示为以不同于链路302的方式与机架102和SAN 106可通信地连接,例如通过不同类型的网络或其他连接,尽管在不同的实施例中它也可以是链路302。服务器计算设备308具有在其上运行的管理软件310,管理软件310的功能在后面的详细说明中详细描述。
管理员初始地确定哪一个计算设备104将是运行计算设备,并且哪一个将是冷备用计算设备。如图1的实例中那样,在图3中,假定计算设备104A和104B是运行计算设备,并且计算设备104C是冷备用计算设备。管理员通过在服务器计算设备308上运行的管理软件310或以其他方式将SAN 106的存储卷108初始地分配给运行计算设备。管理软件310将此分配传送给存储该信息的SAN 106的控制器306。对于每个运行计算设备,必须分配至少一个存储卷108,因为每个计算设备都需要从其进行引导的存储卷。
每个存储卷108具有逻辑单元号(LUN),逻辑单元号实际上是唯一地标识存储卷的标识符。因此,可以通过将LUN(多个)与HBA相匹配来实现存储卷108到计算设备104的分配。将计算设备从其进行引导的存储卷称为引导LUN,并且通常称为LUN0。因此,运行计算设备的引导LUN或LUN0是存储OS实例的存储卷108之一的LUN。此外,冷备用计算设备104C被初始地指定为知道它应当至少查找引导LUN或LUN0;但是,没有将SAN 106的特定设备108的任何LUN分配给冷备用计算设备104C。
因此,在图3的实例中,管理员通过管理软件310或以其他方式,可以通过将存储卷108A的LUN分配为计算设备104A的引导LUN来将存储卷108A初始地分配给计算设备104A。存储卷108A存储OS实例,从而计算设备104A能够从存储卷108A进行引导。管理员还可以通过将存储卷108B的LUN分配为计算设备104B的引导LUN来将存储卷108B分配给计算设备104B。存储卷108B也存储OS实例,从而计算设备104B能够从存储卷108B进行引导。
管理员可以将其他存储卷108C分配为计算设备104B的附加LUN,例如,作为存储要由计算设备104B访问的数据的存储卷。冷备用计算设备104C初始地并未被分配任何存储卷108的实际LUN,但是其编程有其引导存储卷位于LUN0的信息,以后在冷备用计算设备104C要接管另一个计算设备时提供LUN0的实际分配。一旦进行了分配,它们被存储在两个位置中的一个或多个位置中。
首先,SAN 106本身的控制器306存储将每个计算设备的每个LUN与存储卷108之一的实际LUN相关联的映射。例如,计算设备104可以引导,并且知道其引导存储驱动器被标识为LUN0或引导LUN。此信息被传送给SAN 106的控制器306。SAN 106的控制器306查找计算设备104A的标识(例如,通过计算设备104A的HBA 304A的地址)来了解计算设备104A的LUN0实际是存储卷108A的LUN。因此可以说,响应于来自管理软件310的指令,是控制器306实际上将存储卷108与计算设备104关联或取消将存储卷108与计算设备104关联。
其次,计算设备104自身存储LUN分配,但是是以更受限的方式。更具体地说,计算设备104的HBA 304在它们的固件中存储对它们可用的LUN号,并且所述LUN是引导LUN。例如,对于计算设备104B而言,HBA 304B可以存储两个LUN:LUN0,其是引导LUN并且需要其来引导计算设备104B;以及LUN1,其是附加的非引导LUN。HBA 304内的固件不具有哪个存储卷108对应于它们的LUN的实际分配;该信息存储在SAN 106自身的控制器306中。
但是,HBA 304内的固件确实存储HBA 304希望能够在引导后访问的LUN号(即,存储卷号),以及要从哪个LUN(即,从哪个存储卷)进行引导。因此,HBA 304B内的固件存储LUN0和LUN1,前者被指示为引导LUN,而后者被指示为非引导LUN。但是,例如,HBA 304B内的固件既不知道存储卷108B将是它的特定引导LUN,也不知道存储卷108C将是它的特定LUN1。
因此,当计算设备引导时,SAN 106的控制器306确定计算设备确实知道将用作计算设备的LUN0、LUN1等的特定存储卷(多个)的特定LUN(多个)。此时,根据由管理员先前指定的分配,控制器306向计算设备分配特定存储卷(多个)的LUN(多个)。因此,在计算设备104A例如被接通电源的情况下,设备104A请求控制器306提供要用作计算设备104A的LUN0的存储卷的标识或LUN号,并且在此时,控制器306确定分配给计算设备104A的存储卷108A的LUN。但是,计算设备104A到存储卷108A的分配是先前通过管理员完成的,存储在保存于控制器306处的映射中。
然后,在图3的实例中,在正常操作期间,计算设备104A已分配有存储卷108A,而计算设备104B已分配有存储卷108B和108C。计算设备104A从存储卷108A引导。类似地,计算设备104B从存储卷108B引导,但是也能够访问存储在存储卷108C上的数据。在某些时刻,由于检测到计算设备即将出现故障、要对计算设备执行常规维护,或出于其他原因,计算设备104A和104B之一可能必须被停机。
具体地说,如本领域中公知的,在计算设备104上运行的代理软件可以定期报告计算设备104的健康状况。如果给定计算设备的健康不符合规定,则向管理软件310提供将所述计算设备识别为可能出现故障的事件。以这种方式,可以说管理软件310有效地监视给定的运行计算设备是否将停机。在一个实施例中,管理软件310然后能够运行脚本,所述脚本将计算设备故障转移到冷备用计算设备104C。还可以联系管理员以通知他或她所述故障转移。管理员还可以手动触发事件,以使计算设备故障转移至冷备用计算设备104C,从而能够将计算设备停机,而不会不适当地干扰该设备的终端用户。
作为第一实例,假定计算设备104A出现故障。在计算设备104A上运行的代理软件可以报告此信息,以便最终向管理软件310触发事件。响应于此事件,管理软件310执行故障转移脚本。所述故障转移脚本指示计算设备104A停机,并且指示控制器306取消将存储卷108A分配给计算设备104A。所述故障转移脚本接着指示控制器306将此存储卷108A的LUN关联或分配为冷备用计算设备104C的引导LUN或LUN0。
所述故障转移脚本最后接通计算设备104C的电源。在接通电源后,计算设备104C经由HBA 304C通过控制器306确定有多少LUN被分配给它,并且向SAN 106的控制器306请求要用作计算设备104C的LUN0的存储卷的实际LUN。控制器306返回存储卷108A是计算设备104C的LUN0的信息。这样,计算设备104C能够从存储卷108A引导,并且因此用作计算设备104A的故障转移。
作为第二实例,假定计算设备104B而不是计算设备104A出现故障。在计算设备104B上运行的代理软件可以报告此信息,以便最终通知管理软件310。作为响应,管理软件310执行故障转移脚本。所述故障转移脚本指示计算设备104B停机,并且指示控制器306取消将存储卷108B和108C分配给计算设备104B。所述故障转移脚本然后指示控制器306将存储卷108B的LUN关联或分配为冷备用计算设备104C的LUN0,并且将此存储卷108B的LUN关联或分配为计算设备104C的引导LUN或LUN0。类似地,所述故障转移脚本指示控制器将存储卷108C的LUN分配为冷备用计算设备104C的第二LUN或LUN1。
在接通电源时,计算设备104C经由HBA 304C确定有多少LUN将分配给它(通过控制器306),并且向控制器306请求将用作计算设备104C的LUN0和LUN1的存储卷的实际LUN号。控制器306返回存储卷108B的LUN是计算设备104C的LUN0的信息以及存储卷108C的LUN是计算设备104C的LUN1的信息。计算设备104C然后从存储卷108B引导,并因此用作计算设备104B的故障转移。
图4示出了根据本发明实施例的用于计算设备故障转移的方法200,其与图2的实施例一致但更加详细。方法200可以由在服务器计算设备308上运行的管理软件310通过适当指示计算设备104的HBA 304和SAN 106的控制器306来执行。此外,如本领域的技术人员可以理解的,方法200的一些部分可以由先前所提到的由管理软件310执行的故障转移脚本来执行。
将SAN 106的存储卷108分配给机架102的计算设备104(402)。如果给定计算设备未被分配任何存储卷108,则该计算设备是冷备用计算设备。在一个实施例中,可以将冷备用计算设备视为具有引导LUN,因为指定冷备用计算设备查找例如在冷备用计算设备接通电源时从其引导的LUN0。但是,如已经描述的,此引导LUN实际上没有初始地与任何特定存储卷的LUN关联。每个要作为运行计算设备的计算设备被分配至少一个存储卷108。向计算设备分配要从其进行引导的存储卷的LUN,来作为所述计算设备的LUN0或引导LUN。任何具有分配给所述计算设备的LUN的其他存储卷是额外分配的存储卷,而不是引导存储卷。在至少一些实施例中,不能将存储卷并行分配给多个计算设备。
然后,运行计算设备从它们分配的引导存储卷来引导(404)。也就是说,这些计算设备均从具有LUN(在控制器306中存储的映射中,计算设备的引导LUN与该LUN关联)的存储卷来引导。所述计算设备然后正常工作。但是,在某些时刻,确定运行计算设备满足停机准则(202)。如已描述的,这可以包括管理软件310接收到所述计算设备即将出现故障的事件、管理员希望使计算设备脱机以执行常规维护的事件等。
此后,所述运行计算设备停机(406)。取消将已分配给此计算设备的所有存储卷(包括至少一个引导存储卷)分配给计算设备(408)。例如,这可以通过管理软件310运行故障转移脚本(指示控制器306执行取消分配)来实现。取消分配可以包括取消将存储卷的LUN分配给所述计算设备。
然后,冷备用计算设备被选为运行计算设备向其进行故障转移的故障转移计算设备(408)。如果仅有一个冷备用计算设备,则选择该设备。但是,如果存在多个冷备用计算设备,则可以以任何传统方式或其他方式选择冷备用计算设备作为故障转移计算设备。例如,可以采用循环方式,以使得所有冷备用计算设备被偶尔使用,从而没有单个冷备用计算设备被过度使用。
作为另一个实例,所述脚本可以确定哪个计算设备被指定为冷备用计算设备,并且遍历所述冷备用计算设备,直至它定位了尚未被引导的冷备用计算设备。如果所有先前指定的冷备用计算设备都已被引导,则所述脚本可以通知网络管理员。但是,出于讨论目的,假定存在至少一个可用的冷备用计算设备。
此后,将先前取消分配给已停机的运行计算设备的存储卷分配给所述冷备用计算设备(206)。管理软件310可以运行故障转移脚本,所述故障转移脚本指示控制器306将这些存储卷分配给所述冷备用计算设备。例如,可以将存储卷的LUN分配给冷备用计算设备。将特别地分配从其引导冷备用计算设备的存储卷的LUN,以便与所述冷备用计算设备的引导LUN或LUN0对应。
最后,从已被停机的运行计算设备先前从其引导的存储卷来引导所述冷备用计算设备(208)。故障转移因此完成。在故障转移过程自动执行而没有人为干预的情况下,用户经历的停机时间被最小化。
要指出的是,虽然在此示出和说明了特定的实施例,但是本领域的技术人员将理解,任何适于实现相同目的的布置都可替代所示出的特定实施例。因此,本申请旨在覆盖本发明的实施例的任何修改或变化。因此,明确表明本发明仅由权利要求及其等同物进行限定。
Claims (19)
1.一种方法,包括:
确定已向其分配存储区域网络内的一个或多个存储卷的计算设备满足停机准则;
作为响应,
取消将所述存储区域网络内的所述存储卷分配给所述计算设备;
将所述存储区域网络内的所述存储卷分配给冷备用计算设备;以及,
从所述存储区域网络内的所述存储卷中的一个存储卷引导所述冷备用计算设备。
2.如权利要求1中所述的方法,还包括从一个或多个当前没有处于使用中的冷备用计算设备来选择所述冷备用计算设备。
3.如权利要求1中所述的方法,还包括:
初始地将所述存储区域网络内的所述存储卷分配给所述计算设备;以及,
从所述存储区域网络内的所述存储卷中的一个存储卷引导所述计算设备。
4.如权利要求1中所述的方法,其中初始地将所述存储区域网络内的所述存储卷分配给所述计算设备包括将所述存储区域网络内的所述存储卷的逻辑单元号分配给所述计算设备,其中所述计算设备作为引导逻辑单元号来引用要从其引导所述计算设备的所述存储卷的逻辑单元号。
5.如权利要求4中所述的方法,还包括初始地为所述冷备用设备指定引导逻辑单元号,其中所述引导逻辑单元号初始地未与存储卷的任何特定逻辑单元号关联。
6.如权利要求5中所述的方法,其中取消将所述存储区域网络内的所述存储卷分配给所述计算设备包括取消将所述存储区域网络内的所述存储卷的所述逻辑单元号分配给所述计算设备,并且其中将所述存储区域网络内的所述存储卷分配给所述冷备用计算设备包括将所述存储区域网络内的所述存储卷的所述逻辑单元号分配给所述冷备用计算设备,其中所述冷备用计算设备作为所述引导逻辑单元号来引用要从其引导所述冷备用计算设备的所述存储卷的逻辑单元号。
7.如权利要求1中所述的方法,其中确定所述计算设备满足所述停机准则包括确定所述计算设备即将出现故障。
8.如权利要求1中所述的方法,其中确定所述计算设备满足所述停机准则包括确定所述计算设备被安排为停机以执行常规维护。
9.如权利要求1中所述的方法,其中所述计算设备和所述冷备用计算设备是刀片计算设备,所述刀片计算设备位于一个或多个机架内并且每个均具有可通信地连接到所述存储区域网络的控制器的主机-总线适配器。
10.如权利要求1中所述的方法,其中所述计算设备和所述冷备用计算设备是单独封装的计算设备。
11.如权利要求1中所述的方法,其中由在服务器计算设备上运行的管理软件来执行所述方法。
12.一种系统,包括:
存储区域网络,所述存储区域网络包含多个在其上逻辑地组织多个存储卷的存储设备;
多个计算设备,每个计算设备被分类为运行计算设备或冷备用计算设备,将每个运行计算设备独占地分配给所述存储区域网络的一个或多个所述存储卷,包括要从其引导所述运行计算设备的存储卷;
管理软件,所述管理软件监视每个所述运行计算设备是否将停机,并且响应于确定运行计算设备将要停机,取消将所述存储卷分配给所述运行计算设备,将所述存储卷重新分配给所述冷备用计算设备之一,并且从所述存储卷中的一个存储卷来引导所述冷备用计算设备。
13.如权利要求12中所述的系统,其中每个存储卷具有逻辑单元号,根据逻辑单元号将每个运行计算设备独占地分配给所述存储区域网络的一个或多个所述存储卷,其中每个运行计算设备作为引导逻辑单元号来引用要从其引导所述运行计算设备的所述存储卷的逻辑单元号。
14.如权利要求13中所述的系统,其中初始地为每个冷备用计算设备指定引导逻辑单元号,所述引导逻辑单元号初始地未与所述存储区域网络内的所述存储卷的任何逻辑单元号关联。
15.如权利要求12中所述的系统,其中所述存储区域网络包括控制器,所述控制器响应于所述管理软件而将所述存储卷与所述计算设备关联,或取消将所述存储卷与所述计算设备关联。
16.如权利要求12中所述的系统,还包括一个或多个所述计算设备位于其中的机架,每个所述计算设备都包括具有可通信地连接到所述存储区域网络的主机总线适配器的刀片计算设备。
17.如权利要求16中所述的系统,其中所述机架包括所述运行计算设备位于其中的第一机架,以及所述冷备用计算设备位于其中的第二机架。
18.如权利要求12中所述的系统,其中每个计算设备都是单独封装的计算设备。
19.如权利要求12中所述的系统,还包括在其上运行所述管理软件的服务器计算设备。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/616,394 US7930529B2 (en) | 2006-12-27 | 2006-12-27 | Failover of computing devices assigned to storage-area network (SAN) storage volumes |
US11/616,394 | 2006-12-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101211284A true CN101211284A (zh) | 2008-07-02 |
CN101211284B CN101211284B (zh) | 2011-12-21 |
Family
ID=39585724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101944354A Active CN101211284B (zh) | 2006-12-27 | 2007-11-14 | 分配给存储卷的计算设备的故障转移的方法和系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7930529B2 (zh) |
JP (1) | JP5078592B2 (zh) |
CN (1) | CN101211284B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102187311A (zh) * | 2008-10-29 | 2011-09-14 | Lsi公司 | 用于使用存储区域网络恢复计算机系统的方法和系统 |
CN106687934A (zh) * | 2014-09-26 | 2017-05-17 | 英特尔公司 | 基于证据替代存储节点 |
CN107209547A (zh) * | 2015-02-13 | 2017-09-26 | 国际商业机器公司 | Raid阵列中的磁盘保留和故障预防 |
CN113396298A (zh) * | 2019-02-08 | 2021-09-14 | 卡特彼勒公司 | 用于阀系统的适配器 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6472508B2 (ja) * | 2015-04-06 | 2019-02-20 | 株式会社日立製作所 | 管理計算機およびリソース管理方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6804703B1 (en) * | 2000-06-22 | 2004-10-12 | International Business Machines Corporation | System and method for establishing persistent reserves to nonvolatile storage in a clustered computer environment |
US6782416B2 (en) | 2001-01-12 | 2004-08-24 | Hewlett-Packard Development Company, L.P. | Distributed and geographically dispersed quorum resource disks |
US7058850B2 (en) | 2002-07-31 | 2006-06-06 | Hewlett-Packard Development Company, L.P. | Method and system for preventing data loss within disk-array pairs supporting mirrored logical units |
US6990573B2 (en) * | 2003-02-05 | 2006-01-24 | Dell Products L.P. | System and method for sharing storage to boot multiple servers |
US7627780B2 (en) | 2003-04-23 | 2009-12-01 | Dot Hill Systems Corporation | Apparatus and method for deterministically performing active-active failover of redundant servers in a network storage appliance |
US7028125B2 (en) | 2003-08-04 | 2006-04-11 | Inventec Corporation | Hot-pluggable peripheral input device coupling system |
US20050080891A1 (en) | 2003-08-28 | 2005-04-14 | Cauthron David M. | Maintenance unit architecture for a scalable internet engine |
US20050080887A1 (en) | 2003-10-08 | 2005-04-14 | Chun-Liang Lee | Redundant management control arbitration system |
JP2005141381A (ja) * | 2003-11-05 | 2005-06-02 | Hitachi Ltd | 記憶装置システム |
JP2005258983A (ja) * | 2004-03-15 | 2005-09-22 | Hitachi Ltd | 複数のクラスタシステムを有するコンピュータシステム、および、コンピュータシステムの制御方法 |
JP2005301442A (ja) * | 2004-04-07 | 2005-10-27 | Hitachi Ltd | ストレージ装置 |
US7512830B2 (en) | 2004-05-14 | 2009-03-31 | International Business Machines Corporation | Management module failover across multiple blade center chassis |
JP4462024B2 (ja) * | 2004-12-09 | 2010-05-12 | 株式会社日立製作所 | ディスク引き継ぎによるフェイルオーバ方法 |
JP4704043B2 (ja) * | 2005-01-07 | 2011-06-15 | 富士通株式会社 | 移動処理プログラム、情報処理装置、コンピュータシステム及び移動処理プログラムを格納したコンピュータ読み取り可能な記録媒体 |
JP2006309439A (ja) * | 2005-04-27 | 2006-11-09 | Fujitsu Ltd | フレキシブルクラスタシステム |
JP4701929B2 (ja) * | 2005-09-02 | 2011-06-15 | 株式会社日立製作所 | ブート構成変更方法、管理サーバ、及び計算機システム |
JP4710518B2 (ja) * | 2005-09-28 | 2011-06-29 | 株式会社日立製作所 | 計算機システムとそのブート制御方法 |
US7624262B2 (en) * | 2006-12-20 | 2009-11-24 | International Business Machines Corporation | Apparatus, system, and method for booting using an external disk through a virtual SCSI connection |
-
2006
- 2006-12-27 US US11/616,394 patent/US7930529B2/en active Active
-
2007
- 2007-11-14 CN CN2007101944354A patent/CN101211284B/zh active Active
- 2007-12-20 JP JP2007328833A patent/JP5078592B2/ja not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102187311A (zh) * | 2008-10-29 | 2011-09-14 | Lsi公司 | 用于使用存储区域网络恢复计算机系统的方法和系统 |
CN102187311B (zh) * | 2008-10-29 | 2015-05-13 | Netapp股份有限公司 | 用于使用存储区域网络恢复计算机系统的方法和系统 |
CN106687934A (zh) * | 2014-09-26 | 2017-05-17 | 英特尔公司 | 基于证据替代存储节点 |
CN106687934B (zh) * | 2014-09-26 | 2021-03-09 | 英特尔公司 | 基于证据替代存储节点 |
CN107209547A (zh) * | 2015-02-13 | 2017-09-26 | 国际商业机器公司 | Raid阵列中的磁盘保留和故障预防 |
CN113396298A (zh) * | 2019-02-08 | 2021-09-14 | 卡特彼勒公司 | 用于阀系统的适配器 |
Also Published As
Publication number | Publication date |
---|---|
US7930529B2 (en) | 2011-04-19 |
JP2008165781A (ja) | 2008-07-17 |
US20080162913A1 (en) | 2008-07-03 |
CN101211284B (zh) | 2011-12-21 |
JP5078592B2 (ja) | 2012-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9182918B2 (en) | Network storage systems having clustered raids for improved redundancy and load balancing | |
US9864627B2 (en) | Power saving operating system for virtual environment | |
JP4438817B2 (ja) | ストレージ装置およびストレージ装置の省電力制御方法 | |
CN102257469B (zh) | 存储系统及用于控制存储系统的方法 | |
JP4923990B2 (ja) | フェイルオーバ方法、およびその計算機システム。 | |
CN100430914C (zh) | 拥有虚拟资源的存储系统 | |
US6976140B2 (en) | Computer system and a method of replication | |
US7904651B2 (en) | Storage device with disk power control based on logical storage area | |
CN101211284B (zh) | 分配给存储卷的计算设备的故障转移的方法和系统 | |
JP4497953B2 (ja) | 情報処理システム、および情報処理方法 | |
KR20090082242A (ko) | 프로세서를 교체 프로세서로 투명하게 교체하는 방법 | |
US20150236977A1 (en) | Management computer, computer system, and instance management method | |
WO2011074284A1 (ja) | 仮想計算機の移動方法、仮想計算機システム及びプログラムを格納した記憶媒体 | |
US20120221521A1 (en) | Workload learning in data replication environments | |
US8155766B2 (en) | Methods and apparatus to provision power-saving storage system | |
JP2007072538A (ja) | ストレージ仮想化装置のデバイス制御引継ぎ方法 | |
CN101727387B (zh) | 在线除错系统及其相关方法 | |
JP2008112293A (ja) | 管理計算機及び電源制御方法並びに計算機システム | |
CN104951308B (zh) | Docker Registry的管理优化方式及装置 | |
CN100382041C (zh) | 计算机系统与应用于该系统的故障计算机替换方法 | |
CN104471523A (zh) | 计算机系统及其控制方法 | |
CN103814365B (zh) | 计算机系统及数据输入输出方法 | |
EP2338119A1 (en) | Power and performance management using maidx and adaptive data placement | |
US20080163190A1 (en) | Firmware Update Method And Update Program | |
US8788750B2 (en) | Managing resources in cluster storage systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20160302 Address after: China Hongkong No. 979 King's road, Quarry Bay Taikoo Place Lincoln building 23 floor Patentee after: Lenovo International Ltd Address before: American New York Patentee before: International Business Machines Corp. |