CN104793981A - 一种虚拟机集群的在线快照管理方法及装置 - Google Patents
一种虚拟机集群的在线快照管理方法及装置 Download PDFInfo
- Publication number
- CN104793981A CN104793981A CN201410024971.XA CN201410024971A CN104793981A CN 104793981 A CN104793981 A CN 104793981A CN 201410024971 A CN201410024971 A CN 201410024971A CN 104793981 A CN104793981 A CN 104793981A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- snapshot
- cluster
- jth
- judged result
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种虚拟机集群的在线快照管理方法,应用于虚拟机集群中的在线快照管理系统中,虚拟机集群中包含有M个虚拟机,M为大于等于2的整数,所述方法包括:创建虚拟机集群的一致性虚拟机集群快照,一致性虚拟机集群快照包括在同一时刻M个虚拟机创建的M个虚拟机快照,和在创建虚拟机集群快照期间,产生在M个虚拟机之间的链路信息;在M个虚拟机中的每个虚机创建了对应的虚拟机快照时,生成虚拟机集群快照的全局唯一标识,并更新存储于在线快照管理系统中的第一集群快照信息库,获得经更新的第二集群快照信息库。上述本发明提供的方法用于解决现有技术中存在的云计算平台中虚拟机集群的整体回滚能力低的技术问题。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种虚拟机集群的在线快照管理方法及装置。
背景技术
在云计算平台中,虚拟机集群整体的回滚能力应用场景很多,比如:大量虚拟机组成的虚拟机集群系统出现故障时,需要虚拟机集群系统的整体回滚能力,以便恢复到故障前状态;或者用户配置虚拟机集群的复杂应用时容易出错,需要虚拟机集群的整体回滚能力,便于用户回滚整个虚拟机集群系统;又或者某些长时间运行的虚拟机集群系统,需要周期性自动保存整个系统的状态,必要时用于恢复系统的历史状态。
为了提高云计算平台中虚拟机集群系统的整体回滚能力,现有技术中主要有以下三种解决方案:方案一:替换虚拟机,即重新创建虚拟机替换原来出现故障的虚拟机;方案二:单虚拟机快照,即针对单虚拟机保存和恢复快照,可提高单虚拟机的回滚能力;方案三:基于特定文件系统的多虚拟机快照,即采用特定的文件系统存储虚拟机镜像,可保存和恢复多个虚拟机的快照。
但是本申请发明人在实现本申请实施例中技术方案的过程中,发现上述现有技术中至少存在如下技术问题:
方案一的缺点在于,新创建的虚拟机需要配置为原来虚拟机中的所有应用服务的配置状态才能正常工作,耗时很长。并且,在大量虚拟机组成的虚拟机集群中,出现故障的虚拟机数量很大时,该方案效率很低。
方案二的缺点在于,首先,每个虚拟机都是独立的对象,不能保存和恢复虚拟机之间的链路信息。回滚单个虚拟机状态后还需要应用程序之间重新建立连接,降低应用程序的性能。其次,这种方案没有考虑整个云计算系统中共享资源的分配控制。如:MAC地址、IP地址、计算机名等,由于这些共享资源可能被其他虚拟机占用,因此,在恢复快照时可能出现资源冲突,而导致快照不可用。
方案三的缺点在于,该方案只适用于特定的文件系统。
可见,现有技术中存在云计算平台中虚拟机集群的整体回滚能力低的技术问题。
发明内容
本申请实施例提供一种虚拟机集群的在线快照管理方法及装置,用于提高云计算平台中虚拟机集群的整体回滚能力。
本申请实施例提供一种虚拟机集群的在线快照管理方法,应用于虚拟机集群中的在线快照管理系统中,所述虚拟机集群中包含有M个虚拟机,M为大于等于2的整数,所述方法包括:
创建所述虚拟机集群的一致性虚拟机集群快照,所述一致性虚拟机集群快照包括在同一时刻所述M个虚拟机创建的M个虚拟机快照,和在创建所述虚拟机集群快照期间,产生在所述M个虚拟机之间的链路信息;
在所述M个虚拟机中的每个虚机创建了对应的虚拟机快照时,生成所述虚拟机集群快照的全局唯一标识,并更新存储于所述在线快照管理系统中的第一集群快照信息库,获得经更新的第二集群快照信息库;
恢复所述虚拟机集群快照,并在所述每个虚拟机恢复了对应的虚拟机快照时,记录虚拟机集群快照恢复成功信息;
删除所述虚拟机集群快照,并在所述每个虚拟机删除了对应的虚拟机快照时,记录虚拟机集群快照删除成功信息。
可选的,所述创建所述虚拟机集群的一致性虚拟机集群快照,具体包括:
向所述M个虚拟机发送一集群快照创建命令,以使所述M个虚拟机中的成功接收到所述集群快照创建命令的N个虚拟机中每个虚拟机能通过执行所述集群快照创建命令,以创建对应的虚拟机快照,N为1至M间任一整数;
在所述N个虚拟机中的第i个虚拟机基于所述集群快照创建命令成功创建第i个虚拟机快照时,在第j个数据包中添加第j个创建快照开始标记,其中,所述第j个数据包具体为需要所述第i个虚拟机发送给所述M个虚拟机中除所述第i个虚拟机外M-1个虚拟机中的第j个虚拟机的数据包,i为1至N间任一整数,j为1至M-1间任一整数;
将所述第j个数据包发送给所述第j个虚拟机,以使所述第j个虚拟机在接收到所述第j个数据包,且所述第j个虚拟机没有创建对应的第j个虚拟机快照时,能够基于所述第j个创建快照开始标记创建所述第j个虚拟机快照,其中,所述第j个虚拟机快照不包括所述第j个数据包中的信息。
可选的,所述在所述N个虚拟机中的第i个虚拟机基于所述集群快照创建命令成功创建第i个虚拟机快照时,在第j个数据包中添加第j个创建快照开始标记,具体包括:
判断所述M个虚拟机中的每个虚机是否创建了对应的虚拟机快照,获得第一判断结果;
当所述第一判断结果为否时,判断所述第i个虚拟机是否成功创建了第i个虚拟机快照,获得第二判断结果;
在所述第二判断结果为是时,在所述第j个数据包中添加所述第j个创建快照开始标记。
可选的,所述在所述第二判断结果为是时,在所述第j个数据包中添加所述第j个创建快照开始标记,具体包括:
判断所述第i个虚拟机是否独占至少一个共享资源信息,获得第四判断结果;
当所述第四判断结果为是时,在所述在线快照管理系统中,锁定所述第i个虚拟机快照占用至少一个共享资源信息;
在所述第j个数据包中添加所述第j个创建快照开始标记。
可选的,在所述判断所述第i个虚拟机是否独占至少一个共享资源信息,获得第四判断结果之后,所述方法还包括:
当所述第四判断结果为否时,在所述在线快照管理系统中,记录所述第i个虚拟机快照占用的至少一个共享资源信息;
在所述第j个数据包中添加所述第j个创建快照开始标记。
可选的,在所述将所述第j个数据包发送给所述第j个虚拟机之后,所述方法还包括:
判断所述第j个虚拟机是否成功创建了所述第j个虚拟机快照,获得第五判断结果;
当所述第五判断结果为是时,执行步骤:判断所述M个虚拟机中的每个虚机是否创建了对应的虚拟机快照,获得所述第一判断结果。
可选的,在所述判断所述第j个虚拟机是否成功创建了所述第j个虚拟机快照,获得第五判断结果之后,所述方法还包括:
当所述第五判断结果为否时,记录虚拟机集群快照创建失败信息。
可选的,所述恢复所述虚拟机集群快照,具体包括:
向所述M个虚拟机发送一集群快照恢复命令,以使所述M个虚拟机中的成功接收到所述集群快照恢复命令的N个虚拟机中每个虚拟机能通过执行所述集群快照恢复命令,以恢复对应的快照,N为1至M间任一整数;
在所述N个虚拟机中的第i个虚拟机基于所述集群快照恢复命令成功恢复第i个虚拟机快照时,在第j个数据包中添加第j个快照恢复开始标记,其中,所述第j个数据包具体为需要所述N个虚拟机中第i个虚拟机发送给所述M个虚拟机中除所述第i个虚拟机外M-1个虚拟机中的第j个虚拟机的数据包,i为1至N间任一整数,j为1至M-1间任一整数;
将所述第j个数据包发送给所述第j个虚拟机,以使所述第j个虚拟机在接收到所述第j个数据包,且所述第j个虚拟机没有恢复对应的第j个虚拟机快照时,能够基于所述第j个快照恢复开始标记恢复第j个虚拟机快照。
可选的,所述向所述M个虚拟机发送一集群快照恢复命令,具体包括:
查询需要恢复的所述虚拟机集群快照中占用的第一共享资源信息库和当前虚拟机集群占用的第二共享资源信息库;
判断所述第一共享资源信息库和第二共享资源信息库是否冲突,获得第一判断结果;
当所述第一判断结果为否时,向所述M个虚拟机发送所述集群快照恢复命令。
可选的,所述在所述N个虚拟机中的第i个虚拟机基于所述集群快照恢复命令成功恢复第i个虚拟机快照时,在第j个数据包中添加第j个快照恢复开始标记,具体包括:
判断所述M个虚拟机中的每个虚机是否恢复了对应的虚拟机快照,获得第二判断结果;
当所述第二判断结果为否时,判断所述第i个虚拟机是否成功恢复了第i个虚拟机快照,获得第三判断结果;
在所述第三判断结果为是时,在所述第j个数据包中添加所述第j个恢复快照标记。
可选的,所述在所述第三判断结果为是时,在所述第j个数据包中添加所述第j个恢复快照标记,具体包括:
判断所述第i个虚拟机是否独占至少一个共享资源信息,获得第四判断结果;
当所述第四判断结果为是时,在所述在线快照管理系统中,锁定所述至少一个共享资源信息;
在所述第j个数据包中添加所述第j个恢复快照标记。
可选的,在所述判断所述第i个虚拟机是否独占至少一个共享资源信息,获得第四判断结果之后,所述方法还包括:
当所述第四判断结果为否时,在所述在线快照管理系统中,记录所述至少一个共享资源信息;
在所述第j个数据包中添加所述第j个恢复快照标记。
可选的,在所述将所述第j个数据包发送给所述第j个虚拟机之后,所述方法还包括:
判断所述第j个虚拟机是否成功恢复了所述第j个虚拟机快照,获得第五判断结果;
当所述第五判断结果为是时,执行步骤:判断所述M个虚拟机中的每个虚机是否恢复了对应的虚拟机快照,获得第二判断结果。
可选的,在所述在判断所述第一共享资源信息库和第二共享资源信息库是否冲突,获得第一判断结果之后,或在所述判断所述第j个虚拟机是否成功恢复了所述第j个虚拟机快照,获得第五判断结果之后,所述方法还包括:
当所述第一判断结果为是时,或当所述第五判断结果为否时,记录虚拟机集群快照恢复失败信息。
可选的,所述删除所述虚拟机集群快照,具体包括:
基于所述全局唯一标识查询出所述虚拟机集群的节点;
向基于所述节点分布的至少一个物理机发送一集群快照删除命令,以使所述至少一个物理机上安装的所述M个虚拟机中的成功接收到所述集群快照删除命令的P个虚拟机中每个虚拟机能通过执行所述集群快照删除命令,以删除对应的虚拟机快照,P为1至M间任一整数。
可选的,在所述向所述节点分布的所有物理机发送一集群快照删除命令之后,所述方法还包括:
在所述P个虚拟机中的第k个虚拟机收到所述集群快照删除命令之后,判断所述P个虚拟机中的第k个虚拟机是否成功删除了第k个虚拟机快照,获得第六判断结果;
当第六判断结果为是时,判断所述第k个虚拟机是否独占至少一个共享资源信息,获得第七判断结果;
当第七判断结果为是时,释放所述至少一个共享资源信息。
可选的,在所述判断所述第k个虚拟机是否独占至少一个共享资源信息,获得第七判断结果之后,所述方法还包括:
当第七判断结果为否时,记录所述至少一个共享资源信息。
本申请实施例还提供一种虚拟机集群的在线快照管理装置,应用于虚拟机集群中的在线快照管理系统中,所述虚拟机集群中包含有M个虚拟机,M为大于等于2的整数,所述装置包括:
一致性集群快照管理模块,用于创建、恢复和删除所述虚拟机集群的一致性虚拟机集群快照,所述一致性虚拟机集群快照包括在同一时刻所述M个虚拟机创建的M个虚拟机快照,和在创建所述虚拟机集群快照期间,产生在所述M个虚拟机之间的链路信息。
可选的,所述一致性集群快照管理模块还用于:
在所述M个虚拟机中的第i个虚拟机创建了第i个虚拟机快照时,在所述在第j个数据包中添加第j个创建快照开始标记,或
在所述M个虚拟机中的第i个虚拟机恢复了第i个虚拟机快照时,在所述在第j个数据包中添加第j个快照恢复开始标记,其中,所述第j个数据包具体为需要所述第i个虚拟机发送给所述M个虚拟机中除所述第i个虚拟机外M-1个虚拟机中的第j个虚拟机的数据包,i为1至N间任一整数,j为1至M-1间任一整数。
可选的,所述装置还包括:
全局资源信息管理模块,用于在所述M个虚拟机中的第i个虚拟机创建了对应的虚拟机快照之后,判断所述第i个虚拟机是否独占至少一个共享资源信息,获得第一判断结果;
当所述第一判断结果为是时,在所述在线快照管理系统中,锁定所述至少一个共享资源信息。
可选的,所述全局资源信息管理模块还用于在恢复所述虚拟机集群快照快照之前,判断需要恢复的所述虚拟机集群快照中占用的第一共享资源信息库和当前虚拟机集群占用的第二共享资源信息库是否冲突,获得第二判断结果;
当所述第二判断结果为是时,记录虚拟机集群快照恢复失败信息。
可选的,所述装置还包括:
虚拟机集群节点信息管理模块,用于基于所述虚拟机集群的全局唯一标识,查询出所述M个虚拟机中每个虚拟机的信息,包括所述每个虚拟机的全局唯一标识和所述每个虚拟机所属物理机的全局唯一标识。
可选的,所述装置还包括:
虚拟机集群快照信息管理模块,在所述M个虚拟机创建了所述M个虚拟机快照时,用于确定所述M个虚拟机快照的名称,并更新存储于所述在线快照管理系统中的第一集群快照信息库,获得经更新的第二集群快照信息库;
第二集群快照信息库包括:所述每个虚拟机的全局唯一标识和所述M个虚拟机快照的全局唯一标识。
可选的,所述装置还包括:
周期性快照创建模块,用于控制所述一致性集群快照管理模块、所述全局资源信息管理模块和所述虚拟机集群节点信息管理模块相配合,周期性的创建所述虚拟机集群快照。
可选的,所述装置还包括:
虚拟机集群及快照信息数据源模块,用于存储所述虚拟机集群的全局唯一标识、所述M个虚拟机的全局唯一标识、所述每个虚拟机所属物理机的全局唯一标识、所述虚拟机集群快照的全局唯一标识、所述M个虚拟机快照的全局唯一标识、所述第一共享资源信息库和所述第二共享资源信息库。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
1、由于本申请实施例针对一包括M个虚拟机的虚拟机集群,通过创建所述虚拟机集群的一致性虚拟机集群快照,所述一致性虚拟机集群快照包括在同一时刻所述M个虚拟机创建的M个虚拟机快照,和在创建所述虚拟机集群快照期间,产生在所述M个虚拟机之间的链路信息;在所述M个虚拟机中的每个虚机创建了对应的虚拟机快照时,生成所述虚拟机集群快照的全局唯一标识,并更新存储于所述在线快照管理系统中的第一集群快照信息库,获得经更新的第二集群快照信息库;恢复所述虚拟机集群快照,并在所述每个虚拟机恢复了对应的虚拟机快照时,记录虚拟机集群快照恢复成功信息;删除所述虚拟机集群快照,并在所述每个虚拟机删除了对应的虚拟机快照时,记录虚拟机集群快照删除成功信息。
可见,由于本申请实施例中创建的虚拟机集群快照既包括在同一时刻虚拟机集群中M个虚拟机创建的M个虚拟机快照,也包括在创建所述虚拟机集群快照期间,产生在所述M个虚拟机之间的链路信息,一方面,本申请实施例采用并发方式执行创建和恢复快照操作,比基于单虚拟机的方案效率高,另一方面,本申请实施例中在恢复快照之后,不需要应用程序之间重新建立连接,可用于恢复整个系统的状态,不会影响系统中应用程序的性能,并且,本申请实施例中的方案适用于不同的文件系统和多种虚拟化技术,因此,本申请实施例中的方案消除了现有技术中存在云计算平台中虚拟机集群的整体回滚能力低的技术问题,提高了云计算平台中虚拟机集群的整体回滚能力。
2、由于本申请实施例中,在第i个虚拟机创建第i个虚拟机快照之后,会判断所述第i个虚拟机是否独占至少一个共享资源信息,在第i个虚拟机独占至少一个共享资源信息时,在所述在线快照管理系统中,锁定所述第i个虚拟机快照占用至少一个共享资源信息。由于云计算系统中某些共享资源可能被其他虚拟机占用,如:MAC地址、IP地址、计算机名等,因此,在恢复快照时可能出现资源冲突,而导致快照不可用,本申请实施例中的方案对独占的共享资源进行锁定,锁定后的共享资源不会被集群中的其他虚拟机使用,因此,本申请实施例中的方案实现了对云计算系统平台中共享资源的分配进行控制,防止快照中记录的共享资源被其他虚拟机占用,而造成快照恢复时资源冲突,快照不可用的情况,进而提高了云计算平台中虚拟机集群的整体回滚能力。
附图说明
图1为本申请实施例一中信息处理的主要方法的流程图;
图2为本申请实施例一中步骤S1的具体实现流程图;
图3为本申请实施例一中创建虚拟机集群快照的信息处理方法的流程图;
图4为本申请实施例一中步骤S3的具体实现流程图;
图5为本申请实施例一中恢复虚拟机集群快照的信息处理方法的流程图;
图6为本申请实施例一中步骤S4的具体实现流程图;
图7为本申请实施例二中虚拟机集群的在线快照管理装置的结构方框图。
具体实施方式
本申请实施例通过提供一种虚拟机集群的在线快照管理方法及装置,解决了现有技术中存在的云计算平台中虚拟机集群的整体回滚能力低的技术问题。
本申请实施例中的技术方案为解决上述技术问题,总体思路如下:
通过创建所述虚拟机集群的一致性虚拟机集群快照,所述一致性虚拟机集群快照包括在同一时刻所述M个虚拟机创建的M个虚拟机快照,和在创建所述虚拟机集群快照期间,产生在所述M个虚拟机之间的链路信息,由于本申请实施例中创建的虚拟机集群快照既包括在同一时刻虚拟机集群中M个虚拟机创建的M个虚拟机快照,也包括在创建所述虚拟机集群快照期间,产生在所述M个虚拟机之间的链路信息,一方面,本申请实施例采用并发方式执行创建和恢复快照操作,比基于单虚拟机的方案效率高,另一方面,本申请实施例中在恢复快照之后,不需要应用程序之间重新建立连接,可用于恢复整个系统的状态,不会影响系统中应用程序的性能,并且,本申请实施例中的方案适用于不同的常用文件系统和多种虚拟化技术,因此,本申请实施例中的方案消除了现有技术中存在云计算平台中虚拟机集群的整体回滚能力低的技术问题,提高了云计算平台中虚拟机集群的整体回滚能力。
下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。
实施例一
请参考图1,本申请实施例提供一种虚拟机集群的在线快照管理方法,应用于虚拟机集群中的在线快照管理系统中,所述虚拟机集群中包含有M个虚拟机,M为大于等于2的整数,所述方法包括:
S1:创建所述虚拟机集群的一致性虚拟机集群快照,所述一致性虚拟机集群快照包括在同一时刻所述M个虚拟机创建的M个虚拟机快照,和在创建所述虚拟机集群快照期间,产生在所述M个虚拟机之间的链路信息。
S2:在所述M个虚拟机中的每个虚机创建了对应的虚拟机快照时,生成所述虚拟机集群快照的全局唯一标识,并更新存储于所述在线快照管理系统中的第一集群快照信息库,获得经更新的第二集群快照信息库;
S3:恢复所述虚拟机集群快照,并在所述每个虚拟机恢复了对应的虚拟机快照时,记录虚拟机集群快照恢复成功信息;
S4:删除所述虚拟机集群快照,并在所述每个虚拟机删除了对应的虚拟机快照时,记录虚拟机集群快照删除成功信息。
在本申请实施例中,虚拟机集群节点分布的所有物理机的VMM(VirtualMachine Monitor,虚拟机监控器)负责创建、运行和管理一个或多个虚拟机。
在本申请实施例中,请参考图2,S1包括以下三个步骤。
S101:向所述M个虚拟机发送一集群快照创建命令。
具体的,在虚拟机集群中,接收到所述集群快照创建命令的虚拟机中每个虚拟机能通过执行所述集群快照创建命令,以创建对应的虚拟机快照。
在具体实施过程中,由于在一般情况下,虚拟机集群的不同节点会分布在不同的物理机上,由于网络通信状况的不确定性、缺乏精确的全局统一时钟及物理机的任务调度差异,很难做到在同一时刻为所有虚拟机创建快照,并且每个虚拟机创建快照所需时间不尽相同,这些因素都会导致不同虚拟机保存的快照之间存在状态不一致。
并且,导致不同虚拟机保存的快照之间存在状态不一致的根本原因在于已经创建了快照的虚拟机向未创建快照的虚拟机发送了数据,即已经创建了快照的虚拟机的快照信息中没有发送该数据,而未创建快照的虚拟机在接下来创建的快照信息中已经接收了该数据,这就导致了两个虚拟机保存的快照之间存在状态不一致。
在本申请实施例中,为了消除不同虚拟机快照之间状态不一致的问题,就执行S102:在所述N个虚拟机中的第i个虚拟机基于所述集群快照创建命令成功创建第i个虚拟机快照时,在第j个数据包中添加第j个创建快照开始标记,和S103:将所述第j个数据包发送给所述第j个虚拟机。
其中,所述第j个数据包具体为需要所述第i个虚拟机发送给所述M个虚拟机中除所述第i个虚拟机外M-1个虚拟机中的第j个虚拟机的数据包,i为1至N间任一整数,j为1至M-1间任一整数。
并且所述第j个虚拟机在接收到所述第j个数据包,且所述第j个虚拟机没有创建对应的第j个虚拟机快照时,能够基于所述第j个创建快照开始标记创建所述第j个虚拟机快照,其中,所述第j个虚拟机快照不包括所述第j个数据包中的信息。
在具体实施过程中,当虚拟机集群中的一个虚拟机收到一包含一创建快照开始标记的数据包,并该虚拟机还没有创建对应的虚拟机快照时,处理该包含创建标记的数据包,并开始创建快照,使得创建的快照中不包括该数据包中的信息,进而实现了虚拟机集群中快照状态的一致性。具体的,虚拟机可以丢弃该数据包,也可以移除该数据包中的创建快照标识,但不将该数据包中的信息保存在创建的快照中。只要创建的快照中不包括该数据包的处理方式都可以应用在本申请实施例中。
进一步,在创建虚拟机集群快照期间,即在集群中的一虚拟机正在创建快照的过程中,该虚拟机收到来自虚拟机集群中的其他虚拟机发送的不包含创建快照开始标记的数据包,则保存该数据包的相关信息作为链路信息的一部分。
在具体实施过程中,在创建了虚拟机快照的虚拟机发送的数据包添加快照创建标识的同时,还可以设置一虚拟机快照创建成功标记,用于记录虚拟机的创建快照的状态。例如:在一个虚拟机集群中包括100个虚拟机,在其中89个虚拟机发送的数据包都都设置有虚拟机快照创建成功标记,则表明该集群中89个虚拟机已成功创建了快照。
在本申请实施例中,在创建虚拟机集群快照的过程中,需要对系统的共享资源进行分配控制,即在集群中的每个虚拟机创建快照成功之后,需要判断该虚拟机快照中记录的至少一个共享资源信息是否为独占共享资源信息。
具体的,对于系统中的共享资源信息,以MAC地址为例,假设在创建了虚拟机快照之后,删除了该虚拟机,而一新创建的虚拟机使用了已删除的虚拟机的MAC地址,在后期快照恢复过程中,会出现已删除的虚拟机的快照记录的MAC地址与新创建的虚拟机的MAC地址冲突的情况。
因此,在创建虚拟机即集群快照的过程中,应根据该共享资源的级别为强制性独占共享资源,或者可共享资源,进行判断,在本申请实施例中,共享资源的级别可以是系统默认的,也可以是用户设定的。
在具体实施过程中,假设一虚拟机快照中记录的MAC地址为强制性独占共享资源,则系统会锁定该MAC地址,并记录该MAC地址为独占共享资源,即其他虚拟机都无法使用该MAC地址,在后续的快照恢复过程中,也就不会出现该MAC地址导致的资源冲突问题了。
在本申请实施例中,在虚拟机集群中任一虚拟机收到集群快照创建命令或者包含一创建快照开始标记的数据包,并开始创建对应的虚拟机快照,但是创建快照失败时,记录虚拟机集群快照创建失败信息,并停止创建所述虚拟机集群快照,同时,停止在创建了快照的虚拟机发送的数据包中添加创建快照开始标记。
在本申请实施例中,接下来,用一个完整的例子对创建虚拟机集群快照进行说明,请参考图3。
首先,执行步骤S30,向虚拟机集群中的所有虚拟机发送一集群快照创建指令,在本申请实施例中,虚拟机集群可以有50个虚拟机,也可以有100个虚拟机。
然后执行步骤S31,判断虚拟机集群中的所有虚拟机是否创建快照成功,在所有虚拟机创建快照成功时,执行步骤S32,更新虚拟机集群快照创建成功信息。
在创建虚拟机集群快照的过程中,虚拟机首先执行步骤S33,收到集群快照创建命令或创建快照开始标记,并且该虚拟机还未创建快照则开始创建快照时,执行步骤S34,判断虚拟机快照是否创建成功。在判断结果为是时,执行步骤S35,判断虚拟机是否独占共享资源信息;否则,直接执行步骤S40,记录虚拟机集群快照创建失败信息,并执行步骤S41,停止向所有虚拟机发送的数据包中添加创建快照开始标记。
在具体实施过程中,在步骤S35之后,在判断结果为是时,执行步骤S36,锁定当前快照占用的共享资源信息,在判断结果为否时,执行步骤S37,记录当前快照占用的共享资源信息。
进一步,在步骤S36或者步骤S37之后,执行步骤S38,向虚拟机发送的每个数据包中添加创建快照开始标记,然后执行步骤S39,在数据包中设置一虚拟机创建快照成功标记。在步骤S39之后,返回执行步骤S31。
在本申请实施例中,基于和创建虚拟机快照相同的思想,本申请实施例还提供一种虚拟机集群快照恢复方法,请参考图4,在本申请实施例中,S3恢复虚拟机集群快照同样包括三个步骤。
S301:向所述M个虚拟机发送一集群快照恢复命令。
具体的,所述M个虚拟机中的成功接收到所述集群快照恢复命令的N个虚拟机中每个虚拟机能通过执行所述集群快照恢复命令,以恢复对应的快照,N为1至M间任一整数。
S302:在所述N个虚拟机中的第i个虚拟机基于所述集群快照恢复命令成功恢复第i个虚拟机快照时,在第j个数据包中添加第j个快照恢复开始标记。
其中,所述第j个数据包具体为需要所述N个虚拟机中第i个虚拟机发送给所述M个虚拟机中除所述第i个虚拟机外M-1个虚拟机中的第j个虚拟机的数据包,i为1至N间任一整数,j为1至M-1间任一整数。
S303:将所述第j个数据包发送给所述第j个虚拟机。
具体的,所述第j个虚拟机在接收到所述第j个数据包,且所述第j个虚拟机没有恢复对应的第j个虚拟机快照时,能够基于所述第j个快照恢复开始标记恢复第j个虚拟机快照。
在具体实施过程中,在恢复虚拟机快照之前,所述方法还包括步骤:
判断需要恢复的所述虚拟机集群快照中占用的第一共享资源信息库中的共享资源信息和当前虚拟机集群占用的第二共享资源信息库中的共享资源信息是否冲突。
进一步,在共享资源冲突的情况下,停止恢复虚拟机集群快照,并记录虚拟机集群快照恢复失败信息。
而在共享资源不冲突的情况下,才执行步骤S301。
同样的,由于虚拟机集群的不同节点会分布在不同的物理机上,由于网络通信状况的不确定性、缺乏精确的全局统一时钟及物理机的任务调度差异,很难做到在同一时刻恢复所有虚拟机的快照。
在本申请实施例中,在具体实施过程中,当虚拟机集群中的一个虚拟机收到一包含一快照恢复开始标记的数据包,并且,该虚拟机还没有恢复对应的虚拟机快照时,收到快照恢复开始标记的虚拟机立即开始恢复快照。
在本申请实施例中,在恢复虚拟机集群快照的过程中,需要对系统的共享资源进行分配控制,即在集群中的每个虚拟机的快照恢复成功之后,需要判断该虚拟机是否独占至少一个共享资源信息。
具体的,基于和创建虚拟机快照时相同的原理,假设一虚拟机占用的MAC地址为强制性独占共享资源,则系统会锁定该MAC地址,并记录该MAC地址为独占共享资源。
在本申请实施例中,如果在超时时间内虚拟机集群中所有虚拟机快照恢复成功,则记录虚拟机集群快照恢复成功信息,并停止向所有虚拟机发送的数据包中添加快照恢复开始标记。
并且,在虚拟机集群中任一虚拟机收到集群快照恢复命令或者包含一快照恢复开始标记的数据包,并开始恢复对应的虚拟机快照,但是创建快照失败时,记录虚拟机集群快照恢复失败信息,并停止恢复所述虚拟机集群快照,同时,停止在恢复了快照的虚拟机发送的数据包中添加快照恢复开始标记。
在具体实施过程中,在恢复了虚拟机快照的虚拟机发送的数据包添加快照恢复标识的同时,还可以设置一虚拟机快照恢复成功标记,用于记录虚拟机的恢复快照的状态。
在本申请实施例中,接下来,用一个完整的例子对创建虚拟机集群快照进行说明,请参考图5。
首先,执行步骤S50,判断快照中资源信息是否与系统当前资源冲突,即判断当前需要恢复的虚拟机集群快照中占用的共享资源信息与当前虚拟机集群中所有虚拟机占用的共享资源信息是否冲突。具体的,在判断结果为是时,直接执行步骤S60,记录虚拟机集群快照恢复失败信息,并停止恢复虚拟机集群快照。在判断结果为否时,执行步骤S51,向虚拟机集群中的所有虚拟机发送一集群快照恢复指令。
然后执行步骤S52,判断虚拟机集群中的所有虚拟机是否恢复快照成功。
具体的,如果集群中的所有虚拟机都恢复快照成功,则直接执行步骤S59,更新虚拟机集群快照恢复成功信息,然后执行步骤S61,停止向所有虚拟机发送的数据包中添加快照恢复开始标记。
在恢复虚拟机集群快照的过程中,虚拟机首先执行步骤S53,收到集群快照恢复命令或快照恢复开始标记,并且该虚拟机还未恢复快照则开始恢复快照时,执行步骤S54,判断该虚拟机是否恢复快照成功,在判断结果为是时,执行步骤S55,判断该虚拟机是否独占共享资源;否则,执行步骤S60,记录虚拟机集群快照恢复失败信息,然后执行步骤S61,停止向所有虚拟机发送的数据包中添加快照恢复开始标记。
在具体实施过程中,在步骤S55之后,如果判断结果为是,则执行步骤S56,锁定当前虚拟机占用的共享资源信息;否则,执行步骤S57,记录当前虚拟机占用的共享资源信息。
进一步,在步骤S56或者步骤S57之后,执行步骤S58,向虚拟机发送的每个数据包中添加快照恢复开始标记。然后返回继续执行步骤S52,判断虚拟机集群中的所有虚拟机是否恢复快照成功。
本申请实施例还提供一种删除虚拟机集群快照的方法,请参考图6,在本申请实施例中,S4包括以下两个步骤。
S401:基于所述全局唯一标识查询出所述虚拟机集群的节点。
在本申请实施例中,全局唯一标识为虚拟机集群快照的全局唯一标识,基于上述全局唯一标识查询出所述虚拟机集群的节点,还有虚拟机快照信息,包括每个虚拟机的全局唯一标识、对应的快照的全局唯一标识以及每个虚拟机所属物理机的全局唯一标识。
S402:基于所述节点分布的至少一个物理机发送一集群快照删除命令。
具体的,所述至少一个物理机上安装的所述M个虚拟机中的成功接收到所述集群快照删除命令的P个虚拟机中每个虚拟机能通过执行所述集群快照删除命令,以删除对应的虚拟机快照,P为1至M间任一整数。
在本申请实施例中,在删除了虚拟机的快照之后,所述方法还包括:判断所述删除了快照的虚拟机是否独占至少一个共享资源信息。
具体的,当删除了快照的虚拟机独占至少一个共享资源信息时,释放所述至少一个共享资源信息,对于释放的共享资源信息,系统中的其他虚拟机能够使用该共享资源。
在本申请实施例中,在超时时间内,判断虚拟机集群中是否所有虚拟机都删除了快照,如果还有未删除相应快照的虚拟机,则对该收到虚拟机集群快照删除命令的虚拟机删除相应快照。如果集群中某个虚拟机的快照删除失败则整个虚拟机集群快照删除失败,此时,记录虚拟机集群删除快照失败信息,并结束虚拟机集群快照的删除。如果虚拟机快照删除成功,则更新当前系统占用的共享资源信息。
并且,如果在超时时间内虚拟机集群中所有虚拟机快照删除成功,则更新该虚拟机集群快照删除成功信息。
实施例二
本申请实施例提供一种虚拟机集群的在线快照管理装置,请参考图7,应用于虚拟机集群中的在线快照管理系统中,所述虚拟机集群中包含有M个虚拟机,M为大于等于2的整数,所述装置包括:
一致性集群快照管理模块71,用于创建、恢复和删除所述虚拟机集群的一致性虚拟机集群快照,所述一致性虚拟机集群快照包括在同一时刻所述M个虚拟机创建的M个虚拟机快照,和在创建所述虚拟机集群快照期间,产生在所述M个虚拟机之间的链路信息。
在本申请实施例中,由于存在许多导致不同虚拟机保存的快照之间存在状态不一致的因素,负责保障创建和恢复虚拟机集群快照时的一致性。
具体的,所述一致性集群快照管理模块71的作用在于在所述M个虚拟机中的第i个虚拟机创建了第i个虚拟机快照时,在所述在第j个数据包中添加第j个创建快照开始标记,或
在所述M个虚拟机中的第i个虚拟机恢复了第i个虚拟机快照时,在所述在第j个数据包中添加第j个快照恢复开始标记,其中,所述第j个数据包具体为需要所述第i个虚拟机发送给所述M个虚拟机中除所述第i个虚拟机外M-1个虚拟机中的第j个虚拟机的数据包,i为1至N间任一整数,j为1至M-1间任一整数。
即在创建或者恢复虚拟机集群快照过程中,向每个创建或者恢复快照完成的虚拟机的发送数据包中添加一个特殊标记,接受到该标记的虚拟机立即开始创建或者恢复快照,则不会出现已经创建完快照的虚拟机向未创建快照的虚拟机发送数据,从而保证了虚拟机集群的快照一致性。
可选的,为了对共享资源信息进行分配控制,所述装置还包括:全局资源信息管理模块72,用于在所述M个虚拟机中的第i个虚拟机创建了对应的虚拟机快照之后,判断所述第i个虚拟机是否独占至少一个共享资源信息,获得第一判断结果;当所述第一判断结果为是时,在所述在线快照管理系统中,锁定所述至少一个共享资源信息。
并且,所述全局资源信息管理模块72还用于在恢复所述虚拟机集群快照快照之前,判断需要恢复的所述虚拟机集群快照中占用的第一共享资源信息库和当前虚拟机集群占用的第二共享资源信息库是否冲突,获得第二判断结果;
当所述第二判断结果为是时,记录虚拟机集群快照恢复失败信息。
具体的,基于实施例一中的对系统的共享资源进行分配控制的原理,所述全局资源信息管理模块72的作用在于防止恢复虚拟机集群快照时,由于共享资源冲突导致虚拟机集群快照不可用的情况。
可选的,为了管理安装在不同物理机上的虚拟机,所述装置还包括:
虚拟机集群节点信息管理模块73,用于基于所述虚拟机集群的全局唯一标识,查询出所述M个虚拟机中每个虚拟机的信息,包括所述每个虚拟机的全局唯一标识和所述每个虚拟机所属物理机的全局唯一标识。
可选的,为了管理虚拟机集群的快照信息,所述装置还包括:虚拟机集群快照信息管理模块74,在所述M个虚拟机创建了所述M个虚拟机快照时,用于确定所述M个虚拟机快照的名称,并更新存储于所述在线快照管理系统中的第一集群快照信息库,获得经更新的第二集群快照信息库;其中,第二集群快照信息库包括:所述每个虚拟机的全局唯一标识和所述M个虚拟机快照的全局唯一标识。
可选的,为了周期性的自动完成虚拟机集群快照的创建,所述装置还包括:
周期性快照创建模块75,用于控制所述一致性集群快照管理模块71、所述全局资源信息管理模块72和所述虚拟机集群节点信息管理模块73相配合,周期性的创建所述虚拟机集群快照。
可选的,所述装置还包括:
虚拟机集群及快照信息数据源模块76,用于存储所述虚拟机集群的全局唯一标识、所述M个虚拟机的全局唯一标识、所述每个虚拟机所属物理机的全局唯一标识、所述虚拟机集群快照的全局唯一标识、所述M个虚拟机快照的全局唯一标识、所述第一共享资源信息库和所述第二共享资源信息库。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
1、由于本申请实施例针对一包括M个虚拟机的虚拟机集群,通过创建所述虚拟机集群的一致性虚拟机集群快照,所述一致性虚拟机集群快照包括在同一时刻所述M个虚拟机创建的M个虚拟机快照,和在创建所述虚拟机集群快照期间,产生在所述M个虚拟机之间的链路信息;在所述M个虚拟机中的每个虚机创建了对应的虚拟机快照时,生成所述虚拟机集群快照的全局唯一标识,并更新存储于所述在线快照管理系统中的第一集群快照信息库,获得经更新的第二集群快照信息库;恢复所述虚拟机集群快照,并在所述每个虚拟机恢复了对应的虚拟机快照时,记录虚拟机集群快照恢复成功信息;删除所述虚拟机集群快照,并在所述每个虚拟机删除了对应的虚拟机快照时,记录虚拟机集群快照删除成功信息。
可见,由于本申请实施例中创建的虚拟机集群快照既包括在同一时刻虚拟机集群中M个虚拟机创建的M个虚拟机快照,也包括在创建所述虚拟机集群快照期间,产生在所述M个虚拟机之间的链路信息,一方面,本申请实施例采用并发方式执行创建和恢复快照操作,比基于单虚拟机的方案效率高,另一方面,本申请实施例中在恢复快照之后,不需要应用程序之间重新建立连接,可用于恢复整个系统的状态,不会影响系统中应用程序的性能,并且,本申请实施例中的方案适用于不同的文件系统和多种虚拟化技术,因此,本申请实施例中的方案消除了现有技术中存在云计算平台中虚拟机集群的整体回滚能力低的技术问题,提高了云计算平台中虚拟机集群的整体回滚能力。
2、由于本申请实施例中,在第i个虚拟机创建第i个虚拟机快照之后,会判断所述第i个虚拟机是否独占至少一个共享资源信息,在第i个虚拟机独占至少一个共享资源信息时,在所述在线快照管理系统中,锁定所述第i个虚拟机快照占用至少一个共享资源信息。由于云计算系统中某些共享资源可能被其他虚拟机占用,如:MAC地址、IP地址、计算机名等,因此,在恢复快照时可能出现资源冲突,而导致快照不可用,本申请实施例中的方案对独占的共享资源进行锁定,锁定后的共享资源不会被集群中的其他虚拟机使用,因此,本申请实施例中的方案实现了对云计算系统平台中共享资源的分配进行控制,防止快照中记录的共享资源被其他虚拟机占用,而造成快照恢复时资源冲突,快照不可用的情况,进而提高了云计算平台中虚拟机集群的整体回滚能力。
具体来讲,本申请实施例中的信息处理方法对应的计算机程序指令可以被存储在光盘,硬盘,U盘等存储介质上,当存储介质中的与信息处理方法对应的计算机程序指令被一电子设备读取或被执行时,包括如下步骤:
创建所述虚拟机集群的一致性虚拟机集群快照,所述一致性虚拟机集群快照包括在同一时刻所述M个虚拟机创建的M个虚拟机快照,和在创建所述虚拟机集群快照期间,产生在所述M个虚拟机之间的链路信息;
在所述M个虚拟机中的每个虚机创建了对应的虚拟机快照时,生成所述虚拟机集群快照的全局唯一标识,并更新存储于所述在线快照管理系统中的第一集群快照信息库,获得经更新的第二集群快照信息库;
恢复所述虚拟机集群快照,并在所述每个虚拟机恢复了对应的虚拟机快照时,记录虚拟机集群快照恢复成功信息;
删除所述虚拟机集群快照,并在所述每个虚拟机删除了对应的虚拟机快照时,记录虚拟机集群快照删除成功信息。
可选的,所述存储介质中存储的与步骤:创建所述虚拟机集群的一致性虚拟机集群快照,对应的计算机指令在具体被执行过程中,具体包括如下步骤:
向所述M个虚拟机发送一集群快照创建命令,以使所述M个虚拟机中的成功接收到所述集群快照创建命令的N个虚拟机中每个虚拟机能通过执行所述集群快照创建命令,以创建对应的虚拟机快照,N为1至M间任一整数;
在所述N个虚拟机中的第i个虚拟机基于所述集群快照创建命令成功创建第i个虚拟机快照时,在第j个数据包中添加第j个创建快照开始标记,其中,所述第j个数据包具体为需要所述第i个虚拟机发送给所述M个虚拟机中除所述第i个虚拟机外M-1个虚拟机中的第j个虚拟机的数据包,i为1至N间任一整数,j为1至M-1间任一整数;
将所述第j个数据包发送给所述第j个虚拟机,以使所述第j个虚拟机在接收到所述第j个数据包,且所述第j个虚拟机没有创建对应的第j个虚拟机快照时,能够基于所述第j个创建快照开始标记创建所述第j个虚拟机快照,其中,所述第j个虚拟机快照不包括所述第j个数据包中的信息。
可选的,所述存储介质中存储的与步骤:在所述N个虚拟机中的第i个虚拟机基于所述集群快照创建命令成功创建第i个虚拟机快照时,在第j个数据包中添加第j个创建快照开始标记,对应的计算机指令在具体被执行过程中,具体包括如下步骤:
判断所述M个虚拟机中的每个虚机是否创建了对应的虚拟机快照,获得第一判断结果;
当所述第一判断结果为否时,判断所述第i个虚拟机是否成功创建了第i个虚拟机快照,获得第二判断结果;
在所述第二判断结果为是时,在所述第j个数据包中添加所述第j个创建快照开始标记。
可选的,所述存储介质中存储的与步骤:在所述第二判断结果为是时,在所述第j个数据包中添加所述第j个创建快照开始标记,具体包括如下步骤:
判断所述第i个虚拟机是否独占至少一个共享资源信息,获得第四判断结果;
当所述第四判断结果为是时,在所述在线快照管理系统中,锁定所述第i个虚拟机快照占用至少一个共享资源信息;
在所述第j个数据包中添加所述第j个创建快照开始标记。
可选的,所述存储介质中还存储有另外一些计算机指令,这些计算机指令在与步骤:判断所述第i个虚拟机是否独占至少一个共享资源信息,获得第四判断结果,对应的计算机指令被执行之后被执行,在被执行时包括如下步骤:
当所述第四判断结果为否时,在所述在线快照管理系统中,记录所述第i个虚拟机快照占用的至少一个共享资源信息;
在所述第j个数据包中添加所述第j个创建快照开始标记。
可选的,所述存储介质中还存储有另外一些计算机指令,这些计算机指令在与步骤:将所述第j个数据包发送给所述第j个虚拟机,对应的计算机指令被执行之后被执行,在被执行时包括如下步骤:
判断所述第j个虚拟机是否成功创建了所述第j个虚拟机快照,获得第五判断结果;
当所述第五判断结果为是时,执行步骤:判断所述M个虚拟机中的每个虚机是否创建了对应的虚拟机快照,获得所述第一判断结果。
可选的,所述存储介质中还存储有另外一些计算机指令,这些计算机指令在与步骤:判断所述第j个虚拟机是否成功创建了所述第j个虚拟机快照,获得第五判断结果,对应的计算机指令被执行之后被执行,在被执行时包括如下步骤:
当所述第五判断结果为否时,记录虚拟机集群快照创建失败信息。
可选的,所述存储介质中存储的与步骤:恢复所述虚拟机集群快照,对应的计算机指令在具体被执行过程中,具体包括如下步骤:
向所述M个虚拟机发送一集群快照恢复命令,以使所述M个虚拟机中的成功接收到所述集群快照恢复命令的N个虚拟机中每个虚拟机能通过执行所述集群快照恢复命令,以恢复对应的快照,N为1至M间任一整数;
在所述N个虚拟机中的第i个虚拟机基于所述集群快照恢复命令成功恢复第i个虚拟机快照时,在第j个数据包中添加第j个快照恢复开始标记,其中,所述第j个数据包具体为需要所述N个虚拟机中第i个虚拟机发送给所述M个虚拟机中除所述第i个虚拟机外M-1个虚拟机中的第j个虚拟机的数据包,i为1至N间任一整数,j为1至M-1间任一整数;
将所述第j个数据包发送给所述第j个虚拟机,以使所述第j个虚拟机在接收到所述第j个数据包,且所述第j个虚拟机没有恢复对应的第j个虚拟机快照时,能够基于所述第j个快照恢复开始标记恢复第j个虚拟机快照。
可选的,所述存储介质中存储的与步骤:向所述M个虚拟机发送一集群快照恢复命令,对应的计算机指令在具体被执行过程中,具体包括如下步骤:
查询需要恢复的所述虚拟机集群快照中占用的第一共享资源信息库和当前虚拟机集群占用的第二共享资源信息库;
判断所述第一共享资源信息库和第二共享资源信息库是否冲突,获得第一判断结果;
当所述第一判断结果为否时,向所述M个虚拟机发送所述集群快照恢复命令。
可选的,所述存储介质中存储的与步骤:在所述N个虚拟机中的第i个虚拟机基于所述集群快照恢复命令成功恢复第i个虚拟机快照时,在第j个数据包中添加第j个快照恢复开始标记,对应的计算机指令在具体被执行过程中,具体包括如下步骤:
判断所述M个虚拟机中的每个虚机是否恢复了对应的虚拟机快照,获得第二判断结果;
当所述第二判断结果为否时,判断所述第i个虚拟机是否成功恢复了第i个虚拟机快照,获得第三判断结果;
在所述第三判断结果为是时,在所述第j个数据包中添加所述第j个恢复快照标记。
可选的,所述存储介质中存储的与步骤:在所述第三判断结果为是时,在所述第j个数据包中添加所述第j个恢复快照标记,对应的计算机指令在具体被执行过程中,具体包括如下步骤:
判断所述第i个虚拟机是否独占至少一个共享资源信息,获得第四判断结果;
当所述第四判断结果为是时,在所述在线快照管理系统中,锁定所述至少一个共享资源信息;
在所述第j个数据包中添加所述第j个恢复快照标记。
可选的,所述存储介质中还存储有另外一些计算机指令,这些计算机指令在与步骤:判断所述第i个虚拟机是否独占至少一个共享资源信息,获得第四判断结果,对应的计算机指令被执行之后被执行,在被执行时包括如下步骤:
当所述第四判断结果为否时,在所述在线快照管理系统中,记录所述至少一个共享资源信息;
在所述第j个数据包中添加所述第j个恢复快照标记。
可选的,所述存储介质中还存储有另外一些计算机指令,这些计算机指令在与步骤:将所述第j个数据包发送给所述第j个虚拟机,对应的计算机指令被执行之后被执行,在被执行时包括如下步骤:
判断所述第j个虚拟机是否成功恢复了所述第j个虚拟机快照,获得第五判断结果;
当所述第五判断结果为是时,执行步骤:判断所述M个虚拟机中的每个虚机是否恢复了对应的虚拟机快照,获得第二判断结果。
可选的,所述存储介质中还存储有另外一些计算机指令,这些计算机指令在与步骤:判断所述第一共享资源信息库和第二共享资源信息库是否冲突,获得第一判断结果,或判断所述第j个虚拟机是否成功恢复了所述第j个虚拟机快照,获得第五判断结果,对应的计算机指令被执行之后被执行,在被执行时包括如下步骤:
当所述第一判断结果为是时,或当所述第五判断结果为否时,记录虚拟机集群快照恢复失败信息。
可选的,所述存储介质中存储的与步骤:删除所述虚拟机集群快照,对应的计算机指令在具体被执行过程中,具体包括如下步骤:
基于所述全局唯一标识查询出所述虚拟机集群的节点;
向基于所述节点分布的至少一个物理机发送一集群快照删除命令,以使所述至少一个物理机上安装的所述M个虚拟机中的成功接收到所述集群快照删除命令的P个虚拟机中每个虚拟机能通过执行所述集群快照删除命令,以删除对应的虚拟机快照,P为1至M间任一整数。
可选的,所述存储介质中还存储有另外一些计算机指令,这些计算机指令在与步骤:向所述节点分布的所有物理机发送一集群快照删除命令,对应的计算机指令被执行之后被执行,在被执行时包括如下步骤:
在所述P个虚拟机中的第k个虚拟机收到所述集群快照删除命令之后,判断所述P个虚拟机中的第k个虚拟机是否成功删除了第k个虚拟机快照,获得第六判断结果;
当第六判断结果为是时,判断所述第k个虚拟机是否独占至少一个共享资源信息,获得第七判断结果;
当第七判断结果为是时,释放所述至少一个共享资源信息。
可选的,所述存储介质中还存储有另外一些计算机指令,这些计算机指令在与步骤:判断所述第k个虚拟机是否独占至少一个共享资源信息,获得第七判断结果,对应的计算机指令被执行之后被执行,在被执行时包括如下步骤:
当第七判断结果为否时,记录所述至少一个共享资源信息。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (25)
1.一种虚拟机集群的在线快照管理方法,应用于虚拟机集群中的在线快照管理系统中,所述虚拟机集群中包含有M个虚拟机,M为大于等于2的整数,所述方法包括:
创建所述虚拟机集群的一致性虚拟机集群快照,所述一致性虚拟机集群快照包括在同一时刻所述M个虚拟机创建的M个虚拟机快照,和在创建所述虚拟机集群快照期间,产生在所述M个虚拟机之间的链路信息;
在所述M个虚拟机中的每个虚机创建了对应的虚拟机快照时,生成所述虚拟机集群快照的全局唯一标识,并更新存储于所述在线快照管理系统中的第一集群快照信息库,获得经更新的第二集群快照信息库;
恢复所述虚拟机集群快照,并在所述每个虚拟机恢复了对应的虚拟机快照时,记录虚拟机集群快照恢复成功信息;
删除所述虚拟机集群快照,并在所述每个虚拟机删除了对应的虚拟机快照时,记录虚拟机集群快照删除成功信息。
2.如权利要求1所述的方法,其特征在于,所述创建所述虚拟机集群的一致性虚拟机集群快照,具体包括:
向所述M个虚拟机发送一集群快照创建命令,以使所述M个虚拟机中的成功接收到所述集群快照创建命令的N个虚拟机中每个虚拟机能通过执行所述集群快照创建命令,以创建对应的虚拟机快照,N为1至M间任一整数;
在所述N个虚拟机中的第i个虚拟机基于所述集群快照创建命令成功创建第i个虚拟机快照时,在第j个数据包中添加第j个创建快照开始标记,其中,所述第j个数据包具体为需要所述第i个虚拟机发送给所述M个虚拟机中除所述第i个虚拟机外M-1个虚拟机中的第j个虚拟机的数据包,i为1至N间任一整数,j为1至M-1间任一整数;
将所述第j个数据包发送给所述第j个虚拟机,以使所述第j个虚拟机在接收到所述第j个数据包,且所述第j个虚拟机没有创建对应的第j个虚拟机快照时,能够基于所述第j个创建快照开始标记创建所述第j个虚拟机快照,其中,所述第j个虚拟机快照不包括所述第j个数据包中的信息。
3.如权利要求2所述的方法,其特征在于,所述在所述N个虚拟机中的第i个虚拟机基于所述集群快照创建命令成功创建第i个虚拟机快照时,在第j个数据包中添加第j个创建快照开始标记,具体包括:
判断所述M个虚拟机中的每个虚机是否创建了对应的虚拟机快照,获得第一判断结果;
当所述第一判断结果为否时,判断所述第i个虚拟机是否成功创建了第i个虚拟机快照,获得第二判断结果;
在所述第二判断结果为是时,在所述第j个数据包中添加所述第j个创建快照开始标记。
4.如权利要求3所述的方法,其特征在于,所述在所述第二判断结果为是时,在所述第j个数据包中添加所述第j个创建快照开始标记,具体包括:
判断所述第i个虚拟机是否独占至少一个共享资源信息,获得第四判断结果;
当所述第四判断结果为是时,在所述在线快照管理系统中,锁定所述第i个虚拟机快照占用至少一个共享资源信息;
在所述第j个数据包中添加所述第j个创建快照开始标记。
5.如权利要求4所述的方法,其特征在于,在所述判断所述第i个虚拟机是否独占至少一个共享资源信息,获得第四判断结果之后,所述方法还包括:
当所述第四判断结果为否时,在所述在线快照管理系统中,记录所述第i个虚拟机快照占用的至少一个共享资源信息;
在所述第j个数据包中添加所述第j个创建快照开始标记。
6.如权利要求3所述的方法,其特征在于,在所述将所述第j个数据包发送给所述第j个虚拟机之后,所述方法还包括:
判断所述第j个虚拟机是否成功创建了所述第j个虚拟机快照,获得第五判断结果;
当所述第五判断结果为是时,执行步骤:判断所述M个虚拟机中的每个虚机是否创建了对应的虚拟机快照,获得所述第一判断结果。
7.如权利要求6所述的方法,其特征在于,在所述判断所述第j个虚拟机是否成功创建了所述第j个虚拟机快照,获得第五判断结果之后,所述方法还包括:
当所述第五判断结果为否时,记录虚拟机集群快照创建失败信息。
8.如权利要求1所述的方法,其特征在于,所述恢复所述虚拟机集群快照,具体包括:
向所述M个虚拟机发送一集群快照恢复命令,以使所述M个虚拟机中的成功接收到所述集群快照恢复命令的N个虚拟机中每个虚拟机能通过执行所述集群快照恢复命令,以恢复对应的快照,N为1至M间任一整数;
在所述N个虚拟机中的第i个虚拟机基于所述集群快照恢复命令成功恢复第i个虚拟机快照时,在第j个数据包中添加第j个快照恢复开始标记,其中,所述第j个数据包具体为需要所述N个虚拟机中第i个虚拟机发送给所述M个虚拟机中除所述第i个虚拟机外M-1个虚拟机中的第j个虚拟机的数据包,i为1至N间任一整数,j为1至M-1间任一整数;
将所述第j个数据包发送给所述第j个虚拟机,以使所述第j个虚拟机在接收到所述第j个数据包,且所述第j个虚拟机没有恢复对应的第j个虚拟机快照时,能够基于所述第j个快照恢复开始标记恢复第j个虚拟机快照。
9.如权利要求8所述的方法,其特征在于,所述向所述M个虚拟机发送一集群快照恢复命令,具体包括:
查询需要恢复的所述虚拟机集群快照中占用的第一共享资源信息库和当前虚拟机集群占用的第二共享资源信息库;
判断所述第一共享资源信息库和第二共享资源信息库是否冲突,获得第一判断结果;
当所述第一判断结果为否时,向所述M个虚拟机发送所述集群快照恢复命令。
10.如权利要求9所述的方法,其特征在于,所述在所述N个虚拟机中的第i个虚拟机基于所述集群快照恢复命令成功恢复第i个虚拟机快照时,在第j个数据包中添加第j个快照恢复开始标记,具体包括:
判断所述M个虚拟机中的每个虚机是否恢复了对应的虚拟机快照,获得第二判断结果;
当所述第二判断结果为否时,判断所述第i个虚拟机是否成功恢复了第i个虚拟机快照,获得第三判断结果;
在所述第三判断结果为是时,在所述第j个数据包中添加所述第j个恢复快照标记。
11.如权利要求10所述的方法,其特征在于,所述在所述第三判断结果为是时,在所述第j个数据包中添加所述第j个恢复快照标记,具体包括:
判断所述第i个虚拟机是否独占至少一个共享资源信息,获得第四判断结果;
当所述第四判断结果为是时,在所述在线快照管理系统中,锁定所述至少一个共享资源信息;
在所述第j个数据包中添加所述第j个恢复快照标记。
12.如权利要求11所述的方法,其特征在于,在所述判断所述第i个虚拟机是否独占至少一个共享资源信息,获得第四判断结果之后,所述方法还包括:
当所述第四判断结果为否时,在所述在线快照管理系统中,记录所述至少一个共享资源信息;
在所述第j个数据包中添加所述第j个恢复快照标记。
13.如权利要求8所述的方法,其特征在于,在所述将所述第j个数据包发送给所述第j个虚拟机之后,所述方法还包括:
判断所述第j个虚拟机是否成功恢复了所述第j个虚拟机快照,获得第五判断结果;
当所述第五判断结果为是时,执行步骤:判断所述M个虚拟机中的每个虚机是否恢复了对应的虚拟机快照,获得第二判断结果。
14.如权利要求8或13所述的方法,其特征在于,在所述在判断所述第一共享资源信息库和第二共享资源信息库是否冲突,获得第一判断结果之后,或在所述判断所述第j个虚拟机是否成功恢复了所述第j个虚拟机快照,获得第五判断结果之后,所述方法还包括:
当所述第一判断结果为是时,或当所述第五判断结果为否时,记录虚拟机集群快照恢复失败信息。
15.如权利要求1所述的方法,其特征在于,所述删除所述虚拟机集群快照,具体包括:
基于所述全局唯一标识查询出所述虚拟机集群的节点;
向基于所述节点分布的至少一个物理机发送一集群快照删除命令,以使所述至少一个物理机上安装的所述M个虚拟机中的成功接收到所述集群快照删除命令的P个虚拟机中每个虚拟机能通过执行所述集群快照删除命令,以删除对应的虚拟机快照,P为1至M间任一整数。
16.如权利要求15所述的方法,其特征在于,在所述向所述节点分布的所有物理机发送一集群快照删除命令之后,所述方法还包括:
在所述P个虚拟机中的第k个虚拟机收到所述集群快照删除命令之后,判断所述P个虚拟机中的第k个虚拟机是否成功删除了第k个虚拟机快照,获得第六判断结果;
当第六判断结果为是时,判断所述第k个虚拟机是否独占至少一个共享资源信息,获得第七判断结果;
当第七判断结果为是时,释放所述至少一个共享资源信息。
17.如权利要求16所述的方法,其特征在于,在所述判断所述第k个虚拟机是否独占至少一个共享资源信息,获得第七判断结果之后,所述方法还包括:
当第七判断结果为否时,记录所述至少一个共享资源信息。
18.一种虚拟机集群的在线快照管理装置,应用于虚拟机集群中的在线快照管理系统中,所述虚拟机集群中包含有M个虚拟机,M为大于等于2的整数,所述装置包括:
一致性集群快照管理模块,用于创建、恢复和删除所述虚拟机集群的一致性虚拟机集群快照,所述一致性虚拟机集群快照包括在同一时刻所述M个虚拟机创建的M个虚拟机快照,和在创建所述虚拟机集群快照期间,产生在所述M个虚拟机之间的链路信息。
19.如权利要求18所述的装置,其特征在于,所述一致性集群快照管理模块还用于:
在所述M个虚拟机中的第i个虚拟机创建了第i个虚拟机快照时,在所述在第j个数据包中添加第j个创建快照开始标记,或
在所述M个虚拟机中的第i个虚拟机恢复了第i个虚拟机快照时,在所述在第j个数据包中添加第j个快照恢复开始标记,其中,所述第j个数据包具体为需要所述第i个虚拟机发送给所述M个虚拟机中除所述第i个虚拟机外M-1个虚拟机中的第j个虚拟机的数据包,i为1至N间任一整数,j为1至M-1间任一整数。
20.如权利要求18所述的装置,其特征在于,所述装置还包括:
全局资源信息管理模块,用于在所述M个虚拟机中的第i个虚拟机创建了对应的虚拟机快照之后,判断所述第i个虚拟机是否独占至少一个共享资源信息,获得第一判断结果;
当所述第一判断结果为是时,在所述在线快照管理系统中,锁定所述至少一个共享资源信息。
21.如权利要求20所述的装置,其特征在于,所述全局资源信息管理模块还用于在恢复所述虚拟机集群快照快照之前,判断需要恢复的所述虚拟机集群快照中占用的第一共享资源信息库和当前虚拟机集群占用的第二共享资源信息库是否冲突,获得第二判断结果;
当所述第二判断结果为是时,记录虚拟机集群快照恢复失败信息。
22.如权利要求21所述的装置,其特征在于,所述装置还包括:
虚拟机集群节点信息管理模块,用于基于所述虚拟机集群的全局唯一标识,查询出所述M个虚拟机中每个虚拟机的信息,包括所述每个虚拟机的全局唯一标识和所述每个虚拟机所属物理机的全局唯一标识。
23.如权利要求22所述的装置,其特征在于,所述装置还包括:
虚拟机集群快照信息管理模块,在所述M个虚拟机创建了所述M个虚拟机快照时,用于确定所述M个虚拟机快照的名称,并更新存储于所述在线快照管理系统中的第一集群快照信息库,获得经更新的第二集群快照信息库;
第二集群快照信息库包括:所述每个虚拟机的全局唯一标识和所述M个虚拟机快照的全局唯一标识。
24.如权利要求23所述的装置,其特征在于,所述装置还包括:
周期性快照创建模块,用于控制所述一致性集群快照管理模块、所述全局资源信息管理模块和所述虚拟机集群节点信息管理模块相配合,周期性的创建所述虚拟机集群快照。
25.如权利要求24所述的装置,其特征在于,所述装置还包括:
虚拟机集群及快照信息数据源模块,用于存储所述虚拟机集群的全局唯一标识、所述M个虚拟机的全局唯一标识、所述每个虚拟机所属物理机的全局唯一标识、所述虚拟机集群快照的全局唯一标识、所述M个虚拟机快照的全局唯一标识、所述第一共享资源信息库和所述第二共享资源信息库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410024971.XA CN104793981B (zh) | 2014-01-20 | 2014-01-20 | 一种虚拟机集群的在线快照管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410024971.XA CN104793981B (zh) | 2014-01-20 | 2014-01-20 | 一种虚拟机集群的在线快照管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104793981A true CN104793981A (zh) | 2015-07-22 |
CN104793981B CN104793981B (zh) | 2018-08-31 |
Family
ID=53558797
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410024971.XA Active CN104793981B (zh) | 2014-01-20 | 2014-01-20 | 一种虚拟机集群的在线快照管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104793981B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105242990A (zh) * | 2015-10-28 | 2016-01-13 | 浪潮(北京)电子信息产业有限公司 | 基于云平台的数据备份方法和装置 |
CN109542841A (zh) * | 2018-10-25 | 2019-03-29 | 平安科技(深圳)有限公司 | 集群中创建数据快照的方法及终端设备 |
CN109783198A (zh) * | 2019-01-29 | 2019-05-21 | 中山大学 | 一种批量大数据实验环境的快速自动构建方法 |
CN109947599A (zh) * | 2019-03-25 | 2019-06-28 | 北京百度网讯科技有限公司 | 多集群管理方法及装置、集群内管理方法及装置 |
CN110865873A (zh) * | 2019-11-20 | 2020-03-06 | 西安雷风电子科技有限公司 | 一种虚拟机资源动态停机及恢复方法 |
CN111008095A (zh) * | 2019-12-17 | 2020-04-14 | 山东超越数控电子股份有限公司 | 一种面向边缘云的状态快照生成和恢复方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1619522A (zh) * | 2003-11-17 | 2005-05-25 | 联想(北京)有限公司 | 机群文件服务系统及其输入输出处理方法 |
CN101414277A (zh) * | 2008-11-06 | 2009-04-22 | 清华大学 | 一种基于虚拟机的按需增量恢复容灾系统及方法 |
CN102520881A (zh) * | 2011-12-02 | 2012-06-27 | 中标软件有限公司 | 一种云计算平台的虚拟机快照管理方法和系统 |
CN102821158A (zh) * | 2012-08-20 | 2012-12-12 | 广州杰赛科技股份有限公司 | 一种实现虚拟机迁移的方法和云系统 |
CN102981931A (zh) * | 2012-12-03 | 2013-03-20 | 中国联合网络通信集团有限公司 | 虚拟机备份方法及装置 |
CN103176831A (zh) * | 2011-12-22 | 2013-06-26 | 中国移动通信集团公司 | 一种虚拟机系统及其管理方法 |
-
2014
- 2014-01-20 CN CN201410024971.XA patent/CN104793981B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1619522A (zh) * | 2003-11-17 | 2005-05-25 | 联想(北京)有限公司 | 机群文件服务系统及其输入输出处理方法 |
CN101414277A (zh) * | 2008-11-06 | 2009-04-22 | 清华大学 | 一种基于虚拟机的按需增量恢复容灾系统及方法 |
CN102520881A (zh) * | 2011-12-02 | 2012-06-27 | 中标软件有限公司 | 一种云计算平台的虚拟机快照管理方法和系统 |
CN103176831A (zh) * | 2011-12-22 | 2013-06-26 | 中国移动通信集团公司 | 一种虚拟机系统及其管理方法 |
CN102821158A (zh) * | 2012-08-20 | 2012-12-12 | 广州杰赛科技股份有限公司 | 一种实现虚拟机迁移的方法和云系统 |
CN102981931A (zh) * | 2012-12-03 | 2013-03-20 | 中国联合网络通信集团有限公司 | 虚拟机备份方法及装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105242990A (zh) * | 2015-10-28 | 2016-01-13 | 浪潮(北京)电子信息产业有限公司 | 基于云平台的数据备份方法和装置 |
CN109542841A (zh) * | 2018-10-25 | 2019-03-29 | 平安科技(深圳)有限公司 | 集群中创建数据快照的方法及终端设备 |
CN109542841B (zh) * | 2018-10-25 | 2023-05-26 | 平安科技(深圳)有限公司 | 集群中创建数据快照的方法及终端设备 |
CN109783198A (zh) * | 2019-01-29 | 2019-05-21 | 中山大学 | 一种批量大数据实验环境的快速自动构建方法 |
CN109783198B (zh) * | 2019-01-29 | 2023-01-20 | 中山大学 | 一种批量大数据实验环境的快速自动构建方法 |
CN109947599A (zh) * | 2019-03-25 | 2019-06-28 | 北京百度网讯科技有限公司 | 多集群管理方法及装置、集群内管理方法及装置 |
CN110865873A (zh) * | 2019-11-20 | 2020-03-06 | 西安雷风电子科技有限公司 | 一种虚拟机资源动态停机及恢复方法 |
CN111008095A (zh) * | 2019-12-17 | 2020-04-14 | 山东超越数控电子股份有限公司 | 一种面向边缘云的状态快照生成和恢复方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104793981B (zh) | 2018-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101970839B1 (ko) | 서비스의 2차 위치에서의 작업의 재생 기법 | |
CN102981931B (zh) | 虚拟机备份方法及装置 | |
CN102594849B (zh) | 数据备份、恢复方法、虚拟机快照删除、回滚方法及装置 | |
US8090917B2 (en) | Managing storage and migration of backup data | |
US20180285216A1 (en) | Virtual Machine Recovery Method and Virtual Machine Management Device | |
CN104793981A (zh) | 一种虚拟机集群的在线快照管理方法及装置 | |
CN103152390B (zh) | 分布式存储系统的节点配置方法、装置、节点及系统 | |
CN105635311A (zh) | 一种云管理平台中资源池信息同步的方法 | |
CN105095317A (zh) | 分布式数据库服务管理系统 | |
CN112052230B (zh) | 多机房数据同步方法、计算设备及存储介质 | |
CN104346373A (zh) | 分区日志队列同步管理方法及设备 | |
US10795579B2 (en) | Methods, apparatuses, system and computer program products for reclaiming storage units | |
US10620871B1 (en) | Storage scheme for a distributed storage system | |
CN109407975B (zh) | 写数据方法与计算节点以及分布式存储系统 | |
CN112035062B (zh) | 云计算的本地存储的迁移方法、计算机设备及存储介质 | |
CN105740049B (zh) | 一种控制方法及装置 | |
US11500812B2 (en) | Intermediate file processing method, client, server, and system | |
US10652329B1 (en) | Cluster virtual machines | |
CN109542841B (zh) | 集群中创建数据快照的方法及终端设备 | |
CN115756955A (zh) | 一种数据备份、数据恢复的方法、装置及计算机设备 | |
CN111399753A (zh) | 写入图片的方法和装置 | |
CN107623705B (zh) | 基于视频云存储系统的存储模式升级方法、装置和系统 | |
JP2009251756A (ja) | クライアント装置、分散ファイルシステム、共有リソース多重化方法およびプログラム | |
CN111756800A (zh) | 一种处理突发流量的方法和系统 | |
CN110704249A (zh) | 一种保证应用一致性的方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |