集群中虚拟机的恢复方法和系统的制作方法
【技术领域】
[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]本发明实施例提供的集群中虚拟机的恢