集群系统及用于在集群系统中提供服务可用性的方法
【专利摘要】本发明公开了一种集群系统及用于在集群系统中提供服务可用性的方法。所述集群系统包括注册有活动(active)虚拟机的第一物理服务器;及多个物理服务器,所述多个物理服务器包括对应于所述活动虚拟机且注册有在所述第一物理服务器发生故障时对所述活动虚拟机进行故障转移(failover)的备用(standby)虚拟机的第二物理服务器,在发生所述故障时,所述多个物理服务器中的每个存储故障后(post-failure)的注册信息,所述故障后的注册信息将所述活动虚拟机与所述多个物理服务器中的一个物理服务器关联起来,所述一个物理服务器与所述第二物理服务器不同。
【专利说明】集群系统及用于在集群系统中提供服务可用性的方法
【技术领域】
[0001]本发明涉及一种用于在集群系统中提供服务可用性的方法,更具体地讲,涉及一种在集群系统中基于虚拟化环境提供高水平的服务可用性的方法及其集群系统。
【背景技术】
[0002]在提供服务的计算机环境中,存在多种高可用性(High Aval lability: HA)技术以减少因发生物理故障(failure)而无法利用服务的停机时间(downtime)。例如,包括被连接为能够进行通信的多个服务器计算机的集群(cluster)系统提供预定服务的活动(active)服务器和所述活动服务器产生故障时用于恢复服务的备用(standby)服务器。
[0003]如上所述,在活动服务器发生故障的情况下,在备用服务器进行故障转移(failover)的期间,系统的管理员通过掌握在活动服务器中发生的故障的主要原因来修复活动服务器或者代替为新的服务器。
[0004][现有技术文献]
[0005][专利文献]
[0006]第930576号韩国授权专利
【发明内容】
[0007]如前述的HA技术,在活动服务器和备用服务器成为冗余的情况下,如果在备用服务器发生故障之后,在管理员对所述故障采取措施之前在活动服务器发生故障,则无法持续由活动服务器提供的服务。
[0008]此外,如果表示这种活动服务器和备用服务器的冗余的信息不准确,则在活动服务器发生故障时备用服务器无法正常进行故障转移。
[0009]公开的实施例涉及一种在包括多个物理服务器的集群系统中基于虚拟化环境(virtualized environment)提供高水平的服务可用性的方法,无论集群系统中的哪个物理服务器发生故障,也使得活动虚拟机和与其对应的备用虚拟机的对(pair)存在,进而可将表示这种对的信息基于物理服务器的可用资源来进行更新。
[0010]根据一个实施例,提供一种集群系统,所述集群系统包括:注册有活动(active)虚拟机的第一物理服务器;及多个物理服务器,所述多个物理服务器包括对应于所述活动虚拟机且注册有在所述第一物理服务器发生故障时对所述活动虚拟机进行故障转移(failover)的备用(standby)虚拟机的第二物理服务器,在发生所述故障时,所述多个物理服务器中的每一个存储故障后(post-failure)的注册信息,所述故障后的注册信息将所述活动虚拟机与所述多个物理服务器中的一个物理服务器关联起来,所述一个物理服务器与所述第二物理服务器不同。
[0011]根据所述集群系统的一方面,为了构成所述故障后的注册信息,所述一个物理服务器基于与所述多个物理服务器中的与所述第二物理服务器不同的物理服务器中的每一个的可用资源,从与所述第二物理服务器不同的所述物理服务器中被选择。
[0012]根据所述集群系统的一方面,所述活动虚拟机根据所述故障后的注册信息被注册到所述一个物理服务器。
[0013]根据所述集群系统的一方面,所述故障后的注册信息将注册到所述第一物理服务器的其他的备用虚拟机与所述多个物理服务器中的另一个物理服务器关联起来,所述另一个物理服务器与注册有对应于所述其他的备用虚拟机的其他的活动虚拟机的物理服务器不同。
[0014]根据所述集群系统的一方面,为了构成所述故障后的注册信息,所述另一个物理服务器基于所述多个物理服务器中的与注册有所述其他的活动虚拟机的物理服务器不同的物理服务器中的每一个的可用资源,从与注册有所述其他的活动虚拟机的物理服务器不同的所述物理服务器中被选择。
[0015]根据所述集群系统的一方面,所述其他的备用虚拟机根据所述故障后的注册信息被注册到所述另一个物理服务器。
[0016]根据所述集群系统的一方面,在发生所述故障之前,所述第一物理服务器及所述多个物理服务器中的每一个存储故障前(pre-failure)的注册信息,所述故障后的注册信息通过更新所述故障前的注册信息来构成,所述故障前的注册信息表示在发生所述故障之前注册到所述第一物理服务器及所述多个物理服务器中的每一个的虚拟机。
[0017]根据所述集群系统的一方面,在发生所述故障之前,可基于所述第一物理服务器的状态及所述多个物理服务器中的每一个的状态而变更所述故障前的注册信息。
[0018]根据所述集群系统的一方面,所述故障前的注册信息还表示所述第一物理服务器的可用资源及所述多个物理服务器中的每一个的可用资源。
[0019]根据所述集群系统的一方面,所述故障前的注册信息的变更在所述第一物理服务器的可用资源及所述多个物理服务器中的每一个的可用资源中的至少一个的变化量为临界值以上的情况下执行。
[0020]根据其他的实施例,提供一种服务可用性提供方法,所述方法用于在集群系统中提供服务可用性,包括如下步骤:在注册有活动虚拟机的第一物理服务器中发生故障时,使得注册到多个物理服务器中的第二物理服务器并与所述活动虚拟机对应的备用虚拟机对所述活动虚拟机进行故障转移;在发生所述故障时,将故障后的注册信息存储到所述多个物理服务器中的每一个,其中,所述故障后的注册信息将所述活动虚拟机与所述多个物理服务器中的一个物理服务器关联起来,所述一个物理服务器与所述第二物理服务器不同。
[0021]根据所述服务可用性提供方法的一方面,所述服务可用性提供方法还包括如下步骤:为了构成所述故障后的注册信息,所述一个物理服务器基于所述多个物理服务器中的与所述第二物理服务器不同的物理服务器中的每一个的可用资源,从与所述第二物理服务器不同的所述物理服务器中被选择。
[0022]根据所述服务可用性提供方法的一方面,所述服务可用性提供方法还包括如下步骤:将所述活动虚拟机注册到所述一个物理服务器。
[0023]根据所述服务可用性提供方法的一方面,所述故障后的注册信息还将注册到所述第一物理服务器的其他的备用虚拟机与所述多个物理服务器中的另一个物理服务器关联起来,所述另一个物理服务器与注册有对应于所述其他的备用虚拟机的其他的活动虚拟机的物理服务器不同。
[0024]根据所述服务可用性提供方法的一方面,所述服务可用性提供方法还包括如下步骤:为了构成所述故障后的注册信息,所述另一个物理服务器基于所述多个物理服务器中的与注册有所述其他的活动虚拟机的物理服务器不同的物理服务器中的每一个的可用资源,从与注册有所述其他的活动虚拟机的物理服务器不同的所述物理服务器中被选择。
[0025]根据所述服务可用性提供方法的一方面,所述服务可用性提供方法还包括如下步骤:所述其他的备用虚拟机根据所述故障后的注册信息被注册到所述另一个物理服务器。
[0026]根据所述服务可用性提供方法的一方面,所述服务可用性提供方法还包括如下步骤:在发生所述故障之前,所述第一物理服务器及所述多个物理服务器中的每一个存储故障前的注册信息;通过更新所述故障前的注册信息来构成所述故障后的注册信息,其中,所述故障前的注册信息表示在发生所述故障之前注册到所述第一物理服务器及所述多个物理服务器中的每一个的虚拟机。
[0027]根据所述服务可用性提供方法的一方面,所述服务可用性提供方法还包括如下步骤:在发生所述故障之前,可基于所述第一物理服务器的状态及所述多个物理服务器中的每一个的状态而变更所述故障前的注册信息。
[0028]根据所述服务可用性提供方法的一方面,所述故障前的注册信息还表示所述第一物理服务器的可用资源及所述多个物理服务器中的每一个的可用资源。
[0029]根据所述服务可用性提供方法的一方面,所述故障前的注册信息的变更在所述第一物理服务器的可用资源及所述多个物理服务器中的每一个的可用资源中的至少一个的变化量为临界值以上的情况下执行。
[0030]根据其他的实施例,提供一种服务器计算机,所述服务器计算机包括处理器及存储器,所述存储器包括:注册信息,表示注册到包括所述服务器计算机的多个服务器计算机及其他的服务器计算机中的每一个的虚拟机;备用虚拟机,与注册到所述其他的服务器计算机的活动虚拟机对应;及计算机可执行命令,在所述计算机可执行命令由所述处理器执行的情况下,被构成为执行如下操作:响应于判定所述其他服务器计算机发生故障,所述备用虚拟机对所述活动虚拟机进行故障转移;响应于所述判定,执行更新所述注册信息,其中,更新的所述注册信息将所述活动虚拟机与所述多个服务器计算机中的一个服务器计算机关联起来,所述一个服务器计算机与所述服务器计算机不同。
[0031]根据所述服务器计算机的一方面,在所述计算机可执行命令由所述处理器执行的情况下,被构成为执行如下操作:为了更新所述注册信息,基于所述多个服务器计算机中的与所述服务器计算机不同的服务器计算机中的每一个的可用资源,从与所述服务器计算机不同的服务器计算机中选择所述一个服务器计算机。
[0032]根据所述服务器计算机的一方面,所述其他的服务器计算机还注册有其他的备用虚拟机,更新的所述注册信息也将所述其他的备用虚拟机与所述多个服务器计算机中的另一个服务器计算机关联起来,所述另一个服务器计算机与注册有对应于所述其他的备用虚拟机的其他的活动虚拟机的服务器计算机不同。
[0033]根据所述服务器计算机的一方面,在所述计算机可执行命令由所述处理器执行的情况下,被构成为执行如下操作:为了更新所述注册信息,基于所述多个服务器计算机中的与注册有所述其他的活动虚拟机的服务器计算机不同的服务器计算机中的每一个的可用资源,从与注册有所述其他的活动虚拟机的服务器计算机不同的服务器计算机中选择所述另一个服务器计算机。
[0034]根据所述服务器计算机的一方面,在所述计算机可执行命令由所述处理器执行的情况下,被构成为执行如下操作:在发生所述故障之前,可基于所述多个服务器计算机中的每一个的状态及所述其他的服务器计算机的状态而变更所述注册信息。
[0035]根据所述服务器计算机的一方面,所述注册信息还表示所述其他的服务器计算机的可用资源及所述多个服务器计算机中的每一个的可用资源。
[0036]根据所述服务器计算机的一方面,变更所述注册信息的操作在所述多个服务器计算机中的每一个的可用资源及所述其他的服务器计算机的可用资源中的至少一个的变化量为临界值以上的情况下执行。
[0037]根据本发明的多个实施例的其他具体事项在以下的详细说明及附图中被揭示。
[0038]根据预定的实施例,包括多个物理服务器的集群系统中提供更高的服务可用性,因此可最小化在集群系统中的任一物理服务器发生故障时的服务的停机时间。
【专利附图】
【附图说明】
[0039]图1示出根据本发明的实施例的包括多个服务器计算机的集群(cluster)系统;
[0040]图2示出本发明的实施例中的包含于物理服务器中的信息表的示例;
[0041]图3是示出根据本发明的实施例而在集群系统中提供服务可用性的过程的顺序图。
[0042]符号说明:
[0043]100:集群系统
[0044]110、120、130、140:物理服务器
[0045]111、121、131、141:活动虚拟机
[0046]112、122、132、142 ;备用虚拟机
[0047]116、126、136、146 ;信息表
【具体实施方式】
[0048]以下,将参照附图对本发明的【具体实施方式】进行描述。然而,这只不过是示例,并且本发明不限于此。
[0049]在对本发明进行描述时,在对与本发明相关的公知技术的具体描述被认为是会使本发明的主旨不清楚的情况下,省略其详细描述。并且,后述的术语作为考虑本发明中的功能而定义的术语,可根据使用者、运用者的意图或者惯例等而不同。因此,其定义应基于贯穿整个本说明书的内容而做出。
[0050]本发明的技术构思由权利要求书确定,并且以下的实施例只是用于有效地将本发明的技术思想解释给本发明所属的【技术领域】中具有普通的知识的技术人员的一种方式而已。
[0051]图1示出根据本发明的实施例的包括多个服务器计算机的集群(cluster)系统。
[0052]如图1所示,示例性的集群系统100包括第一物理服务器110、第二物理服务器120、第三物理服务器130及第四物理服务器140。各个物理服务器110、120、130、140被连接为能够通过网络180进行通信。例如,各个物理服务器110、120、130、140可通过网络180相互交换包含表示各自的状态的信息的信号(例如,心跳(heartbeat)信号)。网络180可以是环(ring)型、星(star)型、总线(bus)型、网(mesh)型或树(tree)型,但这毕竟是示例性的。
[0053]作为计算装置的各个物理服务器110、120、130、140包括:一个以上的处理器、一个以上的存储器、一个以上的存储装置(例如,硬盘驱动器)、一个以上的网络接口及一个以上的输入输出适配器之类的硬件。存储器可包括计算机可执行的命令,处理器可执行存储于存储器中的命令。在存储于存储器中的命令由处理器执行的情况下可执行根据以下记载的实施例的操作。
[0054]各个物理服务器110、120、130、140可提供虚拟化环境。例如,各个物理服务器110、120、130、140可注册有虚拟机(Virtual Machine:VM)。各个注册的虚拟机被分配有虚拟化的CPU、存储器等的资源。此外,各个物理服务器110、120、130、140包括用于运行虚拟机的软件、固件和/或操作系统组件。从而,存储于各个物理服务器110、120、130、140的存储器中的虚拟机可被运行。
[0055]根据预定的实施例,在集群系统100中基于虚拟化环境提供供高水平的服务可用性。如图1所示,在集群系统100中正常工作中的物理服务器110、120、130、140中的每个包括至少一个活动(active)虚拟机111、121、131、141。例如,活动虚拟机111、121、131、141中的每个根据复制(replicat1n)/反射(mirroring)到与自己对应的备用(standby)虚拟机112、122、132、142的方式而被备份(backup),从而活动虚拟机111、121、131、141和备用虚拟机112、122、132、142可同步。与各个活动虚拟机111、121、131、141对应的备用虚拟机112、122、132、142位于与包括活动虚拟机111、121、131、141的物理服务器不同的物理服务器。作为一个示例,与第一物理服务器110的第一活动虚拟机111对应的第一备用虚拟机122包含于第二物理服务器120。
[0056]可在各个物理服务器110、120、130、140中存储表示包含于该物理服务器110、120、130、140的虚拟机的注册信息。换句话说,注册到各个物理服务器110、120、130、140的虚拟机被记录于这样的注册信息中。因此,该注册信息可用于在集群系统100中确认注册到某个物理服务器的虚拟机是什么或者注册有某个虚拟机的物理服务器是什么。
[0057]在另一方面,该注册信息可用于将其他的虚拟机添加到各个物理服务器110、120、130,140或者删除现有的虚拟机。例如,在各个物理服务器110、120、130、140的注册信息被改变/更新之后,物理服务器110、120、130、140中的至少一个可根据这样的注册信息将之前没有注册的虚拟机注册到自身上。
[0058]包含于各个物理服务器110、120、130、140的注册信息可以是表形态。根据图1,物理服务器110、120、130、140中的每个包括信息表116、126、136、146。信息表116、126、136、146可被构成为都包括相同的信息。
[0059]图2示出本发明的实施例中的包含于物理服务器中的信息表的示例。
[0060]示例性的信息表200包括用于识别物理服务器的信息210及用于识别包含于各个物理服务器中的虚拟机的信息220。信息表200还可包括用于识别与由信息220识别的虚拟机对应的虚拟机所在的物理服务器的信息230。
[0061]例如,信息表200可被构成为如下。以下举例示出的信息表200在图1中所示的集群系统100中可被用作包含于各个物理服务器110、120、130、140中的信息表116、126、136,146ο
[0062]信息210( S卩,名为“物理服务器”的标题的列)表示集群系统100的第一物理服务器110、第二物理服务器120、第三物理服务器130及第四物理服务器140。
[0063]信息220(即,名为“虚拟机(VM) ”的标题的列)表示注册到由信息210识别的各个物理服务器的虚拟机。具体地讲,信息220将第一活动虚拟机111及第四备用虚拟机112与第一物理服务器110关联起来而表示,将第二活动虚拟机121及第一备用虚拟机122与第二物理服务器120关联起来而表示,将第三活动虚拟机131及第二备用虚拟机132与第三物理服务器130关联起来而表示,将第四活动虚拟机141及第三备用虚拟机142与第四物理服务器140关联起来而表示。
[0064]信息230 (即,名为“对应的虚拟机所在的物理服务器”的标题的列)表示包含与由信息220表示的虚拟机对应的虚拟机的物理服务器。例如,与第一活动虚拟机111同步的第一备用虚拟机122包含于第二物理服务器120,信息230将第二物理服务器120与第一活动虚拟机111关联起来而表示。作为另一示例,与第四备用虚拟机112同步的第四活动虚拟机141包含于第四物理服务器140,信息230将第四物理服务器140与第四备用虚拟机112关联起来而表示。以同样的方式,信息230是与包含于信息220中的其他虚拟机关联起来而表示预定的物理服务器。
[0065]此外,信息表200可包括表示信息210所表示的物理服务器的可用资源的信息(未示出)。例如,预定的物理服务器的可用资源可包括该物理服务器可用的CPU和/或存储器。
[0066]信息表200可变更。在信息表200变更的情况下,物理服务器110、120、130、140中的至少一个可根据变更的信息表200将之前没有注册到自身上的虚拟机注册到自身上。
[0067]信息表200在第一物理服务器110、第二物理服务器120、第三物理服务器130及第四物理服务器140中的任意一个生成和/或变更之后,可被提供到其余的物理服务器。生成和/或变更信息表200的物理服务器可动态变更。例如,如果第一物理服务器110在负责信息表200的变更的过程中在第一物理服务器110中发生故障,则至少一个其他的物理服务器(例如,第二物理服务器120)可负责信息表200的变更。与此不同,信息表200的生成和/或变更可由物理服务器110、120、130、140中的每个分别执行。
[0068]此外,如图2中所示,生成的信息表200可基于各个物理服务器110、120、130、140的状态而变更。表示各个物理服务器110、120、130、140的状态的信息可被包含于各个物理服务器110、120、130、140发送的信号(例如,各个物理服务器110、120、130、140可周期性地发送的心跳信号)中。例如,假设由第一物理服务器110负责信息表200的变更。第二物理服务器120、第三物理服务器130及第四物理服务器140中的每个可发送心跳信号,第一物理服务器110可变更信息表200,以基于包含于各个心跳信号的物理服务器的状态及自身的状态来再分配包含于物理服务器110、120、130、140中的全部或者一部分的虚拟机。进而,第二物理服务器120、第三物理服务器130及第四物理服务器140中的每个可将关于自己的可用资源的信息与心跳信号一起进行发送。在这种情况下,第一物理服务器110可基于各个物理服务器110、120、130、140的可用资源信息来变更信息表200。
[0069]信息表200变更的时间点可根据预定的策略来确定。例如,为了防止由于信息表200过于频繁地更新而导致的开销,可在各个物理服务器110、120、130、140的可用资源中的至少一个的变化量为临界值(例如,现有的可用资源的10% )以上的情况下变更信息表200。
[0070]再次参照图1,来说明在集群系统100中的预定物理服务器发生故障时提供服务可用性的方法。
[0071]将在注册有第一活动虚拟机111的第一物理服务器110中发生故障的情况为例。假设在发生故障之前存储于各个物理服务器110、120、130、140的信息表116、126、136、146包含图2中所不的信息表200。
[0072]在第一物理服务器110发生故障的情况下,第一备用虚拟机122对第一活动虚拟机111进行故障转移(failover)。这样的故障转移可参照信息表116、126、136、146而揭不。根据信息表116、126、136、146,集群系统100的第二物理服务器120注册有与第一活动虚拟机111对应的第一备用虚拟机122。例如,第二物理服务器120通过感测没有来自第一物理服务器110的针对从第二物理服务器120发送的心跳信号的响应,来判定在第一物理服务器110中发生故障。此外,第二物理服务器120参照自己的信息表126使得第一备用虚拟机122对第一活动虚拟机111进行故障转移。
[0073]如上所述,如果第一备用虚拟机122对第一活动虚拟机111进行故障转移,则原本由第一活动虚拟机111提供的服务被转移到第一备用虚拟机122,从而由第一备用虚拟机122来进行恢复。
[0074]此外,在第一物理服务器110发生故障时,信息表200被更新/重新构成。执行这样的更新以使注册在发生故障的第一物理服务器110中的虚拟机被适当地再分配到其余的物理服务器120、130、140。通过第一备用虚拟机122而被故障转移之后,除发生故障的第一物理服务器110以外的其余的物理服务器120、130、140中的至少一个物理服务器可更新信息表200。这样的更新可基于构成注册信息的逻辑,以免某个活动虚拟机和与之对应的备用虚拟机被注册到相同的物理服务器。
[0075]作为一个示例,更新的信息表200将第一活动虚拟机111与物理服务器120、130、140中的一个物理服务器关联起来。只是,如上所述,与第一活动虚拟机111相关联的物理服务器与第二物理服务器120不同。例如,根据更新的信息表200,第三物理服务器130与第一活动虚拟机111相关联。此外,更新的信息表200将注册到第一物理服务器110的第四备用虚拟机112与物理服务器120、130、140中的一个物理服务器关联起来。只是,如上所述,与第四备用虚拟机112相关联的物理服务器与注册有对应于第四备用虚拟机112的第四活动虚拟机141的第四物理服务器140不同。例如,根据更新的信息表200,第三物理服务器130与第一活动虚拟机111相关联。
[0076]进而,为了更新信息表200,与第一活动虚拟机111相关联的物理服务器及与第四备用虚拟机112相关联的物理服务器可基于物理服务器110、120、130、140中的一部分的可用资源而被选择。具体地讲,与第一活动虚拟机111相关联的物理服务器可基于除发生故障的第一物理服务器110及第一备用虚拟机122对第一活动虚拟机111进行故障转移的第二物理服务器120之外的其余物理服务器130、140中的每个的可用资源而由物理服务器130,140选择。例如,在第三物理服务器130比第四物理服务器140具有更充足的可用资源的情况下,将第一活动虚拟机111与第三物理服务器130关联起来。与第四备用虚拟机112相关联的物理服务器可基于除发生故障的第一物理服务器110及注册有第四活动虚拟机141的第四物理服务器140之外的其余物理服务器120、130中的每个的可用资源而由物理服务器120、130选择。例如,在第二物理服务器120比第三物理服务器130具有更充足的可用资源的情况下,将第四备用虚拟机112与第二物理服务器120关联起来。
[0077]概括而言,图2所示的信息表200根据如上所述的更新,作为与第二物理服务器120对应的虚拟机而在现有的第二活动虚拟机121及第一备用虚拟机122的基础上还显示第四备用虚拟机112,作为与第三物理服务器130对应的虚拟机而在现有的第三活动虚拟机131及第二备用虚拟机132的基础上还显示第一活动虚拟机111。此外,更新的信息表200作为对应于第四物理服务器140的虚拟机而与更新之前一样表示第四活动虚拟机141及第二备用虚拟机142。
[0078]根据更新的信息表200,注册在发生故障的第一物理服务器110的第一活动虚拟机111及第四备用虚拟机112分别被注册到其他的物理服务器。在前述的示例中,第一活动虚拟机111被注册到第三物理服务器130,第四备用虚拟机112被注册到第二物理服务器120。这样的注册可伴随着在第一物理服务器110发生故障之前对第一活动虚拟机111及第四备用虚拟机112中的每个的存储器快照或者对应的虚拟机进行复制。例如,将第一活动虚拟机111注册到第三物理服务器130可伴随着从共享存储器获取第一活动虚拟机111的最终快照,或者伴随着对包含于第二物理服务器120的存储器中的第一备用虚拟机122进行反射。
[0079]图3是示出根据本发明的实施例而在集群系统中提供服务可用性的过程的顺序图。
[0080]一旦开始服务可用性提供过程300,则集群系统100中的物理服务器110、120、130、140周期性地发送分别表示自己的状态的心跳信号(310)。表示注册到各个物理服务器110、120、130、140的虚拟机的注册信息可包含于各个物理服务器110、120、130、140。这样的注册信息可具有前述的信息表200的格式。
[0081]如果不存在不对心跳信号响应的物理服务器(320),则各个物理服务器110、120、130、140继续发送心跳信号(310)。
[0082]如果存在不对心跳信号响应的物理服务器(320),则可判定在相关的物理服务器中发生了故障。在这种情况下,在与注册到发生故障的物理服务器的活动虚拟机对应且注册到其他的物理服务器的备用虚拟机中进行故障转移(330)。例如,响应于判定在第一物理服务器110中发生了故障,第二物理服务器120使得与第一活动虚拟机111对应且注册到第二物理服务器120的第一备用虚拟机122对第一活动虚拟机111进行故障转移。
[0083]在进行这样的故障转移之后,针对除发生故障的物理服务器之外的其余的物理服务器重新构成注册信息(340)。这样的重新构成可基于如下的逻辑:使得活动虚拟机和与之对应的备用虚拟机不被注册到相同的物理服务器,并且将发生故障的物理服务器的虚拟机优先与可用资源充足的物理服务器关联起来而进行注册。为了方便起见,将发生故障之前的注册信息称为故障前(pre-failure)的注册信息,将发生故障之后被重新构成/更新的注册信息称为故障后(post-failure)的注册信息。
[0084]例如,在第一物理服务器110中发生故障时,故障后的注册信息将第一物理服务器110的第一活动虚拟机111与其他的物理服务器中的一个物理服务器关联起来,并将第一物理服务器110的第四备用虚拟机112与其他的物理服务器中的另一个物理服务器关联起来,只是,与第一活动虚拟机111相关联的物理服务器与注册有对第一活动虚拟机111进行故障转移的第一备用虚拟机122的第二物理服务器120不同,与第四备用虚拟机112相关联的物理服务器与注册有对应于第四备用虚拟机112的第四活动虚拟机141的第四物理服务器140不同。如上所述,为了构成故障后的注册信息,与发生故障的第一物理服务器110的活动虚拟机111、112相关联的物理服务器可基于物理服务器120、130、140中的一部分的可用资源而被选择。
[0085]这样的故障后的注册信息分别被存储到第二物理服务器120、第三物理服务器130及第四物理服务器140。在发生故障之后第一物理服务器110重新正常运行的情况下,故障后的注册信息(在故障后的注册信息动态变更的情况下则是和它一起变更的注册信息)也可被存储到第一物理服务器110。
[0086]根据故障后的注册信息(即,重新构成的信息),将发生故障的物理服务器中的各个虚拟机注册到其他的物理服务器(350)。如果在除发生故障的物理服务器以外的其余的物理服务器中的每个中存在没有根据重新构成的注册信息而进行注册的虚拟机(360),则继续将该虚拟机注册到相关的物理服务器(350)。如果根据重新构成的注册信息注册到与虚拟机相关的物理服务器(350),则过程300终止。
[0087]此外,本发明的实施例可包括记录有用于在计算机上执行本说明书中记载的方法的程序的计算机可读记录介质。所述计算机可读记录介质可单独地包括程序命令、本地数据文件、本地数据结构等,或者包括它们的组合。所述介质可以是为本发明而专门设计并构成的介质,或者可以是计算机软件领域的普通技术人员所公知而可以使用的介质。所述计算机可读记录介质的示例包括为了存储并执行程序命令而专门构成的硬件装置:诸如硬盘、软盘及磁带的磁介质、诸如CD-ROM、DVD的光记录介质、诸如软盘的磁光介质及ROM、RAM、闪存等。程序命令的示例可包括:由编译器编写的机器语言代码以及使用解释器等而由计算机来执行的高级语言代码。
[0088]虽然已通过代表性实施例对本发明进行了详细描述,但本发明所属的【技术领域】中具有公知常识的技术人员应该理解在不脱离本发明的范围的情况下可对上述实施例进行各种变形。
[0089]因此,本发明的权利范围不应局限于所描述的实施例而确定,而是应当由权利要求书及其等同物来确定。
【权利要求】
1.一种集群系统,包括: 注册有活动虚拟机的第一物理服务器;及 多个物理服务器, 所述多个物理服务器包括对应于所述活动虚拟机且注册有在所述第一物理服务器发生故障时对所述活动虚拟机进行故障转移的备用虚拟机的第二物理服务器, 在发生所述故障时,所述多个物理服务器中的每一个存储故障后的注册信息,所述故障后的注册信息将所述活动虚拟机与所述多个物理服务器中的一个物理服务器关联起来,且所述一个物理服务器与所述第二物理服务器不同。
2.根据权利要求1所述的集群系统,其中, 所述一个物理服务器基于与所述多个物理服务器中的、与所述第二物理服务器不同的物理服务器中的每一个的可用资源,从与所述第二物理服务器不同的所述物理服务器中被选择,以构成所述故障后的注册信息。
3.根据权利要求1所述的集群系统,其中, 所述活动虚拟机根据所述故障后的注册信息被注册到所述一个物理服务器。
4.根据权利要求1所述的集群系统,其中, 所述故障后的注册信息还将注册到所述第一物理服务器的其他的备用虚拟机与所述多个物理服务器中的另一个物理服务器关联起来,且所述另一个物理服务器与注册有对应于所述其他的备用虚拟机的其他的活动虚拟机的物理服务器不同。
5.根据权利要求4所述的集群系统,其中, 所述另一个物理服务器基于所述多个物理服务器中的、与注册有所述其他的活动虚拟机的物理服务器不同的物理服务器中的每一个的可用资源,从与注册有所述其他的活动虚拟机的物理服务器不同的所述物理服务器中被选择,以构成所述故障后的注册信息。
6.根据权利要求4所述的集群系统,其中, 所述其他的备用虚拟机根据所述故障后的注册信息被注册到所述另一个物理服务器。
7.根据权利要求1所述的集群系统,其中, 在发生所述故障之前,所述第一物理服务器及所述多个物理服务器中的每一个存储故障前的注册信息,所述故障后的注册信息通过更新所述故障前的注册信息来构成,所述故障前的注册信息表示在发生所述故障之前注册到所述第一物理服务器及所述多个物理服务器中的每一个的虚拟机。
8.根据权利要求7所述的集群系统,其中, 在发生所述故障之前,所述故障前的注册信息能够基于所述第一物理服务器的状态及所述多个物理服务器中的每一个的状态而变更。
9.根据权利要求7所述的集群系统,其中, 所述故障前的注册信息还表示所述第一物理服务器的可用资源及所述多个物理服务器中的每一个的可用资源。
10.根据权利要求8所述的集群系统,其中, 所述故障前的注册信息的变更在所述第一物理服务器的可用资源及所述多个物理服务器中的每一个的可用资源中的至少一个的变化量为临界值以上的情况下执行。
11.一种服务可用性提供方法,所述方法用于在集群系统中提供服务可用性,包括如下步骤: 在注册有活动虚拟机的第一物理服务器中发生故障时,使得注册到多个物理服务器中的第二物理服务器并与所述活动虚拟机对应的备用虚拟机对所述活动虚拟机进行故障转移; 在发生所述故障时,将故障后的注册信息存储到所述多个物理服务器中的每一个, 其中,所述故障后的注册信息将所述活动虚拟机与所述多个物理服务器中的一个物理服务器关联起来,且所述一个物理服务器与所述第二物理服务器不同。
12.根据权利要求11所述的服务可用性提供方法,还包括如下步骤: 所述一个物理服务器基于所述多个物理服务器中的与所述第二物理服务器不同的物理服务器中的每一个的可用资源,从与所述第二物理服务器不同的所述物理服务器中被选择,以构成所述故障后的注册信息。
13.根据权利要求11所述的服务可用性提供方法,还包括如下步骤: 根据故障后的注册信息,将所述活动虚拟机注册到所述一个物理服务器。
14.根据权利要求11所述的服务可用性提供方法,其中, 所述故障后的注册信息还将注册到所述第一物理服务器的其他的备用虚拟机与所述多个物理服务器中的另一个物理服务器关联起来,且所述另一个物理服务器与注册有对应于所述其他的备用虚拟机的其他的活动虚拟机的物理服务器不同。
15.根据权利要求14所述的服务可用性提供方法,还包括如下步骤: 所述另一个物理服务器基于所述多个物理服务器中的与注册有所述其他的活动虚拟机的物理服务器不同的物理服务器中的每一个的可用资源,从与注册有所述其他的活动虚拟机的物理服务器不同的所述物理服务器中被选择,以构成所述故障后的注册信息。
16.根据权利要求11所述的服务可用性提供方法,还包括如下步骤: 所述其他的备用虚拟机根据所述故障后的注册信息被注册到所述另一个物理服务器。
17.根据权利要求11所述的服务可用性提供方法,还包括如下步骤: 发生所述故障之前,在所述第一物理服务器及所述多个物理服务器中的每一个存储故障前的注册信息; 通过更新所述故障前的注册信息来构成所述故障后的注册信息, 其中,所述故障前的注册信息表示在发生所述故障之前注册到所述第一物理服务器及所述多个物理服务器中的每一个的虚拟机。
18.根据权利要求17所述的服务可用性提供方法,还包括如下步骤: 在发生所述故障之前,基于所述第一物理服务器的状态及所述多个物理服务器中的每一个的状态而变更所述故障前的注册信息。
19.根据权利要求17所述的服务可用性提供方法,其中, 所述故障前的注册信息还表示所述第一物理服务器的可用资源及所述多个物理服务器中的每一个的可用资源。
20.根据权利要求18所述的服务可用性提供方法,其中, 所述故障前的注册信息的变更在所述第一物理服务器的可用资源及所述多个物理服务器中的每一个的可用资源中的至少一个的变化量为临界值以上的情况下执行。
21.一种服务器计算机,包括处理器及存储器,所述存储器包括: 注册信息,表示注册到包括所述服务器计算机的多个服务器计算机及其他的服务器计算机中的每一个的虚拟机; 备用虚拟机,与注册到所述其他的服务器计算机的活动虚拟机对应;及 计算机可执行命令, 在所述计算机可执行命令由所述处理器执行的情况下,被构成为执行如下操作: 响应于所述其他服务器计算机发生故障的判定,使所述备用虚拟机对所述活动虚拟机进行故障转移; 响应于所述判定,执行更新所述注册信息, 其中,更新的所述注册信息将所述活动虚拟机与所述多个服务器计算机中的一个服务器计算机关联起来,且所述一个服务器计算机与所述服务器计算机不同。
22.根据权利要求21所述的服务器计算机,其中, 在所述计算机可执行命令由所述处理器执行的情况下,被构成为执行如下操作:基于所述多个服务器计算机中的与所述服务器计算机不同的服务器计算机中的每一个的可用资源,从与所述服务器计算机不同的服务器计算机中选择所述一个服务器计算机,以更新所述注册信息。
23.根据权利要求21所述的服务器计算机,其中, 所述其他的服务器计算机还注册有其他的备用虚拟机, 更新的所述注册信息还将所述其他的备用虚拟机与所述多个服务器计算机中的另一个服务器计算机关联起来,所述另一个服务器计算机与注册有对应于所述其他的备用虚拟机的其他的活动虚拟机的服务器计算机不同。
24.根据权利要求23所述的服务器计算机,其中, 在所述计算机可执行命令由所述处理器执行的情况下,被构成为执行如下操作:基于所述多个服务器计算机中的与注册有所述其他的活动虚拟机的服务器计算机不同的服务器计算机中的每一个的可用资源,从与注册有所述其他的活动虚拟机的服务器计算机不同的服务器计算机中选择所述另一个服务器计算机,以更新所述注册信息。
25.根据权利要求21所述的服务器计算机,其中, 在所述计算机可执行命令由所述处理器执行的情况下,被构成为执行如下操作:在发生所述故障之前,基于所述多个服务器计算机中的每一个的状态及所述其他的服务器计算机的状态而变更所述注册信息。
26.根据权利要求21所述的服务器计算机,其中, 所述注册信息还表示所述其他的服务器计算机的可用资源及所述多个服务器计算机中的每一个的可用资源。
27.根据权利要求25所述的服务器计算机,其中, 变更所述注册信息的操作在所述多个服务器计算机中的每一个的可用资源及所述其他的服务器计算机的可用资源中的至少一个的变化量为临界值以上的情况下执行。
【文档编号】H04L29/08GK104427002SQ201410455215
【公开日】2015年3月18日 申请日期:2014年9月9日 优先权日:2013年9月9日
【发明者】朴诚美, 李光炫, 崔光民 申请人:三星Sds株式会社