存储池容量管理的制作方法

文档序号:10654081阅读:419来源:国知局
存储池容量管理的制作方法
【专利摘要】本发明公开了存储池容量管理。实施例涉及持久存储卷的池。卷的容量相对于它们对应的存储池容量阈值而被管理以确保所述卷的持续操作和作用。后台处理基于相似性或通用性特性将每个池内的卷分组为一个或多个聚类。后台处理选择性地执行选择的卷的副本的一种或多种空间节省技术,测量与这些技术相关联的影响数据,并且维护该数据。在诸如接近存储池的阈值水平的这样的时间,一个或多个空间减小动作鉴于后台处理发生于组成的卷上,并且发生于相关联的组上。减小动作包括相关联的存储池中的一个或多个聚类中的一个或多个卷的空间节省技术(诸如压缩和/或精简)的实现。
【专利说明】
存储池容量管理
技术领域
[0001] 本发明设及持久存储容量管理。更具体地,本发明设及用于空间节省影响分析和 评估W及用于空间节省技术的执行的一个或多个处理。
【背景技术】
[0002] 压缩和精简预配置是在数据中屯、中被使用W减小存储容量使用(也被称为存储印 迹(foo化rint))、从而使更多存储可用的技术。存储管理员可W指定存储卷是压缩的、密集 的、还是精简的(thin),每一个管理策略不仅用在初始预配置时间,而且还用在稳态生命周 期期间。然而,使用W上技术中的任何一个减小存储容量可能对应用性能具有负面影响。例 如,从压缩的存储卷进行读取要求该卷经受需要附加处理的解压缩技术。同时,从精简的卷 进行读取可能也需要附加处理,诸如在数据访问之前的元数据查找。从压缩的卷或精简的 卷读取数据引入了 I/O延时。
[0003] 在数据存储技术的性能和数据存储技术的应用之间存在平衡。性能影响和容量节 省是工作负载(workload)的函数,并且在不同的工作负载类型之间广泛地变化。例如,如果 在应用卷驻留在其中的存储池中存在充足的可用空间,则对卷进行压缩或精简具有最小益 处。就运一点而论,存储印迹减小技术(诸如压缩和精简预配置)对于应用释放接近或者已 超过容量阔值的存储池中的存储容量是可取的。

【发明内容】

[0004] 本发明包括用于关于存储空间的可用性管理一个或多个包含一个或多个卷的存 储池的方法、计算机程序产品和系统。
[0005] 在一个方面中,提供了一种管理存储池中的存储卷的容量、更具体地使卷管理与 容量去禪合(decouple)的方法。利用两个主要组成方面,包括去禪合和选择。去禪合设及基 于一个或多个卷的压缩或精简的容量节省的估计。从每个存储池选择W第一状态操作的卷 的子集,并且对卷的副本进行精简或压缩。其后,测量并记录随着选择的子集的任何容量改 变。另外,测量并记录来自选择的子集上的工作负载的性能改变。基于记录的容量和性能改 变数据来选择并执行最佳空间减小动作的子集。在需要时执行来自该子集的至少一个动 作,从而使第一状态转换为第二状态。
[0006] 在另一方面中,提供了一种管理存储池的容量的计算机程序产品。所述计算机程 序产品包括包含可被处理单元执行的程序代码的计算机可读存储设备。所述程序代码解决 两个主要组成部分,包括去禪合和选择。更具体地,程序代码使来自一个或多个空间减小动 作的容量节省的估计与运样的动作的实际执行去禪合。与容量的估计相关联的程序代码从 每个池选择卷的子集(其中要被选择的卷W第一状态操作),并且对每个选择的子集的副本 执行第一空间减小动作。其后,所述代码测量随着选择的子集的容量改变,并且记录该改 变。所述程序代码还测量来自选择的子集上的切换的工作负载的性能改变,并且记录该性 能改变。所述代码基于记录的容量改变和性能改变来生成供执行的最佳空间减小动作的子 集。程序代码被进一步提供W在需要时执行来自生成的子集的至少一个动作,其中该执行 使第一状态转换为第二状态。
[0007] 在又一方面中,提供了一种管理存储池的容量的计算机系统。所述系统包括处理 单元W及具有两个或更多个存储卷的存储池,所述处理单元可操作地禪合到存储器,所述 存储池可操作地禪合到处理单元。提供与处理单元通信W解决存储池的容量的管理工具。 该工具包括去禪合模块和选择模块。该去禪合模块的功能在于,估计来自一个或多个空间 减小动作的容量节省,并且使该估计与运样的动作的实际执行分离。去禪合模块从每个池 选择卷的子集(其中运些卷W第一状态操作),并且对每个选择的子集的副本执行第一空间 减小动作。其后,该模块测量与选择的子集相关联的容量改变,并且记录该容量改变。另外, 测量并记录性能改变。选择模炔基于记录的容量和性能改变数据来生成最佳空间减小动作 的子集。在需要时,选择模块执行生成的最佳空间减小动作的子集上的至少一个动作。该执 行使第一状态转换为第二状态。
[0008] 从结合附图的W下对目前优选的实施例的详细描述,运些特征和优点W及其它特 征和优点将变得清楚。
【附图说明】
[0009] 本文中参考的附图形成本说明书的一部分。附图中所示的特征意在于仅例示本发 明的一些实施例,而非本发明的所有实施例,除非另有明确地指示。
[0010] 图1描绘例示去禪合处理的概述的流程图。
[0011] 图2描绘例示用于估计空间节省的处理的流程图。
[0012] 图3描绘例示用于预测存储阔值违反(violation)的处理的流程图。
[0013] 图4描绘例示管理存储容量的流程图。
[0014] 图5描绘例示存储池容量管理系统的组件的框图。
[0015] 图6描绘云计算节点的例子。
[0016] 图7描绘云计算环境。
[0017] 图8描绘云计算环境所提供的一组功能抽象层。
【具体实施方式】
[0018] 将容易理解,如在本文中的附图中总体描述和例示的本发明的组件可W W多种多 样的不同配置进行布置和设计。因此,W下对如附图中所呈现的本发明的装置、系统和方法 的实施例的详细描述并非意图限制要求保护的本发明的范围,而是仅仅代表本发明的选择 的实施例。
[0019] 在整个本说明书中对"选择的实施例"、"一个实施例"或"实施例"的引用意味着, 结合实施例描述的特定的特征、结构或特性包括在本发明的至少一个实施例中。因此,短语 "选择的实施例"、巧一个实施例中"或巧实施例中"在整个本说明书中的各个地方中出现 不一定指的是同一个实施例。
[0020] 本发明的例示的实施例将通过参考附图被最好地理解,在附图中,相似的部分始 终通过相似的数字指定。W下描述仅意图当作例子,并且仅仅例示与本文中要求保护的本 发明相一致的设备、系统和处理的某些选择的实施例。
[0021] 对存储卷的管理存在两个主要组成部分,包括识别(identification)和矫正 (reclamation)。识别设及估计与存储印迹减小技术相关联的空间节省和性能影响。矫正设 及延迟存储印迹减小技术的动作,直到满足某些标准为止。因此,运两个方面(包括识别和 矫正)被去禪合,直到诸如存储节省已被视为有益的或必要的运样的时间为止。
[0022] 如W上所讨论的,数据中屯、被配置有两个或更多个存储池。一个或多个应用可W 利用驻留在运些池中的一个或多个中的卷所支持的相关联的数据来执行应用。为了在相关 联的存储池中创建存储空间,可W对驻留在运些池中的一个或多个卷应用压缩和/或精简 预配置(在本文中也被称为精简)技术。关于时间要求和任何所产生的性能开销两者,对运 些池中的所有可能的卷应用压缩或精简在大规模系统中可能是不实际的。
[0023] 参考图1,提供了例示去禪合处理的概述的流程图(100)。基于相似性的采样方法 被利用W减轻与对所有可能的卷应用精简和压缩相关联的时间和性能开销。就运一点而 论,基于相似性来对数据中屯、中的存储卷进行聚类(cluster)(102)。在一个实施例中,如果 卷映射到同一个应用,则它们可W被视为是相似的,因为运增加了它们存储相似类型的数 据的可能性。在一个实施例中,如果卷表现出相似的随机或顺序的读取和写入IA)比例或性 质,则它们可W被视为是相似的。例如,具有主要是随机写入I/O的两个卷可W被看作是相 似的。在一个实施例中,两个或更多个卷的IA)比例之间的皮尔逊(Pearson)相关系数可W 被利用为相似性值。因此,通过使用相关值,卷可W被分组成期望数量的聚类。
[0024] 通过对卷进行聚类,如上所述,每个聚类中的卷的子集可W被选择用于压缩和精 简的评估。从每个聚类中的被选择的卷获得的空间节省和性能影响值可W被用于对该聚类 中的剩余的卷估计相似的特性,并且在一个实施例中,可W用作对于未来采样的指导。将变 量YTDtal分配给所形成的卷的聚类的数量(104),并且对相关联的聚类计数变量Y进行初始化 (106)。对于每个聚类,利用最少一个卷W进行评估。将变量XTotai分配给clustery中被选择 用于评估的卷的子集内的数量(108),并且对相关联的卷计数变量X进行初始化(110)。对 clustery中的VOlumex的副本应用压缩或精简(112),并且将相关联的工作负载分配给压缩 的或精简的副本(114)。为了理解利用已被压缩或精简的数据的处理的寓意,获得来自压缩 或精简的空间节省数据(116),并且获得与从非空间减小状态到空间减小状态(诸如压缩或 精简的副本)的切换相关联的性能影响数据(118)。将在步骤(116)和(118)获得的数据存储 在相关联的知识库中(120)。在一个实施例中,知识库可W在数据中屯、本地的、没有经受精 简或压缩的卷中,或者知识库可W在数据中屯、外部。在一个实施例中,将与空间节省数据相 关联的容量数据存储在第一位置处,并且将性能影响数据存储在第二位置处。该第一位置 和第二位置可W是相同的位置或不同的位置。因此,与压缩或精简的卷相关联的空间节省 数据和性能数据两者被获取。
[0025] 在步骤(120)之后,使卷计数变量递增(122),接着确定在聚类中是否存在被指定 用于评估的任何其它卷(124)。如上所述,每个聚类中最少卷的一个副本被精简或压缩,并 且获取相关联的性能和空间节省数据W查明(ascertain)对于该聚类进行压缩或精简的寓 意。换句话说,精简或压缩的副本代表聚类。如果在步骤(124)确定在同一个聚类clustery 中存在被指定用于评估的卷,则处理返回到步骤(112)。然而,如果在步骤(124)确定聚类中 经受评估或者被指定用于评估的所有的卷已被处理,则使聚类计数变量递增(126)。如上所 述,卷被分成聚类,最少一个聚类。在步骤(126)之后,确定所有的聚类(具体地,每个聚类中 的被指定用于评估的所有的卷)是否已被处理(128)。对步骤(128)处的确定的否定响应之 后接着返回到步骤(110) W对下一个聚类中的任何指定的卷进行处理。然而,对步骤(128) 处的确定的肯定响应结束卷的处理。
[0026] 对存储卷进行评估的处理由于各种原因(包括但不限于工作负载的改变、数据中 屯、的改变等)而被周期性地重复。相似地,在一个实施例中,图1中所示的和所描述的处理用 作被W周期为基础进行重复W使得知识库中的数据是当前的后台处理。在一个实施例中, 图1中所示的和所描述的处理可W由管理员在需要或期望针对知识库的当前数据的情况下 启动。因此,图1中所示的和所描述的处理提供代表卷的性能影响数据和空间节省数据。
[0027] 图1中所示的和所描述的处理可W被称为后台处理。评估是对选择的卷的副本执 行的,并且不影响关于卷本身的性能。在一个实施例中,在后台处理对压缩或精简的副本执 行与采样技术相同的应用执行的同时,继续在未被压缩或未被精简的卷上处理数据。获取 在后台发生的空间节省和性能影响数据,W使得在需要空间节省技术的情况下,经训练的 决策可W确定哪些卷和/或聚类可W W对性能影响最小而被压缩或精简。
[0028] 参考图2,提供了例示用于估计空间节省的处理的流程图(200)。在任何给定的时 间点,可W使用存储在知识库中的时间测量(temporal measurement)来估计来自对卷副本 进行压缩或精简的空间节省。存储在数据中屯、的卷中的数据是动态的,因为数据随着应用 被处理而继续被读取或者写入到对象卷(subject volume)。如图1中所示的和所描述的,从 后台处理获取知识库中的数据(210)。同时,存在与数据中屯、中的卷相关联的实时的(1 ive) 容量使用和访问统计(220)。该实时数据设及自先前从后台处理填充知识库W后的与存储 卷相关联的改变。运样的实时数据包括但不限于读取和写入请求的数量、数据删除请求的 数量等。在一个实施例中,利用一个或多个计数器来跟踪后台处理的执行之间的实时使用 数据。接收在步骤(210)来自知识库W及在步骤(220)来自实时统计的数据作为估测 (projection)模型的输入(230)。更具体地,该输入数据被估测模型利用W查明数据中屯、的 一个或多个卷中有多少数据自先前的估计W后已经受改变。在一个实施例中,在步骤 (230),利用线性回归模型来估计增长估测。在一个实施例中,使用在知识库中发现的测量 和当前时间之间的一个或多个卷所经历的I/O访问模式来预测自最后一次测量W后的空间 节省的改变。在步骤(230)的估测之后,将优先级(priority)分数分配给数据中屯、中经受评 估的每个卷(240)。在一个实施例中,可W基于相关联的优先级分数来对卷进行排序,运些 优先级分数然后可W被用于高效地识别用于压缩或精简的一个或多个卷。因此,本文中所 示的估计处理利用静态和动态存储数据来针对潜在的空间节省技术对一个或多个卷进行 分类。
[0029] 重要的是确保池不超过它们的容量。在一个实施例中,将存储阔值设置为低于实 际容量的值W确保该容量不被超过。例如,在一个实施例中,空间节省技术(诸如压缩或精 简)在相关联的存储池 W80%容量操作时发生。参考图3,提供了例示用于预测存储阔值违 反的处理的流程图(300)。如所示的,用于违反预测的输入W至少=种形式的数据(包括但 不限于,预期的新的存储调配(310)、存储池容量使用阔值(320) W及容量使用增长(330)) 进入。在一个实施例中,步骤(310)处的预期调配由管理员提供,或者它基于调配历史而被 预测。在一个实施例中,步骤(320)处的容量是基于相关联的存储卷的大小的固定值,但是 在一个实施例中,该值可W基于数据传送和/或压缩或精简而经受改变。在一个实施例中, 容量使用增长(330)设及存储池使用的范围的波动。例如,如果卷已被添加或者被从池移 除。接收来自(310)、(320)和(330)的数据作为用于预测存储池容量的违反的时间的输入 (340)。来自预测步骤(340)的输出(350) W直到阔值违反的时间和存储池的形式产生。更具 体地,步骤(340)处的违反预测提供容量在那时将被超过的时间估计的形式的输出数据 (350)。在一个实施例中,时间估计可W基于每一个卷、基于卷的聚类、或者基于存储池。因 此,如本文中所示的和所描述的处理被利用W预测基于多个因素(包括对使用中的波动的 适应)的时间阔值违反。
[0030] 知识库的创建、维护和利用的目标中的一个是预测并且确保存储卷阔值不被违 反。参考图4,提供了例示管理存储容量的流程图(400)。四个元素被利用作为用于最小化与 存储卷管理相关联的性能降低(也被称为优化)的输入数据。用于优化的输入包括:如图3中 所示的和所描述的对容量违反的时间估计(410)、如图2中所示的和所描述的估计的空间节 省(420)、可接受的池阔值(430) W及管理员管理策略(440)。池阔值(430)可W是静态值,或 者在一个实施例中,是动态值。在一个实施例中,步骤(440)处的策略设及关于压缩或精简 的指导,因为运些形式的空间节省中的每一个不同,并且可能在影响上具有差异。在一个实 施例中,步骤(420)处的空间节省可W根据利用的技术而不同。来自步骤(410)-(440)的数 据经受优化(450) W用于最小化性能降低。来自优化(460)的输出包括可W对每个存储池采 取的所有存储印迹减小动作的优先化(pr i or i t i Z e)列表。如本文中所示的,S个存储池 (462)、(464)和(466)被示为基于针对印迹减小的优先次序(prioritization)进行排序。在 一个实施例中,每个存储池的卷具有基于优先级排序的动作列表。例如,排序可W基于卷空 间节省和I/O延时增加的结果(product)。在一个实施例中,排序是按执行一个或多个动作 的次序进行的,所述一个或多个动作从最大量的节省到最小量的节省产生节省。在一个实 施例中,动作列表的排序给卷选择处理带来效率,其中,该列表表现出卷的优先次序。因此, 来自优化的输出对调查中的存储池进行排序。
[0031] 如所示的,步骤(460)处的优化基于完成的可行性来过滤动作,在一个实施例中, 运使用针对估测的空间减小的完成时间的模型。具体地,如果空间减小不能在要求的时间 中发生,则可能存在空间违反。完成时间的估测可W影响存储池(462)、(464)和(466)的列 表的排序。在一个实施例中,列表中的存储池的数量可W变化,并且就运一点而论,本文中 所示的和所描述的数量仅仅是例子,并且不应当被认为是限制。在来自步骤(460)处的优化 输出之后,对每个指定的存储池执行一个或多个卷存储减小动作。更具体地,将变量化。tal分 配给经排序的输出列表中的存储池的数量(470),并且对相关联的存储池计数变量N进行初 始化(472)。对storage pooIn执行存储减小动作(474)。然后确定是否达到可接受的存储池 使用阔值,W使得在该时间点不需要进一步的动作(476)。对步骤(476)处的确定的否定响 应之后接着是使存储池计数变量递增(478)并且返回到步骤(474)。然而,对步骤(476)处的 确定的肯定响应结束存储池减小动作(480)。在一个实施例中,首先执行对于到达阔值违反 的时间最小的池的存储减小动作,接着到达阔值违反的时间次小、等等。因此,可用存储空 间的印迹被W有条理的方式管理,W有效地且高效地使得能够W对存储性能的影响最小进 行数据的持续存储。
[0032] 图1-4中所示的和所描述的处理例示使存储印迹减小的估计和识别与存储空间的 实际矫正去禪合。该去禪合引入了基于模型的方法来解决数据存储的动态特性。更具体地, 在持久存储介质中通过容量减小优化(诸如精简和压缩)来实现容量节省。
[0033] 参考图5,提供了例示存储池容量管理系统的组件的框图(500)。如所示的,处理节 点巧10)被示为与数据中屯、巧50)通信。处理节点(510)具有处理器巧12),该处理器(512)在 本文中也被称为处理单元,其跨过总线巧14)可操作地禪合到存储器巧16)。处理节点(510) 被进一步提供为与其它节点(520)通信,所述其它节点(520)每个与在数据中屯、(550)中维 护的持久存储通信。处理节点(510)负责数据中屯、(550)中的数据的存储和维护。更具体地, 节点(510)具有支持基于容量估计与容量节省执行的去禪合的存储池容量管理的一个或多 个工具。如本文中所示的和下面详细地描述的,运些工具体现了由两个模块(包括去禪合模 块巧30)和选择模块(540))组成的自适应系统。去禪合模块(530)的功能在于估计来自一个 或多个空间减小动作的容量节省。选择模块(540)的功能在于基于预测的阔值违反来动态 地选择并执行空间减小动作的子集。
[0034] 如所示的,数据中屯、(550)被配置有多个持久存储卷(552)、(554)、(556)、(558)和 (560)。尽管仅示出并且描述了五个卷,但是该数量不应当被认为是限制。在一个实施例中, 数据中屯、(550)包括促进存储卷的管理的控制器(570)。如所示的,存储控制器巧70)被示为 具有处理器(572),该处理器(572)经由总线(574)可操作地禪合到存储器(576)。控制器 (570)与模块(530)和(540)通信。更具体地,管理控制经由运些模块而被传递给控制器W促 进任何管理动作在存储卷上的执行。
[0035] 去禪合模块(530)的功能在于使与一个或多个空间减小动作相关联的容量节省的 估计与运些动作的实际执行分离。在分离处理中,去禪合模块(530)利用基于相似性的采样 方法,W使得数据中屯、(550)中的卷可W被置于组(也被称为基于相似性的聚类)中,诸如映 射到同一个应用的卷表现出相似的随机和顺序的读取和写入IA)比例等。例如,如本文中所 示的,卷(552)和(554)被置于第一组groupA巧80)中,而卷(556)、(558)和(560)被置于第二 组groupB(582)中。尽管仅示出了两个组,但是该数量是例子,并且不应当被认为是限制。同 时,卷的分组不是静态的,而是经受改变。从聚类中的一个或多个卷的分析获得的数据可W 被外推到聚类中的其它卷,但是是根据相似性协议。因此,分析可W限于任何给定聚类中的 卷的子集。
[0036] 如图5所示,聚类中的一个或多个卷被选择用于与容量管理相关联的分析。去禪合 模块(530)负责容量管理,更具体地,负责对聚类中的至少一个选择的卷执行空间减小动 作、W及与和空间减小相关联的对存储系统和存储性能的影响相关联的研究。更具体地,去 禪合模块测量与空间减小相关联的容量节省,将相关联的工作负载切换到减小的卷的副 本,从切换的工作负载测量性能,记录任何性能降低,并且然后移除减小W使得系统可W恢 复回先前的状态。从去禪合模块(530)收集的和相关联的数据使得与存储容量管理相关联 的预测能够被深思熟虑地进行和执行。预测可W被转换为确保可供用于数据存储的容量的 动作。基于卷的各种聚类之间的相似性,去禪合模块(530)可W对于聚类或聚类中的卷、基 于从该聚类中的经受精简或压缩的卷获取的测量来推断容量节省和性能降低。
[0037] 存储容量阔值是被管理W使得存在管理数据处理的足够的存储空间的重要因素。 在一个实施例中,该阔值与存储卷中剩余的空间的百分比有关。在卷被压缩或精简的任何 时间,对性能都将存在负面影响。目标是在需要时对一个或多个卷进行压缩或精简。就运一 点而论,存在在去禪合模块(530)和选择模块(540)之间执行的平衡做法,其中去禪合模块 (530)在后台运行,而选择模块巧40)在前台运行。选择模块(540)基于预测的容量阔值违反 来从存储池选择用于压缩或精简的一个或多个卷。在一个实施例中,去禪合模块巧30)创建 并且维护每个池中用于空间减小的候选卷的列表(590)。该列表巧90)对应于容量节省和性 能测量。在一个实施例中,对列表(590)进行排序,并且分配优先级W选择列表(590)中的 卷。选择模块(540)的存储卷的选择和执行在需要时发生。在一个实施例中,选择模块(540) 基于经排序的列表(590)来进行它们的选择。列表巧90)被示为嵌入在存储器(516)中,但是 在一个实施例中,列表(590)可W被存储在控制器(570)本地的数据中屯、(550)的本地。
[0038] 存储池中的卷可W是静态数量。但是在一个实施例中,卷可W被添加或者从存储 池移除。与卷的通信不间断。一个或多个处理节点与存储池通信W支持需要对一个或多个 存储卷的读取和/或写入操作的应用处理。处理节点和存储池之间的通信流程被称为I/O。 在一个实施例中,I/O模式在处理节点和相关联的存储卷之间可W是可视的。去禪合模块 (530)可W利用I/O模式来预测自先前对聚类中的卷的测量W后的空间节省和使用的改变。 更具体地,去禪合模块(530)可W更新测量,从而创建估计之后的与卷相关联的被测量数 据,其中所述被测量数据与基于I/O模式的更新相关联。在一个实施例中,测量的更新包括 任何先前的测量的失效。因此,可W基于对于卷的实际访问模式来更新来自对卷进行采样 并且评估存储容量的测量数据。
[0039] 图5中所描述的系统已被用模块(530)和(540)的形式的工具标注。运些工具可W 在可编程硬件设备中被实现,所述可编程硬件设备诸如现场可编程口阵列、可编程阵列逻 辑、可编程逻辑器件等。运些工具也可W在供各种类型的处理器执行的软件中被实现。可执 行代码的标识的功能单元可W例如包括可W例如被组织为对象、过程、功能或其它构造的 计算机指令的一个或多个物理或逻辑块。尽管如此,运些工具的可执行文件也不需要在物 理上位于一起,而是可W包括存储在不同位置中的不相同的指令,运些指令当被逻辑地结 合在一起时构成运些工具并且实现工具的所陈述的用途。
[0040] 实际上,可执行代码可W是单个指令或许多个指令,并且甚至可W分布在若干不 同的代码段上、不同的应用之间、W及跨若干存储器设备。相似地,操作数据可W在本文中 在池内被标识和例示,并且可W体现为任何合适的形式并且被组织在任何合适类型的数据 结构内。操作数据可W被收集为单个数据集,或者可W分布在不同的位置上(包括在不同的 存储设备上),并且可W至少部分地作为系统或网络上的电子信号存在。
[0041] 此外,所描述的特征、结构或特性可W在一个或多个实施例中被W任何合适的方 式组合。在W下描述中,提供了许多具体的细节(诸如代理的例子),W提供实施例的透彻理 解。然而,相关领域的技术人员将认识到,运些实施例可W在没有运些具体细节中的一个或 多个的情况下被实施,或者可W用其它方法、组件、材料等来实施。在其它情况下,众所周知 的结构、材料或操作没有被详细地示出或描述,W避免使实施例的各方面模糊。
[0042] 本文中所示的和所描述的工具支持多个存储卷的池中的存储卷容量的管理、W及 基于预测的阔值违反自适应地选择用于空间减小的一个或多个卷。如上所述,与空间减小 相关联的分支(ramification)被作为后台操作执行,W使得卷和相关联的聚类可W被分等 级(rank)和排序,并且用于空间减小的卷的选择基于等级和排序。在一个实施例中,分等级 和排序基于每一个帖,并且在一个实施例中,它被扩展到包括对卷被组织在其中的聚类分 等级和排序。相似地,在一个实施例中,容量管理的功能和支持W及用于空间减小W支持管 理的卷的选择可W被外推到具有共享的资源池的云计算环境。
[0043] 云计算环境是面向服务的,特点集中在无状态性、低禪合性、模块性和语意的互操 作性。云计算的核屯、是包含互连节点网络的基础架构。
[0044] 现在参考图6,其中显示了云计算节点(610)的一个例子。图6显示的云计算节点 (610)仅仅是适合的云计算节点的一个示例,不应对运里所描述的本发明实施例的功能和 使用范围带来任何限制。总之,云计算节点(610)能够被用来实现和/或执行W上所述的任 何功能。
[0045] 云计算节点(610)具有计算机系统/服务器(612),其可与众多其它通用或专用计 算系统环境或配置一起操作。众所周知,适于与计算机系统/服务器(612) -起操作的计算 系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户 机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络 个人电脑、小型计算机系统、大型计算机系统和包括上述任意系统的分布式云计算技术环 境,等等。
[0046] 计算机系统/服务器(612)可W在由计算机系统执行的计算机系统可执行指令(诸 如程序模块)的一般语境下描述。通常,程序模块可W包括执行特定的任务或者实现特定的 抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机系统/服务器(612) 可W在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式 云计算环境中,程序模块可W位于包括存储设备的本地或远程计算系统存储介质上。
[0047] 如图6所示,云计算节点(610)中的计算机系统/服务器(612) W通用计算设备的形 式表现。计算机系统/服务器(612)的组件可W包括但不限于:一个或者多个处理器或者处 理单元(616),系统存储器(628),连接不同系统组件(包括系统存储器(628)和处理单元 (616))的总线(618)。
[0048] 总线(618)表示若干类型的总线结构中的任何一个类型的一个或多个,包括存储 器总线或存储器控制器、外围总线、加速图形端口、W及使用各种总线架构中的任何一种的 处理器或本地总线。举例来说,而非限制,运样的架构包括工业标准架构(ISA)总线、微通道 架构(MCA)总线、增强ISA化ISA)总线、视频电子标准协会(VESA)本地总线、W及外围组件互 连(PCI)总线。计算机系统/服务器(612)通常包括各种计算机系统可读介质。运样的介质可 W是可由计算机系统/服务器(612)访问的任何可用介质,并且它包括易失性和非易失性介 质、W及可移动和不可移动介质。
[0049] 系统存储器(628)可W包括易失性存储器形式的计算机系统可读介质,例如随机 存取存储器(RAM) (630)和/或高速缓存存储器(632)。计算机系统/服务器(612)可W进一步 包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系 统(634)可W用于读写不可移动的、非易失性磁介质(图6未显示,通常称为"硬盘驱动器")。 尽管图6中未示出,可W提供用于对可移动非易失性磁盘(例如"软盘")读写的磁盘驱动器, W及对可移动非易失性光盘(例如CD-ROM, DVD-ROM或者其它光介质)读写的光盘驱动器。在 运些情况下,每个驱动器可W通过一个或者多个数据介质接口与总线(618)相连。存储器 (628)可W包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,运些程 序模块被配置W执行本发明各实施例的功能。
[0050] 具有一组(至少一个)程序模块(642)的程序/实用工具(640),可W存储在存储器 (628)中,运样的程序模块(642)包括但不限于操作系统、一个或者多个应用程序、其它程序 模块W及程序数据,运些示例中的每一个或某种组合中可能包括网络环境的实现。程序模 块(642)通常执行本发明所描述的实施例中的功能和/或方法。
[0051] 计算机系统/服务器(612)也可W与一个或多个外部设备(614)(例如键盘、指向设 备、显示器(624)等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器(612) 交互的设备通信,和/或与使得该计算机系统/服务器(612)能与一个或多个其它计算设备 进行通信的任何设备(例如网卡,调制解调器等等)通信。运种通信可W通过输入/输出(1/ 0)接口(622)进行。并且,计算机系统/服务器(612)还可W通过网络适配器(620)与一个或 者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示, 网络适配器(620)通过总线(618)与计算机系统/服务器(612)的其它模块通信。应当明白, 尽管图中未示出,其它硬件和/或软件模块可W与计算机系统/服务器(612) -起操作,包括 但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器 W及数据备份存储系统等。
[0052] 现在参考图7,其中显示了示例性的云计算环境(750)。如图所示,云计算环境 (750)包括云计算消费者使用的本地计算设备可W与其相通信的一个或者多个云计算节点 (710),本地计算设备例如可W是个人数字助理(PDA)或移动电话(754A),台式电脑(754B)、 笔记本电脑(754C)和/或汽车计算机系统(754N)。云计算节点(710)之间可W相互通信。可 W在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个 或者多个网络中将云计算节点(710)进行物理或虚拟分组(图中未显示)。运样,云的消费者 无需在本地计算设备上维护资源就能请求云计算环境(750)提供的基础架构即服务 (IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,图7显示的各类计算设备 54A-N仅仅是示意性的,云计算节点(710) W及云计算环境(750)可W与任意类型网络上和/ 或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
[0053] 现在参考图8,其中显示了云计算环境(800)提供的一组功能抽象层。首先应当理 解,图8所示的组件、层W及功能都仅仅是示意性的,本发明的实施例不限于此。如图8所示, 提供下列层和对应功能:
[0054] 硬件和软件层(810)、虚拟化层(820)、管理层(830) W及工作负载层(840)。硬件和 软件层(810)包括硬件组件和软件组件。硬件组件的例子包括:大型机,在一个例子中, IBM? zSeries?系统;基于RISC(减小指令集计算机)架构的服务器,在一个例子中, IBMpSeiies⑥系统;IBMxSeries够系统;IBMBladeCenter狼系统;存储设备;网络和 联网组件。软件组件的例子包括:网络应用服务器软件,在一个例子中,IBM WebSphere⑧应用服务器软件;W及数据库软件,在一个例子中,IBM DB2?数据库软 件。(IBM、zSeries、pSeries、xSeries、BladeCenter、WebSphere和DB2是International Business Machines Co巧oration在全世界许多管辖范围中注册的商标)。
[0055] 虚拟层(820)提供一个抽象层,该层可W提供下列虚拟实体的例子:虚拟服务器、 虚拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作系统,W及虚拟客户端。
[0056] 在一个例子中,管理层(830)可W提供W下功能:资源预配置、计量和定价、用户口 户、服务水平管理W及密钥管理。下面描述运些功能。资源预配置提供被利用W在云计算环 境内执行任务的计算资源和其它资源的动态获取。计量和定价提供在云计算环境内利用的 资源的成本跟踪、W及针对运些资源的消耗的帐单和发票。在一个例子中,运些资源可W包 括应用软件许可。安全性为云消费者和任务提供身份认证,W及为数据和其它资源提供保 护。用户口户为消费者和系统管理员提供对云计算环境的访问。
[0057] 工作负载层(840)提供可W对其利用云计算环境的功能的例子。在本文中所描述 的可配置计算机资源的共享池(W下称为云计算环境)中,文件可W在多个数据中屯、(在本 文中也被称为数据站点)内的用户之间共享。因此,在共享池内提供一系列机制来支持云计 算环境内的数据存储的组织和管理。
[0058] 本文中所示的和所描述的处理论述了其功能在于管理存储池容量的组件。具体 地,存在通过实际地对每一个池的至少一个卷进行压缩或精简并且获取与压缩或精简的卷 上的事务相关联的数据来获得准确估计的后台处理。然后利用获取的数据来估计同一个池 中的其它卷的行为。前台处理利用后台数据来解决容量节省执行。后台处理和前台处理使 估计与实际矫正去禪合。
[0059] 如附图中所示的和详细描述的本发明可W是系统、方法和/或计算机程序产品。该 计算机程序产品可W包括计算机可读存储介质(一个或多个),其上具有用于使处理器执行 本发明的各方面的计算机可读程序指令。
[0060] 计算机可读存储介质可W是可W保持和存储供指令执行设备使用的指令的有形 设备。计算机可读存储介质可W是例如,但不限于,电子存储设备、磁存储设备、光学存储设 备、电磁存储设备、半导体存储设备、或前述存储设备的任何合适的组合。计算机可读存储 介质的更多具体例子的非穷举列表包括W下:便携式计算机磁盘、硬盘、随机存取存储器 (RAM)、只读存储器(ROM)、可擦除可编程只读存储器化PROM或闪存)、静态随机存取存储器 (SRAM)、便携式紧凑盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码 设备(诸如其上记录有指令的凹槽中的穿孔卡或抬高结构)、W及前述存储介质的任何合适 的组合。如本文中使用的计算机可读存储介质本身不被解释为暂时信号,诸如无线电波或 其它自由传播的电磁波、通过波导或其它传输介质传播的电磁波(例如,通过光纤电缆的光 脉冲)、或通过导线传输的电信号。
[0061] 本文中描述的计算机可读程序指令可W从计算机可读存储介质下载到各个计算/ 处理设备,或者经由网络(例如,互联网、局域网、广域网和/或无线网)下载到外部计算机或 外部存储设备。网络可W包括铜传输电缆、传输光纤、无线传输、路由器、防火墙、交换机、网 关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收 计算机可读程序指令,并且转发运些计算机可读程序指令W供存储在各个计算/处理设备 内的计算机可读存储介质中。
[0062] 用于执行本发明的操作的计算机可读程序指令可W是汇编程序指令、指令集架构 (ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或W-种或多种编 程语言的任何组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言(诸 如Smalltalk^++等)W及传统的过程编程语言(诸如"C"编程语言或类似的编程语言)。计 算机可读程序指令可W完全在用户的计算机上执行,部分地在用户的计算机上,作为独立 软件包执行,部分地在用户的计算机上且部分地在远程计算机上执行,或者完全在远程计 算机或服务器上执行。在后一种情况下,远程计算机可W通过任何类型的网络(包括局域网 (LAN)或广域网(WAN))连接到用户的计算机,或者可W进行到外部计算机的连接(例如,使 用互联网服务提供商通过互联网)。在一些实施例中,电子电路(包括例如可编程逻辑电路、 现场可编程口阵列(FPGA)、或可编程逻辑阵列(PLA))可W通过利用计算机可读程序指令的 状态信息使电子电路个性化来执行计算机可读程序指令,W便执行本发明的各方面。
[0063] 本发明的各方面在本文中参考根据本发明的实施例的方法、装置(系统)和计算机 程序产品的流程图和/或框图进行描述。将理解,流程图和/或框图中的每个框W及流程图 和/或框图中的框的组合可W由计算机可读程序指令实现。
[0064] 运些计算机可读程序指令可W被提供给通用计算机、专用计算机或其它可编程数 据处理装置的处理器W生成机器,使得经由计算机或其它可编程数据处理装置的处理器执 行的指令创建用于实现流程图和/或框图中的一个框或多个框中指定的功能/动作的手段。 运些计算机可读程序指令也可W被存储在可W引导计算机、可编程数据处理装置和/或其 它设备W特定方式运作的计算机可读存储介质中,W使得其中存储有指令的计算机可读存 储介质包括制造品,该制造品包括实现流程图和/或框图中的一个框或多个框中指定的功 能/动作的各方面的指令。
[0065] 计算机可读程序指令也可W被加载到计算机、其它可编程数据处理装置或其它设 备上,W使一系列操作步骤在该计算机、其它可编程装置或其它设备上被执行W生成计算 机实现过程,W使得在该计算机、其它可编程装置或其它设备上执行的指令实现流程图和/ 或框图中的一个框或多个框中指定的功能/动作。
[0066] 附图中的流程图和框图例示根据本发明的各种实施例的系统、方法和计算机程序 产品的可能实现的架构、功能和操作。在运一点上,流程图或框图中的每个框可W表示模 块、程序段或指令部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些 替代实现中,框中标注的功能可W不按附图中标注的次序出现。例如,连续示出的两个框事 实上可W被基本上同时地执行,或者运些框有时可W按相反次序执行,运取决于设及的功 能。还将指出,框图和/或流程图中的每个框W及框图和/或流程图中的框的组合可W由专 用的基于硬件的系统实现,运些系统执行指定的功能或动作,或者执行专用硬件和计算机 指令的组合。
[0067] 本文中使用的术语仅仅是出于描述特定实施例的目的,而并非意图限制本发明。 如本文中所使用的,单数形式"一"和"该"意图也包括复数形式,除非上下文另外明确地指 示。将进一步理解,术语"包括"和/或"包含"在本说明书中被使用时指定所陈述的特征、整 数、步骤、操作、元素和/或组件的存在,但不排除一个或多个其它特征、整数、步骤、操作、元 素、组件和/或它们的组合的存在或添加。
[0068] W下权利要求中的所有手段或步骤加功能元素的对应结构、材料、动作和等同物 意图包括用于如具体要求保护的那样与其它要求保护的元素组合执行功能的任何结构、材 料或动作。本发明的描述是出于例示和描述的目的呈现的,但并非意图穷举或限于所公开 的形式的发明。在不脱离本发明的范围和精神的情况下,许多修改和变型对于本领域技术 人员将是清楚的。实施例被选择和描述是为了最好地解释本发明的原理和实际应用,并且 使得本领域的其它普通技术人员能够针对具有适合于所考虑的特定使用的各种修改的各 种实施例来理解本发明。因此,后台处理的实现使得存储卷能够继续支持应用,同时容量管 理的功能在于确保足够的存储空间的可用性。
[0069]将意识到,尽管在本文中已出于例示的目的描述了本发明的具体实施例,但是在 不脱离本发明的精神和范围的情况下,可W进行各种修改。因此,本发明的保护范围仅由随 附的权利要求及其等同物限制。
【主权项】
1. 一种用于管理存储池的容量的计算机实现方法,包括: 使来自一个或多个空间减小动作的容量节省的估计与所述一个或多个空间减小动作 的实际执行去耦合,所述去耦合包括: 从每个池选择卷的子集,并且对每个选择的子集的副本执行第一空间减小动作,所述 卷以第一状态操作; 测量与选择的子集相关联的容量改变,并且将容量改变数据记录在第一位置中; 测量来自选择的子集上的工作负载的性能改变,并且将性能改变数据记录在第二位置 中;以及 生成供执行的最佳空间减小动作的子集,所述动作基于记录的容量和性能改变数据; 和 在需要时执行来自生成的最佳空间减小动作的子集的至少一个动作,所述执行使所述 第一状态转换为第二状态。2. 根据权利要求1所述的方法,还包括:维护每个池中用于空间减小的候选卷的列表, 所述列表与相应的容量节省和性能测量相关联。3. 根据权利要求2所述的方法,还包括:对于每个存储池,对所述列表中的卷进行优先 化。4. 根据权利要求1所述的方法,还包括:对于所述池中未被选择的卷推断容量节省和性 能降低,其中,所述推断基于来自选择的卷的测量。5. 根据权利要求1所述的方法,还包括:预测自先前的测量以后的空间节省的改变,所 述预测利用对于每个卷观察到的I/O访问模式。6. 根据权利要求5所述的方法,还包括:周期性地更新所述测量,包括使任何先前的测 量数据失效。7. -种计算机系统,包括: 处理单元,所述处理单元可操作地耦合到存储器; 存储池,所述存储池具有两个或更多个存储卷,可操作地耦合到所述处理单元; 与所述处理单元通信以管理所述存储池的容量的工具,所述工具包括: 去耦合模块,所述去耦合模块用于估计来自一个或多个空间减小动作的容量节省和所 述一个或多个空间减小动作的实际执行,所述去耦合模块用于: 从每个池选择卷的子集,并且对每个选择的子集的副本执行第一空间减小动作,所述 卷以第一状态操作; 测量与选择的子集相关联的容量改变,并且将容量改变数据记录在第一位置中; 测量来自选择的子集上的工作负载的性能改变,并且将性能改变数据记录在第二位置 中; 选择模块,所述选择模块用于生成供执行的最佳空间减小动作的子集,所述动作基于 记录的容量和性能改变数据;并且 所述选择模块用于在需要时执行生成的最佳空间减小动作的子集上的至少一个动作, 所述执行使所述第一状态转换为第二状态。8. 根据权利要求7所述的系统,还包括:所述去耦合模块用于维护每个池中用于空间减 小的候选卷的列表,所述列表与容量节省和性能测量相关联。9. 根据权利要求8所述的系统,还包括:对于每个存储池,所述去耦合模块用于向所述 列表中的每个卷分配优先级。10. 根据权利要求7所述的系统,还包括:所述去耦合模块用于对于所述池中未被选择 的卷推断容量节省和性能降低,其中,所述推断基于来自选择的卷的测量。11. 根据权利要求7所述的系统,还包括:所述去耦合模块用于预测自先前的测量以后 的空间节省的改变,所述预测利用对于每个卷观察到的I/O访问模式。12. 根据权利要求11所述的系统,还包括:所述测量的更新,包括任何先前的测量数据 的失效。
【文档编号】G06F3/06GK106020715SQ201610164308
【公开日】2016年10月12日
【申请日】2016年3月22日
【发明人】G·爱勒托里, H·H·路德维格, N·S·曼德格里, 宋旸
【申请人】国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1