一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种虚拟机保护系统及实现方法与流程

2021-10-20 00:58:00 来源:中国专利 TAG:高性能 备份 虚拟机 保护 计算机


1.本发明涉及计算机容灾备份技术领域,特别是涉及一种高性能的虚拟机保护系统及实现方法。


背景技术:

2.随着信息技术的快速发展,在信息化建设过程中,计算基础设施的需求不断加大,对硬件设备、软件、维护成本和时效的要求越来越高。为了提高基础设施利用率、降低时间和金钱的开销,硬件虚拟化随之而生。伴随着虚拟化的刚性需求,各家虚拟化平台应运而生,其中又以vmware虚拟化技术最为成熟,市场占有率最高,使用最为广泛。
3.随着虚拟化的广泛应用,虚拟机作为最重要的基础数据,对其保护也就成为了必需的配置,针对虚拟化平台中虚拟机进行保护的产品也越来越多。因为vmware在虚拟化中的地位及其提供的易于使用的开发接口,基本上每家虚拟机保护产品都是从vmware开始支持,也以vmware平台支持的可靠性、易用性、性能作为比较的基础。
4.vmware提供有vadp(vmware vstorage api for data protection)接口,提供管理vmware虚拟化平台、获取全量保护时的磁盘有效数据、增量保护时的变化数据以及读写虚拟机磁盘指定位置数据等功能,达到保护虚拟机的目的。
5.在vmware vadp接口中,虚拟磁盘开发工具包vddk(virtual disk development kit)用于管理虚拟磁盘,实现数据的保护。对于vddk中磁盘数据远程读写的接口,vmware通过使用自研的nfc(network file copy)协议来实现,并且每台vmware esxi虚拟机提供总共32m的缓存来支持nfc。基于vmware vddk中磁盘读写接口的实现,虚拟机保护产品在保护虚拟机磁盘数据时,针对同一台esxi虚拟机,同时读写磁盘的总缓存大小不能超过32m。虚拟机保护产品需要综合考虑多台虚拟机的同时保护以及单个磁盘读写的缓存大小的问题,这个也是影响保护性能的最重要配置。
6.目前,各家厂商的vmware虚拟机保护产品,在功能上大同小异,都是基于vmware推荐的保护方式和流程,使用vmware的vadp进行开发来实现。
7.但在性能上仍有不小的差距:
8.1、有些产品单台虚拟机的保护性能很好,但是多台并发则性能急剧下降。有些产品多台虚拟机并发保护性能很好,单台性能则差强人意;
9.2、有些产品需要另外配置单个vmware平台并发的最大任务个数。然而对于用户来说不清楚选择多大为佳,根据部署的环境不同,为了达到最佳性能,选择会不同;有些产品则需要配置vmware虚拟机中虚拟磁盘读写缓存大小,然而用户也没法统一设置,需要在各个部署环境里去试出一个最佳值,而且这最佳值也不是一成不变的,需要调整;
10.另外,修改最大任务个数和读写磁盘缓存大小的配置,很多时候需要重启保护服务器才能生效,影响正在运行的保护任务及用户体验,而且依赖于最大保护任务个数和磁盘读写缓存大小的设置,性能差别很大,从而严重影响用户体验。


技术实现要素:

11.为克服上述现有技术存在的不足,本发明之目的在于提供一种虚拟机保护系统及实现方法,以实现对vmware虚拟机高性能保护的目的。
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.步骤s1,接收虚拟机保护任务请求,虚拟机保护服务器根据任务请求对所要保护的虚拟机创建快照,根据创建的快照获取源虚拟机的配置及磁盘信息保存到灾备服务器,并获取磁盘待保护的数据块信息保存到灾备服务器;
43.步骤s2,虚拟机保护服务器分配虚拟机保护任务中磁盘数据传输时的缓存大,启动灾备服务器任务进行磁盘数据传输;
44.步骤s3,灾备服务器在接收到启动灾备服务器磁盘数据传输任务时,根据虚拟机保护服务器分配的缓存大小,对待保护的磁盘数据块信息进行数据的传输和保存;
45.步骤s4,虚拟机保护服务器在磁盘数据传输完毕后清理快照,回收已完成任务的缓存并重新计算且更新正在运行的其他任务的缓存大小。
46.优选地,所述虚拟机保护服务器分配虚拟机保护任务中磁盘数据传输时的缓存大小的步骤进一步包括:
47.步骤s200a,判断灾备服务器的虚拟平台是否做过初始化,若已做过初始化,则进入,若未做过初始化,则对虚拟机所在主机初始化分配预设大小的内存,并预留若干内存;
48.步骤s200b,获取虚拟机所在主机剩余的缓存大小;
49.步骤s200c,判断主机缓存大小是否小于预留内存,若不小于预留内存,则分配主机剩余缓存的一半给虚拟机保护任务,主机剩余缓存减半,若小于预留内存,则睡眠若干时
间,等待其他任务释放缓存,并返回判断主机缓存大小是否小于预留内存。
50.优选地,步骤s4进一步包括:
51.步骤s400,检测是否有数据传输任务结束,若有数据传输任务结束,则进入步骤s401,否则睡眠若干时间后返回继续检测是否有数据传输任务结束;
52.步骤s401,找到任务虚拟机所在的虚拟平台和主机,回收任务所用的缓存,加入该主机的剩余缓存中;
53.步骤s402,判断是否有该主机上的虚拟机保护任务正在传输,若有,则获取该主机剩余缓存的一半,并把获取的缓存平均分给正在传输的虚拟机保护任务,将增加的缓存更新到灾备服务器上的每个传输任务,并返回步骤s400,否则直接返回步骤s400。
54.与现有技术相比,本发明具有如下有益效果:
55.1、本发明中,vmware esxi主机的缓存可以得到最大化利用。使用nbd模式传输,在万兆网,4台虚拟机并发保护时,实测下来可以达到200mb每秒的速度。
56.2、本发明不需要配置每个虚拟平台同时并发的任务个数。每个平台并发任务个数由缓存分配模块自动完成。最优化的分配缓存达到最优化的任务执行。减少了用户培训和使用成本,极大改善了用户体验。
57.3、本发明不需要配置任务缓存大小,每个任务的缓存大小,由缓存分配模块最优化控制,减少了用户培训和使用成本,极大改善了用户体验。
58.4、本发明针对有效数据块进行保护,节省传输和存储。
59.5、本发明基于周期策略,可灵活设置保护时间自动保护,通过设置全量、差异还是增量保护,实现更灵活的保护策略。
60.6、本发明中,备份机服务器不依赖操作系统平台,windows平台和类unix平台皆可。
61.7、本发明中,控制机服务器,虚拟机保护服务器,备份机服务器可以灵活配置,实现可伸缩,易扩展的高性能系统。
62.8、基于本发明的架构,可实现基于hyper

v虚拟平台、kvm虚拟平台以及其他虚拟平台和云平台的虚拟机保护。
63.9、在本发明架构下,实现了虚机备份数据的演练功能,用来检验备份出来的数据是否有效,本发明可以快速检验备份数据的正确性,使用户放心,不会出现想恢复时,发现备机数据没法用的情况。
附图说明
64.图1为本发明一种虚拟机保护系统的系统架构图;
65.图2为本发明具体实施例中虚拟机保护服务器的细部结构图;
66.图3为本发明具体实施例中待保护数据块信息示意图;
67.图4为本发明具体实施例中灾备服务器的细部结构图;
68.图5为本发明一种虚拟机保护方法的步骤流程图;
69.图6为本发明实施例中虚拟机保护方法的流程图;
70.图7为本发明实施例中磁盘数据传输时缓存大小分配流程图;
71.图8为本发明实施例中缓存回收并更新流程图。
具体实施方式
72.以下通过特定的具体实例并结合附图说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本发明的精神下进行各种修饰与变更。
73.图1为本发明一种虚拟机保护系统的系统架构图。如图1所示,本发明一种虚拟机保护系统,包括:
74.虚拟机保护服务器10,用于保存虚拟机保护的规则,处理虚拟机保护的大部分管理工作,包括管理虚拟平台及其虚拟机、管理虚拟机保护的规则、调度规则的运行,对所要保护的虚拟机创建快照、获取源虚拟机的配置及磁盘信息保存到灾备服务器以及获取磁盘待保护的数据块信息并保存到灾备服务器,同时分配虚拟机磁盘数据传输时的缓存大小、启动灾备服务器任务进行磁盘数据传输,并于所述磁盘数据传输完毕后清理快照、回收已完成任务的缓存并重新计算且更新正在运行的其他任务的缓存大小。
75.具体地,如图2所示,虚拟机保护服务器10进一步包括:
76.快照创建单元101,用于根据虚拟机规则执行虚拟机保护任务时,通过调用源虚拟平台的虚拟平台接口,获取任务所对应的任务虚拟机,对源虚拟平台所要保护的虚拟机创建快照。在本发明具体实施例中,所述源虚拟平台为vmware虚拟化平台,其上具有若干虚拟机,该vmware虚拟化平台提供vadp(vmware vstorage api for data protection)接口,快照创建单元101则通过vadp接口对所要保护的虚拟机创建快照。
77.配置信息获取单元102,用于通过调用源虚拟平台的虚拟平台接口(vadp接口),根据快照获取对应虚拟机的所有配置和磁盘信息。
78.配置信息保存单元103,用于通过调用灾备服务器接口,保存源虚拟平台对应虚拟机的所有配置和磁盘信息到灾备服务器。
79.待保护数据块信息获取单元104,用于通过调用源虚拟平台的虚拟平台接口,根据快照获取源虚拟平台对应虚拟机的磁盘的待保护数据块信息(如数据块的所在位置和大小),于全量备份时获取所有有效数据块信息,于增量备份时基于vmware变化块跟踪cbt(changed block tracking)技术,获取变化数据块信息。在本发明具体实施例中,待保护数据块信息获取单元104获取的待保护数据块信息如图3所示。
80.待保护数据块信息保存单元105,用于通过调用灾备服务器接口,保存对应虚拟机的磁盘待保护的数据块信息到灾备服务器。
81.缓存大小分配单元106,用于分配此次虚拟机保护任务中磁盘数据传输时的缓存大小。这里的缓存是指磁盘数据从源虚拟平台传到灾备服务器的缓存,即灾备服务器从源虚拟平台一次读取数据的大小,该缓存大小由虚拟机保护服务器动态分配,在本发明具体实施例中,一个vmware虚拟化平台中的一个esxi主机最多有32mb缓存,因此分配给每个任务的缓存大小,加起来不能超过32mb。
82.具体地,缓存大小分配单元106进一步包括:
83.初始化模块,用于判断已注册到虚拟机保护服务器上的源虚拟平台是否做过初始化,若已做过初始化,则进入主机缓存大小获取模块,若未做过初始化,则对虚拟机所在主机初始化分配预设大小的内存,预留若干内存给nfc连接使用。这里需说明的是,源虚拟平
台需要注册到虚拟机保护服务器,然后才能由虚拟机保护服务器管理虚拟平台,在此不予赘述。
84.在虚拟平台vmware vadp接口中,虚拟磁盘开发工具包vddk(virtual disk development kit)用于管理虚拟磁盘,实现数据的保护。对于vddk中磁盘数据远程读写的接口,vmware通过使用nfc(network file copy)协议来实现,并且每台vmware esxi虚拟机提供总共32m的缓存来支持nfc。因此,在本发明具体实施例中,对虚拟平台上的每个主机初始化分配28m内存。为总共32m内存预留4m给nfc连接使用。
85.主机缓存大小获取模块,用于获取虚拟机所在esxi主机剩余的缓存大小,本发明具体实施例中,初始化时为28m,一般来说,一个vmware虚拟化平台会有一个或者多个esxi主机,每个esxi主机里会有多个虚拟机。
86.主机缓存大小判断处理模块,用于判断主机缓存大小是否小于预留内存(本实施例中为4m),若不小于预留内存,则分配主机剩余缓存的一半给虚拟机保护任务,主机剩余缓存减半,若小于预留内存,则睡眠若干时间,等待其他任务释放缓存,并返回判断主机缓存大小是否小于预留内存。
87.灾备服务器数据传输任务启动单元107,用于通过调用远程管理接口(即灾备服务器接口),通知灾备服务器进行磁盘数据传输,即虚拟机保护服务器调用灾备服务器的接口,在灾备服务器启动数据传输任务,由灾备服务器使用源虚拟平台的接口,从源虚拟平台读取磁盘数据保存到灾备服务器上。
88.优选地,虚拟机保护服务器10还包括:
89.缓存回收单元,用于在数据传输任务结束时,回收任务所用的缓存。
90.具体地,该缓存回收单元进一步包括:
91.数据传输任务检测模块,用于持续检测是否有数据传输任务结束,若有数据传输任务结束,则进入回收模块,否则睡眠若干时间后继续检测是否有数据传输任务结束;
92.回收模块,用于找到任务虚拟机所在的虚拟平台和主机,回收任务所用的缓存,加入该esxi主机的剩余缓存中;
93.缓存更新模块,用于判断是否有该主机上的虚拟机保护任务正在传输,若有,则获取该主机剩余缓存的一半,并把获取的缓存平均分给正在传输的虚拟机保护任务,将增加的缓存更新到灾备服务器上的每个传输任务。
94.灾备服务器20,部属vmware vddk开发包,用于获取并保存任务中的虚拟机配置信息及待保护的磁盘数据块信息,在接收到启动灾备服务器磁盘数据传输任务时,根据虚拟机保护服务器10分配的缓存大小,对待保护的磁盘数据块信息进行数据的传输和保存。
95.具体地,如图4所示,所述灾备服务器20进一步包括:
96.虚拟机配置信息和待保护数据块信息保存单元201,用于保存虚拟机保护服务器10传送的任务中的虚拟机配置信息和待保护的磁盘数据块信息。
97.任务管理单元202,用于管理灾备服务器上的所有磁盘数据传输任务,包括任务状态、传输进度、停止任务及带宽控制等等。也就是说,当接收到灾备服务器数据传输任务启动单元107的磁盘数据传输任务通知时,灾备服务器会调用接口,即调用源虚拟平台的接口,从源虚拟平台读取磁盘数据,然后保存在灾备服务器上,这称之为磁盘数据传输任务,在磁盘数据传输过程中,任务管理单元202管理灾备服务器上的磁盘数据传输任务。
98.虚拟机磁盘数据传输和保存单元203,用于调用接口读取源虚拟平台的磁盘数据并予以保存,即虚拟机磁盘数据传输和保存单元203根据虚拟机保护服务器10分配的缓存大小以及待保护的磁盘数据块信息,进行数据的传输和保存。
99.具体地,虚拟机磁盘数据传输和保存单元203具体包括:
100.磁盘获取模块,用于获取磁盘及其数据变化块列表信息;
101.判断模块,判断当前磁盘的数据变化块列表信息是否已处理完,若已处理完,则返回磁盘获取模块,否则进入缓存大小更新判断模块;
102.缓存大小更新判断模块,用于判断数据传输的缓存大小是否有更新,若否则进入数据传输模块,若是,则更新数据传输的缓存大小;
103.数据传输模块,使用相应的缓存大小从源虚拟平台读取并保存变化块所指向的数据块,并于当前变化块处理完毕后返回判断模块,一个变化块可能会读取很多次。
104.优选地,所述系统还包括总控服务器模块30,包含用户界面和控制机,所述用户界面以网页和客户端方式提供用户操作的界面,所述控制机提供管理功能,包括用户、许可、权限、日志、历史记录、规则、虚拟机保护服务器和目标灾备服务器等各种管理。也就是说,在本发明中,由总控服务器模块30提供界面,管理虚拟机规则,包括创建,修改和操作。需说明的是,虚拟机保护服务器也保存了规则,且规则的调度是在虚拟机保护服务器中。规则的运行也就是任务,其可以脱离总控服务器,在虚拟机保护服务器里独立进行,而且运行时,总控服务器模块会从虚拟机保护服务器获取规则的状态,显示进度。
105.图5为本发明一种虚拟机保护方法的步骤流程图。如图5所示,本发明一种虚拟机保护方法,包括如下步骤:
106.步骤s1,接收虚拟机保护任务请求,虚拟机保护服务器根据任务请求对所要保护的虚拟机创建快照,根据创建的快照获取源虚拟机的配置及磁盘信息保存到灾备服务器,并获取磁盘待保护的数据块信息保存到灾备服务器。
107.步骤s1进一步包括:
108.步骤s100,通过调用源虚拟平台的虚拟平台接口,对源虚拟平台所要保护的虚拟机创建快照。在本发明具体实施例中,所述源虚拟平台为vmware虚拟化平台,其上具有若干虚拟机,该vmware虚拟化平台提供vadp(vmware vstorage api for data protection)接口,快照创建单元101则通过vadp接口对所要保护的虚拟机创建快照。
109.步骤s101通过调用源虚拟平台的虚拟平台接口,根据所创建的快照获取对应虚拟机的所有配置和磁盘信息。
110.步骤s102,通过调用灾备服务器接口,获取并保存源虚拟平台对应虚拟机的所有配置和磁盘信息到灾备服务器。
111.步骤s103,通过调用源虚拟平台的虚拟平台接口,根据快照获取源虚拟平台对应虚拟机的磁盘的数据块信息,于全量备份时获取所有有效数据块信息,于增量备份时基于vmware变化块跟踪cbt(changed block tracking)技术,获取变化数据块信息。
112.步骤s104,通过灾备服务器接口,保存源虚拟平台对应虚拟机的磁盘待保护的数据块信息到灾备服务器。
113.步骤s2,虚拟机保护服务器分配虚拟机保护任务中磁盘数据传输时的缓存大,启动灾备服务器进行磁盘数据传输。
114.具体地,步骤s2进一步包括:
115.步骤s200,分配此次虚拟机保护任务中磁盘数据传输时的缓存大小。
116.具体地,步骤s200进一步包括:
117.步骤s200a,判断灾备服务器的虚拟平台是否做过初始化,若已做过初始化,则进入,若未做过初始化,则对虚拟机所在主机初始化分配预设大小的内存,预留若干内存给nfc连接使用。这里需说明的是,源虚拟平台需要注册到虚拟机保护服务器,然后才能由虚拟机保护服务器管理虚拟平台,在此不予赘述
118.在虚拟平台vmware vadp接口中,虚拟磁盘开发工具包vddk(virtual disk development kit)用于管理虚拟磁盘,实现数据的保护。对于vddk中磁盘数据远程读写的接口,vmware通过使用nfc(network file copy)协议来实现,并且每台vmware esxi虚拟机提供总共32m的缓存来支持nfc。因此,在本发明具体实施例中,对虚拟平台上的每个主机初始化分配28m内存。为总共32m内存预留4m给nfc连接使用。
119.步骤s200b,获取虚拟机所在esxi主机剩余的缓存大小,本发明具体实施例中,初始化时为28m。
120.步骤s200c,判断主机缓存大小是否小于预留内存(本实施例中为4m),若不小于预留内存,则分配主机剩余缓存的一半给虚拟机保护任务,主机剩余缓存减半,若小于预留内存,则睡眠若干时间,等待其他任务释放缓存,并返回判断主机缓存大小是否小于预留内存。
121.步骤s201,通过调用远程管理接口(即灾备服务器接口),通知灾备服务器进行磁盘数据传输,即虚拟机保护服务器调用灾备服务器的接口,在灾备服务器启动数据传输任务,由灾备服务器使用源虚拟平台的接口,从源虚拟平台读取磁盘数据保存到灾备服务器上。
122.步骤s3,灾备服务器在接收到启动灾备服务器磁盘数据传输任务时,根据虚拟机保护服务器分配的缓存大小,对待保护的磁盘数据块信息进行数据的传输和保存。
123.具体地,步骤s3进一步包括:
124.步骤s300,保存虚拟机保护服务器传送的任务中的虚拟机配置信息和待保护的磁盘数据块信息。
125.步骤s301,根据虚拟机保护服务器分配的缓存大小以及待保护的磁盘数据块信息,进行数据的传输和保存。
126.具体地,步骤s301进一步包括:
127.步骤s301a,获取磁盘及其数据变化块列表信息;
128.步骤s301b,判断当前磁盘的数据变化块列表信息是否已处理完,若已处理完,则返回步骤s301a,否则进入步骤s301c;
129.步骤s301c,判断数据传输的缓存大小是否有更新,若否则进入步骤s301d,若是,则更新数据传输的缓存大小;
130.步骤s301d,使用缓存大小传输并保存变化块所指向的数据块,并于当前变化块处理完毕后返回步骤s301b。
131.步骤s4,虚拟机保护服务器在磁盘数据传输完毕后清理快照,回收已完成任务的缓存并重新计算且更新正在运行的其他任务的缓存大小。
132.具体地,步骤s4进一步包括:
133.步骤s400,检测是否有数据传输任务结束,若有数据传输任务结束,进入步骤s401,否则睡眠若干时间后返回继续检测是否有数据传输任务结束;
134.步骤s401,找到任务虚拟机所在的虚拟平台和主机,回收任务所用的缓存,加入该esxi主机的剩余缓存中;
135.步骤s402,判断是否有该主机上的虚拟机保护任务正在传输,若有,则获取该主机剩余缓存的一半,并把获取的缓存平均分给正在传输的虚拟机保护任务,将增加的缓存更新到灾备服务器上的每个传输任务,返回步骤s400,否则直接返回步骤s400。
136.实施例
137.图6为本发明实施例中虚拟机保护的过程流程图。如图6所示,在本实施例中,所述虚拟机保护过程包括:
138.步骤1,获取任务虚拟机并申请磁盘传输的缓存。也就是说,任务在虚拟机保护服务器启动后,获取任务虚拟机和申请缓存,本步骤在虚拟机保护服务器中进行。
139.在本实施例中,虚拟机磁盘传输所用的缓存大小分配流程图如图7所示,其具体过程如下:
140.步骤1.1,对虚拟机保护任务申请磁盘传输的缓存大小。
141.步骤1.2,判断源虚拟平台缓存是否做过初始化,若已做过初始化,则跳至步骤1.4。
142.步骤1.3,对源虚拟平台上的每个esxi主机初始化分配28m内存。为总共32m的内存预留4m给nfc连接使用。
143.步骤1.4,获取任务虚拟机所在esxi主机缓存大小,初始化时为28m。
144.步骤1.5,判断主机缓存大小是否小于4m,若否,跳至步骤1.7,若是,则进入步骤1.6。
145.步骤1.6,睡眠3秒,等待其他任务释放缓存,并跳到步骤1.5。
146.步骤1.7,分配主机剩余缓存的一半给任务,主机剩余缓存减半。
147.步骤2,对任务所指虚拟机打快照。
148.步骤3,得到虚拟机快照对应的配置和磁盘信息。
149.步骤4,将配置和磁盘及备份信息发送到灾备服务器保存。
150.步骤5,获取每块磁盘的待保护数据块信息。
151.步骤6,将待保护数据块信息发送到灾备服务器保存。
152.步骤7,灾备服务器启动传输任务,进行磁盘数据传输。
153.步骤8,虚拟机所有的磁盘列表是否已处理完,若是,则跳到步骤15。
154.步骤9,获取到磁盘及其数据变化块列表信息。
155.步骤10,变化块列表是否已处理完,若已处理完,则跳到步骤8。
156.步骤11,判断数据传输的缓存大小是否有更新,若否,则跳到步骤13。
157.步骤12,更新数据传输的缓存大小。
158.步骤13,使用缓存大小传输并保存变化块所指向的数据块。
159.步骤14,判断当前变化块是否已处理完,若已处理完,则跳到步骤10。否则跳到步骤13。
160.步骤15,灾备服务器任务传输完成,更新任务状态及进度。
161.步骤16,虚拟机保护服务器检测到传输任务结束。
162.步骤17,虚拟机保护服务器回收任务缓存并更新其他正在传输任务的缓存。
163.在本实施例中,缓存回收并更新的流程图如图8所示,其具体过程如下:
164.步骤17.1,检测是否有数据传输任务结束,是的话跳到步骤3。
165.步骤17.2,睡眠5秒后回到步骤17.1。
166.步骤17.3,找到任务虚拟机所在的平台和esxi主机。
167.步骤17.4,回收任务所用的缓存,加到esxi主机的剩余缓存中。
168.步骤17.5,是否有此主机上的虚拟机任务正在传输,若否,则回到步骤17.1。
169.步骤17.6,获取esxi主机剩余缓存的一半,并把剩余缓存减半。
170.步骤17.7,将获取的缓存平均分给正在传输的虚拟机任务。
171.步骤17.8,增加的缓存更新到灾备服务器上的每个传输任务。
172.步骤18,虚拟机保护服务器清理快照,发送统计信息。
173.步骤19,任务完成。
174.上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。因此,本发明的权利保护范围,应如权利要求书所列。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜