虚拟机的容灾备份方法、系统、计算机设备及存储介质与流程

allin2023-02-18  131



1.本技术涉及软件开发技术领域,具体涉及一种虚拟机的容灾备份方法、系统、计算机设备及存储介质。


背景技术:

2.在虚拟化技术的应用场景中,当主虚拟机出现损坏或数据误删时,必然影响虚拟化资源的安全性和虚拟化技术的工作效率,因此,虚拟机的容灾备份技术显得尤为重要。
3.现有的虚拟机的容灾备份方案一般通过veeam软件实现,然而,这种备份方式需要在安装软件后进行备份的相关配置,如接管配置、数据恢复配置等,配置繁琐,同时需要具备专业知识,并且存在虚拟机版本的限制问题及集群环境下的负载均衡漂移问题,使得虚拟机的备份操作繁琐且降低了备份速度和效率。


技术实现要素:

4.本技术实施例提供一种虚拟机的容灾备份方法、系统、计算机设备及存储介质,以解决veeam软件中容灾备技术的配置繁琐、耗时、备份效率低的问题。
5.一方面,本技术提供一种虚拟机的容灾备份方法,应用于虚拟机的容灾备份系统,所述虚拟机的容灾备份系统包括通信连接的计算机集群和存储服务器,所述计算机集群部署有多个vmware虚拟机,所述存储服务器存储有所述计算机集群中的每个计算机的参数信息,包括:获取所述主虚拟机的标识;根据所述主虚拟机的标识,从所述多个vmware虚拟机确定一个主虚拟机;获取所述主虚拟机的参数信息,基于所述主虚拟机的参数信息及各个所述计算机的参数信息进行虚拟机接管配置,生成接管配置信息,所述接管配置信息包括备虚拟机的参数信息及用于部署备虚拟机的目标计算机,所述目标计算机是所述计算机集群中的一个计算机;获取预先存储的备份计划信息,所述备份计划信息包括备份方式,所述备份方式包括全量备份和增量备份;按照所述备份方式,读取所述主虚拟机的磁盘块数据;将所述磁盘块数据写入所述备虚拟机,得到所述备虚拟机的备份数据集。
6.一方面,本技术提供一种虚拟机的容灾备份系统,包括:第一获取模块,用于获取所述主虚拟机的标识;确定模块,用于根据所述主虚拟机的标识,从所述多个vmware虚拟机确定一个主虚拟机;配置模块,用于获取所述主虚拟机的参数信息,基于所述主虚拟机的参数信息及各个所述计算机的参数信息进行虚拟机接管配置,生成接管配置信息,所述接管配置信息包括备虚拟机的参数信息及用于部署备虚拟机的目标计算机,所述目标计算机是所述计算
机集群中的一个计算机;第二获取模块,用于获取预先存储的备份计划信息,所述备份计划信息包括备份方式,所述备份方式包括全量备份和增量备份;读取模块,用于按照所述备份方式,读取所述主虚拟机的磁盘块数据;写入模块,用于将所述磁盘块数据写入所述备虚拟机,得到所述备虚拟机的备份数据集。
7.一方面,本技术提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述虚拟机的容灾备份方法中的步骤。
8.一方面,本技术提供一种计算机可读介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述虚拟机的容灾备份方法中的步骤。
9.本技术实施例提供了一种虚拟机的容灾备份方法,该方法。本技术通过获取主虚拟机的标识,根据主虚拟机的标识,从多个vmware虚拟机确定一个主虚拟机,获取主虚拟机的参数信息,基于主虚拟机的参数信息及各个计算机的参数信息进行虚拟机接管配置,生成接管配置信息,接管配置信息包括备虚拟机的参数信息及用于部署备虚拟机的目标计算机,目标计算机是计算机集群中的一个计算机,获取预先存储的备份计划信息,备份计划信息包括备份方式,备份方式包括全量备份和增量备份,将磁盘块数据写入备虚拟机,得到备虚拟机的备份数据集,由于备虚拟机是根据主虚拟机的参数信息创建的,使得备虚拟机与主虚拟机更适配,节省了虚拟机资源,提高了备虚拟机的启动速度,同时按照备份方式,读取主虚拟机的磁盘块数据,实现了对磁盘块数据全面且高效的读取,提高了虚拟机的备份效率,且整个备份过程无需停机,实现了热机备份,且大大提高了系统的容灾备份的可靠性,进而实现了对vmware虚拟化资源的持续性保护。
附图说明
10.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
11.其中:图1为一个实施例中虚拟机的容灾备份方法的流程图;图2为一个实施例中虚拟机的容灾备份系统的架构图;图3为一个实施例中创建备份计划信息的界面示意图;图4为一个实施例中虚拟机的容灾备份系统的结构框图;图5为一个实施例中计算机设备的结构框图。
具体实施方式
12.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他
实施例,都属于本发明保护的范围。
13.如图1所示,在一个实施例中,提供了一种虚拟机的容灾备份方法,该虚拟机的容灾备份方法应用于虚拟机的容灾备份系统,该虚拟机的容灾备份系统包括通信连接的计算机集群和存储服务器,该计算机集群部署有多个vmware虚拟机,该存储服务器存储有计算机集群中的每个计算机的参数信息,该虚拟机的容灾备份方法具体包括以下步骤:步骤102,获取主虚拟机的标识。
14.其中,vmware虚拟机是指采用vmware软件的构建虚拟机,实际应用时,同一计算机上同时运行多个windows、dos、linux系统,可以保证同时在多个vmware虚拟机上进行自动化部署。如图2所示,为虚拟机的容灾备份系统的架构图。
15.主虚拟机是指需要进行虚拟机资源备份的虚拟机,该主虚拟机是计算机集群中部署的多个vmware虚拟机的一个,例如,该虚拟机可以是vcenter。具体地,通过vsphere ws api连接vmware虚拟机,其中的vsphere ws api是官方提供的 esx/esxi host 和 vcenter server 开发者接口,通过该api进行虚拟机配置信息的查看,并将配置信息的数据对象中的唯一性标识确定为主虚拟机的标识。
16.步骤104,根据主虚拟机的标识,从多个vmware虚拟机确定一个主虚拟机。
17.具体地,将标识与主虚拟机的标识一致的vmware虚拟机确定为主虚拟机,可以通过vddk(虚拟磁盘开发包)的方式实现,利用vddk提供的 c/c++ lib 库,连接并且访问主虚拟磁盘存储文件(vmdk file),以便后续实现对主虚拟机的数据的备份。
18.步骤106,获取主虚拟机的参数信息,基于主虚拟机的参数信息及各个计算机的参数信息进行虚拟机接管配置,生成接管配置信息,接管配置信息包括备虚拟机的参数信息及用于部署备虚拟机的目标计算机,目标计算机是计算机集群中的一个计算机。
19.其中,主虚拟机的参数信息是指反映主虚拟机性能、配置信息的参数信息,例如,主虚拟机的ip、cpu版本、网络适配器信息、磁盘信息、内存信息等。备虚拟机是指对主虚拟机的数据进行备份的vmware虚拟机。目标计算机是计算机集群中的一个计算机,用于部署备虚拟机。具体地,可以使用jni(java native interface)技术,利用java本地接口预先编写虚拟机配置代码,确保代码在不同的平台上方便移植,并通过执行代码,获取到主虚拟机的参数信息。接管配置是指在目标计算机上创建一个备虚拟机,与主虚拟机实现数据同步。可以理解地,本实施例中的备虚拟机的参数信息是根据主虚拟机的参数信息确定的,相较于传统的直接创建备虚拟机,使得备虚拟机更加具有针对性,与主虚拟机更适配,节省了虚拟机资源,提高了备虚拟机的启动速度,同时接管配置的处理过程无需停机进行,当虚拟机上运作其他的应用时,可快速启用备虚拟机机,不影响应用的使用,保证了虚拟机的正常运行,从而大大提高了虚拟机的接管配置效率。
20.值得说明的是,本实施例还可以设置用于进行虚拟机管理的web页面,方便用户端的用户对接管配置信息进行管理,例如,用户可以登录到web页面,查看备虚拟机、主虚拟机、目标计算机的参数信息。
21.步骤108,获取预先存储的备份计划信息,备份计划信息包括备份方式,备份方式包括全量备份和增量备份。
22.其中,全量备份是指对主虚拟机上的全部数据进行备份,增量备份是指对在上一次备份基础上,对所增加或者更新后的数据进行备份。具体地,可以从存储服务器获取到备
份计划信息,还可以在虚拟机的管理的web页面添加备份计划信息的按钮,供用户自行设置选择,然后采集用户选择的信息进行存储,从而获取到备份计划信息。如图3所示,为创建备份计划信息的界面示意图,其中的周期全备即为全量备份,增备即为增量备份。备份方式可以根据当前的备份情况进行确定,例如,为初次备份,则采用全量备份,否则,采用增量备份,从而使得备份的数据集中没有重复的备份数据,减小了备份的数据量及备份时间,有利于提高备份效率。
23.步骤110,按照备份方式,读取主虚拟机的磁盘块数据。
24.具体地,按照备份方式,读取主虚拟机的磁盘块数据,即当备份方式为全量备份时,则读取主虚拟机的磁盘中的全部数据,作为磁盘块数据,当备份方式为增量备份时,则读取主虚拟机的磁盘中的增加或者更新后的数据,作为磁盘块数据。可以理解地,本实施例中按照备份方式,读取主虚拟机的磁盘块数据,实现了对磁盘块数据全面且高效的读取,有利于提高虚拟机备份效率。
25.步骤112,将磁盘块数据写入备虚拟机,得到备虚拟机的备份数据集。
26.具体地,将磁盘块数据写入备虚拟机,得到备虚拟机的备份数据集,使得备虚拟机上备份有主虚拟机的数据,实现了虚拟机的备份,通过有针对性地创建备虚拟机,提高了系统地备份效率,并按照备份方式进行备份,提高了系统的容灾备份的可靠性,进而实现了对vmware虚拟化资源的持续性保护。
27.上述虚拟机的容灾备份方法,通过获取主虚拟机的标识,根据主虚拟机的标识,从多个vmware虚拟机确定一个主虚拟机,获取主虚拟机的参数信息,基于主虚拟机的参数信息及各个计算机的参数信息进行虚拟机接管配置,生成接管配置信息,接管配置信息包括备虚拟机的参数信息及用于部署备虚拟机的目标计算机,目标计算机是计算机集群中的一个计算机,获取预先存储的备份计划信息,备份计划信息包括备份方式,备份方式包括全量备份和增量备份,将磁盘块数据写入备虚拟机,得到备虚拟机的备份数据集,由于备虚拟机是根据主虚拟机的参数信息创建的,使得备虚拟机与主虚拟机更适配,节省了虚拟机资源,提高了备虚拟机的启动速度,同时按照备份方式,读取主虚拟机的磁盘块数据,实现了对磁盘块数据全面且高效的读取,提高了虚拟机的备份效率,且整个备份过程无需停机,实现了热机备份,且大大提高了系统的容灾备份的可靠性,进而实现了对vmware虚拟化资源的持续性保护。
28.在一个实施例中,获取主虚拟机的标识,包括:在多个vmware虚拟机依赖的vmware软件中获取对应的对象信息;从对象信息中提取目标数据对象;将目标数据对象中的唯一性标识字符确定为主虚拟机的标识。
29.具体地,vmware软件对于其管理的对象创建一个清单,里面包含了所管理所有对象,当vmware虚拟机创建时,会向清单中创建唯一的托管对象:managedobjectreference 数据对象,该数据对象包括数据对象的类型与唯一性标识字符,根据该标识可精确查找与定位到主虚拟机,并且避免了vmware虚拟机在计算机集群下做负载均衡存在漂移现象,导致找不到对应的备虚拟机地问题,因此,根据主虚拟机的标识,精准定位主虚拟机,使得主虚拟机进行名称修改、漂移以及虚拟机迁移时不影响备份的正常进行与接管配置的进行,并能自动更新虚拟机名称,有利于提高虚拟机后续的备份效率。
30.在一个实施例中,主虚拟机的参数信息包括中央处理单元cpu版本、内存大小、磁
盘信息、网络适配器信息;计算机的参数信息包括负载数据和性能数据;基于主虚拟机的参数信息及各个计算机的参数信息进行虚拟机接管配置,生成接管配置信息,包括:将各个计算机的负载数据和性能数据输入预设负载均衡的第一机器学习模型中,第一机器学习模型的输出结果为目标计算机;将目标计算机的负载数据、性能数据以及主虚拟机的cpu版本、内存大小、磁盘信息、网络适配器信息输入预设虚拟机信息匹配的第二机器学习模型中,第二机器学习模型的输出结果为备虚拟机的参数信息。
31.其中,预设负载均衡的第一机器学习模型是指预先训练的用于在确保负载均衡的前提条件下,从计算机集群中选取与主虚拟机适配的目标计算机的机器学习模型,第一机器学习模型可以是如卷积神经网络cnn、unet网络等,预设虚拟机信息匹配的第二机器学习模型是指预先训练的用于根据目标计算机的参数信息和主虚拟机的参数信息,确定与主虚拟机的参数信息匹配的备虚拟机的参数信息的机器学习模型,第二机器学习模型可以是如卷积神经网络cnn、unet网络等,本实施例中,利用机器学习模型预测目标计算机和备虚拟机的参数信息,能够较为准确性的对计算机的负载数据和性能数据、主虚拟机的参数信息进行分析,并根据分析结果确定目标计算机和备虚拟机的参数信息,提高了备虚拟机的参数信息与主虚拟机和目标计算机的适配性,进而提高了备虚拟机的启动速度,并节省了备虚拟机的资源。
32.在一个实施例中,备虚拟机的参数信息包括备虚拟机的cpu版本、内存大小、磁盘信息、网络适配器信息,基于主虚拟机的参数信息及各个计算机的参数信息进行虚拟机接管配置,生成接管配置信息,包括:根据各个计算机的负载数据和性能数据,确定目标计算机;基于目标计算机的负载数据和性能数据,确定对主虚拟机的cpu版本、内存大小、磁盘信息、网络适配器信息的修正信息,并利用修正信息分别修正主虚拟机的cpu版本、内存大小、磁盘信息、网络适配器信息,得到备虚拟机的cpu版本、内存大小、磁盘信息、网络适配器信息。
33.具体地,基于负载均衡原理,对各个计算机的负载数据和性能数据进行分析,根据分析结果,从计算机集群中确定目标计算机。由于主虚拟机可能存在cpu版本、连接网卡网段不同的情况,会影响备虚拟机的快速使用,为了快速启用备虚拟机,在创建备备虚拟机时,根据目标计算机的负载数据和性能数据,确定对主虚拟机的cpu版本、内存大小、磁盘信息、网络适配器信息的修正信息,并利用修正信息分别修正主虚拟机的cpu版本、内存大小、磁盘信息、网络适配器信息,得到备虚拟机的cpu版本、内存大小、磁盘信息、网络适配器信息,提高了备虚拟机的参数信息与主虚拟机和目标计算机的适配性。在以具体实施方式中,可以提供客户快速配置web页面,当客户选择启用备虚拟机时,可以让客户在web页面快速配置cpu版本、内存大小、磁盘信息、网络适配器信息的修正信息,备虚拟机根据修正信息,分别修正主虚拟机的cpu版本、内存大小、磁盘信息、网络适配器信息。
34.值得说明的是,vmware虚拟机的磁盘信息有多种,分别是提前分配存储空间并数据清理(磁盘性能较高)、分配空间即用即归零、不提前分配用时分配,作为本实施例的优选,不提前分配用时分配作为备虚拟机的磁盘信息,因此,使得备虚拟机不提前占用存储较大空间,进一步提高备虚拟机的启动速度。
35.在一个实施例中,按照备份方式,读取主虚拟机的磁盘块数据,包括:若备份方式为全量备份,则调用预设接口连接主虚拟机的磁盘,读取磁盘全量数据;将磁盘全量数据存
储在缓冲池中,从缓冲池中读取磁盘全量数据并进行压缩处理,得到磁盘块数据;若备份方式为增量备份,则开启主虚拟机的数据块修改追踪cbt线程,读取磁盘增量数据;将磁盘增量数据存储在缓冲池中,从缓冲池中读取磁盘增量数据并进行压缩处理,得到磁盘块数据。
36.其中,vmware软件提供了方便的数据块修改追踪(changed block tracking,cbt)技术,为vmware虚拟机的增量备份提供了基础,除第一次备份或同步时必须完整传输整个数据外,后续备份都只需通过查询 cbt 记录,获取哪些异动过区块,然后只备份这些异动区块即可,既节省了扫描磁盘、判定异动区块的时间,又使得所需传输的数据量也大幅缩小。具体地,若备份方式为全量备份,则调用预设接口连接主虚拟机的磁盘,创建虚拟机快照,读取磁盘全量数据;若备份方式为增量备份,则开启主虚拟机的数据块修改追踪cbt线程,读取磁盘增量数据,将磁盘增量数据存储在缓冲池中,从缓冲池中读取磁盘增量数据并进行压缩处理,即顺序从缓冲池中读取,当缓冲池中空时进行等待,缓冲池列表尾加入需要缓存的数据,缓冲池满后,根据内存信息进行缓冲池的扩容或者写入等待,当出现异常时,进行缓冲池的内存释放,得到磁盘块数据,并删除虚拟机快照,本实施例中,通过设置缓冲池,并采用多线程的方式,实现了磁盘块数据的高效读取,提高了磁盘块数据的处理效率。
37.在一个实施例中,在将磁盘块数据写入备虚拟机,得到备虚拟机的备份数据集之后,还包括:当主虚拟机损坏时,在计算机集群中创建一个虚拟机作为恢复虚拟机;将备份数据集进行解压缩处理,得到解压数据集;将解压数据集恢复至恢复虚拟机,得到包含有解压数据集的虚拟机。
38.具体地,主虚拟机损坏包括但不限于网络攻击、入侵、电源故障或者操作失误等情形,此时,根据主虚拟机的参数信息,创建一个恢复虚拟机,用于恢复出一个损坏时间节点备份的虚拟机,其中的损坏时间节点可以从系统的运行日志中获取得到,将备份数据集进行解压缩处理,得到解压数据集,即创建虚拟机快照,使用已经编写好的本地接口连接虚拟机磁盘,开启线程读取备份数据集,存储到缓冲池中,同时开启线程,从缓冲池中读取数据,并写入到虚拟机磁盘中,恢复快照,然后删除快照,实现了解压数据集恢复至恢复虚拟机,得到包含有解压数据集的虚拟机,从而使得包含有解压数据集的虚拟机能够完整、快速、简捷、可靠地恢复原有系统,在一定的范围内保障系统的正常运行。
39.在一个实施例中,在将备份数据集恢复至恢复虚拟机,得到包含有备份数据集的虚拟机之后,还包括:对备份数据集进行校验;在校验结果为校验通过的情况下,将备份数据集同步至主虚拟机。
40.具体地,可以对备份数据集进行校验,在校验结果为校验通过的情况下,将备份数据集同步至主虚拟机,即实现了虚拟机的反向备份,提高了数据找回速度,实现对vmware虚拟化资源进行持续性的保护。
41.如图4所示,在一个实施例中,提出了一种虚拟机的容灾备份系统,所述虚拟机的容灾备份系统包括通信连接的计算机集群和存储服务器,所述计算机集群部署有多个vmware虚拟机,所述存储服务器存储有所述计算机集群中的每个计算机的参数信息,所述系统包括:第一获取模块402,用于获取所述主虚拟机的标识;确定模块404,用于根据所述主虚拟机的标识,从所述多个vmware虚拟机确定一个主虚拟机;
配置模块406,用于获取所述主虚拟机的参数信息,基于所述主虚拟机的参数信息及各个所述计算机的参数信息进行虚拟机接管配置,生成接管配置信息,所述接管配置信息包括备虚拟机的参数信息及用于部署备虚拟机的目标计算机,所述目标计算机是所述计算机集群中的一个计算机;第二获取模块408,用于获取预先存储的备份计划信息,所述备份计划信息包括备份方式,所述备份方式包括全量备份和增量备份;读取模块410,用于按照所述备份方式,读取所述主虚拟机的磁盘块数据;写入模块412,用于将所述磁盘块数据写入所述备虚拟机,得到所述备虚拟机的备份数据集。
42.在一个实施例中,第一获取模块包括:第一获取单元,用于在所述多个vmware虚拟机依赖的vmware软件中获取对应的对象信息;提取单元,用于从所述对象信息中提取目标数据对象;确定单元,用于将所述目标数据对象中的唯一性标识字符确定为所述主虚拟机的标识。
43.在一个实施例中,配置模块包括:第一配置单元,用于将各个计算机的所述负载数据和所述性能数据输入预设负载均衡的第一机器学习模型中,所述第一机器学习模型的输出结果为所述目标计算机;第二配置单元,用于将所述目标计算机的负载数据、性能数据以及所述主虚拟机的cpu版本、内存大小、磁盘信息、网络适配器信息输入预设虚拟机信息匹配的第二机器学习模型中,所述第二机器学习模型的输出结果为所述备虚拟机的参数信息。
44.在一个实施例中,配置模块包括:第三配置单元,用于根据各个计算机的所述负载数据和所述性能数据,确定目标计算机;第四配置单元,用于基于所述目标计算机的负载数据和性能数据,确定对所述主虚拟机的cpu版本、内存大小、磁盘信息、网络适配器信息的修正信息,并利用所述修正信息分别修正所述主虚拟机的cpu版本、内存大小、磁盘信息、网络适配器信息,得到所述备虚拟机的cpu版本、内存大小、磁盘信息、网络适配器信息。
45.在一个实施例中,读取模块包括:第一调用单元,用于若所述备份方式为所述全量备份,则调用预设接口连接所述主虚拟机的磁盘,读取磁盘全量数据;第一读取单元,用于将所述磁盘全量数据存储在缓冲池中,从所述缓冲池中读取所述磁盘全量数据并进行压缩处理,得到所述磁盘块数据;第二调用单元,用于若所述备份方式为所述增量备份,则开启所述主虚拟机的数据块修改追踪cbt线程,读取磁盘增量数据;第二读取单元,用于将所述磁盘增量数据存储在缓冲池中,从所述缓冲池中读取所述磁盘增量数据并进行压缩处理,得到所述磁盘块数据。
46.在一个实施例中,该虚拟机的容灾备份系统还包括:创建模块,用于当所述主虚拟机损坏时,在所述计算机集群中创建一个虚拟机作
为恢复虚拟机;压缩模块,用于将所述备份数据集进行解压缩处理,得到解压数据集;恢复模块,用于将所述解压数据集恢复至所述恢复虚拟机,得到包含有所述解压数据集的虚拟机。
47.在一个实施例中,该虚拟机的容灾备份系统还包括:校验模块,用于对所述备份数据集进行校验;同步模块,用于在所述校验结果为校验通过的情况下,将所述备份数据集同步至所述主虚拟机。
48.图5示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是服务器,所述服务器包括但不限于高性能计算机和高性能计算机集群。如图5所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现虚拟机的容灾备份方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行虚拟机的容灾备份方法。本领域技术人员可以理解,图5中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
49.在一个实施例中,本技术提供的虚拟机的容灾备份方法可以实现为一种计算机程序的形式,计算机程序可在如图5所示的计算机设备上运行。计算机设备的存储器中可存储组成虚拟机的容灾备份系统的各个程序模板。比如,第一获取模块402,确定模块404,配置模块406,第二获取模块408,读取模块410,写入模块412。
50.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述虚拟机的容灾备份方法中的步骤。
51.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述虚拟机的容灾备份方法中的步骤。
52.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink) dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
53.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛
盾,都应当认为是本说明书记载的范围。
54.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。

技术特征:
1.一种虚拟机的容灾备份方法,其特征在于,应用于虚拟机的容灾备份系统,所述虚拟机的容灾备份系统包括通信连接的计算机集群和存储服务器,所述计算机集群部署有多个vmware虚拟机,所述存储服务器存储有所述计算机集群中的每个计算机的参数信息,所述方法包括:获取主虚拟机的标识;根据所述主虚拟机的标识,从所述多个vmware虚拟机确定一个主虚拟机;获取所述主虚拟机的参数信息,基于所述主虚拟机的参数信息及各个所述计算机的参数信息进行虚拟机接管配置,生成接管配置信息,所述接管配置信息包括备虚拟机的参数信息及用于部署备虚拟机的目标计算机,所述目标计算机是所述计算机集群中的一个计算机;获取预先存储的备份计划信息,所述备份计划信息包括备份方式,所述备份方式包括全量备份和增量备份;按照所述备份方式,读取所述主虚拟机的磁盘块数据;将所述磁盘块数据写入所述备虚拟机,得到所述备虚拟机的备份数据集。2.如权利要求1所述的虚拟机的容灾备份方法,其特征在于,所述获取所述主虚拟机的标识,包括:在所述多个vmware虚拟机依赖的vmware软件中获取对应的对象信息;从所述对象信息中提取目标数据对象;将所述目标数据对象中的唯一性标识字符确定为所述主虚拟机的标识。3.如权利要求1所述的虚拟机的容灾备份方法,其特征在于,所述主虚拟机的参数信息包括中央处理单元cpu版本、内存大小、磁盘信息、网络适配器信息;所述计算机的参数信息包括负载数据和性能数据;所述基于所述主虚拟机的参数信息及各个所述计算机的参数信息进行虚拟机接管配置,生成接管配置信息,包括:将各个计算机的所述负载数据和所述性能数据输入预设负载均衡的第一机器学习模型中,所述第一机器学习模型的输出结果为所述目标计算机;将所述目标计算机的负载数据、性能数据以及所述主虚拟机的cpu版本、内存大小、磁盘信息、网络适配器信息输入预设虚拟机信息匹配的第二机器学习模型中,所述第二机器学习模型的输出结果为所述备虚拟机的参数信息。4.如权利要求3所述的虚拟机的容灾备份方法,其特征在于,所述备虚拟机的参数信息包括所述备虚拟机的cpu版本、内存大小、磁盘信息、网络适配器信息,所述基于所述主虚拟机的参数信息及各个所述计算机的参数信息进行虚拟机接管配置,生成接管配置信息,包括:根据各个计算机的所述负载数据和所述性能数据,确定目标计算机;基于所述目标计算机的负载数据和性能数据,确定对所述主虚拟机的cpu版本、内存大小、磁盘信息、网络适配器信息的修正信息,并利用所述修正信息分别修正所述主虚拟机的cpu版本、内存大小、磁盘信息、网络适配器信息,得到所述备虚拟机的cpu版本、内存大小、磁盘信息、网络适配器信息。5.如权利要求1所述的虚拟机的容灾备份方法,其特征在于,所述按照所述备份方式,读取所述主虚拟机的磁盘块数据,包括:
若所述备份方式为所述全量备份,则调用预设接口连接所述主虚拟机的磁盘,读取磁盘全量数据;将所述磁盘全量数据存储在缓冲池中,从所述缓冲池中读取所述磁盘全量数据并进行压缩处理,得到所述磁盘块数据;若所述备份方式为所述增量备份,则开启所述主虚拟机的数据块修改追踪cbt线程,读取磁盘增量数据;将所述磁盘增量数据存储在缓冲池中,从所述缓冲池中读取所述磁盘增量数据并进行压缩处理,得到所述磁盘块数据。6.如权利要求1所述的虚拟机的容灾备份方法,其特征在于,在所述将所述磁盘块数据写入所述备虚拟机,得到所述备虚拟机的备份数据集之后,还包括:当所述主虚拟机损坏时,在所述计算机集群中创建一个虚拟机作为恢复虚拟机;将所述备份数据集进行解压缩处理,得到解压数据集;将所述解压数据集恢复至所述恢复虚拟机,得到包含有所述解压数据集的虚拟机。7.如权利要求6所述的虚拟机的容灾备份方法,其特征在于,在所述将所述备份数据集恢复至所述恢复虚拟机,得到包含有备份数据集的虚拟机之后,还包括:对所述备份数据集进行校验;在校验结果为校验通过的情况下,将所述备份数据集同步至所述主虚拟机。8.一种虚拟机的容灾备份系统,其特征在于,所述虚拟机的容灾备份系统包括通信连接的计算机集群和存储服务器,所述计算机集群部署有多个vmware虚拟机,所述存储服务器存储有所述计算机集群中的每个计算机的参数信息,所述系统包括:第一获取模块,用于获取主虚拟机的标识;确定模块,用于根据所述主虚拟机的标识,从所述多个vmware虚拟机确定一个主虚拟机;配置模块,用于获取所述主虚拟机的参数信息,基于所述主虚拟机的参数信息及各个所述计算机的参数信息进行虚拟机接管配置,生成接管配置信息,所述接管配置信息包括备虚拟机的参数信息及用于部署备虚拟机的目标计算机,所述目标计算机是所述计算机集群中的一个计算机;第二获取模块,用于获取预先存储的备份计划信息,所述备份计划信息包括备份方式,所述备份方式包括全量备份和增量备份;读取模块,用于按照所述备份方式,读取所述主虚拟机的磁盘块数据;写入模块,用于将所述磁盘块数据写入所述备虚拟机,得到所述备虚拟机的备份数据集。9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述虚拟机的容灾备份方法的步骤。10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述虚拟机的容灾备份方法的步骤。

技术总结
本申请实施例提供了一种虚拟机的容灾备份方法、系统、计算机设备及存储介质,该方法通过获取主虚拟机的标识,根据主虚拟机的标识,从多个VMware虚拟机确定一个主虚拟机,获取主虚拟机的参数信息,基于主虚拟机的参数信息及各个计算机的参数信息进行虚拟机接管配置,生成接管配置信息,按照备份方式将磁盘块数据写入备虚拟机,得到备虚拟机的备份数据集,由于备虚拟机是根据主虚拟机的参数信息创建的,使得备虚拟机与主虚拟机更适配,节省了虚拟机资源,提高了备虚拟机的启动速度,同时按照备份方式,读取主虚拟机的磁盘块数据,实现了对磁盘块数据全面且高效的读取,提高了虚拟机的备份效率,实现了热机备份,提高了容灾备份的可靠性。靠性。靠性。


技术研发人员:陈立军 陈涛 魏军
受保护的技术使用者:武汉四通信息服务有限公司
技术研发日:2022.05.31
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-5203.html

最新回复(0)