System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及虚拟机领域,特别涉及一种虚拟机快照方法、装置、电子设备及存储介质。
技术介绍
1、虚拟机快照是一种常见的容灾手段,其通常可为虚拟机磁盘文件(vmdk,virtualmachine disk)创建某个时刻对应的快照副本,这样当虚拟机磁盘文件发生故障时,可基于快照副本对虚拟机磁盘文件进行恢复。
2、相关技术中,虚拟机快照的创建流程一般为:为当前虚拟机磁盘文件创建快照副本,并将当前虚拟机磁盘文件作为历史虚拟机磁盘文件并设置为只读状态,以及将快照副本作为新的虚拟机磁盘文件。在完成快照创建后,后续发生所有数据更新均只在新的虚拟机磁盘文件中进行。然而,这种做法容易将虚拟机磁盘文件割裂为若干个文件,进而容易将针对虚拟机磁盘文件的顺序读操作转变为随机读操作,并显著降低从虚拟机中读取数据的性能。
技术实现思路
1、本专利技术的目的是提供一种虚拟机快照方法、装置、电子设备及存储介质,可对虚拟机磁盘文件的快照方式进行改进,以避免快照所导致的虚拟机磁盘文件读取性能下降问题。
2、为解决上述技术问题,本专利技术提供一种虚拟机快照方法,包括:
3、当接收到快照创建操作时,为虚拟机磁盘文件创建原数据保留文件,并记录所述原数据保留文件对应的创建时刻;初始的原数据保留文件为空文件;
4、当接收到数据更新操作时,确定所述数据更新操作在所述虚拟机磁盘文件中对应的更新地址范围,并利用所述原数据保留文件确定所述更新地址范围中在所述创建时刻之后首次发生数据更新的首
5、将数据更新操作类型、所述首次更新地址范围及所述首次更新地址范围中存在的原数据保存至所述原数据保留文件,并在所述虚拟机磁盘文件中执行所述数据更新操作。
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、在接收到快照恢复操作时,将所述修改数据本文档来自技高网...
【技术保护点】
1.一种虚拟机快照方法,其特征在于,包括:
2.根据权利要求1所述的虚拟机快照方法,其特征在于,所述确定所述数据更新操作在所述虚拟机磁盘文件中对应的更新地址范围,包括:
3.根据权利要求1所述的虚拟机快照方法,其特征在于,在利用所述原数据保留文件确定所述更新地址范围中在所述创建时刻之后首次发生数据更新的首次更新地址范围之后,还包括:
4.根据权利要求1所述的虚拟机快照方法,其特征在于,在为虚拟机磁盘文件创建原数据保留文件,并记录所述原数据保留文件对应的创建时刻之后,还包括:
5.根据权利要求1至4任一项所述的虚拟机快照方法,其特征在于,所述将数据更新操作类型、所述首次更新地址范围及所述首次更新地址范围中存在的原数据保存至所述原数据保留文件,包括:
6.根据权利要求5所述的虚拟机快照方法,其特征在于,所述利用所述原数据保留文件确定所述更新地址范围中在所述创建时刻之后首次发生数据更新的首次更新地址范围,包括:
7.根据权利要求6所述的虚拟机快照方法,其特征在于,在判断是否有与所述更新地址范围重叠的目标已变更地址范
8.根据权利要求5所述的虚拟机快照方法,其特征在于,在将数据更新操作类型、所述首次更新地址范围及所述首次更新地址范围中存在的原数据保存至所述原数据保留文件之后,还包括:
9.根据权利要求8所述的虚拟机快照方法,其特征在于,根据所述待处理条目中的数据更新操作类型,利用所述待处理条目中的已变更地址范围对所述虚拟机磁盘文件进行恢复,包括:
10.根据权利要求8所述的虚拟机快照方法,其特征在于,根据所述待处理条目中的数据更新操作类型,利用所述待处理条目中的已变更地址范围与所述待处理条目中的存放地址范围对应的已保存原数据的组合对所述虚拟机磁盘文件进行恢复,包括:
11.根据权利要求8所述的虚拟机快照方法,其特征在于,根据所述待处理条目中的数据更新操作类型,利用所述待处理条目中的已变更地址范围与所述待处理条目中的存放地址范围对应的已保存原数据的组合对所述虚拟机磁盘文件进行恢复,包括:
12.根据权利要求8所述的虚拟机快照方法,其特征在于,在将所述条目保存至所述原数据保留文件中的修改数据块记录表之前,还包括:
13.一种虚拟机快照装置,其特征在于,包括:
14.一种电子设备,其特征在于,包括:
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至12任一项所述的虚拟机快照方法。
...【技术特征摘要】
1.一种虚拟机快照方法,其特征在于,包括:
2.根据权利要求1所述的虚拟机快照方法,其特征在于,所述确定所述数据更新操作在所述虚拟机磁盘文件中对应的更新地址范围,包括:
3.根据权利要求1所述的虚拟机快照方法,其特征在于,在利用所述原数据保留文件确定所述更新地址范围中在所述创建时刻之后首次发生数据更新的首次更新地址范围之后,还包括:
4.根据权利要求1所述的虚拟机快照方法,其特征在于,在为虚拟机磁盘文件创建原数据保留文件,并记录所述原数据保留文件对应的创建时刻之后,还包括:
5.根据权利要求1至4任一项所述的虚拟机快照方法,其特征在于,所述将数据更新操作类型、所述首次更新地址范围及所述首次更新地址范围中存在的原数据保存至所述原数据保留文件,包括:
6.根据权利要求5所述的虚拟机快照方法,其特征在于,所述利用所述原数据保留文件确定所述更新地址范围中在所述创建时刻之后首次发生数据更新的首次更新地址范围,包括:
7.根据权利要求6所述的虚拟机快照方法,其特征在于,在判断是否有与所述更新地址范围重叠的目标已变更地址范围之后,还包括:
8.根据权利要求5所述的虚拟机快照方法,其特征在于,在将数据更新操作类型、所述首次更新地址范围及所述首次更新地址范围中存...
【专利技术属性】
技术研发人员:马国良,陈彬,
申请(专利权)人:苏州元脑智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。