分层存储操作上云资源的基于策略的优化的制作方法

专利2022-06-28  69




背景技术:

本公开涉及云计算,更具体来说,涉及基于分层存储数据移动的云资源的管理。

云计算使得能够无处不在地访问共享的可配置资源池(例如,计算机网络、服务器、存储、应用和服务),其可以快速地并且以编程方式通过网络来供应。提供云计算服务的计算系统可以使用自动化存储分层来管理云计算系统中的数据存储。自动存储分层是在不同存储类型(例如存储层)之间移动模式数据以便例如在成本、性能和存储空间方面优化存储分配的存储管理能力。



技术实现要素:

根据本公开的实施例,一种用于基于分层存储数据移动在云计算系统中分配云资源的方法可以包括向分层存储系统发送请求以提供由分层存储系统发起的数据移动的通知,其中数据移动包括将与云计算系统相关联的数据从第一存储层向第二存储层移动,并且该通知包括发起数据移动的条件的指示。该方法还可以包括从分层存储系统接收通知。该方法然后可以包括使用所接收的通知来识别具有与所述数据移动相关联的卷的被托管计算环境。该方法还可以包括确定是否要改变对被托管计算环境的资源的分配。该方法还可以包括响应于确定要改变对被托管计算环境的资源的分配,改变对被托管计算环境的资源的分配。

从第一方面看,本发明提供了一种用于基于分层存储数据移动在云计算系统中分配云资源的方法,该方法包括:向分层存储系统发送请求以提供由分层存储系统发起的数据移动的通知,其中:所述数据移动包括将与所述云计算系统相关联的数据从第一存储层移动到第二存储层,并且所述通知包括发起所述数据移动的条件的指示;从所述分层存储系统接收所述通知;使用所接收的通知来识别具有与所述数据移动相关联的卷的被托管计算环境;确定是否要改变向所述被托管计算环境分配资源;以及响应于确定要改变对所述被托管计算环境的资源的分配,改变对所述被托管计算环境的资源的分配。

优选地,本发明提供一种方法,其中所述请求包括用于提供所述通知的标准,所述标准基于所述第一存储层的性能是否优于所述第二存储层的性能。

优选地,本发明提供一种方法,其中所述请求包括用于提供所述通知的标准,所述标准基于所述数据移动的聚合特性。

优选地,本发明提供一种方法,其中所述聚合特性是以下至少一种:从具有第一性能水平的存储层到具有第二性能水平的存储层的数据移动的频率,其中所述第二性能水平低于所述第一性能水平,响应于确定所述存储层具有不足的存储容量而从存储层的数据移动的频率,以及与一组被托管的计算环境相关联的数据从第一存储系统到第二存储系统的数据移动。

优选地,本发明提供一种方法,其中资源包括分配的存储器、处理资源和通信带宽中的至少一个。

优选地,本发明提供了一种方法,其中改变资源的分配包括将被托管计算环境从第一主机计算系统移动到第二主机计算系统。

优选地,本发明提供了一种方法,其中,所述改变资源的分配包括暂停被托管计算环境的执行。

优选地,本发明提供了一种方法,其中,所述改变资源的分配包括通知与被托管计算环境相关联的用户,以使用户改变资源的分配。

优选地,本发明提供一种方法,其中,所述改变资源的分配包括通知与被托管计算环境相关联的服务以使该服务改变资源的分配。

从第二方面来看,本发明提供了一种用于基于分层存储数据移动来在云计算系统中分配云资源的系统,该方法包括:一个或多个计算节点,具有存储器和处理器;以及一个或多个计算节点的非瞬态性计算机可读存储介质,其具有随其体现的程序指令,程序指令可由处理器执行以使系统:向分层存储系统发送请求以提供由分层存储系统发起的数据移动的通知,其中:所述数据移动包括将与所述云计算系统相关联的数据从第一存储层移动到第二存储层,并且所述通知包括发起所述数据移动的条件的指示;从所述分层存储系统接收所述通知;使用所接收的通知来识别具有与所述数据移动相关联的卷的被托管计算环境;确定是否要改变对所述被托管计算环境的资源的分配;以及响应于确定要改变对所述被托管计算环境的资源的分配,改变对所述被托管计算环境的资源的分配。

优选地,本发明提供一种系统,其中所述请求包括用于提供所述通知的标准,所述标准基于所述第一存储层的性能是否优于所述第二存储层的性能。

优选地,本发明提供一种系统,其中所述请求包括用于提供所述通知的标准,所述标准基于所述数据移动的聚合特性。

优选地,本发明提供了一种系统,其中所述聚合特性是以下中的至少一个:从具有第一性能水平的存储层到具有第二性能水平的存储层的数据移动的频率,其中所述第二性能水平低于所述第一性能水平,响应于确定所述存储层具有不足的存储容量而从存储层的数据移动的频率,以及与一组被托管的计算环境相关联的数据从第一存储系统到第二存储系统的数据移动。

优选地,本发明提供了一种系统,其中资源包括分配的存储器、处理资源和通信带宽中的至少一个。

优选地,本发明提供了一种系统,其中改变资源的分配包括将被托管计算环境从第一主机计算系统移动到第二主机计算系统。

优选地,本发明提供了一种系统,其中改变资源的分配包括暂停被托管计算环境的执行。

优选地,本发明提供了一种系统,其中改变资源的分配包括通知与被托管计算环境相关联的用户,以使用户改变资源的分配。

优选地,本发明提供一种系统,其中,所述改变资源的分配包括通知与被托管计算环境相关联的服务以使该服务改变资源的分配。

从第三方面来看,本发明提供了一种用于基于分级存储数据移动来在云计算系统中分配云资源的计算机程序产品,所述计算机程序产品包括具有随其体现的程序指令的计算机可读存储介质,其中所述计算机可读存储介质本身不是暂时性信号,所述程序指令可由处理电路执行以使所述处理电路执行一种方法,所述方法包括:向分层存储系统发送请求以提供由分层存储系统发起的数据移动的通知,其中:所述数据移动包括将与所述云计算系统相关联的数据从第一存储层移动到第二存储层,并且所述通知包括发起所述数据移动的条件的指示;从所述分层存储系统接收所述通知;使用所接收的通知来识别具有与所述数据移动相关联的卷的被托管计算环境;确定是否要改变对所述被托管计算环境的资源的分配;以及响应于确定要改变对所述被托管计算环境的资源的分配,改变对所述被托管计算环境的资源的分配。

优选地,本发明提供一种计算机程序产品,其中所述请求包括用于提供所述通知的标准,所述标准基于所述第一存储层的性能是否优于所述第二存储层的性能。

其它实施例针对用于实现本文所述的方法的系统和计算机程序产品。

上述发明内容并非旨在描述本公开的每个所示实施例或每种实现。

附图说明

本申请中包括的附图并入说明书中并形成说明书的一部分。它们示出了本公开的实施例,并且与说明书一起用于解释本公开的原理。附图仅说明某些实施例,而不限制本公开。

图1示出了根据本发明实施例的云计算节点。

图2示出了根据本发明实施例的云计算环境。

图3示出了根据本发明实施例的抽象模型层

图4示出了根据各种实施例的用于基于分级存储数据移动来实现云资源的管理的一组操作。

图5示出了根据各种实施例的用于基于分层存储数据移动在云计算系统中分配云资源的一组操作。

图6示出了根据各种实施例的使用分层存储的示例云计算环境的框图。

图7示出了根据各种实施例的示例分层存储系统705的框图。

图8示出了根据各种实施例的示例云计算系统的框图。

虽然本发明可以有各种修改和替代形式,但是其细节已经通过附图中的示例示出并且将进行详细描述。然而,应当理解,其目的不是将本发明限制于所描述的特定实施例。相反,本发明覆盖落入本发明的精神和范围内的所有修改、等效物和替换。

具体实施方式

本公开涉及云计算,更具体的方面涉及基于分层存储数据移动的云资源管理。尽管本公开内容未必局限于这些应用,但是通过使用该上下文对各种示例的讨论可以理解本公开内容的各个方面。

云计算系统可以利用分层存储系统来存储体现由云计算系统管理的逻辑卷的数据块。数据块可以表示云计算系统的逻辑存储卷的一部分或全部。云计算系统的逻辑存储卷可以被分区为分配给由云计算系统托管的计算环境的两个或更多个虚拟卷。虽然云计算系统知晓被托管计算环境的虚拟卷与云计算系统的逻辑卷的块之间的映射,但是分层存储系统一般不能访问该信息。

分层存储系统,作为其分层存储管理收费的一部分,可以自动地(例如,独立地)发起数据移动以将与云计算系统的逻辑卷相关联的块数据从第一存储层移动或重定位到第二存储层。分层存储系统可以具有用于发起数据移动的条件(例如,原因或触发事件)。条件的示例是第一存储层的使用超过阈值使用,并且第一存储层上的可用存储容量下降到阈值容量以下。虽然分层存储系统通常知道跨层数据移动和发起数据移动的原因,但是受移动影响的云计算系统一般不能访问该信息。

在由分层存储系统发起的数据移动背后的原因与关于哪个被托管的计算环境具有受这些数据移动影响的虚拟卷的信息之间的信息断开可能导致云计算系统中的计算资源的次优利用。

本公开的实施例基于以下认识,即,通过使分层存储系统能够向云计算系统发送关于分层存储系统将与云计算系统相关联的一个或多个数据块从第一存储层移动到第二存储层的原因的信息,并且通过配置云系统以请求和使用关于分层存储系统将与云计算系统相关联的一个或多个数据块从第一存储层移动到第二存储层的原因的信息,可以改进云计算系统中的计算资源的利用。云计算系统可以使用该信息来管理向被托管的计算环境供应的资源的分配,以改进资源利用。例如,向较慢存储层(例如,具有例如比当前存储层低的读/写吞吐量的存储层)的数据移动可导致具有与该数据移动相关联的虚拟卷的被托管计算环境的正在处理的事务的减少。作为示例,云计算系统可以使用指示特定块被移动到较慢的层的信息,以例如减少分配给具有与重定位的块相关联的虚拟卷的被托管计算环境的存储器或处理器资源。在另一示例中,当数据移动将块从慢速存储层移动到快速存储层时,云计算系统可使用关于该数据移动的信息来将其虚拟卷与该数据移动相关联的被托管计算环境移动到更快的处理器或系统总线。

因此,本公开的实施例针对一种用于实现基于分层存储数据移动的云资源管理的技术(例如,方法、系统和计算机程序产品)。该技术可以由分层存储系统执行以从云计算系统接收向云计算系统提供由分层存储系统发起的数据移动的通知的请求。该数据移动包括将与云计算系统相关联的数据从第一存储层移动到第二存储层。在一些实施例中,该通知包括用于发起(例如,开始和执行)数据移动的条件(例如,原因或触发事件)的指示。该技术可以进一步由分层存储系统执行以确定用于发起数据移动的条件是否被满足,并且响应于该确定而发起数据移动。然后,分层存储系统可以响应于发起数据移动而将通知发送到云计算系统。

在一些实施例中,第一存储层(例如,数据移动的源)具有与第二存储层(例如,数据移动的目的地)的性能水平不同的性能水平。

在一些实施例中,从云计算系统接收的请求包括用于使分层存储系统提供通知的标准。在这些实施例中,响应于确定满足标准而发送通知。该标准可以基于数据移动和用于发起数据移动的条件中的至少一个。该标准还可以基于由分层存储系统发起的一组(例如,一个或多个)数据移动的聚合特性。该聚合特性可以例如是从具有第一性能水平的存储层到具有第二性能水平的存储层的数据移动的频率,其中第二性能水平低于第一性能水平。聚合特性的另一个例子是响应于确定某存储层具有不足的存储容量而从该存储层移动数据的频率。

在一些实施例中,与云计算系统相关联的数据可以是体现与被托管计算环境相关联的虚拟卷的一个或多个数据块。

在某些实施例中,用于发起数据移动的条件可以是存储层的输入/输出资源利用率达到阈值利用率水平、与云计算系统相关联的数据量达到或超过阈值量、以及存储在第一层上的数据量达到阈值量中的至少一个。其它标准也是可能的。

本公开的其他实施例涉及一种用于基于分层存储系统的数据移动来分配云计算系统中的云资源的技术(例如,方法、系统和计算机程序产品)。该技术可以由云计算系统执行,以例如响应于由分层存储系统发起的数据移动而改进云计算资源的利用。该技术包括向分层存储系统发送请求以提供由分层存储系统发起的数据移动的通知。数据移动可以包括将与云计算系统相关联的数据从第一存储层移动到第二存储层。该通知可以包括用于发起数据移动的条件的指示。该技术还可以包括从分层存储系统接收通知。该技术然后可以包括使用所接收的通知来识别具有与数据移动相关联的卷(例如,虚拟卷)的被托管计算环境。该技术然后可以包括确定是否要改变对所识别的被托管计算环境的资源的分配。该技术还可包括响应于确定要改变对被托管计算环境的资源的分配而改变资源的分配。

在一些实施例中,发送到分层存储系统的请求包括用于提供通知的标准。例如,该标准可以基于作为数据移动源的存储层的性能是否优于作为数据移动目的地的存储层的性能。该标准还可以基于数据移动方向和用于启动数据移动的条件中的至少一个。该标准还可以基于由分层存储系统发起的一组(例如,一个或多个)数据移动的聚合特性。所述聚合特性可以是从具有第一性能水平的存储层到具有第二性能水平的存储层的数据移动的频率或计数,其中所述第二性能水平低于所述第一性能水平。所述聚合特性还可以是响应于确定存储层具有不足的存储容量而从存储层移动数据的频率或计数。聚合特性还可以是包括与一组被托管计算环境相关联的数据(例如,该组被托管计算环境的虚拟卷)的从第一存储系统到第二存储系统的数据移动。

在一些实施例中,在云计算系统中分配的资源可以包括存储器、处理器和分配给被托管计算环境的通信带宽。

在一些实施例中,改变资源的分配包括将被托管计算环境从第一主机计算系统移动到第二主机计算系统。在一些实施例中,改变资源的分配包括暂停被托管计算环境的执行。在某些实施例中,改变资源的分配包括通知与被托管计算环境相关联的用户以使该用户改变对被托管计算环境的资源的分配。在其他实施例中,改变资源的分配包括通知与被托管计算环境相关联的服务以使该服务改变资源的分配。

如本文所使用的,术语云计算系统包括计算系统(例如,主机计算系统)和被配置为使得能够访问可配置资源的共享池(例如,计算机网络、服务器、存储装置、应用和服务)的应用。云计算系统可以在提供与云计算系统相关联的硬件的抽象的软件和固件层之上支持或被托管计算环境(例如,虚拟机)。云计算系统的操作可由一个或多个软件应用(在下文中,“云管理器”)管理(例如,调节和执行)。

如这里所使用的,逻辑卷是一个或多个存储卷(例如,存储卷的物理扩展)上的存储空间到虚拟盘或虚拟盘分区的抽象,所述虚拟盘或虚拟盘分区对于计算环境可以表现为单个连续存储区域。例如,分层存储系统可以向云计算系统提供一个或多个逻辑卷。云计算系统可以将其逻辑卷划分成一个或多个虚拟卷,所述虚拟卷可以被分配给被托管的计算环境。

虽然逻辑卷对于云计算系统可以表现为单个存储卷,但是从分层存储系统的角度来看,逻辑卷被看作是被分配给云计算系统的一组块。分层存储系统通常不知道逻辑卷的虚拟卷分区。在一些环境中,分层存储系统不知道逻辑卷的结构。类似地,云计算系统可能不知道对其逻辑卷的块执行的管理操作(例如,层之间的数据移动以及启动数据移动的触发事件和条件)。

首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环境而实现。

云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。

特征包括:

按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。

广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理pda)对云的使用。

资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。

迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。

可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。

服务模型如下:

软件即服务(saas):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。

平台即服务(paas):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。

基础架构即服务(iaas):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。

部署模型如下:

私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。

共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。

公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。

混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。

云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。

现在参考图1,其中显示了云计算节点的一个例子。图1显示的云计算节点10仅仅是适合的云计算节点的一个示例,不应对本发明实施例的功能和使用范围带来任何限制。总之,云计算节点10能够被用来实现和/或执行以上所述的任何功能。

云计算节点10具有计算机系统/服务器12,其可与众多其它通用或专用计算系统环境或配置一起操作。众所周知,适于与计算机系统/服务器12一起操作的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任意系统的分布式云计算技术环境,等等。

计算机系统/服务器12可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机系统/服务器12可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。

如图1所示,云计算节点10中的计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。

总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。

计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是能够被计算机系统/服务器12访问的任意可获得的介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。

具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。

计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,其它硬件和/或软件模块可以与计算机系统/服务器12一起操作,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

现在参考图2,其中显示了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备例如可以是个人数字助理(pda)或移动电话54a,台式电脑54b、笔记本电脑54c和/或汽车计算机系统54n。云计算节点10之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境50提供的基础架构即服务(iaas)、平台即服务(paas)和/或软件即服务(saas)。应当理解,图2显示的各类计算设备54a-n仅仅是示意性的,云计算节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。

现在参考图3,示出了由云计算环境50(图2)提供的一组功能抽象层。应当预先理解,图3中所示的组件、层和功能仅旨在说明,本发明的实施例不限于此。如所描绘的,提供了以下层和相应的功能:

硬件和软件层60包括硬件和软件组件。硬件组件的示例包括:主机;基于risc(精简指令集计算机)架构的服务器;存储设备;网络和网络组件。在一些实施例中,软件组件包括网络应用服务器软件。

虚拟化层62提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器、虚拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作系统,以及虚拟客户端。

在一个示例中,管理层64可以提供下述功能:资源供应功能:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(sla)计划和履行功能:为根据sla预测的对云计算资源未来需求提供预先安排和供应

工作负载层66提供了可以利用云计算环境的功能的示例。可以从该层提供的工作负载和功能的示例包括:地图绘制和导航;软件开发和生命周期管理;虚拟教室教育传送;数据分析处理;交易处理;以及移动桌面。

现在参考附图,图4示出了根据各种实施例的用于使得能够基于分层存储数据移动来管理云资源的一组操作400。操作400可以由分层存储系统执行,例如由分层存储系统705(图7)执行。在一些实施例中,操作400可以由分层存储系统的存储管理器应用根据由分层存储系统的硬件和其他软件组件提供的反馈自动执行。存储管理器可以包括可由诸如计算机系统12(图1)之类的计算系统执行的计算机可执行代码。在一些实施例中,计算系统可以是与图3所示的云计算系统的层60相关联的硬件组件(例如,分层存储服务器)。在某些实施例中,计算系统(例如,分层存储系统)与云计算系统分离。

分层存储系统可以执行操作405以从云计算系统接收请求以提供针对与云计算系统相关联的数据块的数据移动通知。云计算系统可以是分层存储系统的租户,并且可以被分配分层存储系统上的存储的一个或多个数据块。在一些实施例中,通过存储驱动器接收请求。在其他实施例中,可以通过将分层存储系统耦合到云计算系统的通信通道(例如,通信电缆、总线、数据通信网络等)以数据分组的形式接收请求。该请求可以被包含在可由与分层计算系统相关联的存储管理器从数据分组提取的数据结构中。

在一些实施例中,分层存储系统具有两个或更多个存储层。存储层是具有将其与另一存储资源或存储层区分的特定性能特性的存储资源(例如,存储卷和通信硬件和软件)。例如,第一存储层可以具有比第二存储层更大的输入/输出(i/o)吞吐量、更多的存储容量或更大的通信带宽。存储系统可以将数据从一个存储层移动到另一个存储层,以便例如优化成本、性能和存储空间。数据移动可以包括将与云计算系统相关联的数据(例如,分配给云计算系统的数据块)从例如第一存储层移动到第二存储层。

在一些实施例中,分层存储系统可以响应于一组触发条件(在下文中称为条件)而被自动触发以发起数据移动。触发条件可以是与分层存储系统的存储层或租户相关联的任何事件或条件。触发条件例如可以是存储层的i/o资源(例如,读/写操作、数据总线带宽和存储的数据)利用率达到或超过阈值利用率水平的指示。作为另一示例,触发条件可以是租户(例如,云计算系统)存储在存储层上的数据量达到或超过阈值量的指示。作为第三示例,触发条件可以是云计算系统对分层存储系统的利用超过预订的或付费的利用水平的指示。

在某些实施例中,该通知由分层存储系统生成并被发送到云计算系统的数据结构。该通知可以包括使存储系统启动数据移动的条件(例如,触发条件)的指示。该通知还可以指示与数据移动相关联的块、存储层和存储性能水平的改变。

在一些实施例中,在操作405中接收的请求可以包括用于使分层存储系统提供数据移动通知的标准(例如,策略)。该标准可以基于数据移动和触发数据移动的条件。例如,当分层存储系统发起从具有第一性能水平的第一存储层到具有第二性能水平的第二存储层的数据移动时,当第二性能水平低于第一性能水平时(例如,将数据从快速存储层移动到较慢存储层的数据移动),该标准可以使分层存储系统提供数据移动通知。作为另一个示例,当分层存储系统响应于由存储层(例如,代表云计算系统)处理的i/o操作的数目超过i/o操作的阈值数目而发起数据移动时,标准可以使得分层存储系统提供数据移动通知(该信息可以由云计算系统用于计费目的)。

该标准还可以基于由分层存储系统发起的数据移动的聚合特性。聚合特性的示例包括从具有第一性能水平的存储层到具有第二性能水平的存储层的数据移动的频率,其中第二性能水平低于第一性能水平。聚集性能特性的另一个示例是响应于确定存储层具有不足的存储容量或i/o带宽而从存储层移动数据的频率或计数。用于使得分层存储系统提供数据移动通知的其他单独或聚合标准可以与本文描述的技术一起使用。

分层存储系统可以执行操作410以确定是否满足用于发起从第一存储层到第二存储层的数据移动的条件。执行操作410可以包括查询与存储层相关联的存储控制器以确定例如存储层上的可用存储空间量和存储层的i/o利用率。执行操作410还可以包括监视和记录由存储层执行的i/o操作或事务以评估例如聚集触发条件或评估基于租户的条件(例如,响应于租户动作而触发的条件,诸如来自租户的i/o请求超过阈值数量的请求)。

在一些实施例中,在执行操作410时查询或监视的信息可被记录在数据结构中以用于评估提供数据移动通知的条件,如本文所述。

分层存储系统可以执行操作415以响应于确定用于发起从第一存储层到第二存储层的数据移动的条件被满足而发起数据移动事件。启动数据移动可以包括选择一个或多个数据块并将其从第一存储层传送到第二存储层。发起数据移动还可以包括在数据结构中存储与数据移动相关联的信息,包括例如源层、目的层、触发条件、移动的数据块以及受数据移动影响的租户。

在一些实施例中,分层存储系统可以执行操作420以确定是否满足用于向云计算系统提供通知的标准(例如,数据移动通知标准)。执行操作420可包括识别受在操作415中发起的数据移动影响的云计算系统。执行操作420可以进一步包括使用这里所述的记录的数据移动信息来评估在操作405中从所识别的云计算系统接收的数据移动通知标准。评估数据移动通知标准可以包括计算关于数据移动信息的一个或多个统计,以及使用该统计和例如与移动通知标准相关联的阈值来执行一个或多个逻辑操作。分层存储系统可以响应于确定不满足标准而返回到操作410,可以响应于确定满足标准而继续到操作425。

存储系统可以执行操作425以将通知发送到云计算系统。执行操作425可以包括生成数据结构,该数据结构具有例如移动的数据块的指示、发起数据移动的条件或原因、以及与数据移动中涉及的存储层的性能相关联的信息。执行操作425还可以包括执行一个或多个操作以通过通信通道将通知发送到云计算系统。

图5示出了根据各种实施例的用于基于分层存储数据移动在云计算系统中分配云资源的一组操作500。操作500可由云计算系统执行,诸如由云计算系统805(图8)执行。在一些实施例中,操作500可以由云计算系统的云管理器应用自动执行。云管理器可以包括可由诸如计算机系统12(图1)之类的计算系统执行的代码。在一些实施例中,云管理器是与图3所示的云计算系统的层64相关联的软件组件。

云计算系统可以执行操作505以将请求发送到分层存储系统以提供由分层存储系统发起的数据移动的通知。数据移动可以包括将与云计算系统相关联的数据(例如,分配给云计算系统的数据块)从例如第一存储层移动到第二存储层,如本文所述。如本文所述,通知可以是由分层存储系统生成并被发送到云计算系统的数据结构。在一些实施例中,请求包括用于使分层存储系统提供数据移动通知的标准。标准的特性与在操作400(图4)的讨论中描述的标准一致。执行操作505可包括生成具有请求的数据结构并通过通信通道将该数据结构发送到分层存储系统。

云计算系统可以执行操作510以从分层存储系统接收通知(例如,数据移动通知)。可以在来自将分层存储系统耦合到云计算系统的通信通道的数据分组中接收通知。通知可以被体现在例如可由云管理器从数据分组提取的数据结构中。如本文所述,该通知可以包括块移动的指示、发起数据移动的条件或原因、以及与数据移动中涉及的存储层的性能相关联的信息。

云计算系统可以执行操作515以使用所接收的通知来识别具有与数据移动相关联的虚拟卷的被托管计算环境。执行操作515包括从通知确定与数据移动操作相关联的一个或多个数据块。执行操作515然后可包括根据例如将云计算系统的逻辑卷的块映射到分配给被托管计算环境的一个或多个虚拟卷的数据结构确定具有与所接收的通知中指示的一个或多个块相关联的虚拟卷的被托管计算环境。

云计算系统可以执行操作520以确定是否要改变对所识别的被托管计算环境的资源的分配。执行操作520可以包括根据存储存储层移动策略的数据结构确定是否要改变对被托管计算环境的资源的分配。在一些实施例中,存储层移动策略可指示用于响应于分层存储数据移动而改变对一个或多个被托管计算环境的资源的分配的条件或标准。在一些实施例中,条件或标准可以与用于使分层存储系统发送数据移动通知的标准基本相同。云计算系统可响应于确定不要改变对所识别的被托管计算环境的资源的分配而返回到操作510,也可响应于确定要改变对所识别的被托管计算环境的资源的分配而继续到操作525。

云管理器可以执行操作525以响应于确定要改变对被托管计算环境的资源的分配而改变对被托管计算环境的资源的分配。在一些实施例中,分配给主机计算环境的资源可以包括分配的存储器、处理资源和通信资源(例如,通信带宽)中的至少一个。改变资源的分配可以包括将所识别的被托管计算环境从云计算系统中的第一主机计算系统移动到第二主机计算系统。改变资源的分配还包括暂停所识别的被托管计算环境的执行。在一些实施例中,改变资源的分配包括通知与被托管计算环境相关联的用户以使得用户改变资源的分配。在一些实施例中,改变资源的分配包括通知与所识别的被托管计算环境相关联的服务以使该服务改变资源的分配。在其它实施例中,可根据其它存储的存储层移动策略来改变一个或多个其它资源的分配。

图6示出了根据各种实施例的使用分层存储的示例云计算环境600的框图。云计算环境600包括使用通信通道650耦合到分层存储系统635的云计算系统605。

在一些实施例中,云计算系统605包括执行软件和固件应用的一个或多个计算系统,以启用或被托管计算环境610和被托管计算环境620,如本文所述。云计算系统605还可包括卷630(例如,逻辑卷),其具有分配给被托管计算环境610的虚拟卷615和被托管计算环境620的虚拟卷625的一个或多个块。卷630的全部或一部分可以存储在分层存储系统635的存储层-1640或存储层-2645上,如本文所述。

在一些实施例中,通信通道650可以是数据总线、通信电缆或数据通信网络,其被配置为在云计算系统605和分层存储系统635之间以一个或多个数据结构或分组发送数据。

图7示出了根据各种实施例的示例分层存储系统705的框图。分层存储系统705可以包括处理器710、存储器715和分层存储器730。存储器715可以包括存储管理器720和通知策略725。存储管理器720可以在处理器710上执行以实现本文描述的操作和技术。通知策略725可以包括来自注册租户(例如,提交数据移动通知请求的云计算系统)的数据移动通知请求。如本文所述,请求可以包括用于使得分层存储系统705提供数据移动通知的标准。分级存储器730可以包括存储层-1735和存储层-2750。存储层-1735可以具有性能级别或评级,并且可以包括存储数据块745a和745b的一个或多个存储驱动器(例如,磁盘驱动器、固态驱动器等)。存储层-2750可以具有另一性能水平或评级,并且可以包括存储数据块760a和760b的一个或多个存储驱动器。

图8示出了根据各种实施例的示例云计算系统800的框图。分层云计算系统805可以包括处理器810、存储器815和分层存储器855(例如,逻辑卷)。存储器815可以包括云管理器820、存储层移动策略825和被托管的计算环境830。存储管理器820可以在处理器810上执行以实现本文描述的操作和技术。被托管的计算环境830可以包括操作系统835和分配的资源,诸如存储器840、通信资源845和虚拟卷850。

本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),所述计算机可读程序指令用于使处理器执行本发明的各方面。

计算机可读存储介质可以是能够保留和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式光盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、诸如上面记录有指令的打孔卡或凹槽中的凸起结构的机械编码装置,以及上述的任何适当组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传输的电信号。

本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络,例如因特网、局域网、广域网和/或无线网络,下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。

用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器相关指令、微代码、固件指令、状态设置数据,或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言(例如smalltalk、c 等)以及常规的过程式编程语言(例如“c”"编程语言或类似的编程语言)。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(lan)或广域网(wan),或者可以连接到外部计算机(例如,使用因特网服务提供商通过因特网)。在一些实施例中,为了执行本发明的各方面,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化。

在此参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。

这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。

计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。

附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方案中,框中所提及的功能可不按图中所提及的次序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。

本公开的各种实施例的描述是为了说明的目的而呈现的,但不旨在是穷举的或限于所公开的实施例。在不背离所描述的实施例的范围的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见的。选择本文所使用的术语来解释实施例的原理、实际应用或对市场上存在的技术改进,或使本领域的其他普通技术人员能够理解本文所公开的实施例。


技术特征:

1.一种用于基于分层存储数据移动在云计算系统中分配云资源的方法,所述方法包括:

向分层存储系统发送请求以提供由分层存储系统发起的数据移动的通知,其中:

所述数据移动包括将与云计算系统相关联的数据从第一存储层移动到第二存储层,以及

所述通知包括发起所述数据移动的条件的指示;

从所述分层存储系统接收所述通知;

使用所接收的通知来识别具有与所述数据移动相关联的卷的被托管计算环境;

确定是否要改变对所述被托管计算环境的资源的分配;以及

响应于确定要改变对所述被托管计算环境的资源的分配,改变对所述被托管计算环境的资源的分配。

2.根据权利要求1所述的方法,其中,所述请求包括用于提供所述通知的标准,所述标准基于所述第一存储层的性能是否优于所述第二存储层的性能。

3.根据权利要求1所述的方法,其中,所述请求包括用于提供所述通知的标准,所述标准基于所述数据移动的聚合特性。

4.根据权利要求3所述的方法,其中,所述聚合特性是以下中的至少一个:

从具有第一性能水平的存储层到具有第二性能水平的存储层的数据移动的频率,其中所述第二性能水平低于所述第一性能水平,

响应于确定存储层具有不足的存储容量而从所述存储层移动数据的频率,以及

与一组被托管计算环境相关联的数据从第一存储系统到第二存储系统的数据移动。

5.根据权利要求1所述的方法,其中,所述资源包含所分配的存储器、处理资源和通信带宽中的至少之一。

6.根据权利要求1所述的方法,其中,所述改变资源的分配包括将所述被托管计算环境从第一主机计算系统移动到第二主机计算系统。

7.如权利要求1所述的方法,其中,所述改变资源的分配包括暂停所述被托管计算环境的执行。

8.根据权利要求1所述的方法,其中,所述改变资源的分配包括通知与所述被托管计算环境相关联的用户以使所述用户改变资源的分配。

9.根据权利要求1所述的方法,其中,所述改变资源的分配包括通知与所述被托管计算环境相关联的服务以使所述服务改变资源的分配。

10.一种用于基于分层存储数据移动在云计算系统中分配云资源的系统,所述方法包括:

一个或多个计算节点,具有存储器和处理器;以及

所述一个或多个计算节点的非瞬态性计算机可读存储介质,所述非瞬态性计算机可读存储介质具有随其体现的程序指令,所述程序指令可由所述处理器执行以使所述系统:

向分层存储系统发送请求以提供由分层存储系统发起的数据移动的通知,其中:

所述数据移动包括将与云计算系统相关联的数据从第一存储层移动到第二存储层,以及

所述通知包括发起所述数据移动的条件的指示;

从所述分层存储系统接收所述通知;

使用所接收的通知来识别具有与所述数据移动相关联的卷的被托管计算环境;

确定是否要改变对所述被托管计算环境的资源的分配;以及

响应于确定要改变对所述被托管计算环境的资源的分配,改变对所述被托管计算环境的资源的分配。

11.根据权利要求10所述的系统,其中,所述请求包括用于提供所述通知的标准,所述标准基于所述第一存储层的性能是否优于所述第二存储层的性能。

12.根据权利要求10所述的系统,其中,所述请求包括用于提供所述通知的标准,所述标准基于所述数据移动的聚合特性。

13.根据权利要求12所述的系统,其中,所述聚合特性是以下中的至少一个:

从具有第一性能水平的存储层到具有第二性能水平的存储层的数据移动的频率,其中所述第二性能水平低于所述第一性能水平,

响应于确定存储层具有不足的存储容量而从存储层移动数据的频率,以及

与一组被托管计算环境相关联的数据从第一存储系统到第二存储系统的数据移动。

14.根据权利要求10所述的系统,其中,所述资源包括分配的存储器、处理资源和通信带宽中的至少一个。

15.根据权利要求10所述的系统,其中,所述改变资源的分配包括将所述被托管计算环境从第一主机计算系统移动到第二主机计算系统。

16.根据权利要求10所述的系统,其中,所述改变资源的分配包括暂停所述被托管计算环境的执行。

17.根据权利要求10所述的系统,其中,所述改变资源的分配包括通知与所述被托管计算环境相关联的用户以使所述用户改变资源的分配。

18.根据权利要求10所述的系统,其中,所述改变资源的分配包括通知与所述被托管计算环境相关联的服务以使所述服务改变资源的分配。

19.一种用于基于分层存储数据移动在云计算系统中分配云资源的计算机程序产品,所述计算机程序产品包括计算机可读存储介质,所述计算机可读存储介质具有随其体现的程序指令,其中所述计算机可读存储介质本身不是瞬态性信号,所述程序指令可由处理电路执行以使所述处理电路执行包括以下步骤的方法:

向分层存储系统发送请求以提供由分层存储系统发起的数据移动的通知,其中:

所述数据移动包括将与所述云计算系统相关联的数据从第一存储层移动到第二存储层,以及

所述通知包括发起所述数据移动的条件的指示;

从所述分层存储系统接收所述通知;

使用所接收的通知来识别具有与所述数据移动相关联的卷的被托管计算环境;

确定是否要改变对所述被托管计算环境的资源的分配;以及

响应于确定要改变对所述被托管计算环境的资源的分配,改变对所述被托管计算环境的资源的分配。

20.根据权利要求19所述的计算机程序产品,其中,所述请求包括用于提供所述通知的标准,所述标准基于所述第一存储层的性能是否优于所述第二存储层的性能。

技术总结
一种用于基于分层存储数据移动在云计算系统中分配云资源的方法,包括:向分层存储系统发送请求以提供由分层存储系统发起的数据移动的通知,其中所述数据移动包括将与所述云计算系统相关联的数据从第一存储层向第二存储层移动,并且所述通知包括发起所述数据移动的条件的指示;从所述分层存储系统接收所述通知;使用所接收的通知来识别具有与所述数据移动相关联的卷的被托管计算环境;确定是否要改变对所述被托管计算环境的资源的分配;以及响应于确定要改变对所述被托管计算环境的资源的分配,改变对所述被托管计算环境的资源的分配。

技术研发人员:J·特纳;G·麦克布里尔蒂
受保护的技术使用者:国际商业机器公司
技术研发日:2018.11.08
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-9140.html

最新回复(0)