本发明涉及计算机技术领域,尤其涉及一种管理链接克隆母卷的方法和装置。
背景技术:
链接克隆是虚拟化技术中一项重要的功能特性,具有创建速度快、占用存储空间小的优点,非常适合于同质化用户、桌面高度标准化的场景。链接克隆技术的原理如图1所示,通过将链接克隆母卷和链接克隆子卷组合映射为一个链接克隆卷,作为链接克隆虚拟机的完整系统盘,提供给链接克隆虚拟机使用。
链接克隆虚拟机的子卷形成原理如图2所示,链接克隆母卷是只读卷,多个链接克隆虚拟机共用一份;链接克隆子卷是可读写卷,一般是通过对链接克隆母卷采用快照技术实现,每个链接克隆虚拟机一份,用于保存各个链接克隆虚拟机的差异化数据。当虚拟机进行写操作时,数据会被写入到对应的链接克隆子卷中,当虚拟机进行读操作时,先从链接克隆子卷中读,如果没有数据,则到链接克隆母卷中进行数据读取。
根据链接克隆模板部署链接克隆虚拟机的原理如图3所示,创建链接克隆虚拟机时,其链接克隆子卷并不是直接从链接克隆模板得到的,而是先复制链接克隆模板得到链接克隆母卷,然后从这个链接克隆母卷创建出链接克隆子卷,应用于链接克隆虚拟机。
当存储系统中指定链接克隆模板对应的所有链接克隆母卷创建的链接克隆子卷数量都达到链接克隆母卷阈值,继续用该链接克隆模板创建链接克隆虚拟机,则需要从该链接克隆模板再复制新的链接克隆母卷,并从这个新的链接克隆母卷创建链接克隆子卷,应用于新的链接克隆虚拟机。
本申请的发明人发现,现有技术根据链接克隆母卷当前被多少链接克隆子卷所依赖进行母卷负载均衡,比如当链接克隆虚拟机创建时,根据各链接克隆母卷所对应的链接克隆子卷的个数,确定目标链接克隆母卷,比如,选取对应链接克隆子卷个数最小的链接克隆母卷作为目标链接克隆母卷来响应操作。在并发启动链接克隆虚拟机时,根据链接克隆虚拟机与链接克隆母卷的对应关系,有时会出现各个链接克隆母卷上并发启动的链接克隆虚拟机个数不一的情况,甚至出现所有并发启动的链接克隆虚拟机都集中在同一链接克隆母卷上,易造成开机风暴,形成io瓶颈,进而影响用户体验。
技术实现要素:
本发明实施例提供了一种管理链接克隆母卷的方法和装置,以优化对链接克隆母卷的管理。
第一方面,本发明实施例提供了一种管理链接克隆母卷的方法,所述方法包括:
确定链接克隆母卷集合中各链接克隆母卷当前io压力值;其中,所述链接克隆母卷集合是基于同一链接克隆模板复制的链接克隆母卷组成的集合;
根据所述当前io压力值确定目标链接克隆母卷,其中,所述目标链接克隆母卷是所述链接克隆母卷集合中与目标链接克隆子卷对应的链接克隆母卷,所述目标链接克隆子卷为链接克隆子卷集合中与目标链接克隆虚拟机对应的链接克隆子卷;所述目标链接克隆虚拟机为控制指令指示的链接克隆虚拟机集合中的链接克隆虚拟机;所述链接克隆虚拟机集合中的链接克隆虚拟机与链接克隆子卷集合中的链接克隆子卷一一对应;所述链接克隆子卷集合是基于所述链接克隆母卷集合中任一链接克隆母卷创建的链接克隆子卷组成的集合。
本发明实施例根据链接克隆母卷当前io压力值来确定目标链接,优化了对链接克隆母卷的管理,有利于合理的进行负载均衡,以及有利于降低链接克隆母卷的io瓶颈。
可选的,在本申请一些可能的实施方式中,所述确定链接克隆母卷集合中各链接克隆母卷当前io压力值,包括:
确定链接克隆母卷集合中各链接克隆母卷所对应的链接克隆虚拟机集合中处于开机状态的链接克隆虚拟机的个数、或者确定链接克隆母卷集合中各链接克隆母卷当前被打开次数;
根据所述当前io压力值确定目标链接克隆母卷,包括:
根据所述链接克隆母卷集合中各链接克隆母卷对应的所述链接克隆虚拟机集合中处于开机状态的链接克隆虚拟机的个数,确定所述个数的最小值、或者根据链接克隆母卷集合中各链接克隆母卷当前被打开次数,确定所述次数的最小值;
将所述个数的最小值对应的链接克隆母卷确定为目标链接克隆母卷,或者将所述次数的最小值对应的链接克隆母卷确定为目标链接克隆母卷。
本发明实施例把基于同一个链接克隆模板复制生成的链接克隆母卷实例、基于这些链接克隆母卷创建的链接克隆子卷、以及链接克隆虚拟机汇总起来,统一进行管理,并根据链接克隆虚拟机集合中处于开机状态的链接克隆虚拟机的个数、或者链接克隆母卷集合中各链接克隆母卷当前被打开次数,来确定目标链接克隆母卷,本实施例提供的技术方案优化了对链接克隆母卷的管理,有利于合理的进行负载均衡,以及有利于降低链接克隆母卷的io瓶颈。
可选的,在本申请一些可能的实施方式中,在所述确定链接克隆母卷集合中各链接克隆母卷所对应的链接克隆虚拟机集合中处于开机状态的链接克隆虚拟机的个数、或者确定链接克隆母卷集合中各链接克隆母卷当前被打开次数之前,所述方法还包括:
确定所述链接克隆母卷集合中链接克隆母卷的个数n;
判断所述n是否等于n′,其中,所述
若n<n′,则创建链接克隆母卷;若n>n′,则删除链接克隆母卷;以使所述链接克隆母卷集合中的链接克隆母卷的个数n=n′。
可选的,在本申请一些可能的实施方式中,
本实施例根据链接克隆母卷集合中链接克隆母卷个数与计算值之间的关系,执行删除或者创建操作,有利于优化存储空间和存储效率。
可选的,在本申请一些可能的实施方式中,若n>n′,所述删除链接克隆母卷,包括:实时触发或者周期触发删除链接克隆母卷。
可选的,在本申请一些可能的实施方式中,若n>n′,在所述删除链接克隆母卷之前,所述方法包括:
将与即将被删除的链接克隆母卷关联的链接克隆子卷调整到对应所述链接克隆母卷集合中即将被删除的链接克隆母卷之外的链接克隆母卷或者所述目标链接克隆母卷。
本实施例在删除链接克隆母卷之前通过将与即将被删除的链接克隆母卷关联的链接克隆子卷调整到对应所述链接克隆母卷集合中即将被删除的链接克隆母卷之外的链接克隆母卷或者所述目标链接克隆母卷,既有利于优化存储空间,又不影响链接克隆子卷的运行。
可选的,在本申请一些可能的实施方式中,所述方法还可以包括:
获取控制指令,所述控制指令为指示启动链接克隆虚拟机的第一指令;其中,所述第一指令中携带有第一标识,所述第一标识指示的目标链接克隆虚拟机为待启动的链接克隆虚拟机;
将所述第一标识指示的链接克隆虚拟机相关联的链接克隆子卷对应的链接克隆母卷调整为所述目标链接克隆母卷;
启动所述第一标识指示的链接克隆虚拟机。
本实施例通过将链接克隆虚拟机对应的链接克隆子卷调整为目标链接克隆母卷,有利于均衡链接克隆母卷的负载,加快启动链接克隆虚拟机的速度。
可选的,在本申请一些可能的实施方式中,所述方法还可以包括:
获取控制指令,所述控制指令为指示删除链接克隆虚拟机的第二指令;其中,所述第二指令中携带有第二标识,所述第二标识指示的目标链接克隆虚拟机为待删除的链接克隆虚拟机;
在所述第二标识指示的链接克隆虚拟机关闭时,删除该链接克隆虚拟机、以及删除该链接克隆虚拟机对应的链接克隆子卷;
计算当前链接克隆母卷集合中链接克隆母卷的个数是否大于
若是,则实时触发或者周期触发删除链接克隆母卷,以使所述链接克隆母卷集合中的链接克隆母卷的个数等于
本实施例在获取删除链接克隆虚拟机的指令后,在链接克隆虚拟机关闭时,删除该链接克隆虚拟机、以及删除该链接克隆虚拟机对应的链接克隆子卷;同时判断链接克隆母卷集合中的链接克隆母卷的个数是否大于计算值,若大于计算值,则实时触发或者周期触发删除链接克隆母卷,这样利于优化存储空间,
可选的,在本申请一些可能的实施方式中,所述方法还可以包括:
获取控制指令,所述控制指令为指示创建链接克隆虚拟机的第三指令;
根据所述链接克隆母卷集合中任一链接克隆母卷创建链接克隆子卷、或者根据所述链接克隆母卷集合中任一相关的链接克隆子卷的个数小于第一阈值m1的链接克隆母卷创建链接克隆子卷、或者根据所述目标链接克隆母卷创建链接克隆子卷,并将创建的链接克隆子卷应用于根据所述第三指令创建的链接克隆虚拟机。
在本实施例中创建链接克隆虚拟机时,当每个链接克隆母卷对应的链接克隆子卷的个数都到达链接克隆母卷阈值时,创建创建链接克隆母卷不用等到创建链接克隆虚拟机之后才进行,可以在判断出链接克隆母卷的个数为计算值时就开始创建,可以在创建链接克隆虚拟机之前、或者创建链接克隆虚拟机时、或者创建链接克隆虚拟机过程中创建链接克隆母卷,相对于现有技术中创建链接克隆母卷与创建链接克隆虚拟机为串行的方式相比,本实施例有利于加快链接克隆虚拟机的创建速度。
可选的,在本申请一些可能的实施方式中,所述方法还可以包括:
获取控制指令,所述控制指令为指示修改链接克隆母卷阈值的第四指令;其中,所述第四指令中携带有所述链接克隆母卷阈值的更新值m2;
判断所述更新值是否位于预设的取值范围内;
若是,则实时触发或者周期触发更新所述链接克隆母卷阈值为m2。
在本实施例可以对链接克隆母卷阈值进行修改,相对于现有技术中链接克隆母卷阈值固定不变来说,本实施例可以根据实际情况灵活调优链接克隆母卷阈值,以便重新动态平衡链接克隆母卷的io压力。
第二方面,本申请实施例提供了一种管理链接克隆母卷的装置,所述装置包括处理器;
所述处理器,用于确定链接克隆母卷集合中各链接克隆母卷当前io压力值;其中,所述链接克隆母卷集合是基于同一链接克隆模板复制的链接克隆母卷组成的集合;
所述处理器还用于,根据所述当前io压力值确定目标链接克隆母卷,其中,所述目标链接克隆母卷是所述链接克隆母卷集合中与目标链接克隆子卷对应的链接克隆母卷,所述目标链接克隆子卷为链接克隆子卷集合中与目标链接克隆虚拟机对应的链接克隆子卷;所述目标链接克隆虚拟机为控制指令指示的链接克隆虚拟机集合中的链接克隆虚拟机;所述链接克隆虚拟机集合中的链接克隆虚拟机与链接克隆子卷集合中的链接克隆子卷一一对应;所述链接克隆子卷集合是基于所述链接克隆母卷集合中任一链接克隆母卷创建的链接克隆子卷组成的集合。
本发明实施例根据链接克隆母卷当前io压力值来确定目标链接,优化了对链接克隆母卷的管理,有利于合理的进行负载均衡,以及有利于降低链接克隆母卷的io瓶颈。
可选的,在本申请一些可能的实施方式中,在确定链接克隆母卷集合中各链接克隆母卷当前io压力值方面,所述处理器具体用于,确定链接克隆母卷集合中各链接克隆母卷所对应的链接克隆虚拟机集合中处于开机状态的链接克隆虚拟机的个数、或者确定链接克隆母卷集合中各链接克隆母卷当前被打开次数;
在根据所述当前io压力值确定目标链接克隆母卷方面,所述处理器具体用于,根据所述链接克隆母卷集合中各链接克隆母卷对应的所述链接克隆虚拟机集合中处于开机状态的链接克隆虚拟机的个数,确定所述个数的最小值、或者根据链接克隆母卷集合中各链接克隆母卷当前被打开次数,确定所述次数的最小值;
将所述个数的最小值对应的链接克隆母卷确定为目标链接克隆母卷,或者将所述次数的最小值对应的链接克隆母卷确定为目标链接克隆母卷。
本发明实施例把基于同一个链接克隆模板复制生成的链接克隆母卷实例、基于这些链接克隆母卷创建的链接克隆子卷、以及链接克隆虚拟机汇总起来,统一进行管理,并根据链接克隆虚拟机集合中处于开机状态的链接克隆虚拟机的个数、或者链接克隆母卷集合中各链接克隆母卷当前被打开次数,来确定目标链接克隆母卷,本实施例提供的技术方案优化了对链接克隆母卷的管理,有利于合理的进行负载均衡,以及有利于降低链接克隆母卷的io瓶颈。
可选的,在本申请一些可能的实施方式中,在所述处理器确定链接克隆母卷集合中各链接克隆母卷所对应的链接克隆虚拟机集合中处于开机状态的链接克隆虚拟机的个数、或者确定链接克隆母卷集合中各链接克隆母卷当前被打开次数之前,
所述处理器还用于:
确定所述链接克隆母卷集合中链接克隆母卷的个数n;
判断所述n是否等于n′,其中,所述
若n<n′,则创建链接克隆母卷;若n>n′,则删除链接克隆母卷;以使所述链接克隆母卷集合中的链接克隆母卷的个数n=n′。
本实施例根据链接克隆母卷集合中链接克隆母卷个数与计算值之间的关系,执行删除或者创建操作,有利于优化存储空间和存储效率。
可选的,在本申请一些可能的实施方式中,若n>n′,在删除链接克隆母卷方面,所述处理器具体用于,实时触发或者周期触发删除链接克隆母卷。
可选的,在本申请一些可能的实施方式中,若n>n′,在删除链接克隆母卷之前,所述处理器还用于:将与即将被删除的链接克隆母卷关联的链接克隆子卷调整到对应所述链接克隆母卷集合中即将被删除的链接克隆母卷之外的链接克隆母卷或者所述目标链接克隆母卷。
本实施例在删除链接克隆母卷之前通过将与即将被删除的链接克隆母卷关联的链接克隆子卷调整到对应所述链接克隆母卷集合中即将被删除的链接克隆母卷之外的链接克隆母卷或者所述目标链接克隆母卷,既有利于优化存储空间,又不影响链接克隆子卷的运行。
可选的,在本申请一些可能的实施方式中,所述装置还包括:获取单元;
所述获取单元,用于获取控制指令,所述控制指令为指示启动链接克隆虚拟机的第一指令;其中,所述第一指令中携带有第一标识,所述第一标识指示的目标链接克隆虚拟机为待启动的链接克隆虚拟机;
所述处理单元还用于,将所述第一标识指示的链接克隆虚拟机相关联的链接克隆子卷对应的链接克隆母卷调整为所述目标链接克隆母卷;启动所述第一标识指示的链接克隆虚拟机。
本实施例通过将链接克隆虚拟机对应的链接克隆子卷调整为目标链接克隆母卷,有利于均衡链接克隆母卷的负载,加快启动链接克隆虚拟机的速度。
可选的,在本申请一些可能的实施方式中,所述装置还包括:获取单元;
所述获取单元,用于获取控制指令,所述控制指令为指示删除链接克隆虚拟机的第二指令;其中,所述第二指令中携带有第二标识,所述第二标识用于指示待删除的链接克隆虚拟机;
所述处理器还用于,
在所述第二标识指示的链接克隆虚拟机关闭时,删除该链接克隆虚拟机、以及删除该链接克隆虚拟机对应的链接克隆子卷;计算当前链接克隆母卷集合中链接克隆母卷的个数是否大于
本实施例在获取删除链接克隆虚拟机的指令后,在链接克隆虚拟机关闭时,删除该链接克隆虚拟机、以及删除该链接克隆虚拟机对应的链接克隆子卷;同时判断链接克隆母卷集合中的链接克隆母卷的个数是否大于计算值,若大于计算值,则实时触发或者周期触发删除链接克隆母卷,这样利于优化存储空间,
可选的,在本申请一些可能的实施方式中,所述装置还可以包括:获取单元;
所述获取单元,用于获取控制指令,所述控制指令为指示创建链接克隆虚拟机的第三指令;
所述处理器还用于,根据所述链接克隆母卷集合中任一链接克隆母卷创建链接克隆子卷、或者根据所述链接克隆母卷集合中任一相关的链接克隆子卷的个数小于第一阈值m1的链接克隆母卷创建链接克隆子卷、或者根据所述目标链接克隆母卷创建链接克隆子卷,并将创建的链接克隆子卷应用于根据所述第三指令创建的链接克隆虚拟机。
在本实施例中创建链接克隆虚拟机时,当每个链接克隆母卷对应的链接克隆子卷的个数都到达链接克隆母卷阈值时,创建创建链接克隆母卷不用等到创建链接克隆虚拟机之后才进行,可以在判断出链接克隆母卷的个数为计算值时就开始创建,可以在创建链接克隆虚拟机之前、或者创建链接克隆虚拟机时、或者创建链接克隆虚拟机过程中创建链接克隆母卷,相对于现有技术中创建链接克隆母卷与创建链接克隆虚拟机为串行的方式相比,本实施例有利于加快链接克隆虚拟机的创建速度。
可选的,在本申请一些可能的实施方式中,所述装置还可以包括:获取单元;
所述获取单元,用于获取控制指令,所述控制指令为指示修改链接克隆母卷阈值的第四指令;其中,所述第四指令中携带有所述链接克隆母卷阈值的更新值m2;
所述处理器还用于,判断所述更新值是否位于预设的取值范围内;若是,则实时触发或者周期触发更新所述链接克隆母卷阈值为m2。
在本实施例可以对链接克隆母卷阈值进行修改,这样有利于根据实际情况灵活调优链接克隆母卷阈值,以便重新动态平衡链接克隆母卷的io压力。
附图说明
为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。
图1是链接克隆技术的原理示意图。
图2是链接克隆虚拟机的子卷形成原理示意图。
图3是根据链接克隆模板部署链接克隆虚拟机的原理示意图。
图4是本发明的一个实施例提供的链接克隆母卷的管理示意图。
图5是本发明的一个实施例对链接克隆母卷进行调整的示意图。
图6是本发明的一个实施例中链接克隆母卷与链接克隆子卷关系的示意图。
图7是本发明的一个实施例中链接克隆虚拟机并发启动时链接克隆母卷与链接克隆子卷之间关系的示意图。
图8是本发明的一个实施例中启动链接克隆虚拟机的示意图。
图9是本发明的一个实施例中启动链接克隆虚拟机的示意图。
图10是本发明的一个实施例提供的管理链接克隆母卷的装置的结构示意图。
图11是本发明的一个实施例提供的管理链接克隆母卷的设备的结构示意图。
具体实施方式
下面结合本发明实施例中的附图对本发明实施例进行描述。
本发明实施例提供的管理链接克隆母卷的方法,包括:确定链接克隆母卷集合中各链接克隆母卷当前io压力值;其中,所述链接克隆母卷集合是基于同一链接克隆模板复制的链接克隆母卷组成的集合;
根据所述当前io压力值确定目标链接克隆母卷,其中,所述目标链接克隆母卷是所述链接克隆母卷集合中与目标链接克隆子卷对应的链接克隆母卷,所述目标链接克隆子卷为链接克隆子卷集合中与目标链接克隆虚拟机对应的链接克隆子卷;所述目标链接克隆虚拟机为控制指令指示的链接克隆虚拟机集合中的链接克隆虚拟机;所述链接克隆虚拟机集合中的链接克隆虚拟机与链接克隆子卷集合中的链接克隆子卷一一对应;所述链接克隆子卷集合是基于所述链接克隆母卷集合中任一链接克隆母卷创建的链接克隆子卷组成的集合。
请参见图4,图4是本发明一个实施例提供的一种链接克隆母卷的管理示意图,在本实施例中,把同一个链接克隆模板复制生成的链接克隆母卷、以及基于这些链接克隆母卷创建的链接克隆子卷及与链接克隆子卷一一对应的链接克隆虚拟机分别汇总起来,统一进行池化管理,并根据配置的链接克隆母卷阈值及相应链接克隆虚拟机的运行状态、或者链接克隆母卷当前被打开次数(即链接克隆母卷集合中链接克隆母卷对应的文件引用计数)进行处理,根据链接克隆母卷集合中各链接克隆母卷对应的链接克隆虚拟机集合中处于开机状态的链接克隆虚拟机的个数,确定所述个数的最小值、或者根据链接克隆母卷集合中各链接克隆母卷当前被打开次数,确定所述次数的最小值;确定目标链接克隆母卷,其中,所述目标链接克隆母卷为所述个数的最小值对应的链接克隆母卷,或者所述目标链接克隆母卷为所述次数的最小值对应的链接克隆母卷。
可知,本发明实施例在进行母卷负载均衡时采用的策略包括:根据链接克隆母卷集合中各链接克隆母卷所对应的链接克隆虚拟机集合中处于开机状态的链接克隆虚拟机的个数来确定目标链接克隆母卷;或者根据链接克隆母卷集合中各链接克隆母卷当前被打开次数来确定目标链接克隆母卷。
举例来说,以根据链接克隆母卷集合中各链接克隆母卷所对应的链接克隆虚拟机集合中处于开机状态的链接克隆虚拟机的个数来确定目标链接克隆母卷为例。若链接克隆母卷集合中包括5个链接克隆母卷,分别是链接克隆母卷一、链接克隆母卷二、链接克隆母卷三、链接克隆母卷四、和链接克隆母卷五。若这五个链接克隆母卷分别对应的链接克隆虚拟机集合中处于开机状态的链接克隆虚拟机的个数分别为8、6、1、3、2。最小个数为1,对应链接克隆母卷三,则链接克隆母卷三为目标链接克隆母卷。可以理解的,选取最小个数对应的链接克隆母卷是最优的实施方式,在一些可能的实施方式中,也可以选取较小个数对应的链接克隆母卷作为目标链接克隆母卷,比如可以选取个数2对应的链接克隆母卷作为目标链接克隆母卷,也是可行的。
类似的,以根据链接克隆母卷集合中各链接克隆母卷当前被打开次数来确定目标链接克隆母卷为例。若链接克隆母卷集合中包括5个链接克隆母卷,分别是链接克隆母卷一、链接克隆母卷二、链接克隆母卷三、链接克隆母卷四、和链接克隆母卷五。若这五个链接克隆母卷当前被打开次数分别为3、8、6、4、2。最小次数为2,对应链接克隆母卷五,则链接克隆母卷五为目标链接克隆母卷。可以理解的,选取最小次数对应的链接克隆母卷是最优的实施方式,在一些可能的实施方式中,也可以选取较小次数对应的链接克隆母卷作为目标链接克隆母卷,比如可以选取次数3对应的链接克隆母卷作为目标链接克隆母卷,也是可行的。
本发明实施例把基于同一个链接克隆模板复制生成的链接克隆母卷实例、基于这些链接克隆母卷创建的链接克隆子卷、以及链接克隆虚拟机汇总起来,统一进行管理,并根据链接克隆虚拟机集合中处于开机状态的链接克隆虚拟机的个数、或者链接克隆母卷集合中各链接克隆母卷当前被打开次数,来确定目标链接克隆母卷,本实施例提供的技术方案优化了对链接克隆母卷的管理,有利于合理的进行负载均衡,以及有利于降低链接克隆母卷的io瓶颈。
在本发明一些可能的实施方式中,为了合理的利用存储空间和保证系统的性能,还包括对链接克隆母卷个数进行管理。比如,在确定链接克隆母卷集合中各链接克隆母卷所对应的链接克隆虚拟机集合中处于开机状态的链接克隆虚拟机的个数、或者确定链接克隆母卷集合中各链接克隆母卷当前被打开次数之前,还可以进行如下操作,
确定所述链接克隆母卷集合中链接克隆母卷的个数n;
判断所述n是否等于n′,其中,所述
若n<n′,则创建链接克隆母卷;若n>n′,则删除链接克隆母卷;以使所述链接克隆母卷集合中的链接克隆母卷的个数n=n′。
举例来说来说,若链接克隆虚拟机集合中链接克隆虚拟机的个数为9,链接克隆母卷阈值为4,则n1=9,n2=4,
在本发明一些可能的实施方式中,若n>n′,删除链接克隆母卷的操作可以在判断出n>n′时实时触发删除链接克隆母卷的操作;也可周期触发删除链接克隆母卷的操作,比如,若n>n′,每隔一天触发一次删除链接克隆母卷的操作。
在本发明一些可能的实施方式中,若n>n′,执行删除链接克隆母卷之前,可以将与即将被删除的链接克隆母卷关联的链接克隆子卷调整到对应所述链接克隆母卷集合中即将被删除的链接克隆母卷之外的链接克隆母卷或者所述目标链接克隆母卷。
在本发明一些可能的实施方式中,管理链接克隆母卷的方法还可以包括:获取启动链接克隆虚拟机的第一指令;第一指令中携带有第一标识,第一标识用于指示待启动的链接克隆虚拟机;将第一标识对应的链接克隆虚拟机相关联的链接克隆子卷对应的链接克隆母卷调整为目标链接克隆母卷;启动所述第一标识对应的链接克隆虚拟机。其中链接克隆母卷调整可以参考图5所示。
在云计算场景中,链接克隆母卷与链接克隆子卷的关系可以如图6所示。一个链接克隆母卷与多个链接可控子卷对应,当有多个链接克隆虚拟机并发启动时,按照现有技术,并发启动的链接克隆虚拟机都集中在同一链接克隆母卷上,易造成开机风暴,形成io瓶颈,进而影响用户体验。采用本申请的技术方案后,链接克隆子卷与链接克隆母卷的关系发生了变化,具体地,可以根据链接克隆母卷集合中各链接克隆母卷所对应的链接克隆虚拟机集合中处于开机状态的链接克隆虚拟机的个数、或者根据链接克隆母卷集合中各链接克隆母卷当前被打开次数来调整链接克隆子卷与链接克隆母卷之间的关系。以达到链接克隆母卷负载均衡的目的。图7为调整后的示意图。
可以理解的,在获取启动链接克隆虚拟机的第一指令之后,可以如图8所示,先进行母卷负载均衡(即确定目标链接克隆母卷)再启动链接克隆虚拟机,也可以如图9所示,先启动链接克隆虚拟机再进行母卷负载均衡。
在本发明一些可能的实施方式中,管理链接克隆母卷的方法还可以包括:获取删除链接克隆虚拟机的第二指令;其中,第二指令中携带有第二标识,第二标识用于指示待删除的链接克隆虚拟机;
在第二标识指示的链接克隆虚拟机关闭时,删除该链接克隆虚拟机、以及删除该链接克隆虚拟机对应的链接克隆子卷;
计算当前链接克隆母卷集合中链接克隆母卷的个数是否大于
若是,则实时触发或者周期触发删除链接克隆母卷,以使所述链接克隆母卷集合中的链接克隆母卷的个数等于
在本发明一些可能的实施方式中,管理链接克隆母卷的方法还可以包括:获取创建链接克隆虚拟机的第三指令;
根据链接克隆母卷集合中任一链接克隆母卷创建链接克隆子卷、或者根据链接克隆母卷集合中任一相关的链接克隆子卷的个数小于第一阈值m1的链接克隆母卷创建链接克隆子卷、或者根据目标链接克隆母卷创建链接克隆子卷,并将创建的链接克隆子卷应用于根据第三指令创建的链接克隆虚拟机。
在本发明一些可能的实施方式中,管理链接克隆母卷的方法还可以包括:获取修改链接克隆母卷阈值的指令;指令中携带有链接克隆母卷阈值的更新值m2。
判断更新值是否位于预设的取值范围内。
若是,则实时触发或者周期触发更新所述链接克隆母卷阈值为m2。
举例来说,若链接克隆母卷阈值预设的取值范围是<30,若更新值m2为10,位于预设的取值范围内,则可以实时触发更新链接克隆母卷阈值为10,在一些可能的实施方式中,也可以周期触发更新链接克隆母卷阈值为10。再比如,若更新值为80,则更新值不位于预设的取值范围内,则不做处理。
本发明实施例还公开了一种管理链接克隆母卷的装置,该装置包括处理器;
所述处理器,用于确定链接克隆母卷集合中各链接克隆母卷当前io压力值;其中,所述链接克隆母卷集合是基于同一链接克隆模板复制的链接克隆母卷组成的集合;
所述处理器还用于,根据所述当前io压力值确定目标链接克隆母卷,其中,所述目标链接克隆母卷是所述链接克隆母卷集合中与目标链接克隆子卷对应的链接克隆母卷,所述目标链接克隆子卷为链接克隆子卷集合中与目标链接克隆虚拟机对应的链接克隆子卷;所述目标链接克隆虚拟机为控制指令指示的链接克隆虚拟机集合中的链接克隆虚拟机;所述链接克隆虚拟机集合中的链接克隆虚拟机与链接克隆子卷集合中的链接克隆子卷一一对应;所述链接克隆子卷集合是基于所述链接克隆母卷集合中任一链接克隆母卷创建的链接克隆子卷组成的集合。
在本发明一些可能的实施方式中,在确定链接克隆母卷集合中各链接克隆母卷当前io压力值方面,所述处理器具体用于,确定链接克隆母卷集合中各链接克隆母卷所对应的链接克隆虚拟机集合中处于开机状态的链接克隆虚拟机的个数、或者确定链接克隆母卷集合中各链接克隆母卷当前被打开次数;
在根据所述当前io压力值确定目标链接克隆母卷方面,所述处理器具体用于,根据所述链接克隆母卷集合中各链接克隆母卷对应的所述链接克隆虚拟机集合中处于开机状态的链接克隆虚拟机的个数,确定所述个数的最小值、或者根据链接克隆母卷集合中各链接克隆母卷当前被打开次数,确定所述次数的最小值;
将所述个数的最小值对应的链接克隆母卷确定为目标链接克隆母卷,或者将所述次数的最小值对应的链接克隆母卷确定为目标链接克隆母卷。
举例来说,以根据链接克隆母卷集合中各链接克隆母卷所对应的链接克隆虚拟机集合中处于开机状态的链接克隆虚拟机的个数来确定目标链接克隆母卷为例。若链接克隆母卷集合中包括5个链接克隆母卷,分别是链接克隆母卷一、链接克隆母卷二、链接克隆母卷三、链接克隆母卷四、和链接克隆母卷五。若这五个链接克隆母卷分别对应的链接克隆虚拟机集合中处于开机状态的链接克隆虚拟机的个数分别为8、6、1、3、2。最小个数为1,对应链接克隆母卷三,则链接克隆母卷三为目标链接克隆母卷。可以理解的,选取最小个数对应的链接克隆母卷是最优的实施方式,在一些可能的实施方式中,也可以选取较小个数对应的链接克隆母卷作为目标链接克隆母卷,比如可以选取个数2对应的链接克隆母卷作为目标链接克隆母卷,也是可行的。
类似的,以根据链接克隆母卷集合中各链接克隆母卷当前被打开次数来确定目标链接克隆母卷为例。若链接克隆母卷集合中包括5个链接克隆母卷,分别是链接克隆母卷一、链接克隆母卷二、链接克隆母卷三、链接克隆母卷四、和链接克隆母卷五。若这五个链接克隆母卷当前被打开次数分别为3、8、6、3、2。最小次数为2,对应链接克隆母卷五,则链接克隆母卷五为目标链接克隆母卷。可以理解的,选取最小次数对应的链接克隆母卷是最优的实施方式,在一些可能的实施方式中,也可以选取较小次数对应的链接克隆母卷作为目标链接克隆母卷,比如可以选取次数3对应的链接克隆母卷作为目标链接克隆母卷,也是可行的。
本发明实施例把基于同一个链接克隆模板复制生成的链接克隆母卷实例、基于这些链接克隆母卷创建的链接克隆子卷、以及链接克隆虚拟机汇总起来,统一进行管理,并根据链接克隆虚拟机集合中处于开机状态的链接克隆虚拟机的个数、或者链接克隆母卷集合中各链接克隆母卷当前被打开次数,来确定目标链接克隆母卷,本实施例提供的技术方案优化了对链接克隆母卷的管理,有利于合理的进行负载均衡,以及有利于降低链接克隆母卷的io瓶颈。
在本发明一些可能的实施方式中,在处理器确定链接克隆母卷集合中各链接克隆母卷所对应的链接克隆虚拟机集合中处于开机状态的链接克隆虚拟机的个数、或者确定链接克隆母卷集合中各链接克隆母卷当前被打开次数之前,处理器还可以用于:
确定所述链接克隆母卷集合中链接克隆母卷的个数n;
判断所述n是否等于n′,其中,所述
若n<n′,则创建链接克隆母卷;若n>n′,则删除链接克隆母卷;以使所述链接克隆母卷集合中的链接克隆母卷的个数n=n′。
举例来说来说,若链接克隆虚拟机集合中链接克隆虚拟机的个数为9,链接克隆母卷阈值为4,则n1=9,n2=4,
在本发明一些可能的实施方式中,若n>n′,在删除链接克隆母卷方面,处理器具体可以用于,实时触发或者周期触发删除链接克隆母卷。比如,若n>n′,处理器每隔一天触发一次删除链接克隆母卷的操作。
在本发明一些可能的实施方式中,若n>n′,在删除链接克隆母卷之前,所述处理器还用于:将与即将被删除的链接克隆母卷关联的链接克隆子卷调整到对应所述链接克隆母卷集合中即将被删除的链接克隆母卷之外的链接克隆母卷或者所述目标链接克隆母卷。
在本发明一些可能的实施方式中,如图10所示,管理链接克隆母卷的装置还可以包括:获取单元;
所述获取单元,用于获取控制指令,所述控制指令为指示启动链接克隆虚拟机的第一指令;其中,所述第一指令中携带有第一标识,所述第一标识指示的目标链接克隆虚拟机为待启动的链接克隆虚拟机;
所述处理单元还用于,将所述第一标识指示的链接克隆虚拟机相关联的链接克隆子卷对应的链接克隆母卷调整为所述目标链接克隆母卷;启动所述第一标识指示的链接克隆虚拟机。在本发明一些可能的实施方式中,所述装置还可以包括:获取单元;
所述获取单元,用于获取控制指令,所述控制指令为指示删除链接克隆虚拟机的第二指令;其中,所述第二指令中携带有第二标识,所述第二标识用于指示待删除的链接克隆虚拟机;
所述处理器还用于,
在所述第二标识指示的链接克隆虚拟机关闭时,删除该链接克隆虚拟机、以及删除该链接克隆虚拟机对应的链接克隆子卷;计算当前链接克隆母卷集合中链接克隆母卷的个数是否大于
在本发明一些可能的实施方式中,所述装置还包括:获取单元;
所述获取单元,用于用于获取控制指令,所述控制指令为指示创建链接克隆虚拟机的第三指令;
所述处理器还用于,根据所述链接克隆母卷集合中任一链接克隆母卷创建链接克隆子卷、或者根据所述链接克隆母卷集合中任一相关的链接克隆子卷的个数小于第一阈值m1的链接克隆母卷创建链接克隆子卷、或者根据所述目标链接克隆母卷创建链接克隆子卷,并将创建的链接克隆子卷应用于根据所述第三指令创建的链接克隆虚拟机。
在本发明一些可能的实施方式中,管理链接克隆母卷的装置还可以包括:获取单元;
所述获取单元,用于获取控制指令,所述控制指令为指示修改链接克隆母卷阈值的第四指令;其中,所述第四指令中携带有所述链接克隆母卷阈值的更新值m2;
所述处理器还用于,判断所述更新值是否位于预设的取值范围内;若是,则实时触发或者周期触发更新所述链接克隆母卷阈值为m2。
图11是本发明的一个实施例提供的管理链接克隆母卷的设备的结构示意图。包括:存储器、收发器和处理器。
存储器中存储的程序用于指令处理器执行管理链接克隆母卷的方法,包括:确定链接克隆母卷集合中各链接克隆母卷当前io压力值;其中,所述链接克隆母卷集合是基于同一链接克隆模板复制的链接克隆母卷组成的集合;
根据所述当前io压力值确定目标链接克隆母卷,其中,所述目标链接克隆母卷是所述链接克隆母卷集合中与目标链接克隆子卷对应的链接克隆母卷,所述目标链接克隆子卷为链接克隆子卷集合中与目标链接克隆虚拟机对应的链接克隆子卷;所述目标链接克隆虚拟机为控制指令指示的链接克隆虚拟机集合中的链接克隆虚拟机;所述链接克隆虚拟机集合中的链接克隆虚拟机与链接克隆子卷集合中的链接克隆子卷一一对应;所述链接克隆子卷集合是基于所述链接克隆母卷集合中任一链接克隆母卷创建的链接克隆子卷组成的集合。
在本发明一些可能的实施方式中,所述确定链接克隆母卷集合中各链接克隆母卷当前io压力值,包括:
确定链接克隆母卷集合中各链接克隆母卷所对应的链接克隆虚拟机集合中处于开机状态的链接克隆虚拟机的个数、或者确定链接克隆母卷集合中各链接克隆母卷当前被打开次数;
根据所述当前io压力值确定目标链接克隆母卷,包括:
根据所述链接克隆母卷集合中各链接克隆母卷对应的所述链接克隆虚拟机集合中处于开机状态的链接克隆虚拟机的个数,确定所述个数的最小值、或者根据链接克隆母卷集合中各链接克隆母卷当前被打开次数,确定所述次数的最小值;
将所述个数的最小值对应的链接克隆母卷确定为目标链接克隆母卷,或者将所述次数的最小值对应的链接克隆母卷确定为目标链接克隆母卷。
在本发明一些可能的实施方式中,处理器在确定链接克隆母卷集合中各链接克隆母卷所对应的链接克隆虚拟机集合中处于开机状态的链接克隆虚拟机的个数、或者确定链接克隆母卷集合中各链接克隆母卷当前被打开次数之前,还用于:
确定所述链接克隆母卷集合中链接克隆母卷的个数n;
判断n是否等于n′,其中,
若n<n′,则创建链接克隆母卷;若n>n′,则删除链接克隆母卷;以使所述链接克隆母卷集合中的链接克隆母卷的个数n=n′。
在本发明一些可能的实施方式中,若n>n′,所述删除链接克隆母卷,包括:实时触发或者周期触发删除链接克隆母卷。
在本发明一些可能的实施方式中,若n>n′,处理器在删除链接克隆母卷之前,处理器还用于:
将与即将被删除的链接克隆母卷关联的链接克隆子卷调整到对应所述链接克隆母卷集合中即将被删除的链接克隆母卷之外的链接克隆母卷或者所述目标链接克隆母卷。
在本发明一些可能的实施方式中,收发器用于获取控制指令,所述控制指令为指示启动链接克隆虚拟机的第一指令;其中,所述第一指令中携带有第一标识,所述第一标识指示的目标链接克隆虚拟机为待启动的链接克隆虚拟机;
处理器将第一标识指示的链接克隆虚拟机相关联的链接克隆子卷对应的链接克隆母卷调整为所述目标链接克隆母卷;启动所述第一标识指示的链接克隆虚拟机。
在本发明一些可能的实施方式中,收发器用于获取控制指令,所述控制指令为指示删除链接克隆虚拟机的第二指令;其中,所述第二指令中携带有第二标识,所述第二标识指示的目标链接克隆虚拟机为待删除的链接克隆虚拟机;
处理器在所述第二标识指示的链接克隆虚拟机关闭时,删除该链接克隆虚拟机、以及删除该链接克隆虚拟机对应的链接克隆子卷;
计算当前链接克隆母卷集合中链接克隆母卷的个数是否大于
若是,则实时触发或者周期触发删除链接克隆母卷,以使所述链接克隆母卷集合中的链接克隆母卷的个数等于
在本发明一些可能的实施方式中,收发器用于获取控制指令,所述控制指令为指示创建链接克隆虚拟机的第三指令;
处理器根据所述链接克隆母卷集合中任一链接克隆母卷创建链接克隆子卷、或者根据所述链接克隆母卷集合中任一相关的链接克隆子卷的个数小于第一阈值m1的链接克隆母卷创建链接克隆子卷、或者根据所述目标链接克隆母卷创建链接克隆子卷,并将创建的链接克隆子卷应用于根据所述第三指令创建的链接克隆虚拟机。
在本发明一些可能的实施方式中,收发器用于获取控制指令,所述控制指令为指示修改链接克隆母卷阈值的第四指令;其中,所述第四指令中携带有所述链接克隆母卷阈值的更新值m2。
处理器判断所述更新值是否位于预设的取值范围内;若是,则实时触发或者周期触发更新所述链接克隆母卷阈值为m2。
本发明实施例把基于同一个链接克隆模板复制生成的链接克隆母卷实例、基于这些链接克隆母卷创建的链接克隆子卷、以及链接克隆虚拟机汇总起来,统一进行管理,并根据链接克隆虚拟机集合中处于开机状态的链接克隆虚拟机的个数、或者链接克隆母卷集合中各链接克隆母卷当前被打开次数,来确定目标链接克隆母卷,本实施例提供的技术方案优化了对链接克隆母卷的管理,有利于合理的进行负载均衡,以及有利于降低链接克隆母卷的io瓶颈。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:rom或随机存储记忆体ram、磁碟或者光盘等各种可存储程序代码的介质。