System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于虚拟机容灾备份领域,涉及一种对hyper-v的无代理cdp方法、系统及存储介质。
技术介绍
1、持续数据保护(continuous data protection,简称cdp)是一种在不影响关键程序运行的情况下,不间断地监控和记录目标数据的所有更改,并且具备将数据回滚至之前特定时刻的方法。
2、hyper-v是微软提出的一种虚拟化技术,主要用于在windows操作系统上创建和运行虚拟机。hyper-v有两种虚拟硬盘格式:vhd和vhdx。每种格式都支持三种磁盘类型,包括固定、动态和差异类型,其中固定和动态类型是基本磁盘类型,而差异类型用于快照磁盘,有着单独的磁盘格式avhd和avhdx。
3、当前,hyper-v的虚拟机多采用内置代理的cdp解决方案,通过在每个虚拟机中安装代理软件来捕获i/o操作并进行数据存储。然而,这种方法需要在每一台虚拟机上手动安装代理软件,对虚拟机性能有影响。同时,在现今虚拟机无代理cdp技术方案中,首次同步时是将基本磁盘和对应的快照磁盘全部备份,同时监控虚拟磁盘快照链上所有磁盘i/o的变化,从而实现无代理cdp,但这样会造成大量数据冗余。
4、因此,在hyper-v虚拟环境下,如何在持续数据保护时尽力减少对虚拟机性能的影响,以及减少快照带来的大量冗余,是亟待本领域技术人员解决的问题。
技术实现思路
1、本专利技术为了解决上述
技术介绍
中的技术问题,本专利技术实施例提供了一种对hyper-v的无代理cdp方法、
2、第一个方面,提供了一种对hyper-v的无代理cdp方法,所述方法包括步骤:
3、预备份步骤,生产端程序获取待备份目标虚拟机,并为其在备份端创建i/o日志;
4、全量备份步骤,生产端程序判断目标虚拟机是否存在快照,若存在,则将目标根磁盘在备份端进行全量备份,形成镜像磁盘,再通过目标根磁盘和快照链上全部快照磁盘的块分配表,将全部快照磁盘的数据块依次覆盖镜像磁盘对应数据块,并将全部快照磁盘的全局唯一标识符和块分配表传输到备份端,载入其内存;若不存在,将目标虚拟磁盘在备份端进行全量备份,形成镜像磁盘;
5、镜像磁盘解析步骤,备份端程序根据镜像磁盘类型及其格式解析镜像磁盘,并将解析得到的镜像磁盘信息载入内存,其中镜像磁盘包括固定类型vhd、动态类型vhd、固定类型vhdx和动态类型vhdx;
6、i/o捕获步骤,生产端程序捕获写类型的i/o数据,并将其发送给备份端程序;
7、i/o存储步骤,备份端程序接收并判断i/o数据的目标路径是否是快照磁盘,若是,则从内存中获取并通过快照磁盘的全局唯一标识符分别查找快照磁盘和镜像磁盘的块分配表,或仅查找快照磁盘的块分配表,将i/o数据的偏移转换成对镜像磁盘的实际偏移,之后将转化后的i/o数据写入对应日志;若否,则直接将i/o数据写入对应日志。
8、优选的,所述全量备份步骤,包括:
9、快照存在判断步骤,生产端程序判断目标虚拟机当前是否存在快照,如果存在,将目标根磁盘在备份端进行全量备份,形成镜像磁盘,再进行块分配表定位步骤、数据块覆盖步骤和快照块分配表记录步骤;如果不存在,将目标虚拟磁盘在备份端进行全量备份,形成镜像磁盘;
10、块分配表定位步骤,根据快照磁盘的磁盘格式,从快照磁盘不同位置定位块分配表,其中,所述从快照磁盘不同位置定位块分配表包括:
11、a1.如果所述快照磁盘为avhd磁盘格式,从其尾部信息中获取全局唯一标识符,同时根据其首部信息中的表偏移字段得到块分配表的起始偏移,定位块分配表;
12、a2.如果所述快照磁盘为avhdx磁盘格式,从其元数据中获取全局唯一标识符,同时根据其区域表中指向块分配表的表项得到块分配表的起始偏移,定位块分配表;
13、数据块覆盖步骤,根据根磁盘的磁盘格式和磁盘类型,采用不同映射方式将所述快照磁盘中已分配的块覆盖镜像磁盘对应的块,其中,所述采用不同映射方式将所述快照磁盘中已分配的块覆盖镜像磁盘对应的块包括;
14、b1.如果所述根磁盘为固定类型vhd磁盘格式,则将所述快照磁盘中已分配的块直接按照逻辑序号覆盖镜像磁盘对应的块;
15、b2.如果所述根磁盘为动态类型vhd磁盘格式,则根据其首部信息中的表偏移字段得到块分配表的起始偏移,定位块分配表,再将所述快照磁盘中已分配的块按照块分配表中的逻辑序号覆盖根磁盘所对应的块;
16、b3.如果所述根磁盘为固定类型或动态类型vhdx磁盘格式,则根据区域表中指向块分配表的表项得到块分配表的起始偏移,定位块分配表,再将所述快照磁盘中已分配的块按照块分配表中的逻辑序号覆盖镜像磁盘所对应的块;
17、快照块分配表记录步骤,将全部快照磁盘的全局唯一标识符和块分配表传输到备份端,载入其内存。
18、优选的,所述镜像磁盘解析步骤,包括:
19、备份端程序根据镜像磁盘的磁盘格式和磁盘类型,将不同镜像磁盘信息载入内存,其中,所述将不同镜像磁盘信息载入内存包括:
20、c1.如果所述镜像磁盘为固定类型vhd磁盘格式,解析镜像磁盘将其尾部信息载入内存;
21、c2.如果所述镜像磁盘为动态类型vhd磁盘格式,解析镜像磁盘将尾部信息、首部信息和块分配表载入内存,所述尾部信息、首部信息和块分配表均属于镜像磁盘;
22、c3.如果所述镜像磁盘为固定类型或动态类型vhdx磁盘格式,解析镜像磁盘将区域表、元数据和块分配表载入内存,所述区域表、元数据和块分配表均属于镜像磁盘。
23、优选的,所述镜像磁盘信息具体为:
24、在c1的情况中,尾部信息包含即时长度字段、类型字段和全局唯一标识符字段;
25、在c2的情况中,尾部信息包含即时长度字段、类型字段和全局唯一标识符字段;首部信息包含表偏移字段和块大小字段;
26、在c3的情况中,区域表包含块分配表偏移字段、块分配表长度字段、元数据表偏移字段和元数据表长度字段;元数据包含块大小字段、即时长度字段、全局唯一标识符字段、类型字段和逻辑扇区大小字段。
27、优选的,所述i/o捕获步骤,包括:
28、在生产端宿主机内核建立i/o过滤驱动,通过所述i/o过滤驱动监控目标虚拟机的i/o变化数据,将其传输到备份端。
29、优选的,所述i/o存储步骤,包括:
30、目标路径判断步骤,备份端程序接收并判断i/o数据的目标路径是否是快照磁盘,如果是,则依次进行块分配表查找步骤、i/o偏移转换步骤和日志写入步骤;如果否,则直接将i/o数据写入对应日志;
31、块分配表查找步骤,根据内存中的快照磁盘全局唯一标识符查找镜像磁盘全局唯一标识符和快照磁盘的块分配表,再判断磁盘是否是固定类型的vhd,若是,则直接进行i/o偏移转换步骤;若否,则根据镜像磁盘全局唯一本文档来自技高网...
【技术保护点】
1.一种对Hyper-V的无代理CDP方法,其特征在于,所述方法包括步骤:
2.根据权利要求1所述的对Hyper-V的无代理CDP方法,其特征在于,所述全量备份步骤,包括:
3.根据权利要求1所述的对Hyper-V的无代理CDP方法,其特征在于,所述镜像磁盘解析步骤,包括:
4.根据权利要求1所述的对Hyper-V的无代理CDP方法,其特征在于,所述I/O捕获步骤,包括:
5.根据权利要求1所述的对Hyper-V的无代理CDP方法,其特征在于,所述I/O存储步骤,包括:
6.根据权利要求5所述的对Hyper-V的无代理CDP方法,其特征在于,在所述日志写入步骤之前,还包括:
7.一种对Hyper-V的无代理CDP系统,其特征在于,所述系统包括:
8.根据权利要求7所述的对Hyper-V的无代理CDP系统,其特征在于,所述全量备份模块,包括:
9.根据权利要求7所述的对Hyper-V的无代理CDP系统,其特征在于,所述镜像磁盘解析模块,包括:
10.一种计算机可读存储介质,其
...【技术特征摘要】
1.一种对hyper-v的无代理cdp方法,其特征在于,所述方法包括步骤:
2.根据权利要求1所述的对hyper-v的无代理cdp方法,其特征在于,所述全量备份步骤,包括:
3.根据权利要求1所述的对hyper-v的无代理cdp方法,其特征在于,所述镜像磁盘解析步骤,包括:
4.根据权利要求1所述的对hyper-v的无代理cdp方法,其特征在于,所述i/o捕获步骤,包括:
5.根据权利要求1所述的对hyper-v的无代理cdp方法,其特征在于,所述i/o存储步骤,包括:
6.根据权利要求5所...
【专利技术属性】
技术研发人员:黄传波,谢俊峰,刘俊杰,涂磊,钱禹航,谢卓伟,
申请(专利权)人:成都云祺科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。