集群中虚拟机的恢复方法和系统的制作方法

xiaoxiao2020-10-23  22

集群中虚拟机的恢复方法和系统的制作方法
【技术领域】
[0001]本发明涉及虚拟化技术领域,特别是涉及一种集群中虚拟机的恢复方法和系统。
【背景技术】
[0002]随着网络技术的发展,虚拟化技术也得到了广泛应用。用户可以通过虚拟环境与虚拟机进行交互。虚拟机可以运行在服务器上,多台服务器又可以组成集群。如果其中有服务器发生故障时,需要在短时间内对该服务器上的虚拟机及时恢复,从而确保虚拟机能够运行。对虚拟机进行恢复的传统方式有以下两种:
[0003]一、购置外置共享存储设备,并对外置共享存储设备进行部署能够被集群内的所有服务器共享访问。将虚拟机的虚拟磁盘文件存储在外置共享存储设备上,集群内的所有服务器从而都可以访问这些虚拟磁盘文件。当有一台服务器发生故障时,利用其它服务器从外置共享存储设备上获取到的虚拟磁盘文件对虚拟机进行快速恢复。
[0004]二、对每一台运行的服务器配置一台备份服务器,并将服务器上的数据定时或实时备份至备份服务器。当该服务器发生故障时,启用备份服务器代替服务器来运行,从而对虚拟机进行快速恢复。
[0005]上述两种方式都需要额外采购存储设备,从而导致硬件投入成本的增加。而且,第二种方式中的备份服务器只是用于备份存储,导致备份服务器的资源不能充分利用。因此,如何在不增加硬件成本投入的情况下有效利用服务器资源对虚拟机进行快速恢复成为目前的一个技术难题。

【发明内容】

[0006]基于此,有必要针对上述技术问题,提供一种能够在不增加硬件成本投入的情况下有效利用集群中的服务器资源对虚拟机进行快速恢复的一种集群中虚拟机的恢复方法和系统。
[0007]一种集群中虚拟机的恢复方法,所述方法包括:
[0008]将第一服务器上运行的虚拟机的虚拟磁盘文件备份至集群中其他服务器;
[0009]所述第一服务器发生故障时,从所述其他服务器获取已备份的虚拟磁盘文件;
[0010]利用所述已备份的虚拟磁盘文件对所述虚拟机进行恢复。
[0011]一种集群中虚拟机的恢复系统,所述系统包括:
[0012]备份模块,用于将第一服务器上运行的虚拟机的虚拟磁盘文件备份至集群中其他服务器;
[0013]获取模块,用于所述第一服务器发生故障时,从所述其他服务器获取已备份的虚拟磁盘文件;
[0014]恢复模块,用于利用所述已备份的虚拟磁盘文件对所述虚拟机进行恢复。
[0015]上述集群中虚拟机的恢复方法和系统,将第一服务器上运行的虚拟机的虚拟磁盘文件备份至集群中其他服务器;第一服务器发生故障时,从其他服务器获取已备份的虚拟磁盘文件;利用已备份的虚拟磁盘文件对虚拟机进行恢复。由于将虚拟机的虚拟磁盘文件备份至集群中其他服务器,从而无需增加硬件成本投入即可利用集群中的其他服务器对虚拟机进行备份。在运行虚拟机的第一服务器发生故障时,从集群中其他服务器获取已备份的虚拟磁盘文件,由此能够利用已备份的虚拟磁盘文件对虚拟机进行快速恢复。由此实现了在不增加硬件成本投入的情况下能够有效利用集群中的服务器资源对虚拟机进行快速恢复。
[0016]在其中一个实施例中,在所述将第一服务器上运行的虚拟机的虚拟磁盘文件备份至集群中其他服务器的步骤之前,还包括:
[0017]建立所述虚拟机与集群中其他服务器之间的备份关系;
[0018]获取对所述虚拟机进行备份的指定时间。
[0019]在其中一个实施例中,所述将第一服务器上运行的虚拟机的虚拟磁盘文件备份至集群中其他服务器的步骤包括:
[0020]获取所述虚拟磁盘文件;
[0021]在指定时间将所述虚拟磁盘文件备份至已建立备份关系的其他服务器。
[0022]在其中一个实施例中,在所述获取所述虚拟磁盘文件的步骤之后,还包括:
[0023]对所述虚拟磁盘文件创建对应的索引表,所述索引表记录了所述虚拟磁盘文件对应的簇的编号;
[0024]对所述索引表创建第一快照;
[0025]将所述第一快照写入所述虚拟磁盘文件中。
[0026]在其中一个实施例中,在所述在指定时间将所述虚拟磁盘文件备份至已建立备份关系的其他服务器的步骤之后,还包括:
[0027]获取在所述虚拟机上再次写入数据后的虚拟磁盘文件;
[0028]将所述再次写入数据后的虚拟磁盘文件对应的簇的编号记录至所述索引表表中;
[0029]对再次记录编号的索引表创建第二快照;
[0030]将所述第二快照与所述第一快照进行比对后获取不相同的编号;
[0031]根据所述不相同的编号,将所述与编号对应的簇增量备份至已建立备份关系的其他服务器。
[0032]在其中一个实施例中,所述系统还包括:
[0033]备份关系建立模块,用于建立所述虚拟机与集群中其他服务器之间的备份关系;
[0034]所述获取模块还用于获取对所述虚拟机进行备份的指定时间。
[0035]在其中一个实施例中,所述备份模块包括:
[0036]文件获取单元,用于获取所述虚拟磁盘文件;
[0037]文件备份单元,用于在指定时间将所述虚拟磁盘文件备份至已建立备份关系的其他服务器。
[0038]在其中一个实施例中,所述系统还包括:
[0039]索引表创建模块,用于对所述虚拟磁盘文件创建对应的索引表,所述索引表记录了所述虚拟磁盘文件对应的簇的编号;
[0040]快照创建模块,用于对所述索引表创建第一快照;
[0041]写入模块,用于将所述第一快照写入所述虚拟磁盘文件中。
[0042]在其中一个实施例中,所述获取模块还用于获取在所述虚拟机上再次写入数据后的虚拟磁盘文件;所述写入模块还用于将所述再次写入数据后的虚拟磁盘文件对应的簇的编号记录至所述索引表表中;所述快照创建模块还用于对再次记录编号的索引表创建第二快照;所述获取模块还用于将所述第二快照与所述第一快照进行比对后,获取不相同的编号;所述备份模块还用于根据所述不相同的编号,将所述与编号对应的簇增量备份至已建立备份关系的其他服务器。
【附图说明】
[0043]图1为一个实施例中集群中虚拟机恢复方法的应用环境图;
[0044]图2为一个实施例中集群中虚拟机恢复方法的流程图;
[0045]图3为一个实施例中集群中虚拟机恢复系统的结构示意图;
[0046]图4为又一个实施例中集群中虚拟机恢复系统的结构示意图;
[0047]图5为一个实施例中备份模块的结构示意图;
[0048]图6为另一个实施例中集群中虚拟机恢复系统的结构示意图。
【具体实施方式】
[0049]本发明实施例提供的集群中虚拟机的恢 复方法可应用于如图1所示的应用环境中。参考图1所示,服务器101、服务器102、服务器103通过网络组成集群。服务器101与外置存储设备104通过网络连接。每台服务器上都运行了虚拟机(Virtual Machine, VM),还可以对其他服务器上运行的虚拟机的虚拟磁盘文件进行备份存储。其中,服务器101上运行了四台虚拟机,分别为VMl、VM2、VM3和VM4。其中,VMl和VM3与服务器103建立了备份关系,在指定时间VMl和VM3分别将其虚拟磁盘文件备份至服务器103。VM2与服务器102建立了备份关系,在指定时间VM2将其虚拟磁盘文件备份至服务器102。VM4与外置共享存储设备104建立了备份关系,在指定时间VM4将其虚拟磁盘文件备份至外置共享存储设备104。当服务器101发生故障时,可以在服务器103上利用已备份的VMl的虚拟磁盘文件对VMl进行快速恢复,并且可利用已备份的VM3的虚拟磁盘文件对VM3进行快速恢复。在服务器102上利用已备份的VM2的虚拟磁盘文件对VM2进行快速恢复。服务器102或者服务器103可以获取外置共享存储设备104上已备份的VM4的虚拟磁盘文件,利用已备份的VM4的虚拟磁盘文件在服务器102或者服务器103上对VM4进行快速恢复。此外,在服务器101发生故障时,虚拟机VM1、VM2、VM3和VM4可以任意选择在服务器102或者服务器103上进行快速恢复。由此实现了在不增加硬件成本投入的情况下有效利用集群中的服务器资源对集群中虚拟机的快速恢复。
[0050]在一个实施例中,如图2所示,提供了一种集群中虚拟机的恢复方法,该方法具体包括:
[0051]步骤202,将第一服务器上运行的虚拟机的虚拟磁盘文件备份至集群中其他服务器。
[0052]服务器是指采用了虚拟化技术并且可以运行虚拟机的服务器。多台服务器组成一个集群。服务器也可以称为集群中的节点。服务器上运行的虚拟机的虚拟磁盘文件可以备份至其他服务器,即备份至其他节点。也就是说,集群中的每台服务器都运行了虚拟服务器,并且承担备份其他服务器上的虚拟机的虚拟磁盘文件的任务。每台服务器上可以运行一台虚拟机,也可以运行多台虚拟机。对于一台服务器上运行的多台虚拟机,可以将多台虚拟机的虚拟磁盘文件备份至集群中其他的同一台服务器,也可以将多台虚拟机的虚拟磁盘文件分别对应虚拟机与其他服务器的备份关系备份至集群中多台不同的服务器。对虚拟机的虚拟磁盘文件进行备份,也可简称为对虚拟机进行备份。承担备份任务的服务器是可以预先指定的。也可以选择资源空闲的服务器作为承担备份任务的服务器。资源是指服务器的资源,如 1(Input/Output,输入 / 输出)>CPU(Central Processing Unit,中央处理器)等。资源空闲是指服务器的资源占用率低于预设条件。例如,CPU占用率低于10%等。
[0053]在对虚拟磁盘文件进行备份的过程中,第一服务器上的虚拟机处于正常运行状态。具体的,通过对虚拟机的虚拟磁盘文件创建快照,创建快照之后,对虚拟磁盘的容量进行扩充,将虚拟机在快照之后写入虚拟磁盘的数据写到虚拟磁盘扩充后的区域。从而避免了对同一虚拟磁盘区域同时进行读写操作。由此能够在无需暂停虚拟机运行的情况下对虚拟磁盘文件进行备份。
[0054]此外,第一服务器也可以通过网络与外置共享存储设备相连接。将第一服务器上运行的虚拟机与外置共享存储设备建立备份关系之后,可以将虚拟机的虚拟磁盘文件备份至外置共享存储设备。
[0055]步骤204,第一服务器发生故障时,从其他服务器获取已备份的虚拟磁盘文件。
[0056]第一服务器发生故障时虚拟机无法继续运行,要对虚拟机进行恢复。需从其他服务器即承担备份任务的服务器上获取已备份的虚拟磁盘文件。如果发生故障的第一服务器上运行了多台虚拟机,则需要从其他服务器上分别获取多份已备份的虚拟磁盘文件。
[0057]步骤206,利用已备份的虚拟磁盘文件对虚拟机进行恢复。
[0058]利用已备份的虚拟磁盘文件对虚拟机进行恢复,从而确保虚拟机能够继续运行。虚拟机可以在备份磁盘文件的服务器上进行恢复,也可以根据集群中其他服务器的资源利用状况,选择在资源空闲的服务器上进行恢复。如果有多台虚拟机需要恢复,可以将多台虚拟机在同一台服务器上进行恢复,也可以在集群中不同的服务器上对不同的虚拟机分别进行恢复。
[0059]对于备份至外置共享存储设备中的虚拟磁盘文件,当第一服务器发生故障时,从外置共享存储设备中获取已备份的虚拟磁盘文件,在任意选择的集群中的服务器上利用已备份的虚拟磁盘文件对虚拟机进行恢复。如果外置共享存储设备上备份了多份虚拟磁盘文件,可获取多方虚拟磁盘文件在集群中多台服务器上分别对虚拟机进行恢复。也可以将多台虚拟机在一台服务器上进行恢复。
[0060]本实施例中,将第一服务器上运行的虚拟机的虚拟磁盘文件备份至集群中其他服务器;第一服务器发生故障时,从其他服务器获取已备份的虚拟磁盘文件;利用已备份的虚拟磁盘文件对虚拟机进行恢复。由于将虚拟机的虚拟磁盘文件备份至集群中其他服务器,从而无需增加硬件成本投入即可利用集群中的其他服务器对虚拟机进行备份。在运行虚拟机的第一服务器发生故障时,从集群中其他服务器获取已备份的虚拟磁盘文件,由此能够利用已备份的虚拟磁盘文件对虚拟机进行快速恢复。由此实现了在不增加硬件成本投入的情况下能够有效利用集群中的服务器资源对虚拟机进行快速恢复。[0061 ] 在一个实施例中,在将第一服务器上运行的虚拟机的虚拟磁盘文件备份至集群中其他服务器的步骤之前,还包括:建立虚拟机与集群中其他服务器之间的备份关系;获取对虚拟机进行备份的指定时间。
[0062]本实施例中,备份关系是指将虚拟机的虚拟磁盘数据备份至集群中的哪一台服务器。备份关系可以是预先人为指定建立的。也可以是根据集群中各个服务器已运行的虚拟机数量、已备份的虚拟磁盘文件数量、物理磁盘剩余空间容量、CPU占用率、1占用率等参数计算出备份指数,选择备份指数最高的服务器,建立虚拟机与该服务器的备份关系。如果有多台虚拟机需要进行备份,则在每台虚拟机进行备份之前都需要分别计算备份指数,并分别建立虚拟机与备份指数最高的服务器的备份关系。
[0063]对虚拟机进行备份的指定时间可以是定时的,也可以是不定时的。定时进行备份时,可以在指定时间手动对虚拟磁盘文件进行备份。不定时备份时,可以在已建立备份关系的服务器资源空闲时对虚拟磁盘文件进行备份。具体的,实时检测已建立备份关系的服务器的资源利用状况,如CPU占用率、1占用率等,若检测到资源空闲,则在已建立备份关系的服务器上备份虚拟磁盘文件,若备份过程中检测到不再满足资源空闲条件,则暂停备份,当再次检测到资源空闲时再继续进行虚拟磁盘文件的备份。由于不定时备份能够充分利用集群中服务器的空闲资源对虚拟机的虚拟磁盘文件进行备份,由此能够在不影响服 务器正常运行的情况下对虚拟机的虚拟磁盘文件进行备份。
[0064]在一个实施例中,将第一服务器上运行的虚拟机的虚拟磁盘文件备份至集群中其他服务器的步骤包括:获取虚拟磁盘文件;在指定时间将虚拟磁盘文件备份至已建立备份关系的其他服务器。
[0065]本实施例中,在建立备份关系之后,在指定时间将虚拟机的虚拟磁盘文件备份至已建立备份关系的其他服务器。若存在多台虚拟机需要备份,则对多台虚拟机分别定时或不定时的分别将虚拟磁盘文件对应的备份至已建立备份关系的其他服务器。在其中一个实施例中,在获取所述虚拟磁盘文件的步骤之后,还包括:对虚拟磁盘文件创建对应的索引表,索引表记录了虚拟磁盘文件中的簇的编号;对索引表创建第一快照;将第一快照写入虚拟磁盘文件中。将虚拟磁盘文件以簇为单位进行存储,每个簇的容量大小相同,并且对每个簇设定相应的编号。对虚拟磁盘文件创建对应的索引表,索引表中记录了簇的编号以及簇对应的存储地址。在对虚拟机的虚拟磁盘文件进行首次备份时,对索引表创建第一快照,并将第一快照写入虚拟磁盘文件中,将包含第一快照的虚拟磁盘文件在指定时间定时或不定时的备份至已建立备份关系的其他服务器。
[0066]在一个实施例中,在指定时间将虚拟磁盘文件备份至已建立备份关系的其他服务器的步骤之后,还包括:获取在虚拟机上再次写入数据后的虚拟磁盘文件;将再次写入数据后的虚拟磁盘文件对应的簇的编号记录至索引表中;对再次记录编号的索引表创建第二快照;将第二快照与第一快照进行比对后获取不相同的编号;根据不相同的编号,将与编号对应的簇增量备份至已建立备份关系的其他服务器。
[0067]本实施例中,在第一次完整备份之后,对再次写入虚拟磁盘文件的数据可以进行增量备份。在指定时间获取虚拟机再次写入数据后的虚拟磁盘文件。对再次写入的数据以簇为单位进行存储,并再次设定对应的编号。并将再次设定的编号以及对应的存储地址写入索引表中。对再次记录编号的索引表创建第二快照。通过对第一快照与第二快照进行遍历,将第二快照与第一快照进行比对,即对第二快照中索引表与第一快照中的索引表的相同位置上的簇的编号进行比对,获取不相同的簇的编号。根据这些不同的簇的编号,将这些编号对应的簇增量备份至已建立备份关系的其他服务器。由于通过对索引表快照的比对,获取不同的簇的编号,由此能够对不同的簇进行增量备份,由此有效提高了备份效率。
[0068]进一步的,由于增量备份是通过索引表的快照进行遍历,将第二快照与第一快照进行比对。因此,在不定时备份时,若检测到承担备份任务的服务器资源不满足资源空闲条件,则记录遍历当前索引表快照的位置,待承担备份任务的服务器资源满足资源空闲条件时,从记录的位置继续进行遍历,以比对第一快照和第二快照中的不同簇的编号。由此,采用遍历索引快照的方式能够进一步实现虚拟磁盘文件的不定时备份,从而有效利用了集群中服务器的资源。
[0069]在一个实施例中,如图3所示,提供了一种集群中虚拟机的恢复系统,该系统包括:备份模块302、获取模块304和恢复模块306,其中:
[0070]备份模块302,用于将第一服务器上运行的虚拟机的虚拟磁盘文件备份至集群中其他服务器。
[0071]获取模块304,用于第一服务器发生故障时,从其他服务器获取已备份的虚拟磁盘文件。
[0072]恢复模块306,用于利用已备份的虚拟磁盘文件对虚拟机进行恢复。
[0073]集群中的每台服务器都运行了虚拟服务器,并且承担备份其他服务器上的虚拟机的虚拟磁盘文件的任务。每台服务器上可以运行一台虚拟机,也可以运行多台虚拟机。对于一台服务器上运行的多台虚拟机,备份模块302可以将多台虚拟机的虚拟磁盘文件备份至集群中其他的同一台服务器,也可以将多台虚拟机的虚拟磁盘文件分别对应虚拟机与其他服务器的备份关系备份至集群中多台不同的服务器。在备份模块302对虚拟磁盘文件进行备份的过程中,第一服务器上的虚拟机处于正常运行状态。
[0074]第一服务器发生故障时虚拟机无法继续运行,要对虚拟机进行恢复。获取模块304需从其他服务器即承担备份任务的服务器上获取已备份的虚拟磁盘文件。如果发生故障的第一服务器上运行了多台虚拟机,则获取模块304需要从其他服务器上分别获取多份已备份的虚拟磁盘文件。
[0075]恢复模块306利用已备份的虚拟磁盘文件对虚拟机进行恢复,从而确保虚拟机能够继续运行。恢复模块306可以将虚拟机在备份磁盘文件的服务器上进行恢复,也可以根据集群中其他服务器的资源利用状况,选择在资源空闲的服务器上进行恢复。如果有多台虚拟机需要恢复,恢复模块306可以将多台虚拟机在同一台服务器上进行恢复,也可以在集群中不同的服务器上对不同的虚拟机分别进行恢复。
[0076]本实施例中,由于将虚拟机的虚拟磁盘文件备份至集群中其他服务器,从而无需增加硬件成本投入即可利用集群中的其他服务器对虚拟机进行备份。在运行虚拟机的第一服务器发生故障时,从集群中其他服务器获取已备份的虚拟磁盘文件,由此能够利用已备份的虚拟磁盘文件对虚拟机进行快速恢复。由此实现了在不增加硬件成本投入的情况下能够有效利用集群中的服务器资源对虚拟机进行快速恢复。
[0077]如图4所示,在一个实施例中,该系统还包括:备份关系建立模块308,用于建立虚拟机与集群中其他服务器之间的备份关系;获取模块306还用于获取对虚拟机进行备份的指定时间。
[0078]本实施例中,备份关系是指将虚拟机的虚拟磁盘数据备份至集群中的哪一台服务器。备份关系可以是预先人为指定建立的。也可以是根据集群中各个服务器已运行的虚拟机数量、已备份的虚拟磁盘文件数量、物理磁盘剩余空间容量、CPU占用率、1占用率等参数计算出备份指数,选择备份指数最高的服务器,建立虚拟机与该服务器的备份关系。对虚拟机进行备份的指定时间可以是定时的,也可以是不定时的。定时进行备份时,可以在指定时间手动对虚拟磁盘文件进行备份。不定时备份时,可以在已建立备份关系的服务器资源空闲时对虚拟磁盘文件进行备份。由于不定时备份能够充分利用集群中服务器的空闲资源对虚拟机的虚拟磁盘文件进行备份,由此能够在不影响服务器正常运行的情况下对虚拟机的虚拟磁盘文件进行备份。
[0079]在一个实施例中,如图5所示,备份模块302包括:文件获取单元302a和文件备份单元302b,其中:
[0080]文件获取单元302a,用于获取虚拟磁盘文件。
[0081]文件备份单元302b,用于在指定时间将虚拟磁盘文件备份至已建立备份关系的其他服务器。
[0082]本实施例中,在建立备份关系之后,文件获取单元302a获取虚拟磁盘文件,文件备份单元302b在指定时间将虚拟机的虚拟磁盘文件备份至已建立备份关系的其他服务器。若存在多台虚拟机需要备份,贝lJ文件备份单元302b对多台虚拟机分别定时或不定时的分别将虚拟磁盘文件对应的备份至已 建立备份关系的其他服务器。
[0083]在其中一个实施例中,如图6所示,该系统还包括:索引表创建模块310、快照创建模块312和写入模块314,其中:索引表创建模块310,用于对虚拟磁盘文件创建对应的索引表,索引表记录了虚拟磁盘文件对应的簇的编号。快照创建模块312,用于对索引表创建第一快照。写入模块314,用于将第一快照写入虚拟磁盘文件中。
[0084]本实施例中,将虚拟磁盘文件以簇为单位进行存储,每个簇的容量大小相同,并且对每个簇设定相应的编号。索引表创建模块310对虚拟磁盘文件创建对应的索引表,索引表中记录了簇的编号以及簇对应的存储地址。在对虚拟机的虚拟磁盘文件进行首次备份时,快照创建模块312对索引表创建第一快照,写入模块314将第一快照写入虚拟磁盘文件中,备份模块302将包含第一快照的虚拟磁盘文件在指定时间定时或不定时的备份至以及建立备份关系的其他服务器。
[0085]在一个实施例中,获取模块304还用于获取在虚拟机上再次写入数据后的虚拟磁盘文件;写入模块314还用于将再次写入数据后的虚拟磁盘文件对应的簇的编号记录至索引表表中;快照创建模块312还用于对再次记录编号的索引表创建第二快照;获取模块314还用于将第二快照与第一快照进行比对后,获取不相同的编号;备份模块302还用于根据不相同的编号,将与编号对应的簇增量备份至已建立备份关系的其他服务器。
[0086]本实施例中,获取模块304在指定时间获取虚拟机再次写入数据后的虚拟磁盘文件。写入模块314对再次写入的数据以簇为单位进行存储,并再次设定对应的编号,并将再次设定的编号以及对应的存储地址写入索引表中。快照创建模块312对再次记录编号的索引表创建第二快照。获取模块304在对第一快照与第二快照进行遍历,将第二快照与第一快照进行比对之后,即对第二快照中索引表与第一快照中的索引表的相同位置上的簇的编号进行比对之后,获取不相同的簇的编号。备份模块302根据这些不同的簇的编号,将这些编号对应的簇增量备份至已建立备份关系的其他服务器。由于通过对索引表快照的比对,获取不同的簇的编号,由此能够对不同的簇进行增量备份,由此有效提高了备份效率。
[0087]以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0088]以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【主权项】
1.一种集群中虚拟机的恢复方法,所述方法包括: 将第一服务器上运行的虚拟机的虚拟磁盘文件备份至集群中其他服务器; 所述第一服务器发生故障时,从所述其他服务器获取已备份的虚拟磁盘文件; 利用所述已备份的虚拟磁盘文件对所述虚拟机进行恢复。2.根据权利要求1所述的方法,其特征在于,在所述将第一服务器上运行的虚拟机的虚拟磁盘文件备份至集群中其他服务器的步骤之前,还包括: 建立所述虚拟机与集群中其他服务器之间的备份关系; 获取对所述虚拟机进行备份的指定时间。3.根据权利要求2所述的方法,其特征在于,所述将第一服务器上运行的虚拟机的虚拟磁盘文件备份至集群中其他服务器的步骤包括: 获取所述虚拟磁盘文件; 在指定时间将所述虚拟磁盘文件备份至已建立备份关系的其他服务器。4.根据权利要求3所述的方法,其特征在于,在所述获取所述虚拟磁盘文件的步骤之后,还包括: 对所述虚拟磁盘文件创建对应的索引表,所述索引表记录了所述虚拟磁盘文件对应的簇的编号; 对所述索引表创建第一快照; 将所述第一快照写入所述虚拟磁盘文件中。5.根据权利要4所述的方法,其特征在于,在所述在指定时间将所述虚拟磁盘文件备份至已建立备份关系的其他服务器的步骤之后,还包括: 获取在所述虚拟机上再次写入数据后的虚拟磁盘文件; 将所述再次写入数据后的虚拟磁盘文件对应的簇的编号记录至所述索引表表中; 对再次记录编号的索引表创建第二快照; 将所述第二快照与所述第一快照进行比对后获取不相同的编号; 根据所述不相同的编号,将所述与编号对应的簇增量备份至已建立备份关系的其他服务器。6.一种集群中虚拟机的恢复系统,其特征在于,所述系统包括: 备份模块,用于将第一服务器上运行的虚拟机的虚拟磁盘文件备份至集群中其他服务器; 获取模块,用于所述第一服务器发生故障时,从所述其他服务器获取已备份的虚拟磁盘文件; 恢复模块,用于利用所述已备份的虚拟磁盘文件对所述虚拟机进行恢复。7.根据权利要求6所述的系统,其特征在于,所述系统还包括: 备份关系建立模块,用于建立所述虚拟机与集群中其他服务器之间的备份关系; 所述获取模块还用于获取对所述虚拟机进行备份的指定时间。8.根据权利要求7所述的系统,其特征在于,所述备份模块包括: 文件获取单元,用于获取所述虚拟磁盘文件; 文件备份单元,用于在指定时间将所述虚拟磁盘文件备份至已建立备份关系的其他服务器。9.根据权利要求8所述的系统,其特征在于,所述系统还包括: 索引表创建模块,用于对所述虚拟磁盘文件创建对应的索引表,所述索引表记录了所述虚拟磁盘文件对应的簇的编号; 快照创建模块,用于对所述索引表创建第一快照; 写入模块,用于将所述第一快照写入所述虚拟磁盘文件中。10.根据权利要9所述的系统,其特征在于,所述获取模块还用于获取在所述虚拟机上再次写入数据后的虚拟磁盘文件;所述写入模块还用于将所述再次写入数据后的虚拟磁盘文件对应的簇的编号记录至所述索引表表中;所述快照创建模块还用于对再次记录编号的索引表创建第二快照;所述获取模块还用于将所述第二快照与所述第一快照进行比对后,获取不相同的编号;所述备份模块还用于根据所述不相同的编号,将所述与编号对应的簇增量备份至已建立备份关系的其他服务器。
【专利摘要】一种集群中虚拟机的恢复方法,所述方法包括:将第一服务器上运行的虚拟机的虚拟磁盘文件备份至集群中其他服务器;所述第一服务器发生故障时,从所述其他服务器获取已备份的虚拟磁盘文件;利用所述已备份的虚拟磁盘文件对所述虚拟机进行恢复。采用本方法能够在不增加硬件成本投入的情况下有效利用集群中的服务器资源对虚拟机进行快速恢复。此外还提供一种集群中虚拟机的恢复系统。
【IPC分类】G06F9/455, G06F11/14
【公开号】CN104899071
【申请号】CN201510213564
【发明人】张正伟
【申请人】深圳市深信服电子科技有限公司
【公开日】2015年9月9日
【申请日】2015年4月29日

最新回复(0)