本申请涉及设备管理,尤其涉及一种分布式快照方法、装置、设备以及计算机存储介质。
背景技术:
1、快照(snapshot)是关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像。快照可以是其所表示的数据的一个副本。快照能够进行在线数据备份与恢复,当存储设备发生应用故障或者文件损坏时可以进行快速的数据恢复,将数据恢复某个可用的时间点的状态。
2、目前相关技术中,常见的对关联虚拟机进行快照的方式通常包含两步,第一步是对单个虚拟机做快照,第二步是通过一致性协议对多个做快照的虚拟机进行协调,虚拟机之间的网络包有可能被丢弃,会导致传输控制协议返回(tcp backoff)周期长的问题,从而导致各虚拟机间网络通讯中断,做不到真正的热快照,严重情况下会影响业务应用程序的运行。
技术实现思路
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.根据权利要求2所述的方法,其特征在于,所述发起虚拟机和所述若干个执行虚拟机各自执行所述短暂式快照指令;包括:
4.根据权利要求3所述的方法,其特征在于,所述当前状态信息包括设备状态、磁盘状态、内存状态中的一个或者多个。
5.根据权利要求1所述的方法,其特征在于,所述发起虚拟机向若干个所述执行虚拟机发出全量式快照指令,以完成所述发起虚拟机和所述执行虚拟机的全量式快照,包括:
6.根据权利要求5所述的方法,其特征在于,所述若干个执行虚拟机各自执行所述全量式快照指令,包括:
7.根据权利要求1-6任一项所述的方法,其特征在于,所述发起虚拟机为与所述关联虚拟机中剩余虚拟机都存在信息交互的虚拟机,或者,
8.一种分布式快照装置,其特征在于,包括:
9.一种关联虚拟机,其特征在于,包括:
10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序被至少一个处理器执行时实现如权利要求1至7任一项所述方法。