云卷存储的制作方法

文档序号:14594918发布日期:2018-06-05 05:05阅读:207来源:国知局

本公开提供了用于提供云卷存储作为服务的系统和方法,并且具体地提供了用于云服务提供商的消费者的云卷存储。



背景技术:

云服务提供商允许按需使用硬件和软件计算资源(比如计算处理器、服务器、存储器、应用等)的共享池。云服务提供商通常为远程用户提供服务,这包括使用定制的计算能力,以运行应用和为许多远程用户提供数据。所以,云基础设施包括通常是虚拟化的服务器系统。云服务提供商的基础设施允许消费者经网络使用计算资源,而不用必须管理或拥有任何资源。如此,消费者将架构的管理和所有权推给云服务提供商,而能够把精力聚焦在他们日常的商业运营上。消费者仅仅需要使用云服务提供商提供的计算资源存储和处理他们的数据。

另外,消费者能够根据其需要按比例增加计算资源的使用。例如,可根据请求的需要而实时管理计算资源。这样,计算资源可随着消费者的需要的增加而按比例增加,以适应实时需要(例如,高峰和非高峰时段之间的需要)以及消费者的增加。此外,计算资源可随着他们的需要下降而按比例减少。

因为云服务提供商拥有和管理计算资源,所以消费者对于那些计算资源如何操作的控制有限。云服务提供商保证某些水平的性能和可靠性,但是在那些保证背后,消费者不知道基础设施如何操作,以确保实现那些性能和可靠性保证。例如,云服务提供商根据消费者需要(比如存储量)而提供存储。存在某些水平的可靠性可能最低限度地满足消费者的大部分需要。即,云服务提供商为所有消费者提供的存储容量基本上相同,和包括具有最低可靠性的存储量。

但是,对于需要更高水平存储性能的消费者,云服务提供商不能满足那些要求。因为存储操作被实施为云服务提供商的所有消费者提供基本的存储容量,任何一个消费者不能要求更大的可靠性和存储服务。这可导致需要更大水平存储性能的消费者低效的存储利用。即,为了适应大部分消费者的存储需要,云服务提供商提供的低效的存储利用可能对于需要更高水平存储性能的消费者无法接受。对于特定的消费者,这种低效的存储利用可导致数据访问性能的下降、处理的延迟,以及使用所选的云服务提供商提供的存储类型的交易前成本的低效使用。

此外,因为云服务提供商仅仅提供基本的存储容量,消费者不能要求从云服务实现高级存储容量。如此,期望解决前述存储低效的消费者不能请求从云服务提供商实现高级存储特征。

在该背景下,出现了本文要求的实施例。



技术实现要素:

提供了用于为一个或多个云服务提供商的计算实例提供用于存储的云卷方法、系统、存储系统和计算机可读的介质。在一个实施例中,数据存储系统包括被配置为包括多个存储阵列的云卷提供商。存储阵列被配置为包括多个逻辑卷。系统包括第一云服务提供商,该第一云服务提供商被配置为为相应的实体提供至少一个计算实例。系统包括网络,该网络被配置为在云卷提供商(CVP)和云服务提供商(CSP)之间提供通信。系统包括CVP入口,该CVP入口被配置为连接第一CSP的第一计算实例与CVP的第一逻辑卷,其中在第一计算实例上执行的第一应用使用第一逻辑卷访问数据。

在另一实施例中,公开了数据存储系统,并且包括CVP,该CVP包括被配置为存储多个数据对象的多个存储阵列。数据存储系统包括第一CSP,该第一CSP被配置为为相应的实体提供至少一个计算实例。数据存储系统包括网络,该网络被配置为在CVP和CSP之间提供通信。数据存储系统包括CVP入口,该CVP入口被配置为连接第一CSP的第一计算实例与CVP的第一数据对象,其中在第一计算实例上执行的第一应用访问第一数据对象。

在另一实施例中,公开了用于存储的方法。方法包括初始化云卷提供商(CVP)中存储器的第一逻辑卷,该云卷提供商包括被配置为多个逻辑卷的多个存储阵列。方法进一步包括将第一云服务提供商(CSP)的第一计算实例与第一逻辑卷链接,其中第一CSP被配置为提供相应的实体的至少一个计算实例,并且其中在第一计算实例上执行的第一应用访问用于存储器的第一逻辑卷。

在另一实施例中,公开了存储用于存储的计算机程序的非瞬时计算机可读的介质。计算机可读的介质包括用于初始化云卷提供商(CVP)中存储器的第一逻辑卷的程序指令,该云卷提供商包括被配置为多个逻辑卷的多个存储阵列。计算机可读的介质包括用于连接第一云服务提供商(CSP)的第一计算实例与第一逻辑卷的程序指令。另外,第一CSP被配置为提供相应的实体的至少一个计算实例。此外,在第一计算实例上执行的第一应用访问用于存储器的第一逻辑卷。

在另一实施例中,公开了数据存储系统,该数据存储系统包括云卷提供商(CVP)的多个存储阵列,其中多个存储阵列被配置为多个逻辑卷。数据存储系统还包括CVP入口,该CVP入口被配置为经网络将第一云服务提供商(CSP)的第一计算实例与第一逻辑卷链接,其中在第一计算实例上执行的第一应用访问用于存储器的第一逻辑卷,其中CSP为相应的实体提供至少一个计算实例。

在另一实施例中,公开了数据存储系统,该数据存储系统包括云卷提供商(CVP)的多个存储阵列,其中多个存储阵列被配置为多个数据对象。数据存储系统包括CVP入口,该CVP入口被配置为经网络连接第一云服务提供商(CSP)的第一计算实例与第一数据对象,其中在第一计算实例上执行的第一应用访问第一数据对象,其中第一CSP为相应的实体提供至少一个计算实例。

从下述详细说明,结合作为例子示出本发明原理的附图,本发明的其他方面和优势将变得显而易见。

附图说明

通过下述详细说明结合附图,本发明将容易理解,其中相同的附图标记表示相同的结构要素。

图1A示出了根据本公开的一个实施例的包括云卷提供商的系统,该云卷提供商提供云服务提供商的云计算实例使用的云存储。

图1B示出了根据本公开的一个实施例的云卷提供商,该云卷提供商提供可配置的用于存储的逻辑卷,其中云服务提供商的云计算实例链接至云卷提供商的存储阵列中的特定卷。

图1C示出了根据本公开的一个实施例的包括云卷提供商的系统,该云卷提供商提供跨多个云服务提供商的一个或多个计算实例使用的云存储,其中计算实例由单个实体运行。

图2示出了根据本公开的一个实施例的示例性云服务提供商,该云服务提供商为客户提供处理和数据服务。

图3A示出了根据本公开的一个实施例的包括云卷提供商以及被配置为将逻辑卷链接至计算实例的入口的系统,该云卷提供商提供云服务提供商的一个或多个计算实例使用的云存储,并且该系统更具体地显示入口的示例性位置。

图3B示出了根据本公开的一个实施例的被配置为将云卷提供商的存储阵列中的特定卷链接至云服务提供商的云计算实例的入口的操作。

图3C示出了根据本公开的一个实施例的消费者访问云卷提供商中的逻辑卷的通信路径。

图4A示出了根据本公开的一个实施例的数据中心,其中云卷提供商可在数据中心中实施其操作。

图4B示出了根据本公开的一个实施例的一个或多个云服务提供商和在数据中心中配置的云卷提供商之间的通信路径。

图5A示出了根据本公开的一个实施例的云服务提供商的计算实例和在数据中心中配置的云卷提供商的存储阵列中的特定卷之间的通信路径。

图5B示出了根据本公开的一个实施例的对在数据中心中配置的一个或多个云卷提供商的存储阵列中的卷进行访问的多个服务提供商的多个计算实例之间的通信路径,其中计算实例可与一个或多个实体相关联。

图5C示出了根据本公开的一个实施例的对在数据中心中配置的云卷提供商的存储阵列中的单个卷进行访问的多个服务提供商的多个计算实例之间的通信路径,其中计算实例可与一个或多个实体相关联。

图5D示出了根据本公开的一个实施例的供应可配置的用于存储的逻辑卷的云卷提供商,其中云服务提供商的云计算实例链接至逻辑卷中存储的特定对象。

图6A示出了根据本公开的一个实施例的供应可配置的用于存储的逻辑卷的云卷提供商,其中云服务提供商的云计算实例链接至云卷提供商的存储阵列中的特定卷,并且其中云卷提供商是可配置的以使用一个或多个控制器访问特定卷,每个控制器可配置不同的表现性能。

图6B示出了根据本公开的一个实施例的在一个或多个云服务提供商内操作的多个消费者的计算实例之间的通信路径,其中数据中心内的通信路径在消费者之间是隔离的,使得每个消费者与其自身用于访问相应消费者的相应逻辑卷的虚拟局域网相关联。

图6C示出了根据本公开的一个实施例的包括云卷提供商的系统,该云卷提供商通过私人服务器供应用于使用的云存储,从而实施私人存储和私人计算架构。

图7示出了根据本公开的一个实施例的在数据中心中配置的云卷提供商的存储阵列的示例性架构。

图8示出了根据本公开的一个实施例的存储阵列中的读写路径。

图9根据本公开的一个实施例示出了在硬盘中保存之前,写数据块的分割和压缩。

图10根据本公开的一个实施例示出了云存储系统以及数据分析的使用,该云存储系统使用云存储处理以确保针对在云服务提供商上运行的计算实例的第三方存储方案,该数据分析提供对操作计算实例的实体有用的预测信息。

具体实施方式

下述实施例描述了用于向一个或多个云服务提供商(CSP)的计算实例提供用于存储的云卷的方法、系统和计算机程序。CSP操作一个或多个数据中心,并且数据中心用于为安装和操作应用的消费者服务。在云服务提供商的基础设施上运行的应用通常被称为云应用或基于云的应用。这些云应用可能要求不同数量的存储和/或不同类型的存储,这取决于应用的功能、需要、客户负荷、压力要求和/或存储容量。云卷提供商(CVP)也操作一个或多个存储阵列,该一个或多个存储阵列被配置为将一个或多个存储卷分配至一个或多个CSP的一个或多个计算节点。CVP入口被配置为将计算实例链接至CVP的存储阵列中的已经存在的或新的用于存储的逻辑卷。至少卷的尺寸和性能(例如,每秒的输入/输出–IOPS)是可配置的。此外,卷可被重新配置,以根据需要改变其尺寸。而且,消费者能够使用CVP入口,以将在多个CSP上运行的多个计算实例链接至CVP的存储阵列的卷中的一个或多个。另外,可基于CVP的IO性能对特定消费者进行数据分析,以深入了解CVP中的卷和在相应的CSP上运行的计算实例二者的操作。而且,实施云卷存储的基础设施可扩展至卷之外的数据对象(例如,文件夹、文件、对象等),其中数据对象用于组织或识别数据,使得保持数据对象的存储阵列可由云实例访问。

考虑该概述,下面的附图提供了存储应用的数个示例性实施方式,被提供以优化由云存储提供商提供的存储资源的使用。

图1A示出了根据本公开的一个实施例的包括云卷提供商150的系统100A,该云卷提供商150提供云服务提供商110的云计算实例使用的云存储。系统被配置为提供由CSP 110之外的第三方提供的云存储。存储基础设施和容量是消费者可见的,从而消费者能够选择性利用更高水平的存储容量,包括CSP 110未提供的高级(advanced)特征。

如显示,系统100A包括被配置为经网络756向一个或多个消费者提供虚拟化的云计算资源的CSP 110。作为说明,亚马逊网络服务(AWS)、谷歌股份有限公司的谷歌云平台或GCE/GCS、微软有限公司的微软云或Azure等提供由云计算提供的服务。更具体地,CSP 110包括在虚拟层中操作的一个或多个虚拟化的计算实例130。这样,计算实例根据需要被配置有CSP 110提供的硬件资源(例如,处理、储存等)和软件资源(例如,操作系统),以便处理数据。计算实例是虚拟化的,因为它们不被分配专用的硬件资源,但是在相应的计算实例的例示下,被配置有可用的硬件资源。计算实例通过通信网络756(例如,因特网)由与一个或多个客户计算机120相关联的一个或多个实体例示和/或访问。每个客户计算机120包括被配置为访问和操作相应的计算实例130的CSP界面125。参考图2提供CSP 110的更详细讨论。

CSP 110还包括存储器140,该存储器140针对消费者使用而被维护和操作。存储器140可以在数据中心中在CSP 110的引导和控制下实施。例如,为了CSP 110的利益,数据中心可仅仅用于存储的目的。即,存储器140视为是CSP 110提供的硬件计算资源的一部分。

但是,本发明的实施例提供了第三方云卷提供商的实施,该第三方云卷提供商被配置为经网络而不是使用与CSP 110相关联的存储器140提供存储。尤其,云卷提供商150包括由位于一个或多个商业数据中心的一个或多个物理存储阵列支持的多个逻辑云卷160。CVP 150被配置为向云连接的实体或用户供应云卷存储(作为服务的卷)。配置之后,计算实例将在CVP 150相应的卷而不是CSP 110提供的存储器140处接口(interface)和存储数据。如此,实体能够利用远离CSP 110提供的数据存储服务的、CVP 150提供的数据存储服务。例如,CVP 150被配置为用于高级存储特征,包括数据复制、数据复写、数据的快照、克隆、加密、粉碎、备份等被配置为增强存储性能。作为例示,CVP 150可跨多个站点以更大的频率使用卷复写提供备份拷贝,为了比CSP 110提供更大的可靠性。CVP 150还可被配置为允许实体跨多个CSP移动和/或迁移数据,并且如此能够避免数据锁定至特定CSP 110的特定的数据存储系统。

在一个实施例中,CSP 110视为是为消费者提供计算资源的实体。但是,应理解,如遍及说明书提到的、CSP被配置为提供包括一个或多个资源(例如,软件、硬件等)的基础设施,以便产生一个或多个计算实例,用于在实施例中经网络(例如,因特网)访问一个或多个指定的实体(例如,消费者等)。可在一个或多个私人或商业数据中心中配置CSP,所有的所述数据中心提供计算支持资源。这样,计算实例被配置为执行访问实体使用的一个或多个应用。

图1B示出了根据本公开的一个实施例的首先在图1A中介绍的包括云卷提供商150的系统110,该云卷提供商150提供可配置的用于存储的逻辑卷。具体地址,CVP 150包括一个或多个物理存储阵列155,该一个或多个物理存储阵列155被配置为多个逻辑卷160。如之前介绍的,CVP 150为云服务提供商的计算实例提供第三方存储。例如,CVP 150为使用相应的客户计算机120操作计算实例130-A的实体提供云存储,其中客户计算机120和基于云的计算机实例130-A之间的通信经网络756实施。

CVP 150在一个或多个商业数据中心中实施和/或分布,该商业数据中心中经高速网络链接与一个或多个CSP连接。例如,CVP 150包括数据中心中配置的一个或多个存储阵列,其中存储阵列进一步被配置为逻辑卷。如此,实施云卷存储的实体不需要维护和/或管理存储硬件,并且仅仅需要请求特定尺寸和性能的卷。当初始化时,相应的卷被链接至和/或连接至在相应的CSP处操作的特定计算实例(例如,主机)。

来自存储阵列的存储器(storage)可经网络入口访问,其中消费者可将一个或多个存储卷分配给CSP的计算节点。具体地,当初始化时,与CVP 150相关联的每个逻辑卷由相应的实体定义,并且可进一步链接至相应的计算实例。当初始化时,卷160-A起初由存储量(例如,尺寸)、性能(例如,IOPS),和将卷160-A与相应的计算实例130-链接的信息配置。例如,实例130-A可能与单个应用相关联。任何时间,实例被具体化以运行应用,实例(例如,实例130-A)是可配置的,以链接卷160-A,而不重新初始化卷160-A和实例130-A之间的链接。通过CVP入口实施卷160-A的初始化和配置,如参考图3A-3C进一步描述。如图1B中所显示,云服务提供商-CSP-1 110’的云计算实例130-链接至云卷提供商150的存储阵列中的特定卷160-A。如此,数据存储在CVP 150的卷160-A,而不是在由CSP-1 110’提供的数据存储器140上存储当执行一个或多个应用时计算实例130-A产生的数据。

图1C示出了根据本公开的一个实施例的包括云卷提供商150的系统100C,该云卷提供商150为跨多个云服务提供商(例如,CSP-1(110’)、CSP-2(110”)至CSP-n(110”’))的一个或多个计算实例供应云存储。在一个实施例中,计算实例可由单个实体操作。在另一实施例中,计算实例由一个或多个实体操作。在一个实施例中,系统100C构建图1A-1B中示出的系统100A的架构。

如图1C中显示,CVP 150操作跨商业数据中心的分布网络的多个卷160。例如,位于第一数据中心的存储阵列可与位于第二数据中心的存储阵列组合。该组合提供了在一个或多个CSP处操作(operate)的一个或多个计算实例可用的多个卷。

另外,每个CSP被配置为经网络756为向一个或多个消费者提供虚拟化的云计算资源。更具体地,CSP-1(110’)包括在虚拟层中操作的一个或多个虚拟化的计算实例130。其他CSP,包括CSP-2(110”)和CSP-n(110”’),被类似地配置,其每一个包括在相应的虚拟层中操作的一个或多个虚拟化的计算实例130。

一个或多个实体可使用CVP入口,以链接计算实例,该计算实例在相应的CSP上执行并且采用CVP 150处的云卷运行应用。如此,使用CVP 150的实体可选择使用云存储,而不是相应的CSP提供的云存储。此外,第三方云卷存储的使用可限于与在相应的计算实例上运行的相关应用的关键数据。即,对于特定的实体,一些计算实例可仍使用CSP提供的默认存储,而处理更优质数据的其他计算实例使用CVP 150的云卷存储。CVP 150提供的云存储可在一个或多个商业数据中心中实施,其中存储阵列被路由到向在相应的CSP中运行的实例提供访问和互连的特定路由器。尤其,实体能够使用多个云服务提供商,其中CVP 150是可配置的,以跨所有多个CSP为计算实例分配一个或多个卷。在每个数据中心的CVP 150和相应的CSP之间的通信通过网络756实施,其中在两端的路由器和/或交换器利于经网络756传输。例如,在CSP-1(110’)处的交换器/路由器431和在CVP 150的相应的数据中心(例如,容纳CVP 150的存储阵列的每个数据中心)处的交换器/路由器431’利于被链接的在CSP-1(110’)处执行的计算实例130和相应的逻辑卷之间的通信。另外,在CSP-2(110”)处的交换器/路由器432和在CVP 150的相应的数据中心(例如,容纳CVP 150的存储阵列的每个数据中心)处的交换器/路由器432’利于被链接的在CSP-2(110”)处执行的计算实例130和相应的逻辑卷之间的通信。此外,在CSP-n(110”’)处的交换器/路由器433和在CVP 150相应的数据中心(例如,容纳CVP 150存储阵列的每个数据中心)处的交换器/路由器433”’利于被链接的在CSP-n(110”’)处执行的计算实例130和相应的逻辑卷之间的通信。

在单个实体的例子中,跨多个CSP操作多个计算实例,CVP 150提供多个CSP访问。例如,实体可具有在CSP-1(110’)上运行的实例(例如,亚马逊网络服务)和在CSP-2(110”)上运行的另一实例(例如微软的Azure)。CVP入口被配置为确保在多于一个云服务提供商的计算实例之间共享卷。

图2示出了根据本公开的一个实施例的示例性云服务提供商110,该云服务提供商110为实体供应处理和数据服务。CSP 110可在提供计算支持(例如,电力和网络连接)的一个或多个商业和/或私人数据中心(未显示)中实施。如之前描述的,实体通常经网络756连接至CSP 110,以支持可能在虚拟机或CSP 110的计算实例130中执行的应用。

例如,CSP 110操作多个虚拟机(VM)或计算实例,比如VM-1(130-x)、VM-2(130-y)和VM-n(130-z)。如显示,使用执行单个应用-1的操作系统(OS 211-x)(例如,Windows、Linux、Apple操作系统等)实施VM-1(130-x)。而且,使用OS 211-y实施VM-2(130-y),OS 211-y可以与OS 211-x类似或不同,并且OS 211-y执行多个应用(例如,应用-x、应用-y…和应用-z)。此外,使用OS 211-z实施VM-n(130-z),OS 211-z可能与OS 211-x和OS 211-y中的每个类似或不同,并且OS 211-z执行单个应用-2。例如,应用-1和应用-2可以是支持人力资源数据库的企业应用。

使用虚拟层260描绘(render)虚拟机或计算实例,该虚拟层260被配置为从相应的物理硬件管理和分配资源,为多个计算实例或VM(例如,VM-1、VM-2、VM-n)使用,使得每个VM中存在的虚拟硬件由底层硬件270支持。这样,虚拟层260为相应的来宾VM的每个来宾操作系统或计算实例VM-1(130-x)、VM-2(130-y)…、VM-n(130z)提供由底层物理硬件270支持的虚拟化的硬件组。

物理硬件270包括组件,比如中央处理器(CPU)271、通用随机存取存储器(RAM)272、用于与外部设备(例如,USB端口、终端端口、连接器、插头、链接等)通信的IO模块273、用于通过网络交换数据包的一个或多个网络适配器(NIC)275和一个或多个电源274。为了简洁和清楚,没有显示其他硬件组件,比如温度传感器。

图3A示出了根据本公开的一个实施例的包括云卷提供商150和CVP入口320的系统100A’,该云卷提供商150提供云服务提供商110的一个或多个计算实例使用的云存储,该CVP入口320被配置为将CVP 150中的逻辑卷链接至CSP 110中的计算实例。系统100A’的配置与图1A-1B的系统100A类似,并且还包括CVP入口320,该CVP入口320被配置为向一个或多个CSP 110的计算实例提供第三方云存储。更具体而言,图3A示出了CVP入口320位于系统100A’的网络架构中的可能位置。

尤其,系统100A’包括CSP 110,该CSP 110被配置为经网络756向一个或多个实体供应虚拟化的云计算实例130。计算实例通过通信网络756(例如,因特网)被与一个或多个客户计算机120相关联的一个或多个实体实例化和/或访问。每个客户计算机120包括CSP界面125,该CSP界面125被配置为访问和操作相应的计算实例130。

CSP 110也包括为消费者使用而维护和操作的存储器140。但是,本发明的实施例允许选择计算实例130,以避免使用默认存储器140,而是使用CVP 150提供的一个或多个云卷160。

如图3A中显示,在一个实施例中,CVP入口320被配置为初始化CVP 150提供的逻辑卷160和特定CSP 110的计算实例130之间的链接。在另一个实施例中,CVP入口320被配置为初始化逻辑卷160和特定CSP 110的多个计算实例130之间的多个链接。在另一实施例中,CVP入口320被配置为初始化逻辑卷160和位于两个或更多个CSP 110上的多个计算实例130之间的多个链接。

尤其,CVP入口320为实体提供配置和初始化CSP 150中相应的云卷的界面。如图3A中显示,在一个实施例中,CVP入口320可在通过网络756可访问的计算节点上配置。在另一实施例中,CVP入口320’可被配置为相应的CSP 110中的计算实例。

因为CVP入口320’位于CSP 110中,在一些情况下这对于使用CVP 150提供的逻辑卷配置访问CSP 110上的计算实例130可能是有益的。在另一实施例中,CVP入口320”可位于CVP 150的逻辑边界中。在这些位置的每个位置中,CVP入口被配置为创建和/或初始化CVP 150中的卷,并且将卷链接至在相应的CSP 110上执行的相应的计算实例。为了简洁和清楚,参考图3A-3c描述CVP入口320的特征和功能,并且旨在呈现CVP入口320’和320”的特征和功能。

一般而言,CVP入口320被配置为允许使用在一个或多个CSP 110上运行的一个或多个实例130的实体来选择CVP 150处的相应的逻辑卷。如此,跨一个或多个CSP 110在一个或多个实例上运行的应用可经CVP入口320通过初始化访问卷。例如,实体能够登录在CSP 110上运行的它们的实例,并且然后从CVP 150选择已有的或新的卷。登录特定的CSP 110可直接进行,或为了配置和链接(例如,计算实例和卷之间的链接)的目的通过CVP入口320进行。例如,CVP入口320可使用登录参数,以通过CSP 110的消费者界面与特定CSP 110通信。这样,CVP入口320将接着在一个或多个CSP 110上运行的一个或多个计算实例130和由CVP 150的存储阵列支持的一个或多个卷之间创建链接。结果,选择存储被简化为决定多少存储和多少性能。实体接着简单地为他们的使用付费而不需要他们拥有和/或管理任何硬件。

在一个实施例中,CVP入口320被配置为创建新卷,为在一个或多个CSP 110上运行的计算实例使用。例如,当初始化卷时,设置某些参数,包括卷尺寸(存储量)、卷标识符(例如,名称)和性能(例如,IOPS)。可能需要另外的参数,包括是否加密、秘钥的使用、应用类型或种类、应用标识符和其他另外的特征选项(例如,快照时间表(snapshot schedule)和保留时间(retention))。用于定义卷的其他信息和/或参数包括对于当前结算期(例如,月)的数据传送、费用监测(例如,固定+可变的),卷使用等。

在一个实施例中,CSP连接也可被包括以用于初始化。在另一实施例中,CSP连接(例如,IP和IQN细节)和CSP标识符是任选的。在该情况下,卷可以未连接的状态存在,但是当连接被指定时,随时可用。如相应的CSP支持的,卷和计算实例的至OS的CSP连接可通过iSCSI实施。

当提供卷时,可选择任何CSP用于链接。即,本发明的实施例是CSP不可知的,并且可支持一个或多个CSP。这样,CVP 320被配置为收集所有必要的信息,以将逻辑卷连接至所选择的支持被链接的计算实例130的CSP。另外,多个CSP可在卷创建期间链接至CVP 150的单个卷。

在一个实施例中,CVP入口320被配置为用于CSP修改和/或移除。这样,对于特定的卷,CVP入口320允许更新和/或移除一个或多个被链接的CSP连接。在一种情况下,卷必须与CVP 150分开,CVP 150配置被消费者移除。

在另一实施例中,CVP入口320被配置为用于卷移除和/或修改。如此,可删除分配的卷。在一种情况下,如果从配置文件删除了用于CSP连接的值,那么也必须移除CSP连接。在另一实施例中,CVP入口320被配置为用于卷修改。如此,已有的卷可修改一个或多个其属性,包括CSP连接、卷尺寸、卷名称、快照时间表和保留时间等。

实体使用CVP入口320允许根据使用需要而灵活使用存储资源。例如,在任何特定时间,实体可通过一个或多个CSP在一个或多个计算实例上运行一个或多个应用。一个或多个计算实例可访问一个或多个卷。在一个实施中,实体可对在访问一个或多个相关卷的一个或多个计算实例上运行的一个应用进行配置,以操作某些水平的性能。相同的实体可对在访问另一组一个或多个相关卷的另一组计算实例上运行的另一应用进行配置,以操作不同水平的性能。如此,可通过卷创建(例如,指定尺寸和性能)不同级别的数据管理是可配置的。

图3B根据本公开的一个实施例示出了CVP入口320的操作,该CVP入口320被配置为将云卷提供商的存储阵列中的特定卷链接至云服务提供商的云计算实例。如显示,CVP入口320提供在操作客户控制台或计算机120的浏览器、CVP 150的用于存储的逻辑卷阵列155的实体,和位于一个或多个CSP(比如CSP-1(110’)和CSP-2(110”))上的计算实例之间的连接界面。如显示,CVP入口320位于托管站点中,如之前结合图3A中描述(例如,位于远程计算节点上,作为CSP计算实例,在CVP 150等中配置)。

CVP入口320可被视为是一块玻璃,通过CVP入口320,CVP 150的实体/用户可管理和监测他们的云卷资源。界面提供了对于存储配置的观察,并且包括卷信息。例如,卷信息可包括:CSP信息、CSP连接、卷名称、卷尺寸、卷使用等。可支持所有的浏览器,比如提供Firefox、Safari、Chrome、Edge等数据库访问信息325,以允许在数据库324中存储元数据、交易信息和清单信息。应用逻辑323被配置为执行CVP入口320功能。应用程序界面322提供对于应用逻辑323的访问。当访问相应的CSP时,反向代理组件321允许CVP入口320用作实体的代理。

CVP入口320提供用于CSP访问和CVP访问的链接信息。例如,云访问组件327被配置为包括CSP连接器/连接信息。如显示,包括CSP-1连接器/连接信息381用于定义至CSP-1(110’)的通信路径。而且,包括CSP-2连接器/连接信息382用于定义至CSP-2(110”)的通信路径。CVP入口320也提供经CVP连接器/连接信息326至CVP 150的CVP存储阵列155的链接信息。如此,可在CSP的计算实例和相应的逻辑卷之间使用CSP连接器/连接信息和CVP连接器/连接信息来提供链接。

另外,CVP入口320也被配置为利于账单(billing)。尤其,账单连接器370被配置为包括与账单系统375通信必要的信息和功能,该账单系统375可能经网络756位于远程服务器上。

CVP 320被配置为用于账单的支付设置和修改。如此,CVP 320提供了设置支付和访问账单详情的方式。如此,通过为消费者提供查看以往的支付和预计成本的方式,通过进一步的动作,CVP 150消费者能够检查和/或修改账单信息。

CVP入口320被配置为为相应的卷启动或禁用快照创建。此外,CVP入口320允许快照时间表、配置和修改,以便能够设置或改变已有卷的快照时间表。在一个实施中,CVP入口320一次作用于一个卷,而不是一组卷,在一个实施例中。在另一实施中,CVP入口320提供快照恢复,其中卷状态可恢复至之前的捕获快照。而且,在一个实施例中,这适用于单个卷,而不适用于一组卷。

图3C示出了根据本公开的一个实施例的包括云卷提供商150和CVP入口320的系统100A”,该云卷提供商150提供云服务提供商110的一个或多个计算实例130使用的云存储,CVP入口320被配置为将CVP 150中的逻辑卷链接至计CSP 110中的算实例130。系统100A”的配置与图1A-1B的系统100A和图3A-3B的系统100A’类似。如之前描述的,CVP入口320被配置为通过将CVP 150中的特定逻辑卷链接至CSP 110中相应的计算实例,向一个或多个CSP 110的计算实例提供第三方云存储。另外,在另一实施例中,逻辑卷可链接至一个或多个CSP 110的一个或多个计算实例。尤其,图3C根据本公开的一个实施例示出了用于消费者访问云卷提供商中逻辑卷的通信路径。

如之前描述的,系统100A”包括CSP 110,CSP 110被配置为经网络756向一个或多个实体供应虚拟化的云计算实例130。计算实例130通过经通信网络756(例如,因特网)被与一个或多个操作浏览器121的客户计算机120相关联的一个或多个实体实例化和/或访问。例如,实体可创建包括一个或多个计算实例130的虚拟私人云(VPC)379。CSP控制器315提供消费者VPC的计算实例130的管理和配置控制。例如,CSP控制器315提供链接计算实例130和CVP 150的逻辑卷之间的通信路径。另外,CVP 150包括一个或多个存储阵列(例如,阵列155-A至155-D等)。CVP 150可遍及一个或多个商业数据中心分布,并且可被配置为提供多个逻辑卷160。

CVP 150的局部边界上的云交换提供CSP 110和CVP 150之间路由器至路由器通信。例如,在CVP 150处的CSP路由器117和CVP路由器157被配置为利于至和从与CSP 110支持的特定计算实例相关联的逻辑卷的通信。

图3C示出了实体的浏览器121和CVP入口346之间经公共云(例如,因特网)的通信路径346。如此,在一个实施例中中,CVP入口320可被配置为对CVP 150提供的逻辑卷160和特定CSP 110的计算实例130之间的链接进行初始化。在另一实施例中,CVP入口320被配置为对逻辑卷160和特定CSP 110的多个计算实例130之间的多个链接进行初始化。在另一实施例中,CVP入口320被配置为对逻辑卷160和位于两个或更多个CSP 110上的多个计算实例130之间的多个链接进行初始化。

通信路径347a在公共云(例如,网络756)和CSP 110中的虚拟私人云(VPC)379之间经CSP控制器315实施。提供给CVP入口320的消费者登录(login)(例如,用户标识符和密码)经HTTPS在通信路径347上安全通信,以采用经网络756至逻辑卷的正确连接配置VPC的计算实例130。通信路径347b在CVP入口320和计算实例130之间经CSP控制器315实施。路径347b可在CSP 110处的两个私人云中实施。在另一实施中,路径437b可在CSP-1和CSP-2之间的虚拟私人网络之间经网络756(未显示)实施。

通信路径343在CVP入口320和CVP 150的存储阵列155之间实施。该路径用来配置链接至相应的计算实例的逻辑卷。CVP入口320能够跨两个私人网络(例如,支持CVP入口320和CVP 150的私人网络)通信,以便为了配置目的,使用例如认证序列经安全通信会话访问在商业数据中心处的CVP 150的私人网络。

通信路径341在计算实例130和CVP 150的存储阵列155之间实施。通信路径341提供在CSP 110处的实体(例如,通信至在CVP 150逻辑边界处的CSP路由器117)的VPC 379和CVP 150中的私人网络(例如,CVP路由器157后面)之间的通信。在一个实施例中,该通信是不使用任何公共网络(例如,因特网)的直接通信。在其他实施例中,通信路径341通过具有实施的安全性特征(例如,可由在计算实例130上操作的应用提供空闲加密、“线上”加密)的公共和私人网络的组合实施。

另外的特征可通过在经网络756操作的远程计算节点处的服务器实施。例如通信路径348在CVP支持浏览器337和CVP 150的存储阵列155之间实施。如此,可进行经存储阵列155的管理和控制。通信路径348在公共云网络756(例如,因特网)和CVP 150中的私人网络之间实施。Nimble(例如,CVP路由器157后面)。另外,通信路径344在CVP入口320和CVP附属界面335(例如,为CVP 150提供账单的一个界面)之间实施,以提供终端用户通过CVP入口320可查看的账单信息。通信路径344在公共云网络756(例如,因特网)和用于附属的私人网络之间实施。

通信路径345在CVP入口320和InfoSight服务330之间实施,该InfoSight服务330基于经在CVP 150处的逻辑卷存储和访问的数据的IO性能监测,提供数据分析。通信路径345在公共云网络756和InfoSight的私人云网络之间实施,以提供安全的通信。InfoSight被配置为提供将用于跨一个或多个云服务提供商执行计算实例而进行的数据分析。分析还可包括使用从多个已安装的云卷收集的指标(metrics),以预测使用需要、优化考虑和监测特定云服务提供商实例的性能。例如,数据分析可指示预计实体什么时候超过卷的容量,并且建议改变卷参数(例如,增加卷尺寸)。这样,使用这种数据,可基于终端用户的应用和数据需要,为终端用户提供最佳优化配置的指导。预测可包括确定消费者设置什么时候可能用尽空间和经入口添加更多卷空间的方法。另外,可提供仪表盘,其通知终端用户他们的数据使用趋势、卷性能、每个卷的容量,和建议调整卷尺寸等。此外,数据分析可基于他们与CVP 150的存储阵列155的相互作用,提供有关一个或多个CSP的性能了解,。图10中提供了有关InfoSight服务330提供的特征的更详细讨论。

图4A示出了根据本公开的一个实施例的商业数据中心400,其中云卷提供商150可在数据中心中实施其操作。尤其,数据中心被配置为提供基础计算和网络访问以及资源,使得数据中心消费者必要地租赁空间,以运行其在由数据中心提供的机架410中操作的硬件。如显示,数据中心400提供经高速连接(例如,高速干线)490至公共网络756的网络连接470。另外,数据中心400为其消费者提供电力。因为数据中心较大并且容纳许多消费者,消耗的电力可堪比中等规模的都市的消耗。重要地是对于数据中心消费者,网络连接和电力保持不变,其中当供应电力和连接时数据中心400提供冗余。

商业数据中心消费者提供硬件和必要地租赁数据中心400中的空间。根据协商,由数据中心为特定的消费者提供电力和网络连接。数据中心400被配置为支持多个消费者,包括CVP 150。例如,CVP 150在配置特定数据中心400中的一个或多个存储阵列155。即,存储阵列放置在一个或多个识别的、物理机架,其中存储阵列包括被配置有控制器的容器、硬盘存储器和闪存存储,以及包含另外存储器的扩展架。

图4B示出了根据本公开的一个实施例的一个或多个云服务提供商和在商业数据中心400中配置的云卷提供商150之间的通信路径。尤其,数据中心400包括多个机架410,其也称为笼子,因为他们可出于安全性而放置。每个机架包括交换器445,交换器445提供在机架中安装的计算资源和数据中心400中的路由器之间的局部通信。例如,相应的机架的交换器445可被配置为经网络756与数据中心路由器420通信,以启动通信。

如图4B中显示,CVP 150包括设置在一个或多个机架410中的一个或多个存储阵列155。包含另外的存储器的扩展架485也可安装在一个或多个机架410上,其中扩展架485可为相应的存储阵列155提供另外的存储器。存储阵列155,单独或组合地,可进一步虚拟地被配置为多个卷。每个机架410包括交换器445,交换器445被配置为与CVP路由器440通信,其中CVP路由器440被配置为与每个CSP路由器(例如,CSP-1路由器431’、CSP-2路由器432’…、CSP-n路由器433’)通信,这取决于哪个逻辑卷和被链接的计算节点被通信。更具体地,CSP管理在商业数据中心400处其自身的CSP路由器,以提供CSP和数据中心之间的直接通信,其中直接通信允许更大的带宽和速度。这样,CSP上的计算实例通过相应的路由器与数据中心通信。例如,当与数据中心400通信时,CSP-1(110’)经CSP-1路由器431’发送和接收数据包。

这样,通过与位于CVP 150另一侧的相应的CSP路由器直接通信,CVP 150能够利用CSP和商业数据中心400之间的直接通信。例如,经包括CVP路由器440和CSP-1路由器(431’)的数据中心内部的数据路径,发生与CSP-1(110’)上的计算实例进行通信的存储阵列155中配置的逻辑卷之间的通信。作为说明,经数据中心400处的CVP路由器440和CSP-1路由器(431’)传递SA 155-X上的逻辑卷160-A和CSP-1(110’)上的计算实例之间的通信,其中逻辑卷160-A链接至在CSP-1(110’)处的计算实例。尤其,来自SA 155-X的数据包被递送至交换器445’至CVP路由器440,其接着被递送至CSP-1路由器431’,这依赖于CVP 150的逻辑边界。该数据包接着通过数据中心路由器420递送,然后输出至网络756。从网络756那里,数据包被递送至在CSP-1(110’)处的CSP-1路由器431,然后被内部递送至相应的计算实例130。类似地,从CSP-1(110’)上的计算实例130至配置在SA 155-X上的逻辑卷160-A的数据包经相同的路径递送。

此外,与CSP-2(110”)上的计算实例通信的在存储阵列155中配置的逻辑卷之间的通信经包括CVP路由器440和CSP-2路由器(432’)的商业数据中心400内部的数据路径通信。从那里,通信经过数据中心路由器420、网络756和位于CSP-2(110”)处的CSP-2路由器432。另外,与CSP-n(110”’)上的计算实例通信的在存储阵列155中配置的逻辑卷之间的通信,经包括CVP路由器440和CSP-n路由器(433’)的数据中心400内部的数据路径通信。从那里,通信经过数据中心路由器420、网络756和位于CSP-n(110”’)处的CSP-n路由器433。

图5A示出了根据本公开的一个实施例的云服务提供商CSP-1(110’)的计算实例130-A和在商业数据中心400中配置的云卷提供商150的存储阵列155中的特定卷160-A之间的通信路径511。图5A延伸了图4B中显示的网络架构至CSP-1(110’)。如显示,CSP-1(110’)上的计算实例130-A链接至位于CVP 150处的逻辑卷160-A。例如,参考图4B,逻辑卷160-A可物理位于一个机架410’的存储阵列(SA)155-X上,其中逻辑卷160-A被链接至相应的CSP-1(110’)的计算实例。在数据中心400内部,至逻辑卷的通信路径包括交换器445’、CVP路由器440和CSP-1路由器(431’),以及在数据中心400处的数据中心路由器420。再次参考图5A,从数据中心400延伸通信,如在SA 155-X上的逻辑卷160-A和CSP-1(110’)上的计算实例之间,从数据中心400延伸,通信路径511进一步包括CSP-1路由器431’(经数据中心路由器420)、网络756和在CSP-1(110’)处的CSP-1路由器431。CSP-1(110’)内部的内部通信路径引导至相应的计算实例。

图5B示出了根据本公开的一个实施例的对在商业数据中心中配置的云卷提供商的一个或多个存储阵列中的卷进行访问的多个服务提供商的多个计算实例之间的通信路径,其中计算实例可与一个或多个实体相关联。图5B延伸了图4B和5A中显示的网络架构至CSP-1(110’)和CSP-2(110”)。

如显示,CSP-1(110’)上的计算实例130-A链接至位于CVP 150处的逻辑卷160-A。如之前图4B和5A中描述,通信路径511显示将计算实例130-A链接至逻辑卷160-A并且包括位于CSP-1(110’)处的CSP-1路由器431、网络756、数据中心路由器420、位于商业数据中心400处的CSP-1路由器431’、CVP路由器440,和比配置有逻辑卷160-A的机架410’的相应的交换器445’。

此外,CSP-2(110”)上的计算实例130-B被链接至也位于CVP 150处的逻辑卷160-B。参考图4B和图5B,商业数据中心400内部,至逻辑卷160-B的通信路径512包括相应的机架410的相应的交换器445、CVP路由器440和CSP-2路由器(432’),以及在数据中心400处的数据中心路由器420。再次参考图5B,从数据中心400延伸通信为在逻辑卷160-B和CSP-2(110”)上的计算实例130-B之间,从数据中心400延伸,通信路径512进一步包括CSP-2路由器432’(经数据中心路由器420)、网络756和在CSP-2(110”)处的CSP-2路由器432。CSP-2(110”)内部的内部通信路径引导至相应的计算实例130-B。

图5C示出了根据本公开的一个实施例的对在商业数据中心中配置的云卷提供商的存储阵列中单个卷进行访问的多个服务提供商的多个计算实例之间的通信路径,其中计算实例可与一个或多个实体相关联。图5C延伸了图4B、5A和5B中显示的网络架构至CSP-1(110’)和CSP-2(110”)。

如显示,CSP-2(110”)上的计算实例130-B被链接至位于CVP 150处的逻辑卷160-B。如之前图4B和5B中描述,通信路径512显示将计算实例130-B链接至逻辑卷160-B并且包括位于CSP-2(110’)处的CSP-2路由器432、网络756、数据中心路由器420、位于数据中心400处的CSP-2路由器432’、CVP路由器440,和被配置有逻辑卷160-B的相应机架410的相应的交换器445。

此外,CSP-1(110’)上的计算实例130-A可被重新配置或初始被配置为也链接至位于CVP 150处的逻辑卷160-B。参考图4B和图5C,在数据中心400内部,至逻辑卷160-B的通信路径513包括相应机架410的相应交换器445、CVP路由器440和CSP-1路由器(431’),和在数据中心400处的数据中心路由器420。再次参考图5C,从数据中心400延伸通信为在逻辑卷160-B和CSP-1(110’)上的计算实例130-A之间,从数据中心400延伸,通信路径513进一步包括CSP-1路由器431’(经数据中心路由器420)、网络756,和在CSP-1(110’)处的CSP-1路由器431。CSP-1(110’)内部的内部通信路径引导至相应的计算实例130-A。

如之前介绍的,CSP-1上的计算实例130A,和CSP-2上的计算实例130B可属于相同实体,或不同的实体。如此,单个卷160-B同时链接至在多个CSP上操作的计算实例并且由在多个CSP上操作的计算实例访问。

图5D示出了根据本公开的一个实施例的供应可配置的用于存储的逻辑卷的云卷提供商150,其中云服务提供商的云计算实例链接至逻辑卷中存储的特定对象。即,CSP的计算实例130之间的链接或关联延伸至数据对象,存在或不存在与逻辑卷相应的关联。一般来说,数据对象简单地是组织或鉴定数据的方式。数据可通过文件夹、文件和/或对象的方式被组织和访问。结果,本发明的实施例包括由具有数据对象的相应的CSP支持的计算实例130,从而保持数据对象的存储阵列155可由基于云的计算实例130访问。

如图5D中显示,CSP-1(110’)上的计算实例130-A被链接至位于CVP 150处的数据对象550-B。在一个实施例中,数据对象550-B位于卷160-A中。通信路径516显示将计算实例130-A链接至数据对象550-B(比如通过卷160-A),并且包括在CSP-1(110’)处的CSP-1路由器431、网络756、数据中心路由器420、位于商业数据中心400处的CSP-1路由器431’、CVP路由器440,和被配置有保持对象550-B的逻辑卷160-A的相应机架410的相应交换器445。

此外,CSP-1(110’)上的计算实例130-A也可链接至位于CVP 150处的数据对象550-A。在一个实施例中,数据对象550-A位于卷160-B中。通信路径514被显示为将计算实例130-A链接至数据对象550A,比如通过卷160-B,并且包括在CSP-1(110’)处的CSP-1路由器431、网络756、数据中心路由器420、位于数据中心400处的CSP-1路由器431’、CVP路由器440,和被配置有保持对象550-A的逻辑卷160-B的相应机架410的相应交换器445。在该情况下,单个计算实例可链接至不同对象并且提供对不同对象的访问。相应地,在另一实施例中,单个计算实例可链接至不同卷并且提供对不同卷的访问。

图5D中也显示,通信路径515被显示为将计算实例130-B链接至数据位于CVP 150处的对象550-A。在一个实施例中,数据对象550-A位于卷160-B中。显示将计算实例130-B链接至数据对象550-A(比如通过卷160-B)的通信路径515,包括在CSP-2(110”)处的CSP-2路由器432、网络756、数据中心路由器420、位于商业数据中心400处的CSP-2路由器432’、CVP路由器440,和被配置在容纳对象550-A的逻辑卷160-B的相应机架410的相应交换器445。在该情况下,单个数据对象550-A可链接至相同或不同CSP上不同计算实例并且提供对相同或不同CSP上不同计算实例的访问。

图6A示出了根据本公开的一个实施例的供应可配置的用于存储的逻辑卷的云卷提供商150,其中云服务提供商的云计算实例链接至CVP 150的存储阵列中的特定卷,并且其中CVP 150是可配置的,以使用一个或多个控制器访问特定卷,每个控制器可配置有不同的表现性能。例如,每个控制器可以以活动(active)/备用(standby)配置进行操作,并且包括有效地管理底层数据存储系统的活动控制器611,和跟踪数据存储系统中活动的备用控制器612,使得为了周期性维护的目的或在非经意的故障期间,备用控制器612可介入并且取代活动控制器611。

如显示,CVP 150的一个或多个存储阵列包括逻辑卷160-C,逻辑卷160-C可由CVP 150中的一个或多个控制器访问。例如,在第一时间点,卷160-C可被初始化为由5x IOPS控制器610管理,具有中等路性能等级。例如,5x IOPS控制器610可被配置为每秒处理5,000个IO。

因为卷160-C是可重新配置的,CVP入口320可重新配置卷160-C,以在比第一时间点更晚的第二时间点处以更高的性能操作。在该情况下,卷160-C可使用8x IOPS控制器610’访问,从而实现增加的性能改善。例如,8x IOPS控制器610’可被配置为每秒处理8,000个IO,而不是之前处理的每秒5,000个IO。

图6B示出了根据本公开的一个实施例的在一个或多个云服务提供商中进行操作的多个消费者的计算实例之间的通信路径,其中商业数据中心中的通信路径在消费者之间的是隔离的,使得每个消费者与用于访问相应的消费者的相应逻辑卷的其自身虚拟局域网(VLAN)相关联。如显示,操作相应的CSP上的计算实例的消费者-1访问商业数据中心400中配置的CVP 150的逻辑卷160-D。通信路径692包括CVP 150内部的CVP路由器440。为了简洁和清楚的目的,未显示包括相应的CSP路由器和网络的外部通信路径。重要地,在CVP 150内部,VLAN-1网络621用于利于CVP 150中对于消费者-1的内部通信。也显示了,操作相应的CSP上的计算实例的消费者-2访问数据中心400中配置的CVP 150的逻辑卷160-E。通信路径693包括CVP 150内部的CVP路由器440。为了简洁和清楚的目的,未显示包括相应的CSP路由器和网络的外部通信路径。重要地,在CVP 150内部,VLAN-2网络622用于利于CVP 150中对于消费者-2的内部通信。对于每个消费者,通过经不同的VLAN进行操作,数据完整性被保持,并且即使数据存储在相同的CVP 150中也不会出现消费者之间数据的干扰。

图6C示出了根据本公开的一个实施例的供应私人服务器650使用的云存储的云卷提供商150,从而实施私人存储和私人计算架构。如显示,商业数据中心400可包括CVP 150,如之前描述的,CVP 150被配置为提供如由一个或多个存储阵列155支持的多个卷的访问。CVP 150可被配置为向私人(private)服务器提供私人存储。即,在一个实施例中CVP 150致力于充分支持私人服务器650或650’。在其他实施例中,CVP 150支持多个客户,但是被配置为为私人服务器650或650’划分出私人存储。例如,在一个实施例中,私人服务器650可位于数据中心400中。这样,通信路径695在数据中心400中提供直接和内部路径,以链接在私人服务器650中操作的计算实例和可能由CVP 150管理的多个卷160中的相应卷660。如之前描述的,经CVP入口320提供计算实例和逻辑卷之间的链接。在另一实施例中,私人服务器650’可相对于数据中心400的远程地设置。在该情况下,通信路径694提供从私人服务器650’通过网络756,通过数据中心路由器,和CVP路由器440的网络化路径,以访问相应的卷660。

为了完整的目的,下述讨论涉及物理存储阵列的属性,该物理存储阵列可用作云服务提供商的云基础设施中的存储资源。在一些实施例中,在存储阵列502的背景下提及NVRAM可与由存储应用106的内存缓存220实施的操作平行。写入在存储阵列中的固态驱动器的有缓存价值的数据,将类似于当写入在云存储系统中的读取缓存204时进行的操作。写入对象存储器134的数据,可与当数据写入在存储阵列502中的硬盘驱动器532的操作平行。在一个实施例中,由存储应用106进行的一些操作,与下述的缓存加速顺序布局(CASL)算法处理的(至少部分)操作平行。应理解,参考存储阵列502描述的CASL算法可能与存储应用106进行的操作不同,但是某些概念可被实施,或替换,或取代为由存储应用106进行的操作。考虑前述,下述描述参考存储阵列502。

图7示出了根据一个实施例的存储阵列155的示例性架构。在一个实施例中,存储阵列155包括活动(active)控制器708、备用(standby)控制器724、一个或多个HDD 726和一个或多个SSD 728。在一个实施例中,控制器720包括非瞬时RAM(NVRAM)718,NVRAM718用于存储到达存储阵列的进来的数据。在数据被处理之后(例如,在分块中被压缩和被组织(例如,合并)),数据从NVRAM 718被转移至HDD 726,或SSD至728,或二者。

另外,活动控制器720进一步包括CPU 708、通用RAM 712(例如,被CPU 708中执行的程序使用)、用于与外部设备(例如,USB端口、终端端口、连接器、插头、链接等)通信的输入/输出模块710、用于通过网络756交换数据包的一个或多个网络适配器(NIC)714、一个或多个电源716、温度传感器(未显示),和用于向HDD 726和SSD 728发送数据和从HDD 726和SSD 728接收数据的存储连接模块722。在一个实施例中,NIC 714可被配置为以太网通信或光纤通道通信,这取决于使用的硬件卡和存储结构。在其他实施例中,存储阵列155可被配置为使用iSCSI传输或光纤通道传输操作。

活动控制器720被配置为执行存储在RAM 712中的一个或多个计算机程序。计算机程序中的一个是用于为活动控制器设备实施操作系统功能的存储操作系统(OS)。在一些实施中,一个或多个扩展架485可与存储阵列155连接,以增加HDD 732容量,或SSD 734容量,或二者。

活动控制器720和备用控制器724具有它们自身的NVRAM,但是它们共享HDD 726和SSD 728。备用控制器724接收活动控制器720的NVRAM 718中存储的拷贝,并且将拷贝存储在其自身NVRAM中。如果活动控制器720故障,备用控制器724接管存储阵列155的管理。当服务器(本文也称为主机)与存储阵列155连接时,经网络756发送读/写请求(例如,IO请求),并且存储阵列155存储发送的数据或发送回所请求的数据至主机704。

主机704是包括CPU 750、内存(RAM)746、永久性存储器(HDD)742、NIC卡752和IO模块754的计算设备。主机实例704可在CSP 110中操作,如之前介绍的。主机704包括在CPU 750上执行的一个或多个应用736、主机操作系统738和为应用736提供访问存储阵列155的界面的计算机程序存储阵列管理器740。存储阵列管理器740包括启动程序(initiator)744和存储OS界面程序748。当IO操作被应用736中的一个数据请求时,启动程序744以一种支持的格式(例如,iSCSI、光纤通道或任何其他方案)建立与存储阵列155的连接。存储OS界面748提供控制台能力,用于通过与活动控制器720和活动控制器720中执行的存储OS 706通信而管理存储阵列155。但是,应理解,具体的实施可使用不同的模块、不同的协议、不同数量的控制器等,而仍被配置为执行或处理本文教导和公开的操作。

在一些实施例中,多个存储阵列可用于商业数据中心配置或非数据中心配置。数据中心可包括多个服务器、多个存储阵列,以及服务器和其他存储器的组合。应理解,并入特定实施、企业、数据中心、小办公环境、商业环境,和个人环境的服务器和存储阵列的类型的精确配置将根据配置的性能和存储需要而改变。

在一些实施例中,服务器可利用虚拟化技术而被虚拟化,使得操作系统可使用超级管理员被安装或操作,以允许硬件和其他资源被特定应用共享。在虚拟化的环境中,存储器也被虚拟主机访问,该虚拟主机为各种应用提供服务并且提供数据以及将数据存储至存储器。在这种配置中,存储阵列可被配置为服务特定类型的应用,并且可针对服务的数据类型优化存储功能。

例如,各种基于云的应用被配置为服务特定类型的信息。一些信息需要存储访问时间足够快,以服务关键任务的处理,而其他类型的应用为长期存储、归档和更低频访问而设计。这样,存储阵列可为了优化被配置和程序化,使得允许服务各种类型的应用。在一些实施例中,某些应用被分配至存储阵列中的各自卷。每个卷可接着针对其将服务的数据类型而优化。

如参考图7描述,存储阵列155可包括一个或多个控制器720、724。一个控制器用作活动控制器720,而另一控制器724用作备份控制器(备用)。作为冗余,如果活动控制器720故障,处理的立即透明切换(即,失效备援fail-over)可用于备用控制器724。因此,每个控制器被配置为访问存储器,该存储器在一个实施例中包括硬盘驱动器(HDD)726和固态驱动器(SSD)728。如上述,SSD 728用作一类闪存缓存,其确保存储至存储器的数据的有效读取。

如本文所使用,用作“闪存缓存”的SSD应理解为将SSD操作为用于块水平数据访问的缓存,为读取操作提供服务而不是仅仅为从HDD 726读取提供服务。因此,如果数据出现在SSD 728中,读取将从SSD发生,而不是需要对HDD 726进行读取(这个操作较慢)。如上述,存储操作系统706被配置有算法,算法允许将某些数据智能写入SSD 728(例如,值得缓存的数据),并且所有的数据从NVRAM 718直接写入HDD 726。

在一个实施例中,算法被配置为以提供增加读取操作将访问来自SSD 728的数据的可能性的方式,选择值得缓存的数据用于写入SSD 728。在一些实施例中,算法称为缓存加速顺序布局(CASL)架构,该CASL架构智能地利用闪存和硬盘的独特的特性,以提供高性能和最佳的使用容量。在一个实施例中,CASL缓存实时“加温(hot)”SSD上的活动数据—而不需要设置复杂的策略。如此,存储阵列可对读取请求立即作出响应,比传统的附加(bolt-on)或分层布置(tiered)方法到达闪存缓存快十倍。

为了讨论和理解的目的,参考CASL作为存储OS处理的算法。但是,应理解,可随时发生CASL版本的优化、修改、增加和减少。这样,参考CASL应理解为表示示例性功能,并且该功能可随时发生改变,并且可被修改以包括或不包括本文提及的或本文并入的特征。但此外,应理解,本文描述的实施例仅仅是示例性的,并且许多其他实施例和/或实施例可通过组合要素和/或省略参考要求的特征描述的要素而定义。

在一些实施中,SSD 728可称为闪存,或闪存缓存,或基于闪存的内存缓存,或闪存驱动器,存储闪存,或简单缓存。与这些术语的使用一致,在存储阵列155的背景下,SSD 728的各种实施例提供了至存储器的块水平缓存(block level caching),与指令水平缓存相对。如上述,一种通过存储OS 706的算法启动的功能将提供值得缓存的块水平数据至SSD的存储,从而随后优化读取操作(即,作为存储缓存的形式,可能击中闪存缓存的读数将被存储至SSD 728,以加速存储阵列155的性能)。

在一个实施例中,应理解,用作存储缓存的SSD 728的“块水平处理”不同于作为微处理器环境中的常见功能的“指令水平处理”。在一个实例中,微处理器环境使用主存储器,和各种水平的缓存存储器(例如,L1,L2等)。指令水平缓存是进一步有差异的,因为指令水平缓存是块-不可知的,意思是指令水平缓存并不知道哪种类型的应用正在产生或请求由微处理器处理的数据。一般而言,需要微处理器同样地处理所有的指令水平缓存,而不是有区别的或有差异的处理不同类型的应用。

在本文所述的各种实施中,通过SSD 728促进的存储缓存由存储OS 706运行的算法实施,该算法可以区分针对应用的每种类型或应用处理的块的类型。即,写入存储器(例如,728和/或726)的块数据可能与块数据特定应用相关联。例如,一个应用可能是邮件系统应用,而另一应用可能是金融数据库应用,并且另一个可能用于网站-主机应用。每个应用可具有不同的存储器访问模式和/或要求。根据本文所述的数个实施例,为了有效使用闪存缓存728,块数据(例如,与特定应用相关联的块数据)当通过存储OS 706执行的算法处理时,可被不同处理。

继续图7的实施例,活动控制器720显示为包括确保有效处理存储块读和写的各种组件。如上述,控制器可包括输入输出(IO)710,IO710可确保一个或多个机器访问存储阵列155的功能。该访问可提供对存储阵列的直接访问,而不是经网络访问存储阵列。在一些实施例中,直接访问存储阵列用于运行诊断实施设置、实施存储更新、改变软件配置,和/或其组合。如显示,CPU 708与存储OS 706通信。

图8示出了根据一个实施例的存储阵列155中的读写路径。关于写路径,主机704中的启动程序744发送写请求至存储阵列155。随着写数据到来,写数据被写入NVRAM 718,并且将确认发回启动程序(例如,作出请求的主机或应用)。在一个实施例中,存储阵列155支持各种块尺寸。NVRAM 718中的数据块聚集在一起形成包括多个数据块的分块(segment),该分块可以为不同的尺寸。分块被压缩并且然后写入HDD 726。关于从NVRAM 718转移数据至HDD 726下面参考图9提供了更多的细节。另外,如果分块视为是值得缓存的(即,足够重要被缓存或可能被再次访问),则分块也被写入SSD缓存728。在一个实施例中,在将分块写入HDD 726的时,平行将分块被写入SSD 728。

在一个实施例中,写路径的性能由NVRAM 718至磁盘726的冲洗(flushing)来驱动。就读取路径而言,启动程序744发送读取请求至存储阵列155。请求的数据可从存储阵列155的任何不同水平的存储介质中找到。首先,检查数据是否从RAM(未显示)中找到,RAM是NVRAM 718的影子存储器,并且如果数据从RAM中找到,则从RAM读取数据并且发送回到启动程序744。在一个实施例中,影子RAM存储器(例如,DRAM)保存NVRAM中数据的拷贝并且从影子RAM存储器提供读取操作。当数据写入NVRAM时,数据也写入影子RAM,从而读取操作可从影子RAM提供,使NVRAM空闲以用于处理写操作。

如果数据未从影子RAM中找到,则进行检查以确定数据是否在缓存中,并且如果在(即,缓存击中),则从闪存缓存728读取数据并且发送至启动程序744。如果数据未从NVRAM 718中发现,也未从闪存缓存728中发现,则从硬盘存储器726读取数据并且发送至启动程序744。另外,如果从硬盘726提供的数据是值得缓存的,则数据也缓存在SSD缓存728中。

图9示出了根据一个实施例的在保存/写入硬盘之前,写数据块的分割和压缩。不同的块从一个或多个主机到达存储阵列,然后块被存储在NVRAM 718中。通过当块到达NVRAM时连接(concatenate)接收的块,到达的块接着被合并成分块902。注意,在一个实施例中,块可具有不同的尺寸。在转移至磁盘之前,分块902被压缩904,这使得节省转移的时间和节省硬盘存储器926中使用的空间。如上述,如果数据是值得缓存的,则数据也被写入闪存缓存928。这个架构对于随机写入非常有效,因为在发送至硬盘存储器之前不对数据进行分类(通常在其他存储架构中进行)。这里,数据被流畅地捕获、分块、压缩和接着发送至驱动器,从而为到来的数据带来快速的写路径。

图10示出了根据本公开的一个实施例的卷存储系统(例如,云卷提供商),该卷存储系统使用云存储为在云服务提供商上运行的计算实例确保第三方存储方案,并且使用数据分析,以为操作由云存储管理系统1000提供的计算实例的实体提供有用的预测性信息。如上述,CVP包括被配置为多个逻辑卷的多个存储阵列。一组逻辑卷可与特定的实体相关联。经相应的控制器(例如,在活动备用配置下进行操作的控制器)访问每个存储阵列,其中控制器上的存储操作系统706提供对CVP 150中存储的访问。另外,存储操作系统706是可配置的以用于就有关存储处理的元数据与执行云存储管理的另一进程通信。

在一个实施例中,云存储管理系统1000执行管理入口1020,管理入口1020提供经因特网,或局域网(LAN),或广域网(WAN),和其组合的访问。例如,管理入口1020可以是首先在图3C中介绍的InfoSight服务330。

如显示,示例性计算实例130(例如,主机)和服务器用网络756(例如,因特网)进行通信并且被配置为向多个客户提供服务。如上述,客户访问网络756,以使用应用、服务、处理、内容和共享信息和数据。被访问和共享或处理的数据可存储在在CVP存储系统150中操作的多个存储阵列155。当数据为一个或多个应用提供存储需要时,通过从存储操作系统706收集元数据,提供来自云存储系统150的数据的管理。随着时间的推移,存储处理可用于收集元数据,该元数据对于识别趋向(trends)、存储需要、容量要求和不同类型的存储资源(例如,块存储、对象存储或甚至长期存储)的使用来说是有用的。在一些情况下,该元数据可被分析,以发现趋向、对象需要,或甚至在使用存储资源方面对改变进行命令。

在其他实施例中,元数据可用于为应用的用户产生建议,这可优化在云基础设施中使用存储资源的方式。在其他实施例中,接收的元数据用于对被供给(provisioned)的存储资源进行动态改变。例如,如果比初始供给的使用更少的块存储,则可为执行应用108的消费者调整保留的或支付的块存储的数量。因为可进行动态调整,所以这可进一步的节省费用,并且在一些实施例中,持续提供精细颗粒(grain)改变和修改。另外,元数据可用于确定逻辑卷什么时候将用尽存储空间,并且建议在该预测的时间之前增加逻辑卷的尺寸。

此外,元数据可用于检查外部云服务提供商的性能特征。通常,因为CSP阻碍了观察内部操作,所以难以获得CSP的性能值。本发明的实施例例能够分析数据存储性能,以推断在一个或多个CSP处的性能。例如,当在不同的CSP上执行的两个不同的计算实例被同样配置(例如,运行相同的应用),并且对在CVP处也类似地配置的一个或多个逻辑卷上的数据进行访问时,在CVP处服务的数据的方式可提供对于每个CSP如何运行的了解。例如,如果在第一CSP处的第一计算实例能够以比在第二CSP处的第二计算实例以更高的速度访问数据,那么当假设在CSP和CVP都类似的配置时,可确定第一CSP比第二CSP运行更好。随着时间的推移,就一个或多个CSP的操作可实现更多的了解。

在一些实施例中,除了从存储应用接收元数据,也可从存储阵列155接收元数据。这些存储阵列可安装在CVP 150(例如,商业数据中心)中。在一些实施例中,使用支持的存储阵列155的消费者可被提供有管理入口1020。例如,存储阵列155可连接网络756,并且接着与云存储管理系统1000共享信息。云存储管理系统1000被配置为执行多个功能和算法,以利于可在各种配置、位置、数据中心、实施,和其他构造中布置的存储阵列155的管理。

在一些实施例中,存储操作系统706可用于经网络756将实时数据递送至各种应用,比如按需应用、游戏系统、网站、流网络、视频内容递送系统、音频内容递送系统、数据库信息、业务指标、远程桌面应用、虚拟化的网络基础设施,和其他存储相关的功能和/或因特网和网站相关的处理。所有该处理可产生独特类型的流量和对于云存储基础设施的独特需要。这样,存储操作系统706非常适合写数据路径和读数据路径,以跟踪存储使用指标。这些指标通常被称为元数据,该元数据由云存储管理收集。如上述,云存储管理可在不同的机器、相同的云基础设施,或不同的云基础设施上操作。元数据,无论在哪里收集和处理,可用于产生上述的建议和/或动态改变存储的使用(即,在CVP 150的背景下,块存储的使用和对象存储的使用)。

在一些实施中,云存储管理1000可包括和处理各种模块,以有助于有效管理CVP150。不受限制,下述是基于接收的元数据、可由云存储管理系统1000执行的某些类型的处理算法和方法。这些例子可包括分析处理,以确定存储器的使用、不同的应用使用存储器的类似性、基于某些配置设置的应用的性能,以及与其相关联的其他修改和分析。并且此外,云存储管理系统1000也可包括用于处理学习算法的逻辑。

基于存储应用的相同的实施者做出的之前的设置和/或改变、或通过查看类似性和其他存储应用实施者或用户进行的改变或设置,学习算法可用于确定应什么时候实施存储的某些配置。算法也可用于预测什么时候应改变某些设置。这些预测可基于某些改变随着时间的推移的成功并且基于这种特定改变经历的成功而被分级(rank)。

在另一实施例中,也可通过云存储管理系统1000进行容量测试,并且该测试可基于对存储的需要、运行中的应用的类型和CVP 150所处的压力而进行。也可通过云存储管理系统动态检查系统配置,以便确定是否已经设置了正确的一致性配置,和/或提供改变的建议。也可通过查询和发送数据、命令、分析请求和其他逻辑和数据至存储操作系统706而运行另外的性能和健康测试算法,以及从存储操作系统706查询和发送数据、命令、分析请求和其他逻辑和数据而运行另外的性能和健康测试算法。在一个实施例中,可将建议发送至执行应用的管理员和/或存储阵列155的用户,该管理员和/或用户可确定实施或不实施某些建议和/或设置。在其他实施例中,某些升级、改变、修改等等可基于预定义的设置、认证、或由用户、IT管理员、存储管理员、数据中心管理员,或其他授权的存储管理人员进行的认证而实施。此外,云存储管理系统1000也可管理做出的历史改变,并且决定什么时候改变已经成功了或已经降低了实施个体期望的表现和/或目标。

通过分析来自各种CVP 150的历史改变和/或数据,可能识别在效率的交叉点或交汇点的优化,并且这种数据可用于为改善优化提供建议。系统也可包括时序(scheduling)算法,该算法可用于与存储操作系统706自动通信、收集数据、运行另外的应用或常规活动、运行逻辑、收集数据、发送优化、作出建议和/或调整设置。在一些实施例中,管理入口也可访问支持数据,这可针对特定用户账号进行优化。例如,基于特定账号期望的服务水平,一些分析、数据处理、优化、what if测试、建议逻辑,和其他功能可限于特定的账号。在一些实施例中,通过云存储管理系统1000,更高水平的服务或支持可被给予更高水平的反馈。

一般来说,云存储管理系统1000管理的各种算法的功能可用于提供特定功能。示例性功能可包括监测和报告功能1010、维护和支持功能1012、报警功能1014、对等洞察(peer insights)1016,和预测和规划1018。这些各种功能可利用和使用上述的逻辑和云存储管理系统1000的内部图中定义的逻辑。在各种实施例中,入口管理可提供对多个用户界面屏幕的访问,该用户界面屏幕具有选择框、设置框、指标分析、图、图表、历史数据、警报、建议,和其他用户界面和/或命令行数据。在其他实施例中,例如可通过改变配置数据进行对于CVP 150中的存储阵列155云配置的改变。

在一个实施例中,存储时间周期数据(例如,历史数据、元数据等)被用于确保有关存储应用的数据的深度分析。这种分析确保来自存储应用使用和功能的数据挖掘的自动化和集成,以使存储管理任务自动化和简单化。例如,通过跨各种存储操作系统706分析元数据,针对特定的消费者配置,可以预测什么时候会出现配置问题。在一些实施例中,这种信息可用于确定什么时候推荐从一种配置(例如,软件和/或硬件)升级或什么时候应避免某些升级。在一个实施例中,访问其他应用和/或其他CVP 150的元数据(例如,跨许多分开的安装),允许有效诊断目前的问题、潜在的问题或建议,以确保CVP 150的具体云实施的最佳健康。

应显而易见,在没有一些或所有这些特定细节的情况下,可实施本实施例。对于模块、代码和通信接口的修改也是可能的,只要保持针对存储阵列或存储阵列的模块定义的功能。在其他情况下,没有描述详细熟知的处理操作,以便为本实施例造成不必要的混淆。

一个或多个实施例例也可在非瞬时计算机可读的存储介质上实施为计算机可读的代码。非瞬时计算机可读的存储介质是任何可存储可随后由计算机系统读取的数据的非瞬时数据存储设备。非瞬时计算机可读的存储介质的示例包括硬盘存储器、网络附加存储器(NAS)、只读存储器、随机存取存储器、CD-ROM、CD-R、CD-RW、磁带和其他光学和非光学数据存储设备。非瞬时计算机可读的存储介质可包括在网络耦接的计算机系统上分布的计算机可读的存储介质,从而以分布方式存储和执行计算机可读的代码。

尽管以特定顺序描述了方法操作,但是应理解,其他管家操作可在操作之间进行,或可调整操作,从而是操作在稍微不同的时间出现,或可分布在允许出现以与处理相关联的各种间隔的处理操作的系统中,只要重迭操作的处理以期望的方式进行。

尽管为了理解清楚的目的已经详细描述了前述实施例,但是显而易见,在所附权利要求的范围内可进行某些改变和修改。因此,本实施例例被视为是示意性的而不是限制性的,并且实施例例不限于本文给出的细节,而是可在描述的实施例和示例性所附的权利要求的范围和等同方案中修改。

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