一种链接克隆母卷管理方法和装置与流程

文档序号:12157506阅读:697来源:国知局
一种链接克隆母卷管理方法和装置与流程

本发明涉及计算机技术领域,尤其涉及一种链接克隆母卷管理方法和装置。



背景技术:

链接克隆(Linked Clone,LC)是虚拟化技术中用于创建虚拟机的一项重要的功能特性,具有创建速度快、占用存储空间小的优点,非常适合于同质化用户、桌面高度标准化场景。链接克隆技术将链接克隆母卷(Master,M)和链接克隆子卷(Child,C)组合并映射为一个链接克隆卷,所述链接克隆卷作为链接克隆虚拟机(Virtual Machine,VIM)的完整系统盘,提供给链接克隆虚拟机使用,具体可参阅图1所示。其中,链接克隆母卷是只读卷,多个链接克隆虚拟机共用一份;链接克隆子卷是读写卷。链接克隆子卷一般是通过对链接克隆母卷采用快照技术产生的,每个链接克隆子卷对应一个链接克隆虚拟机,链接克隆母卷与链接克隆子卷的差异化数据保存在链接克隆子卷中,具体可参阅图2所示。

具体的,如图3所示,为根据链接克隆模板部署链接克隆虚拟机的原理示意图。从链接克隆模板先复制得到链接克隆母卷,然后通过快照技术从链接克隆母卷创建链接克隆子卷。当基于一个链接克隆母卷创建的链接克隆子卷数量达到临界值时,就不再从这个链接克隆母卷再创建链接克隆子卷,而是从链接克隆模板再复制得到新的链接克隆母卷,并从这个新的链接克隆母卷创建链接克隆子卷,进而创建链接克隆虚拟机。因此,当基于一个链接克隆母卷创建的链接克隆子卷达到临界值时,在创建新的链接克隆虚拟机之前需要从链接克隆模板复制得到新的链接克隆母卷,该新的链接克隆虚拟机的创建过程相比于其它链接克隆虚拟机来说,就要多出从链接克隆模板复制得到新的链接克隆母卷的时间,从而会影响链接克隆虚拟机创建速度,增加了系统开销,进而影响用户体验。



技术实现要素:

本发明实施例提供一种链接克隆母卷管理方法和装置,以解决链接克隆虚拟机创建过程中,在基于链接克隆母卷创建的链接克隆子卷的数量达到临界值的情形下,创建新的链接克隆虚拟机的时间增加,影响用户体验的问题。

本发明实施例提供的具体技术方案如下:

第一方面,提供一种链接克隆母卷管理方法,包括:

基于链接克隆模板复制链接克隆母卷;接收为用户创建链接克隆虚拟机的命令;确定基于已有的链接克隆母卷所创建的链接克隆子卷的数量达到一级临界值;根据所述命令,基于第一链接克隆母卷创建链接克隆子卷,所述第一链接克隆母卷为已有的链接克隆母卷中的任意一个链接克隆母卷;使用所述链接克隆模板复制一个新的链接克隆母卷作为第二链接克隆母卷;将所述第一链接克隆母卷中的M个链接克隆子卷迁移到所述第二链接克隆母卷上,M为不小于所述第一链接克隆母卷中的链接克隆子卷数量与一级临界值之差的正整数。

这样,在链接克隆虚拟机创建过程中,在基于链接克隆母卷创建的链接克隆子卷的数量达到一级临界值的情形下,通过减少链接克隆母卷的复制过程,能够继续创建新的链接克隆虚拟机,减少链接克隆虚拟机的创建时间,提升用户体验。

在一个可能的设计中,在根据所述命令,基于第一链接克隆母卷创建链接克隆子卷之前,所述方法还包括:

确定基于所述第一链接克隆母卷创建的链接克隆子卷的数量不大于二级临界值,所述二级临界值大于所述一级临界值。

这种设计中,允许链接克隆母卷超过一级临界值继续创建链接克隆子卷,但不允许超过二级临界值创建链接克隆母卷,这样既能够减少链接克隆虚拟机的创建时间,还能最大程度提升用户体验。

在一个可能的设计中,所述方法还包括:

当检测到链接克隆母卷总数和链接克隆子卷总数满足条件:链接克隆子卷总数<=[(链接克隆母卷总数-1)*一级临界值]时,执行:

从已有的链接克隆母卷中选择一个链接克隆母卷,将所述选择的连接克隆母卷上的链接克隆子卷迁移到链接克隆子卷个数未达到一级临界值的链接克隆母卷上,并删除所述选择的链接克隆母卷。

这种设计中,当链接克隆母卷所链接的链接克隆子卷数量较少能够达到链接克隆母卷的删除条件时,将满足条件的链接克隆母卷所链接的链接克隆子卷更新到其他连接克隆母卷上,从而减少链接克隆母卷的数量,这样能够释放存储空间,优化存储利用率,提升系统性能。

在一个可能的设计中,从已有的链接克隆母卷中选择一个链接克隆母卷时,包括以下两种选择策略:

第一种选择策略:从已有的链接克隆母卷中选择关联的链接克隆子卷个数最少的一个链接克隆母卷。

第二种选择策略:从已有的链接克隆母卷中选择计算资源消耗最小的链接克隆虚拟机对应的链接克隆子卷所关联的链接克隆母卷。

上述两种选择策略,能够在省时省力的前提下合理的选择出需要合并到其他链接克隆母卷的链接克隆母卷。

在一个可能的设计中,基于第一链接克隆母卷创建链接克隆子卷之后,所述方法还包括:

当检测到链接克隆母卷总数和链接克隆子卷总数满足:链接克隆子卷总数<=(链接克隆母卷总数*一级临界值)]时,执行:

针对链接克隆母卷中链接克隆子卷数量达到一级临界值的任意一个链接克隆母卷,将所述任意一个链接克隆母卷中的所述M个链接克隆子卷迁移到链接克隆子卷数量未达到一级临界值的链接克隆母卷上。

这种设计中,当链接克隆母卷所链接的链接克隆子卷数量较少,但是不能达到链接克隆母卷的删除条件时,将链接克隆子卷数量达到一级临界值的链接克隆母卷上的部分链接克隆子卷更新到其他链接克隆子卷数量未达到一级临界值的链接克隆母卷上,从而达到链接克隆母卷的负载均衡。

在一个可能的设计中,所述方法还包括:

当检测到链接克隆母卷总数和链接克隆子卷总数满足:[(链接克隆母卷总数-1)*一级临界值]<链接克隆子卷总数<=[(链接克隆母卷总数)*一级临界值]时,执行:

针对链接克隆母卷中链接克隆子卷数量达到预设阈值的任意一个链接克隆母卷,将所述任意一个链接克隆母卷中的所述M个链接克隆子卷迁移到链接克隆子卷数量未达到所述预设阈值的链接克隆母卷上,所述预设阈值的取值为不大于一级临界值的正整数。

这种设计中,当链接克隆母卷所链接的链接克隆子卷数量较少,但是不能达到链接克隆母卷的删除条件时,将链接克隆子卷数量较多的链接克隆母卷上的部分链接克隆子卷更新到其他链接克隆子卷数量较少的链接克隆母卷上,从而达到链接克隆母卷的负载均衡。

第二方面,提供一种链接克隆母卷管理装置,包括:

处理单元,用于基于链接克隆模板复制链接克隆母卷;

接收单元,用于接收为用户创建链接克隆虚拟机的命令;

所述处理单元,还用于确定基于已有的链接克隆母卷所创建的链接克隆子卷的数量达到一级临界值;根据所述命令,基于第一链接克隆母卷创建链接克隆子卷,所述第一链接克隆母卷为已有的链接克隆母卷中的任意一个链接克隆母卷;使用所述链接克隆模板复制一个新的链接克隆母卷作为第二链接克隆母卷;将所述第一链接克隆母卷中的M个链接克隆子卷迁移到所述第二链接克隆母卷上,M为不小于所述第一链接克隆母卷中的链接克隆子卷数量与一级临界值之差的正整数。

在一个可能的设计中,所述处理单元在根据所述命令,基于第一链接克隆母卷创建链接克隆子卷之前,还用于:

确定基于所述第一链接克隆母卷创建的链接克隆子卷的数量不大于二级临界值,所述二级临界值大于所述一级临界值。

在一个可能的设计中,所述处理单元还用于:

当检测到链接克隆母卷总数和链接克隆子卷总数满足条件:链接克隆子卷总数<=[(链接克隆母卷总数-1)*一级临界值]时,执行:

从已有的链接克隆母卷中选择一个链接克隆母卷,将所述选择的连接克隆母卷上的链接克隆子卷迁移到链接克隆子卷个数未达到一级临界值的链接克隆母卷上,并删除所述选择的链接克隆母卷。

在一个可能的设计中,所述处理单元从已有的链接克隆母卷中选择一个链接克隆母卷时,具体用于:

从已有的链接克隆母卷中选择关联的链接克隆子卷个数最少的一个链接克隆母卷;或,

从已有的链接克隆母卷中选择计算资源消耗最小的链接克隆虚拟机对应的链接克隆子卷所关联的链接克隆母卷。

在一个可能的设计中,所述处理单元在基于第一链接克隆母卷创建链接克隆子卷之后,还用于:

当检测到链接克隆母卷总数和链接克隆子卷总数满足:链接克隆子卷总数<=(链接克隆母卷总数*一级临界值)]时,执行:

针对链接克隆母卷中链接克隆子卷数量达到一级临界值的任意一个链接克隆母卷,将所述任意一个链接克隆母卷中的所述M个链接克隆子卷迁移到链接克隆子卷数量未达到一级临界值的链接克隆母卷上。

在一个可能的设计中,所述处理单元还用于:

当检测到链接克隆母卷总数和链接克隆子卷总数满足:[(链接克隆母卷总数-1)*一级临界值]<链接克隆子卷总数<=[(链接克隆母卷总数)*一级临界值]时,执行:

针对链接克隆母卷中链接克隆子卷数量达到预设阈值的任意一个链接克隆母卷,将所述任意一个链接克隆母卷中的所述M个链接克隆子卷迁移到链接克隆子卷数量未达到所述预设阈值的链接克隆母卷上,所述预设阈值的取值为不大于一级临界值的正整数。

第三方面,提供一种设备,该设备包括处理器、存储器、收发器,其中,所述存储器中存有计算机可读程序,所述处理器通过运行所述存储器中的程序,控制所述收发器,实现第一方面涉及的链接克隆母卷管理方法。

第四方面,本申请提供一种计算机存储介质,用于储存为上述第一方面所用的计算机软件指令,其包含用于执行上述方面所设计的程序。

采用本发明中的链接克隆母卷管理方案,在链接克隆虚拟机创建过程中,在基于链接克隆母卷创建的链接克隆子卷的数量达到一级临界值的情形下,继续创建链接克隆子卷,通过减少链接克隆母卷的复制过程,来继续创建新的链接克隆虚拟机,减少链接克隆虚拟机的创建时间,提升用户体验。

附图说明

图1为链接克隆技术的原理示意图;

图2为链接克隆虚拟机的子卷形成原理示意图;

图3为根据链接克隆模板部署链接克隆虚拟机的原理示意图;

图4为本发明实施例应用的系统组成框架图;

图5为本发明实施例中的链接克隆母卷管理方法流程图;

图6为本发明实施例中扩展链接克隆虚拟机的示意图;

图7为本发明实施例中链接克隆母卷的收缩过程示意图;

图8为本发明实施例中链接克隆母卷的负载均衡过程示意图;

图9为本发明实施例中链接克隆虚拟机的创建流程示意图;

图10为本发明实施例中链接克隆母卷的扩展流程示意图;

图11为本发明实施例中链接克隆母卷的合并流程示意图;

图12为本发明实施例中链接克隆母卷的扩展示意图;

图13为本发明实施例中达到二级临界值创建链接克隆虚拟机的示意图;

图14为本发明实施例中链接克隆母卷的合并示意图;

图15为本发明实施例中链接克隆母卷的负载均衡示意图;

图16为本发明实施例中链接克隆母卷的管理装置结构示意图;

图17为本发明实施例中链接克隆母卷的管理设备结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参见图4,图4是一个本发明实施例应用的系统组成框架图,如图4所示,在云计算场景中,具体包括:链接克隆虚拟机管理系统、计算管理系统模、存储管理系统、存储系统、链接克隆子卷管理子系统和链接克隆母卷管理子系统,其中:

链接克隆虚拟机管理系统:在接收到创建或删除链接克隆虚拟机的相关命令后,执行链接克隆虚拟机的创建或删除操作。

计算管理系统:能够管理链接克隆虚拟机所需要的计算资源,如中央处理器(CPU,Central Processing Unit,CPU)、内存等,并针对这些计算资源进行分配、调度和释放等。

存储管理系统:能够对存储系统中的链接克隆模板、链接克隆母卷和链接克隆子卷进行管理,通过链接克隆克隆母卷管理子系统管理链接克隆模板与链接克隆母卷之间的关联关系,通过链接克隆子卷管理子系统管理链接克隆母卷与链接克隆子卷之间的关联关系。

链接克隆母卷管理子系统:用于管理链接克隆模板与链接克隆母卷之间的关联关系。

链接克隆子卷管理子系统:用于管理链接克隆母卷与链接克隆子卷之间的关联关系。

存储系统,用于存储链接克隆模板、链接克隆母卷和链接克隆子卷等。

需要说明的是,本发明实施例中的云计算场景包括公有云、私有云以及混合云场景,计算管理系统也可以为对应这几种场景下的云平台。所述存储系统可以是带文件系统的虚拟化存储系统,也可以是不带文件系统的块设备存储系统,可以是独立的单机存储系统,也可以是共享的分布式存储系统等,因为本发明是基于链接克隆技术,所以要求存储系统支持链接克隆技术。

本发明中的一级临界值是根据链接克隆虚拟机与普通PC机的IO性能相同或接近时,一个链接克隆母卷所能创建的链接克隆子卷数量,二级临界值是根据链接克隆虚拟机的IO性能达到用户体验能接受的底线时,一个链接克隆母卷所能创建的链接克隆子卷数量。在具体的实施场景中,一级临界值和二级临界值的取值可以根据对用户体验的需求进行适应性调整。

在云计算场景中,需要创建链接克隆虚拟机时,向链接克隆虚拟机管理系统发送用于创建链接克隆虚拟机的命令,链接克隆虚拟机管理系统接收到所述命令后,根据指定的链接克隆模板创建链接克隆子卷,用于链接克隆虚拟机,所述命令通过计算管理系统传递给存储管理系统,存储管理系统调度链接克隆母卷管理子系统,使链接克隆母卷管理子系统根据链接克隆子卷的规格从链接克隆模板复制链接克隆母卷,在获取到链接克隆母卷后,存储管理系统调度链接克隆子卷管理子系统从链接克隆母卷创建链接克隆子卷。

针对现有技术中链接克隆虚拟机的创建过程中,链接克隆母卷创建的链接克隆子卷在超过一级临界值时,需要从链接克隆模板复制新的链接克隆母卷,这样会增加链接克隆虚拟机创建时间,影响虚拟机性能,本发明实施例提供一种链接克隆母卷管理方法和装置,以解决链接克隆虚拟机创建过程中,在基于链接克隆母卷创建的链接克隆子卷的数量达到临界值的情形下,创建新的链接克隆虚拟机的时间增加,影响用户体验的问题。其中,方法和装置是基于同一发明构思的,由于方法及装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。

基于图4所示的系统组成架构,参阅图5所示,本发明实施例提供一种链接克隆母卷管理方法,具体流程包括如下步骤:

步骤51:基于链接克隆模板复制链接克隆母卷。

步骤52:接收为用户创建链接克隆虚拟机的命令。

步骤53:确定基于已有的链接克隆母卷所创建的链接克隆子卷的数量达到一级临界值。

步骤54:根据所述命令,基于第一链接克隆母卷创建链接克隆子卷,所述第一链接克隆母卷为已有的链接克隆母卷中的任意一个链接克隆母卷。

步骤55:使用所述链接克隆模板复制一个新的链接克隆母卷作为第二链接克隆母卷。

步骤56:将所述第一链接克隆母卷中的M个链接克隆子卷迁移到所述第二链接克隆母卷上,M为不小于所述第一链接克隆母卷中的链接克隆子卷数量与一级临界值之差的正整数。

例如,图6所示为,根据图5所示的方法扩展链接克隆虚拟机的示意图。在图6中,T表示链接克隆模板,M表示链接克隆母卷,C表示链接克隆子卷,VIM为链接克隆虚拟机。其中,一级临界值设为3,由图6中可以看出,当所有的链接克隆母卷中的链接克隆母卷中的链接克隆子卷数量都达到3个时,从一个链接克隆母卷中继续创建了2个链接克隆子卷,并从链接克隆模板复制一个新的链接克隆母卷,并把新创建的2个链接克隆子卷迁移到新复制的链接克隆母卷中。

需要说明的是,针对所述第一链接克隆母卷创建的链接克隆子卷总数不大于二级临界值,所述二级临界值大于所述一级临界值。

进一步的,当检测到链接克隆母卷总数和链接克隆子卷总数满足:链接克隆子卷总数<=[(链接克隆母卷总数-1)*一级临界值]时,执行链接克隆母卷的收缩过程,具体过程为:

从已有的链接克隆母卷中选择一个链接克隆母卷,将所述选择的连接克隆母卷上的链接克隆子卷迁移到链接克隆子卷个数未达到一级临界值的链接克隆母卷上,并删除所述选择的链接克隆母卷。

具体的,从所有的链接克隆母卷中选择一个链接克隆母卷时,包括以下两种选择策略:

第一种选择策略:从已有的链接克隆母卷中选择链接克隆子卷个数最少的一个链接克隆母卷。

第二种选择策略:从已有的链接克隆母卷中选择计算资源消耗最小的链接克隆虚拟机对应的链接克隆子卷所关联的链接克隆母卷。

例如,图7所示为,根据上述方法执行链接克隆母卷的收缩过程示意图。在图7中,T表示链接克隆模板,M表示链接克隆母卷,C表示链接克隆子卷,VIM为链接克隆虚拟机。其中,一级临界值设为3,由图7中可以看出,M的数量为3,C的数量为6,此时,链接克隆子卷总数=[链接克隆母卷总数-1)*一级临界值],此时,选择一个链接克隆子卷数量最少的链接克隆母卷,并将所述选择的链接克隆母卷上的链接克隆子卷迁移到链接克隆子卷个数未达3的链接克隆母卷上,并删除所述选择的链接克隆母卷,这样能够根据实际情形自动所讲链接克隆母卷的数量,节约存储空间。

进一步的,执行完毕步骤54之后,即基于第一链接克隆母卷创建链接克隆子卷之后,所述方法还包括:

当检测到链接克隆母卷总数和链接克隆子卷总数满足:链接克隆子卷总数<=(链接克隆母卷总数*一级临界值)]时,执行链接克隆母卷的负载均衡过程,具体过程为:

针对链接克隆母卷中链接克隆子卷数量达到一级临界值的任意一个链接克隆母卷,将所述任意一个链接克隆母卷中的所述M个链接克隆子卷迁移到链接克隆子卷数量未达到一级临界值的链接克隆母卷上。

进一步的,当检测到链接克隆母卷总数和链接克隆子卷总数满足:[(链接克隆母卷总数-1)*一级临界值]<链接克隆子卷总数<=[(链接克隆母卷总数)*一级临界值]时,执行:

针对链接克隆母卷中链接克隆子卷数量达到预设阈值的任意一个链接克隆母卷,将所述任意一个链接克隆母卷中的所述M个链接克隆子卷迁移到链接克隆子卷数量未达到所述预设阈值的链接克隆母卷上,所述预设阈值的取值为不大于一级临界值的正整数。

例如,图8所示为,根据上述方法执行链接克隆母卷的负载均衡过程示意图。在图8中,T表示链接克隆模板,M表示链接克隆母卷,C表示链接克隆子卷,VIM为链接克隆虚拟机。其中,一级临界值设为3,由图8中可以看出,M的数量为3,C的数量为6,此时,链接克隆子卷总数=[链接克隆母卷总数-1)*一级临界值],此时,有部分链接克隆母卷所链接的链接克隆子卷数量达到一级临界值3,但不是所有链接克隆母卷的子卷数量都达到一级临界值,针对链接克隆子卷达到一级临界值约束的链接克隆母卷,将这些链接克隆母卷上的部分链接克隆子卷迁移到创建链接克隆子卷个数未达到一级临界值的链接克隆母卷上,直到所有的链接克隆母卷上的链接克隆子卷数量都小于一级临界值。这样就不需要重新创建一个新的链接克隆母卷,直接在原有的链接克隆母卷基础上负载均衡即可解决部分链接克隆母卷负载较重的问题。

如果每个链接克隆母卷所链接的链接克隆子卷数量都未达到一级临界值,此时,也可以基于一定的负载均衡策略来均衡部分链接克隆母卷所链接的链接克隆子卷数量,以达到最佳性能。

具体的,在图4所示的云计算场景中,链接克隆虚拟机管理系统接收到用于创建链接克隆虚拟机的命令后,将所述命令发送给计算管理系统,计算管理系统准备虚拟机相关的计算资源,然后控制存储管理系统根据链接克隆模板创建链接克隆子卷,为链接克隆虚拟机准备存储资源。具体的,链接克隆虚拟机的创建流程可参阅图9所示,具体流程如下:

S90:存储管理系统调度链接克隆母卷管理子系统检查存储系统中针对指定的链接克隆模板中是否存在链接克隆母卷,如果是,执行S91;否则,执行S92。

S91:存储管理系统调度链接克隆母卷管理子系统检查当前所有的链接克隆母卷在一级临界值约束下是否还能继续创建链接克隆子卷,如果是,执行S93;否则,执行S94。

S92:存储管理系统调度链接克隆母卷管理子系统从链接克隆模板复制得到一个新的链接克隆母卷,继续执行S93。

S93:存储管理系统调度链接克隆子卷管理子系统针对满足第一约束条件的链接克隆母卷创建链接克隆子卷,其中,满足第一约束条件的链接克隆母卷指的是链接克隆子卷数量小于一级临界值的链接克隆母卷。

S94:存储管理系统调度链接克隆母卷管理子系统检查当前所有的链接克隆母卷在二级临界值约束下是否还能继续创建链接克隆子卷,如果是,执行S95;否则,执行S92。

S95:存储管理系统调度链接克隆子卷管理子系统针对满足第二约束条件的链接克隆母卷创建链接克隆子卷,此时触发链接克隆母卷的扩展流程和链接克隆母卷的合并流程,具体的,链接克隆母卷的扩展管理流程如图10所示,链接克隆母卷的合并流程如图11所示。其中,满足第二约束条件的链接克隆母卷指的是链接克隆子卷数量大于一级临界值小于二级临界值的链接克隆母卷。

S96:链接克隆虚拟机创建结束,将得到的链接克隆子卷用于链接克隆虚拟机。

进一步的,链接克隆母卷的扩展流程,如图10所示,具体包括如下步骤:

S100:存储管理系统在后台定期扫描链接克隆母卷上创建的链接克隆子卷,检测是否存在链接克隆子卷的数量超过一级临界值的链接克隆母卷,如果是,则执行S101;否则,执行S105。

S101:存储管理系统检查链接克隆母卷总数和链接克隆子卷总数是否满足约束条件:链接克隆子卷总数<=[(链接克隆母卷总数)*一级临界值],如果是,则执行S102;否则,执行S103。

S102:存储管理系统检测创建的链接克隆子卷数量超过一级临界值的链接克隆母卷,将检测到的链接克隆母卷上的部分链接克隆子卷迁移到链接克隆子卷数量未达到一级临界值的链接克隆母卷上,接着执行S104。

S103:存储管理系统从链接克隆模板再复制一个新的链接克隆母卷,继续执行S102。

S104:存储管理系统检查所有的链接克隆母卷上的链接克隆子卷数量是否小于一级临界值,若是,则执行S105;否则,执行S102。

S105:链接克隆母卷扩展过程结束。

进一步的,链接克隆母卷的合并流程如图11所示,具体包括如下步骤:

S110:存储管理系统在后台定期扫描链接克隆母卷上创建的链接克隆子卷,检查链接克隆母卷总数和链接克隆子卷总数是否满足约束条件:链接克隆子卷总数<=[(链接克隆母卷总数-1)*一级临界值],如果是,则执行S111;否则,执行S114。

S111:存储管理系统根据上述选择策略选择一个链接克隆母卷,所述选择策略可以是选择链接克隆子卷数量最少的链接克隆母卷,也可以选择链接克隆子卷对应的链接链接克隆虚拟机的计算资源消耗最小的链接克隆母卷。

S112:将选择的链接克隆母卷上的链接克隆子卷全部迁移到其它链接克隆母卷上,且保证更新后的每个链接克隆母卷上的链接克隆子卷数量不超过一级临界值。

S113:将选择的链接克隆母卷删除,释放其占用的存储空间,并返回S110,如此反复。

S114:链接克隆母卷合并过程结束。

实施例一

实施例一以在云计算场景中对链接克隆母卷进行扩展的过程为例来说明链接克隆母卷管理方法。

当链接克隆虚拟机管理系统接收到用于创建链接克隆虚拟机的命令后,根据链接克隆模板创建第一个链接克隆虚拟机时,链接克隆虚拟机管理系统调度计算管理系统为虚拟机准备相关计算资源(如CPU、内存等),链接克隆虚拟机管理系统调度存储管理系统为虚拟机准备相关存储资源,生成链接克隆子卷。存储管理系统调度链接克隆母卷管理系子统从链接克隆模板复制得到第一个链接克隆母卷,后续在一级临界值范围内都会从这个链接克隆母卷创建链接克隆子卷用于链接克隆虚拟机,这与现在的链接克隆方案一致。

如图12所示,当第一个链接克隆母卷已经创建的链接克隆子卷数量达到一级临界值后,如果链接克隆虚拟机管理系统还需要继续创建链接克隆虚拟机,现有的链接克隆方案中,则需要存储管理系统调度链接克隆母卷管理子系统再从链接克隆模板复制得到一个新的链接克隆母卷后,再从新的链接克隆母卷创建链接克隆子卷。而采用的本发明链接克隆母卷扩展方案,可以允许第一个链接克隆母卷临时超出一级临界值约束继续创建链接克隆子卷,然后由存储管理系统在后台定期扫描链接克隆子卷,并创建链接克隆母卷扩展线程根据链接克隆模板复制新的链接克隆母卷。这样可以节省链接克隆虚拟机的创建时间,减少了从链接克隆模板复制得到链接克隆母卷的时间。在母卷扩展线程完成新的链接克隆母卷的复制后,将第一个链接克隆母卷上超过一级临界值数量的链接克隆子卷迁移到新创建的链接克隆母卷上,使第一个链接克隆母卷上的链接克隆子卷数量重新满足一级临界值的约束。

例如,图12所示,一个链接克隆母卷可以创建128个链接克隆子卷,一级临界值为128,此时,一个链接克隆模板在存储系统中有一个链接克隆母卷M1,且这个链接克隆母卷M1上已经创建了127个链接克隆子卷,当需要再创建一个链接克隆虚拟机时,还可以继续从这个链接克隆母卷M1上创建第128个链接克隆子卷用于链接克隆虚拟机,这样可以满足一级临界值的要求。如果还需要再创建一个链接克隆虚拟机,现有的方法是先再从链接克隆模板复制一个新的链接克隆母卷,以40GB大小的链接克隆模板计算,对于写速度为400MB/S的固态硬盘(solid state disk,SSD)需要100多秒,对于写速度为200MB/S的串行连接SCSI(Serial Attached SCSI,SAS)硬盘需要200多秒,需要等待这么长的时间后才能从新创建出来的链接克隆母卷创建链接克隆子卷,而那个新的链接克隆母卷可以最多再创建127个链接克隆子卷。采用本发明中的链接克隆母卷扩展方案,将继续使用原来的链接克隆母卷继续创建第129个链接克隆子卷,无需额外等待就可以得到链接克隆子卷用于链接克隆虚拟机,存储管理系统在后台创建母卷扩展线程根据链接克隆模板复制新的链接克隆母卷M2,这样所需要消耗的复制时间不会影响链接克隆虚拟机的创建速度,然后再将第一个链接克隆母卷M1上的部分链接克隆子卷迁移到新的链接克隆母卷M2上,这样第一个链接克隆母卷M1上的链接克隆子卷数量又重新从129个减少为128个,在一级临界值约束范围内,第二个链接克隆母卷M2上有1个链接克隆子卷,在一级临界值约束范围内还可以支持127个链接克隆子卷。

实施例二:

当链接克隆虚拟机管理系统接收到创建链接克隆虚拟机的命令的并发度较大时,允许链接克隆母卷超过一级临界值创建链接克隆子卷,但不允许超过二级临界值约束创建链接克隆子卷。

如图13所示,当存储管理系统接收到大量创建链接克隆虚拟机的命令后,前两个链接克隆母卷M1和M2都创建了达到二级临界值的链接克隆子卷时,如果还需要继续创建克隆子卷,则必须等待从链接克隆模板复制得到第三个链接克隆母卷M3后,才能继续从第三个链接母卷M3继续创建链接克隆子卷,这样第三个链接克隆母卷M3上的链接克隆子卷的创建时间相比于前两个链接克隆母卷上的链接克隆子卷的创建时间要多出从链接克隆模板复制链接克隆母卷的时间。存储管理系统检查到当前的链接克隆子卷总数和链接克隆母卷总数之间的关系满足:

链接克隆子卷总数>[(链接克隆母卷总数+1)*一级临界值]

则表明再创建一个链接克隆母卷也不足以支持使每个链接克隆母卷上的链接克隆子卷数量重新满足一级临界值的约束,此时可以选择先创建一个链接克隆母卷,然后再次检查是否满足:

链接克隆子卷总数<=(链接克隆母卷总数*一级临界值)

来决定是否继续创建一个链接克隆母卷,也可以直接创建足够多的链接克隆母卷。在本实施例二中,可以直接在后台再创建第四个和第五个链接克隆母卷,即M4和M5,然后将前两个链接克隆母卷上超过一级临界值数量的链接克隆子卷迁移到后三个链接克隆母卷上,使每一个链接克隆母卷上的链接克隆子卷数量重新满足一级临界值的约束。

例如,图13所示,一级临界值为128,二级临界值为256,一个链接克隆母卷可以创建128个链接克隆子卷,最多可以创建256个链接克隆子卷。此时,一个链接克隆模板在存储系统中有2个链接克隆母卷,且这2个链接克隆母卷上都已经创建了128个链接克隆子卷,如果此时存储管理系统接收到创建300个链接克隆虚拟机的命令后,在二级临界值约束范围下,这2个链接克隆母卷还可以总共支持256个链接克隆子卷,在创建第257个链接克隆子卷时,已经不能再使用这2个链接克隆母卷,必须触发从链接克隆模板复制新的链接克隆母卷,且在复制完成后才能继续从新的链接克隆母卷创建第257-300个链接克隆子卷。存储管理系统检查到即使再创建1个链接克隆母卷也不能满足在更新链接克隆母卷后每个链接克隆母卷上的链接克隆子卷数量在一级临界值约束范围内,存储管理系统在后台创建链接克隆母卷扩展线程根据链接链接克隆模板复制2个链接克隆母卷,这样所需要消耗的复制时间不会影响链接克隆虚拟机的创建速度,然后再将前2个已经创建256个链接克隆子卷的链接克隆母卷上的部分链接克隆子卷迁移到这2个新的链接克隆母卷上,这样前2个链接克隆母卷上的链接克隆子卷数量又重新从256个减少为128个,在一级临界值约束范围内,第3、第4和第5个链接克隆母卷上都有100个链接克隆子卷,这样都满足一级临界值的要求。

实施例三:

实施例一以在云计算场景中对链接克隆母卷进行合并的过程为例来说明链接克隆母卷管理方法。

经过一段较长时间的使用,有些链接克隆虚拟机被删除掉时,对应的链接克隆子卷也会被删除掉,则链接克隆母卷上的链接克隆子卷数量离一级临界值越来越远,此时,就可以将一些链接克隆母卷上的链接克隆子卷迁移到其它的链接克隆母卷上,并删除那些链接克隆子卷数量为0的链接克隆母卷。

如图14所示,存储系统中针对一个指定的链接克隆模板,有3个链接克隆母卷,分别是M1、M2和M3,存储管理系统定期扫描链接克隆子卷,可以检查到根据指定的链接克隆模板创建的链接克隆母卷总数和链接克隆子卷总数满足:

链接克隆子卷总数<=[(链接克隆母卷总数-1)*一级临界值]

由于第三个链接克隆母卷上的链接克隆子卷数量最少,此时将第三个链接克隆母卷M3上的所有链接克隆子卷都迁移到第二个链接克隆母卷M2上,并把第三个链接克隆母卷M3删除后,若检查到根据指定的链接克隆模板创建的链接克隆母卷总数和链接克隆子卷总数不再满足:

链接克隆子卷总数<=[(链接克隆母卷总数-1)*一级临界值]

此时,不再进行链接克隆母卷的合并,链接克隆母卷合并操作过程结束。

例如,图14所示,一级临界值为128,一个链接克隆母卷可以创建128个链接克隆子卷,此时,一个链接克隆模板在存储系统中有3个链接克隆母卷,分别是M1、M2、M3,经过一段较长时间的使用,这3个链接克隆母卷上都对应有80个链接克隆子卷,这样链接克隆子卷总数就有3*80=240个,而实际3个链接克隆母卷可以支持最多128*3=384个链接克隆子卷,2个链接克隆母卷可以支持最多128*2=256个链接克隆子卷,存储管理系统可以把第3个链接克隆母卷M3上的80个链接克隆子卷迁移到前2个链接克隆母卷M1和M2上,分别将40个链接克隆子卷迁移到M1和M2上,更新完成后,第1个和第2个链接克隆母卷上的链接克隆子卷数量都有120个,第3个链接克隆母卷M3上没有链接克隆子卷,将第3个链接克隆母卷删除。

实施例四:

实施例四以在云计算场景中对链接克隆母卷进行负载均衡的过程为例来说明链接克隆母卷管理方法。

当存储管理系统检查到当前的链接克隆子卷总数和链接克隆母卷总数之间的关系满足:

[(链接克隆母卷总数-1)*一级临界值]<链接克隆子卷总数<=[(链接克隆母卷总数)*一级临界值]

此时,链接克隆母卷都在一级临界值约束范围内创建了一定数量的链接克隆子卷,但又不足以削减一个链接克隆母卷,则可以进行链接克隆母卷的负载均衡,将链接克隆子卷数量较多的链接克隆母卷上的部分链接克隆子卷迁移到链接克隆子卷数量较少的链接克隆母卷上。

如图15所示,存储系统中针对一个指定的链接克隆模板,有3个链接克隆母卷,分别是M1、M2、M3,存储管理系统定期扫描链接克隆子卷,检查到根据指定的链接克隆模板创建的链接克隆母卷总数和链接克隆子卷总数满足:

[(链接克隆母卷总数-1)*一级临界值]<链接克隆子卷总数<=[(链接克隆母卷总数)*一级临界值]

此时,由于第一个链接克隆母卷M1上的链接克隆子卷数量较多,达到预设阈值,第三个链接克隆母卷M1上的链接克隆子卷数量较少,且远小于预设阈值,所述预设阈值小于一级临界值,因此,将第一个链接克隆母卷M1上的部分链接克隆子卷迁移到第三个链接克隆母卷M3上,使三个链接克隆母卷对应的链接克隆子卷数量相差较小,只此链接克隆母卷的负载均衡过程结束。

例如,图15所示,一级临界值为128,一个链接克隆母卷可以创建128个链接克隆子卷,此时,一个链接克隆模板在存储系统中有3个链接克隆母卷,分别是M1、M2、M3,经过一段较长时间的使用,这3个链接克隆母卷M1、M2、M3上分别对应的链接克隆子卷数为128、100、72,这样链接克隆子卷总数为128+100+72,=300个,而实际3个链接克隆母卷可以支持最多128*3=384个链接克隆子卷,2个链接克隆母卷可以支持最多128*2=256个链接克隆子卷,这样每个链接克隆母卷上的链接克隆子卷数量都低于一级临界值,且不能缩减任何一个链接克隆母卷。此时,设置预设阈值为100,存储管理系统可以把第1个链接克隆母卷M1上的128-100=28个链接克隆子卷迁移到第3个链接克隆母卷M3上,更新完成后,3个链接克隆母卷上的链接克隆子卷数量都有100个,则可以达到负载均衡的效果。

基于同一发明构思,参阅图16所示,本发明实施例还提供一种链接克隆母卷管理装置1600,用以执行图5~图15所示的链接克隆母卷管理方法。该管理装置1600包括:接收单元1601和处理单元1602。其中:

处理单元1602,用于基于链接克隆模板复制链接克隆母卷;

接收单元1601,用于接收为用户创建链接克隆虚拟机的命令;

所述处理单元1602,还用于确定基于已有的链接克隆母卷所创建的链接克隆子卷的数量达到一级临界值;根据所述命令,基于第一链接克隆母卷创建链接克隆子卷,所述第一链接克隆母卷为已有的链接克隆母卷中的任意一个链接克隆母卷;使用所述链接克隆模板复制一个新的链接克隆母卷作为第二链接克隆母卷;将所述第一链接克隆母卷中的M个链接克隆子卷迁移到所述第二链接克隆母卷上,M为不小于所述第一链接克隆母卷中的链接克隆子卷数量与一级临界值之差的正整数。

可选的,所述处理单元1602在根据所述命令,基于第一链接克隆母卷创建链接克隆子卷之前,还用于:

确定基于所述第一链接克隆母卷创建的链接克隆子卷的数量不大于二级临界值,所述二级临界值大于所述一级临界值。

可选的,所述处理单元1602还用于:

当检测到链接克隆母卷总数和链接克隆子卷总数满足条件:链接克隆子卷总数<=[(链接克隆母卷总数-1)*一级临界值]时,执行:

从已有的链接克隆母卷中选择一个链接克隆母卷,将所述选择的连接克隆母卷上的链接克隆子卷迁移到链接克隆子卷个数未达到一级临界值的链接克隆母卷上,并删除所述选择的链接克隆母卷。

可选的,所述处理单元1602从已有的链接克隆母卷中选择一个链接克隆母卷时,具体用于:

从已有的链接克隆母卷中选择关联的链接克隆子卷个数最少的一个链接克隆母卷;或,

从已有的链接克隆母卷中选择计算资源消耗最小的链接克隆虚拟机对应的链接克隆子卷所关联的链接克隆母卷。

可选的,所述处理单元1602在基于第一链接克隆母卷创建链接克隆子卷之后,还用于:

当检测到链接克隆母卷总数和链接克隆子卷总数满足:链接克隆子卷总数<=(链接克隆母卷总数*一级临界值)]时,执行:

针对链接克隆母卷中链接克隆子卷数量达到一级临界值的任意一个链接克隆母卷,将所述任意一个链接克隆母卷中的所述M个链接克隆子卷迁移到链接克隆子卷数量未达到一级临界值的链接克隆母卷上。

可选的,所述处理单元1602还用于:

当检测到链接克隆母卷总数和链接克隆子卷总数满足:[(链接克隆母卷总数-1)*一级临界值]<链接克隆子卷总数<=[(链接克隆母卷总数)*一级临界值]时,执行:

针对链接克隆母卷中链接克隆子卷数量达到预设阈值的任意一个链接克隆母卷,将所述任意一个链接克隆母卷中的所述M个链接克隆子卷迁移到链接克隆子卷数量未达到所述预设阈值的链接克隆母卷上,所述预设阈值的取值为不大于一级临界值的正整数。

应理解以上装置1600中的各个单元的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。例如,以上各个单元可以为单独设立的处理元件,也可以集成在设备的某一个芯片中实现,此外,也可以以程序代码的形式存储于设备的存储元件中,由设备的某一个处理元件调用并执行以上各个单元的功能。此外各个单元可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个单元可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,CPU),还可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,ASIC),或,一个或多个微处理器(digital singnal processor,DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,FPGA)等。

需要说明的是,本发明实施例中的装置1600的各个单元的功能实现以及交互方式可以进一步参照相关方法实施例的描述,在此不再赘述。

基于同一发明构思,参阅图17所示,本申请实施例还提供了一种链接克隆母卷管理设备1700,包括:收发器1701、处理器1702和存储器1703,执行本发明方案的程序代码保存在存储器1703中,并由处理器1702来控制执行。

存储器1703中存储的程序用于指令处理器1702执行链接克隆母卷管理方法,包括:基于链接克隆模板复制链接克隆母卷;通过收发器1701接收为用户创建链接克隆虚拟机的命令;确定基于已有的链接克隆母卷所创建的链接克隆子卷的数量达到一级临界值;根据所述命令,基于第一链接克隆母卷创建链接克隆子卷,所述第一链接克隆母卷为已有的链接克隆母卷中的任意一个链接克隆母卷;使用所述链接克隆模板复制一个新的链接克隆母卷作为第二链接克隆母卷;将所述第一链接克隆母卷中的M个链接克隆子卷迁移到所述第二链接克隆母卷上,M为不小于所述第一链接克隆母卷中的链接克隆子卷数量与一级临界值之差的正整数。

所述处理器1702在根据所述命令,基于第一链接克隆母卷创建链接克隆子卷之前,还用于:

确定基于所述第一链接克隆母卷创建的链接克隆子卷的数量不大于二级临界值,所述二级临界值大于所述一级临界值。

所述处理器1702还用于:

当检测到链接克隆母卷总数和链接克隆子卷总数满足条件:链接克隆子卷总数<=[(链接克隆母卷总数-1)*一级临界值]时,执行:

从已有的链接克隆母卷中选择一个链接克隆母卷,将所述选择的连接克隆母卷上的链接克隆子卷迁移到链接克隆子卷个数未达到一级临界值的链接克隆母卷上,并删除所述选择的链接克隆母卷。

所述处理器1702从已有的链接克隆母卷中选择一个链接克隆母卷时,具体用于:

从已有的链接克隆母卷中选择关联的链接克隆子卷个数最少的一个链接克隆母卷;或,

从已有的链接克隆母卷中选择计算资源消耗最小的链接克隆虚拟机对应的链接克隆子卷所关联的链接克隆母卷。

所述处理器1702在基于第一链接克隆母卷创建链接克隆子卷之后,还用于:

当检测到链接克隆母卷总数和链接克隆子卷总数满足:链接克隆子卷总数<=(链接克隆母卷总数*一级临界值)]时,执行:

针对链接克隆母卷中链接克隆子卷数量达到一级临界值的任意一个链接克隆母卷,将所述任意一个链接克隆母卷中的所述M个链接克隆子卷迁移到链接克隆子卷数量未达到一级临界值的链接克隆母卷上。

所述处理器1702还用于:

当检测到链接克隆母卷总数和链接克隆子卷总数满足:[(链接克隆母卷总数-1)*一级临界值]<链接克隆子卷总数<=[(链接克隆母卷总数)*一级临界值]时,执行:

针对链接克隆母卷中链接克隆子卷数量达到预设阈值的任意一个链接克隆母卷,将所述任意一个链接克隆母卷中的所述M个链接克隆子卷迁移到链接克隆子卷数量未达到所述预设阈值的链接克隆母卷上,所述预设阈值的取值为不大于一级临界值的正整数。

处理器1702可以是中央处理器(英文:central processing unit,缩写:CPU),网络处理器(英文:network processor,缩写:NP)或者CPU和NP的组合。

处理器1702还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:application-specific integrated circuit,缩写:ASIC),可编程逻辑器件(英文:programmable logic device,缩写:PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:CPLD),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),通用阵列逻辑(英文:generic array logic,缩写:GAL)或其任意组合。

存储器1703可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器1703也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);存储器1703还可以包括上述种类的存储器的组合。

收发器1701可以是能够实现收发功能的实体模块,以便与其他设备进行通信。

存储器1703和收发器1701可以通过总线与处理器相连接,或者也可以通过专门的连接线分别与处理器连接。

通过对处理器1702进行设计编程,将上述方法实施例中所示的连接克隆母卷管理方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行图5~图15所示的方法。如何对处理器进行设计编程为本领域技术人员所公知的技术,这里不再赘述。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1