一种存储池化容量利用方法,系统,电子设备及存储介质技术方案

技术编号:22466882 阅读:13 留言:0更新日期:2019-11-06 10:46
本发明专利技术提供一种存储池化容量利用方法,系统,电子设备及存储介质,获取算法前置条件:创建的逻辑卷数量,获取各个存储资源空闲容量大小和总数量;判断创建逻辑卷数量和存储资源数量关系,根据存储资源空闲容量和创建逻辑卷数量计算结果;根据二分查找原理,计算最大供给容量。当用户在前端界面上使用虚拟池化空间时,根据用户输入的创建逻辑卷的数量,以及虚拟池化空间上所附着的存储资源的个数及每个存储资源的空闲容量的大小,自动计算出最大可利用容量。同时如果当用户同时输入要创建的逻辑卷的数量和每个卷的大小时,根据算法计算出的最大供给容量,能够在前端界面给予用户提示虚拟池化空间能否满足用户需求,方便用户操作。

A storage pool capacity utilization method, system, electronic equipment and storage medium

【技术实现步骤摘要】
一种存储池化容量利用方法,系统,电子设备及存储介质
本专利技术涉及存储
,尤其涉及一种存储池化容量利用方法,系统,电子设备及存储介质。
技术介绍
大数据时代,巨大的数据流量对底层存储提出了越来越高的要求,不仅要求存储的速度同时还要求存储的容量,TB、PB甚至更高级别的容量要求已经是一种常态化的需求。存储设备通过整合底层物理硬盘对外提供大容量、高可靠的存储服务。对于最终用户而言,其主要关注可利用的存储服务及其能够提供的容量,因此可以通过虚拟化的手段,将多个存储服务提供的存储池资源进行整合,统一向用户提供服务,即存储虚拟池化服务。通过存储虚拟池化,可以有效的整合存储资源,给用户提供统一、一致的存储服务,用户无须登陆或处理各种各样形态不一的存储服务。随着存储虚拟池化服务的使用,在虚拟层引入了一个新问题——如何有效利用虚拟池化空间中各个存储服务提供的容量。在解决虚拟池化空间容量利用问题上,一种简单的作法是“先进先出”原则,即根据添加到虚拟池化空间上存储服务的顺序,依次进行查询校验,以判断是否满足用户存储需求。但这种方法一是存在查询效率问题,二是无法针对虚拟池化空间上所有存储资源进行一个统一规划,不能有效利用各个存储资源的容量。这两点随着虚拟池化空间上附着存储资源数量的增多愈发严重。
技术实现思路
本专利技术的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本专利技术的实践而习得。本专利技术针对在虚拟池化空间上创建逻辑卷操作时,如何有效利用虚拟池化空间中存储资源的容量,提出了一种简单高效的容量利用方法。根据本专利技术实施例的第一方面,提供了一种存储池化容量利用方法,方法包括:步骤一:获取算法前置条件:创建的逻辑卷数量,获取各个存储资源空闲容量大小和总数量;步骤二:判断创建逻辑卷数量和存储资源数量关系,根据存储资源空闲容量和创建逻辑卷数量计算结果;步骤三:根据二分查找原理,计算最大供给容量。在本专利技术的一些实施例中,基于前述方案,步骤一还包括:获取算法实现的前置条件:创建的逻辑卷数量n,虚拟池化空间上每个存储资源的空闲容量Ci,i=1,2,3……m,其中m为虚拟池化空间上附着的所有存储资源的总数;根据空闲容量Ci,i=1,2,3……m,由大到小对存储资源进行排序,排序后的空闲容量为Fi,i=1,2,3……m。在本专利技术的一些实施例中,基于前述方案,步骤二还包括:比较需要创建的逻辑卷数量n和存储资源数量m的大小,如果m>=n,则记x=n,否则,记x=m;x为算法中归一化的变量。在本专利技术的一些实施例中,基于前述方案,步骤二还包括:若x<=0代表用户输入或获取到的存储资源数量错误,算法结束并给予用户相关提示;若x=1,则表示在一个拥有预设空闲容量的存储资源上提供所有的n个卷,则每个卷的最大供给量为F1/n,最终所有的存储卷将创建在该最大空闲容量存储资源上;若x>1,则表示在多个存储资源上共同提供n个存储卷的容量;最终n个卷是创建在多个存储资源上的;基于m>=x,在空闲容量由大到小排序后的前x个存储资源中进行判断即可。在本专利技术的一些实施例中,基于前述方案,步骤三还包括:若x>1时,在空闲容量由大到小排序后的前x个存储资源中计算最大供给容量的步骤:S11,将最大供给容量记为max_size,其初始值设置为空闲容量由大到小排序后前x个存储资源中最后一个存储资源的空闲容量,设置min_size=0;S12,设置初始值count=0,space=0,顺序遍历x个存储资源,对于每个存储资源的空闲容量free,计算count=free/max_size,space=free%max_size;S13,将x个存储资源计算的count和space各自求和。在本专利技术的一些实施例中,基于前述方案,步骤三还包括:S14,如果count==n并且space==0,则x个存储资源上能够以max_size提供用户所要求的n个逻辑卷的创建,且其上没有其他剩余空间,则结束循环,此时的max_size即为所求最大供给容量;S15,否则,若count>=n,则x个存储资源以max_size提供用户所要求的n个逻辑卷的创建;将最小空闲容量的存储资源排除,将在剩下的x-1个存储资源中筛选;S16,将min_size设置为max_size,同时将max_size设置为空闲空间最小的存储资源空闲容量,重新开始执行S12;S17,若count<n,说明所选的max_size大于阈值,在x个存储资源中无法以max_size提供用户所要求的n个逻辑卷创建,在min_size和max_size之间计算最大供给容量,结束循环。在本专利技术的一些实施例中,基于前述方案,步骤三还包括:当S12开始的循环结束时,根据二分查找的原理,以min_size、max_size、y为输入,先计算出一个中间变量mid_size,以步骤S12,S13的计算判断原则判断mid_size是否为精准匹配;若是,则mid_size即为所求;如果mid_size过大,则在min_size和mid_size之间重新二分查找;如果mid_size小,即存储资源上还有剩余空间,则在mid_size和max_size之间查找;最终筛选计算出最终的最大供给容量。根据本专利技术实施例的第二方面,提供了一种存储池化容量利用系统,包括:存储资源,虚拟池化服务模块以及算法前置条件配置模块;算法前置条件配置模块用于获取算法前置条件:创建的逻辑卷数量,获取各个存储资源空闲容量大小和总数量;虚拟池化服务模块用于判断创建逻辑卷数量和存储资源数量关系,根据存储资源空闲容量和创建逻辑卷数量计算结果;根据二分查找原理,计算最大供给容量。根据本专利技术实施例的第三方面,提供了一种存储池化容量利用方法的电子设备,包括:存储器,用于存储计算机程序及存储池化容量利用方法;处理器,用于执行所述计算机程序及存储池化容量利用方法,以实现存储池化容量利用方法的步骤。根据本专利技术实施例的第四方面,提供了一种具有实现存储池化容量利用方法的计算机可读存储介质,计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行以实现存储池化容量利用方法的步骤。从以上技术方案可以看出,本专利技术具有以下优点:通过本专利技术的方法,当用户在前端界面上使用虚拟池化空间时,根据用户输入的创建逻辑卷的数量,以及虚拟池化空间上所附着的存储资源的个数及每个存储资源的空闲容量的大小,自动计算出最大可利用容量。同时如果当用户同时输入要创建的逻辑卷的数量和每个卷的大小时,根据算法计算出的最大供给容量,能够在前端界面给予用户提示虚拟池化空间能否满足用户需求,方便用户操作。为从根本上解决改善虚拟池化空间容量利用问题,本专利技术以用户输入的需要在虚拟池化空间上创建逻辑卷的数量和虚拟池化空间上存储资源的个数及每个存储资源的容量为依据,通过简单高效的二分查找判断虚拟池化空间能够提供的最大容量,有效的利用了虚拟池化空间上的各个存储资源,同时有利于当用户前端界面同时输入创建卷数量和每个卷容量时,当虚拟池化空间无法提供对应存储服务时,给予用户以提示。附图说明为了更清楚地说明本专利技术的技术方案,下面将对描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些本文档来自技高网...

【技术保护点】
1.一种存储池化容量利用方法,其特征在于,方法包括:步骤一:获取算法前置条件:创建的逻辑卷数量,获取各个存储资源空闲容量大小和总数量;步骤二:判断创建逻辑卷数量和存储资源数量关系,根据存储资源空闲容量和创建逻辑卷数量计算结果;步骤三:根据二分查找原理,计算最大供给容量。

【技术特征摘要】
1.一种存储池化容量利用方法,其特征在于,方法包括:步骤一:获取算法前置条件:创建的逻辑卷数量,获取各个存储资源空闲容量大小和总数量;步骤二:判断创建逻辑卷数量和存储资源数量关系,根据存储资源空闲容量和创建逻辑卷数量计算结果;步骤三:根据二分查找原理,计算最大供给容量。2.根据权利要求1所述的存储池化容量利用方法,其特征在于,步骤一还包括:获取算法实现的前置条件:创建的逻辑卷数量n,虚拟池化空间上每个存储资源的空闲容量Ci,i=1,2,3……m,其中m为虚拟池化空间上附着的所有存储资源的总数;根据空闲容量Ci,i=1,2,3……m,由大到小对存储资源进行排序,排序后的空闲容量为Fi,i=1,2,3……m。3.根据权利要求1或2所述的存储池化容量利用方法,其特征在于,步骤二还包括:比较需要创建的逻辑卷数量n和存储资源数量m的大小,如果m>=n,则记x=n,否则,记x=m;x为算法中归一化的变量。4.根据权利要求3所述的存储池化容量利用方法,其特征在于,步骤二还包括:若x<=0代表用户输入或获取到的存储资源数量错误,算法结束并给予用户相关提示;若x=1,则表示在一个拥有预设空闲容量的存储资源上提供所有的n个卷,则每个卷的最大供给量为F1/n,最终所有的存储卷将创建在该最大空闲容量存储资源上;若x>1,则表示在多个存储资源上共同提供n个存储卷的容量;最终n个卷是创建在多个存储资源上的;基于m>=x,在空闲容量由大到小排序后的前x个存储资源中进行判断即可。5.根据权利要求1或2所述的存储池化容量利用方法,其特征在于,步骤三还包括:若x>1时,在空闲容量由大到小排序后的前x个存储资源中计算最大供给容量的步骤:S11,将最大供给容量记为max_size,其初始值设置为空闲容量由大到小排序后前x个存储资源中最后一个存储资源的空闲容量,设置min_size=0;S12,设置初始值count=0,space=0,顺序遍历x个存储资源,对于每个存储资源的空闲容量free,计算count=free/max_size,space=free%max_size;S13,将x个存储资源计算的count和space各自求和。6.根据权利要求5所述的存储池化容量利用方法,其特征在于,步骤三还包括:S14,如果count==n并且s...

【专利技术属性】
技术研发人员:马旭
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1