一种虚拟机容灾数据恢复方法、系统、终端及存储介质与流程

文档序号:24199895发布日期:2021-03-09 18:50阅读:137来源:国知局
一种虚拟机容灾数据恢复方法、系统、终端及存储介质与流程

1.本发明涉及云计算技术领域,具体涉及一种虚拟机容灾数据恢复方法、系统、终端及存储介质。


背景技术:

2.传统的备份方式虽然能够保护企业数据的安全性,但是不能保护业务的连续性。主

备的容灾方式曾经是实现系统高可用性的主流方式,但是在主

备模式下,由于对技术和系统没有把握,也没有做过严谨的容灾演练,使得在生产系统发生问题时,很多企业管理者也不敢轻易下达系统切换的命令,这极易造成数据的丢失和不一致现象,有极大可能给企业带来不可预估的损失风险。
3.存储系统双活技术是目前主流的可靠的能够保证系统业务连续性的技术,在双活模式下,两个数据中心不存在主、备的关系,而是平起平坐,同时承担业务运行的重任,若其中一个数据中心出现故障,业务会自动切换到另一个数据中心。这样在一个系统发生故障后,另一个系统能够快速对接到新的业务,目前来看,双活的架构设计能够很好的保护业务系统的高可靠性和可伸缩性。
4.在进行虚拟机容灾数据恢复时,业界内普遍的方案是,一台虚拟机只有一份配置文件,虚拟机的容灾配置文件保存在虚拟机系统盘所在存储池中,但是系统内的虚拟机多种多样,可能包含多个虚拟磁盘并且分布在不同类型、关联不同主机的多个存储池中。容灾过程中扫描存储池上的虚拟机,平台自动选择一台挂载了此存储并且在线的主机执行扫描存储任务。后台扫描此存储池上的虚拟机配置文件,解析虚拟机配置文件,检查配置文件中的磁盘信息(路径等)。如果磁盘不可访问则标记为不可用状态。
5.cfs共享存储池可以关联多台主机,当虚拟机系统盘位于cfs存储池,扫描虚拟机时随机扫描主机a,位于非主机a上的数据盘就扫描不出来,导致容灾后虚拟机数据盘缺失,用户数据丢失,给生产生活带来了巨大的影响。


技术实现要素:

6.针对现有技术的上述不足,本发明提供一种虚拟机容灾数据恢复方法、系统、终端及存储介质,以解决上述技术问题。
7.第一方面,本发明提供一种虚拟机容灾数据恢复方法,包括:
8.在容灾注册虚拟机之前,导入全部存储池;
9.扫描全部存储池上的虚拟机配置文件,并从所述配置文件中解析虚拟机磁盘信息列表;
10.扫描全部存储池中的虚拟机磁盘数据,直至扫描出的虚拟机磁盘数据与所述虚拟机磁盘信息列表相符;
11.根据扫描出的虚拟机磁盘数据注册虚拟机。
12.进一步的,所述导入全部存储池,包括:
13.导入宿主机本地存储池、共享存储池和裸设备存储池。
14.进一步的,所述扫描全部存储池上的虚拟机配置文件,并从所述配置文件中解析虚拟机磁盘信息列表,包括:
15.解析所述配置文件中的虚拟机磁盘数量和虚拟机磁盘路径;
16.将所述虚拟机磁盘数量虚拟机磁盘路径保存至所述虚拟机磁盘信息列表。
17.进一步的,所述扫描全部存储池中的虚拟机磁盘数据直至扫描出的虚拟机磁盘数据与所述虚拟机磁盘信息列表相符,包括:
18.判断扫描出的虚拟机磁盘数据是否与所述虚拟机磁盘信息列表相符:
19.若是,则终止扫描进程;
20.若否,则继续扫描存储池关联的主机。
21.第二方面,本发明提供一种虚拟机容灾数据恢复系统,包括:
22.目标导入单元,配置用于在容灾注册虚拟机之前,导入全部存储池;
23.文件扫描单元,配置用于扫描全部存储池上的虚拟机配置文件,并从所述配置文件中解析虚拟机磁盘信息列表;
24.磁盘扫描单元,配置用于扫描全部存储池中的虚拟机磁盘数据,直至扫描出的虚拟机磁盘数据与所述虚拟机磁盘信息列表相符;
25.注册执行单元,配置用于根据扫描出的虚拟机磁盘数据注册虚拟机。
26.进一步的,所述目标导入单元包括:
27.导入模块,配置用于导入宿主机本地存储池、共享存储池和裸设备存储池。
28.进一步的,所述文件扫描单元包括:
29.信息解析模块,配置用于解析所述配置文件中的虚拟机磁盘数量和虚拟机磁盘路径;
30.信息保存模块,配置用于将所述虚拟机磁盘数量虚拟机磁盘路径保存至所述虚拟机磁盘信息列表。
31.进一步的,所述磁盘扫描单元包括:
32.结果判断模块,配置用于判断扫描出的虚拟机磁盘数据是否与所述虚拟机磁盘信息列表相符;
33.进程终止模块,配置用于若扫描出的虚拟机磁盘数据与所述虚拟机磁盘信息列表相符,则终止扫描进程;
34.扫描继续模块,配置用于若扫描出的虚拟机磁盘数据与所述虚拟机磁盘信息列表不相符,则继续扫描存储池关联的主机。
35.第三方面,提供一种终端,包括:
36.处理器、存储器,其中,
37.该存储器用于存储计算机程序,
38.该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。
39.第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
40.本发明的有益效果在于,
41.本发明提供的虚拟机容灾数据恢复方法、系统、终端及存储介质,通过优化扫描虚拟机操作,将这一过程拆分成多个步骤,遍历该共享存储池关联的所有主机进行扫描,每次扫描后都临时记录本次扫描到的信息,与保存的虚拟机配置文件中记录的完整磁盘信息对比,直到二者磁盘信息一致后,扫描存储池上的虚拟机任务结束,然后注册虚拟机,完成容灾操作。本发明可以使容灾前的虚拟机磁盘尽可能多的扫描并注册出来,减少虚拟机磁盘数据丢失,有效的保证容灾前后数据的完整性。
42.此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
附图说明
43.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
44.图1是本发明一个实施例的方法的示意性流程图。
45.图2是本发明一个实施例的方法的另一示意性流程图。
46.图3是本发明一个实施例的系统的示意性框图。
47.图4为本发明实施例提供的一种终端的结构示意图。
具体实施方式
48.为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
49.下面对本发明中出现的关键术语进行解释。
50.cfs共享存储(基于ocfs2实现,ocfs2是一个共享磁盘的集群文件系统)
51.英文全称:
52.ocfs2:oracle cluster file system version 2
53.中文全称:
54.支持多主机并发访问的存储池
55.图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种虚拟机容灾数据恢复系统。
56.如图1所示,该方法包括:
57.步骤110,在容灾注册虚拟机之前,导入全部存储池;
58.步骤120,扫描全部存储池上的虚拟机配置文件,并从所述配置文件中解析虚拟机磁盘信息列表;
59.步骤130,扫描全部存储池中的虚拟机磁盘数据,直至扫描出的虚拟机磁盘数据与所述虚拟机磁盘信息列表相符;
60.步骤140,根据扫描出的虚拟机磁盘数据注册虚拟机。
61.具体的,请参考图2,所述虚拟机容灾数据恢复方法包括:
62.s1、在容灾注册虚拟机之前,导入全部存储池。
63.用户在容灾注册虚拟机前,导入全部能导入的存储池(包括本地存储池、cfs共享存储池、裸设备存储池等)。
64.s2、扫描全部存储池上的虚拟机配置文件,并从所述配置文件中解析虚拟机磁盘信息列表。
65.扫描存储池上的虚拟机系统盘配置文件,解析虚拟机配置文件,获取配置文件中的磁盘信息(路径、offset等)并将虚拟机完整的磁盘信息(包括数量和路径等)保存至信息列表。
66.s3、扫描全部存储池中的虚拟机磁盘数据,直至扫描出的虚拟机磁盘数据与所述虚拟机磁盘信息列表相符。
67.(a)扫描存储池的虚拟机磁盘数据,每扫描出一个虚拟机磁盘,则标记已扫描。扫描出来的结果与第一步保存的完整虚拟机磁盘信息做比对,如果一致则终止扫描进程。
68.(b)如果扫描出来的标记有已扫描的虚拟机磁盘与信息列表记录的磁盘信息不一致,内部继续扫描该存储池关联的其他主机,再次把扫描的累积结果(标记有已扫描的虚拟机磁盘)与磁盘完整信息做对比,直到两者完全相符,结束扫描任务。
69.s4、根据扫描出的虚拟机磁盘数据注册虚拟机。
70.根据步骤s4扫描出的所有虚拟机磁盘数据注册虚拟机,开机执行业务。
71.现有数据恢复方案出现数据不完整,原因在于扫描虚拟机过程中,扫描关联多台主机的存储池,随机分配一台主机,扫描完成后就会终止扫描。本方案就是优化了扫描虚拟机这一过程,首先第一步获取虚拟机的所有磁盘信息,保存下来,然后扫描虚拟机每次结果与该虚拟机磁盘信息作对比,直到一致后结束扫描存储池上的虚拟机任务,那么扫描出来的虚拟机磁盘相对来说就是完整的,就能把灾前的虚拟机完整的恢复出来。
72.如图3所示,该系统300包括:
73.目标导入单元310,配置用于在容灾注册虚拟机之前,导入全部存储池;
74.文件扫描单元320,配置用于扫描全部存储池上的虚拟机配置文件,并从所述配置文件中解析虚拟机磁盘信息列表;
75.磁盘扫描单元330,配置用于扫描全部存储池中的虚拟机磁盘数据,直至扫描出的虚拟机磁盘数据与所述虚拟机磁盘信息列表相符;
76.注册执行单元340,配置用于根据扫描出的虚拟机磁盘数据注册虚拟机。
77.可选地,作为本发明一个实施例,所述目标导入单元包括:
78.导入模块,配置用于导入宿主机本地存储池、共享存储池和裸设备存储池。
79.可选地,作为本发明一个实施例,所述文件扫描单元包括:
80.信息解析模块,配置用于解析所述配置文件中的虚拟机磁盘数量和虚拟机磁盘路径;
81.信息保存模块,配置用于将所述虚拟机磁盘数量虚拟机磁盘路径保存至所述虚拟机磁盘信息列表。
82.可选地,作为本发明一个实施例,所述磁盘扫描单元包括:
83.结果判断模块,配置用于判断扫描出的虚拟机磁盘数据是否与所述虚拟机磁盘信息列表相符;
84.进程终止模块,配置用于若扫描出的虚拟机磁盘数据与所述虚拟机磁盘信息列表相符,则终止扫描进程;
85.扫描继续模块,配置用于若扫描出的虚拟机磁盘数据与所述虚拟机磁盘信息列表不相符,则继续扫描存储池关联的主机。
86.图4为本发明实施例提供的一种终端400的结构示意图,该终端400可以用于执行本发明实施例提供的虚拟机容灾数据恢复方法。
87.其中,该终端400可以包括:处理器410、存储器420及通信单元430。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
88.其中,该存储器420可以用于存储处理器410的执行指令,存储器420可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。当存储器420中的执行指令由处理器410执行时,使得终端400能够执行以下上述方法实施例中的部分或全部步骤。
89.处理器410为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器420内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(integrated circuit,简称ic)组成,例如可以由单颗封装的ic所组成,也可以由连接多颗相同功能或不同功能的封装ic而组成。举例来说,处理器410可以仅包括中央处理器(central processing unit,简称cpu)。在本发明实施方式中,cpu可以是单运算核心,也可以包括多运算核心。
90.通信单元430,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
91.本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read

only memory,简称:rom)或随机存储记忆体(英文:random access memory,简称:ram)等。
92.因此,本发明通过优化扫描虚拟机操作,将这一过程拆分成多个步骤,遍历该共享存储池关联的所有主机进行扫描,每次扫描后都临时记录本次扫描到的信息,与保存的虚拟机配置文件中记录的完整磁盘信息对比,直到二者磁盘信息一致后,扫描存储池上的虚拟机任务结束,然后注册虚拟机,完成容灾操作。本发明可以使容灾前的虚拟机磁盘尽可能多的扫描并注册出来,减少虚拟机磁盘数据丢失,有效的保证容灾前后数据的完整性,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。
93.本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干
指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。
94.本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
95.在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
96.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
97.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
98.尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1