多个云环境之间的共享存储的方法和装置与流程

文档序号:13518278阅读:364来源:国知局
多个云环境之间的共享存储的方法和装置与流程

本发明总体涉及存储系统,更具体地,涉及多个云环境之间的共享存储。



背景技术:

目前存在用于存储系统的各种云环境。在第一个示例中,本地部署(on-premise)站点(称为私有云)中的计算机系统将数据存储至存储系统,并且存储系统有能力将数据分层布置(tier)到公共云中的云存储系统。另外,存储系统有能力使用多个云存储系统,以便使用多个层介质。在第二个示例中,多个云站点中的多个计算机系统可以访问存储系统。

目前,私有云中的云存储网关可以将数据存储到私有云和公共云。然而,当前云存储网关是访问存储在云系统中的数据的唯一网关。公共云中的服务器不能直接访问存储在公共云中的数据;相反,公共云服务器只能经由私有云中的云存储网关来访问存储在公共云中的数据。为了经由云存储网关从公共云中的服务器读取/写入数据,云存储从公共云读取数据,然后云存储网关将数据发送至公共云。

公开号为20140245026的美国专利申请公开了用于在多个云阵列上进行资源共享的系统和方法。该系统包括多个存储阵列和云阵列存储(cas)应用。多个存储资源分布在一个或多个云存储阵列中,并且每个存储资源都包括唯一对象标识符,其在给定的时间点识别对应存储资源的位置和结构。

公开号为2013/0246711的美国专利申请公开了一种用于在云存储系统中高效地在站内(on-site)和在站外(off-site)存储数据的系统和方法。由云数据存储系统接收数据读取和写入请求。云存储系统具有至少三个数据存储层:第一高速层、第二高效存储层和第三站外存储层。第一高速层将数据存储在原始数据块中。第二高效存储层将来自第一层的数据块划分成数据片,并消除重复的数据片。第三层将数据片存储在站外位置。

第8,799,413号美国专利公开了在多个云存储系统上分布用于分布式文件系统的数据。两个或更多个云控制器共同管理存储在一个或多个云存储系统中的分布式文件系统数据。云控制器缓存数据并确保存储数据的数据一致性。每当每个云控制器从客户端接收到新数据时,它输出传播至其他云控制器的新数据的增量元数据快照和包含发送至云存储系统的新数据的增量数据快照。在操作期间,存储在分布式文件系统中的数据可以分布在两个或更多个云存储系统上,以优化分布式文件系统的性能和/或成本。



技术实现要素:

本发明的示例性实施例提供了一种私有云站点中的云存储网关,云存储网关具有精简置备(thinprovision)、分层布置和快照功能。云存储网关可以在私有云站点和公共云站点二者中创建快照。云存储网关基于管理员提供的io访问模式决定创建快照的云站点。当云存储网关在公共云站点中创建快照时,云存储网关将快照信息发送至公共云站点中的存储代理,并经由公共云站点中的存储代理将剩余数据段复制到云存储系统。存储代理可以用于提供对公共云站点的云存储系统中的快照数据的访问。云存储网关可以经由公共云中的存储代理访问私有云站点或公共云站点中的站点。

本发明的一个方面涉及一种与第一站点中的第一存储系统和第二站点中的第二存储系统耦合的计算机系统。计算机系统包括:存储器,被配置成:存储指示逻辑单元的多个段的每个段中的数据被存储在第一存储系统或第二存储系统中的信息;和处理器,被配置成:接收用于部署应用的指令,该指令包括应用的访问特性;以及基于应用的访问特性和存储在存储器中的信息来确定将要在第一存储系统还是第二存储系统中创建逻辑卷的快照。

在一些实施例中,计算机系统设置在第一站点中;并且处理器被配置成:基于上述确定,在第一存储系统中创建逻辑卷的快照。计算机系统设置在第一站点中;并且处理器被配置成:基于上述确定,在第二存储系统中创建逻辑卷的快照,并且将逻辑单元的剩余段复制到第二存储系统,剩余段包含未进行层复制的数据。处理器被配置成:如果在第一存储系统中创建逻辑卷的快照,则指示应用将要被部署在第一站点中;以及如果在第二存储系统中创建逻辑卷的快照,则指示应用将要被部署在第二站点中。

在具体实施例中,计算机系统设置在第一站点中,并且处理器被配置成:基于应用的访问特性,计算用于从第二存储系统读取数据的读取io(输入/输出)成本;计算第二存储系统的容量成本;将读取io成本与容量成本进行比较;如果读取io成本不大于容量成本,则在第一存储系统中创建逻辑卷的快照;以及如果读取io成本大于容量成本,则在第二存储系统中创建逻辑卷的快照,并将逻辑单元的剩余段复制到第二存储系统,剩余段包含未进行层复制的数据。

在一些实施例中,应用的访问特性指示是否要读取逻辑单元中的全部数据,如果不是,则指明要读取的部分数据。基于以下中的至少一个来计算容量成本:用于存储数据的云介质类型、每种介质类型的每容量成本(costpercapacity)、每种介质类型的每流量成本(costpertraffic)、影响每种介质类型的每容量成本的任何容量条件(capacitycondition)、以及影响每种介质类型的每流量成本的任何容量条件。

在具体实施例中,计算机系统设置在第一站点中;第一站点是私有云站点,第二站点是公共云站点;并且第一存储系统经由ip(因特网协议)网络耦合至第二存储系统。

在一些实施例中,计算机还包括被划分为具有固定段大小的缓存段的缓存存储器。计算机系统设置在第一站点中。处理器被配置成:检测在读取/写入操作中缓存容量是否不足,并且如果在读取/写入操作中缓存容量不足,则对于每个缓存段:检查以查看所述每个缓存段是干净的还是脏的;如果所述缓存段是干净的,则从缓存存储器中删除干净的缓存段;以及如果所述缓存段是脏的,则检查所述脏缓存段的io(输入/输出)访问频率,并且如果io访问频率低于预设阈值,则将脏缓存段离台(destage)至第一存储系统,以及如果io访问频率不低于预设阈值,则将脏缓存段离台至第二存储系统。

本发明的另一方面涉及一种操作与第一站点中的第一存储系统和第二站点中的第二存储系统耦合的计算机系统的方法。该方法包括:存储指示逻辑单元的多个段的每个段中的数据被存储在第一存储系统或第二存储系统中的信息;以及接收用于部署应用的指令,该指令包括应用的访问特性;以及基于应用的访问特性和存储在存储器中的信息来确定将要在第一存储系统还是第二存储系统中创建逻辑卷的快照。

本发明的另一方面涉及一种非瞬时性计算机可读存储介质,存储多个指令,所述多个指令用于控制数据处理器以操作与第一站点中的第一存储系统和第二站点中的第二存储系统耦合的计算机系统。所述多个指令包括:使数据处理器存储指示逻辑单元的多个段的每个段中的数据被存储在第一存储系统或第二存储系统中的信息的指令;使数据处理器接收用于部署应用的指令的指令,该指令包括应用的访问特性;以及使数据处理器基于应用的访问特性和存储在存储器中的信息来确定将要在第一存储系统还是第二存储系统中创建逻辑卷的快照的指令。

鉴于具体实施例的以下详细描述,本发明的这些和其他特征和优点对于本领域普通技术人员将变得显而易见。

附图说明

图1示出根据本发明的第一实施例的可以应用本发明的方法和装置的计算机系统的多个云环境的硬件配置的示例。

图2a示出根据第一实施例的云存储网关的示例。

图2b示出图2a的云存储网关中的存储器的示例。

图3a示出存储代理的示例。

图3b示出图3a的存储代理中的存储器的示例。

图4示出卷表的示例。

图5示出池表的示例。

图6示出云资源表的示例。

图7示出分配表的示例。

图8示出io历史表的示例。

图9示出说明读取/写入程序的读取操作的过程的流程图的示例。

图10示出说明读取/写入程序的写入操作的过程的流程图的示例。

图11示出说明分层布置和快照程序的层移动操作的过程的流程图的示例。

图12示出说明从云存储网关在私有云或公共云中创建快照卷的过程的流程图的示例。

图13示出说明从云存储网关删除公共云中的快照卷的过程的流程图的示例。

图14a示出根据第二实施例的云存储网关的示例。

图14b示出图14a的云存储网关中的存储器的示例。

图15示出缓存表的示例。

图16示出说明缓存程序的层移动操作的过程的流程图的示例。

图17示出根据第三实施例的可以应用本发明的方法和装置的计算机系统的多个云环境的硬件配置的示例。

图18示出根据第四实施例的可以应用本发明的方法和装置的计算机系统的多个云环境的硬件配置的示例。

图19示出根据本发明的第五实施例的在同一站点内和跨站点创建快照卷的过程的示例。

图20示出层移动操作的示例。

图21示出层复制操作的示例。

图22示出对私有云中的冷数据的主机写入操作的示例。

图23示出对私有云中的热数据的主机写入操作的示例。

图24示出对公共云中的冷数据的主机写入操作的示例。

图25示出对公共云中的热数据的主机写入操作的示例。

图26示出涉及站点内和跨站点的多个快照的主机写入操作的示例。

图27示出根据本发明的第六实施例的跨站点创建快照卷的过程的示例。

图28示出根据第七实施例的可以应用本发明的方法和装置的计算机系统的多个云环境的硬件配置的示例。

具体实施方式

在本发明的以下详细描述中,将参考附图,附图构成本公开的一部分,并且在附图中通过说明而非限制的方式示出可以实践本发明的示例性实施例。在附图中,相同的附图标记在若干视图中描述基本相似的组件。此外,应当注意,尽管详细描述中提供了各种示例性实施例,如下文所述和如附图所示,但是本发明不限于这里描述和示出的实施例,而是可以扩展到其他实施例,如本领域技术人员已知的或所能知晓的。在本说明书中对“一个实施例”、“本实施例”或“这些实施例”的引用意味着结合实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中,并且说明书中的各个地方出现这些词语不一定都指代相同的实施例。此外,在下面的详细描述中,阐述了许多具体细节以便提供对本发明的透彻理解。然而,对于本领域普通技术人员显而易见的是,这些具体细节可能不是全部都要用来实践本发明。在其他情况下,未详细描述和/或以框图形式示出公知的结构、材料、电路、工艺和界面,以免不必要地掩盖本发明。

此外,根据计算机内的操作的算法和符号表示来呈现下面的详细描述的一些部分。这些算法描述和符号表示是数据处理领域的技术人员用来最有效地将其创新精髓传达给本领域技术人员的手段。算法是通向所需结束状态或结果的一系列限定步骤。在本发明中,执行的步骤需要对有形量进行物理操作以实现有形结果。通常,虽然不是必须的,但是这些量采取能够被存储、转移、组合、比较和操纵的电信号或磁信号或指令的形式。有时,主要是出于普遍使用的原因,将这些信号称为比特、值、元素、符号、字符、项、数字、指令等是便利的。但是,应当记住,所有这些和类似的术语都应该与适当的物理量相关联,并且仅仅是适用于这些量的便利标签。除非另有明确说明,否则从以下讨论中可以明显看出,在整个描述中,应当理解,使用例如“处理”、“运算”、“计算”、“确定”、“显示”等的术语可以包括计算机系统或其他信息处理设备的动作和过程,该计算机系统或其他信息处理设备将计算机系统的寄存器和存储器内表示为物理(电子)量的数据转换成类似地表示为计算机系统的存储器或寄存器或其他信息存储、传输或显示设备内的物理量的其他数据。

本发明还涉及用于执行本文的操作的装置。该装置可以是针对所需目的而特别构造的,或者它可以包括由一个或多个计算机程序选择性地激活或重新配置的一个或多个通用计算机。这样的计算机程序可以存储在包括非瞬时性介质的计算机可读存储介质中,例如但不限于光盘、磁盘、只读存储器、随机存取存储器、固态设备和驱动器,或者适合存储电子信息的任何其他类型的介质。这里呈现的算法和显示器并不固有地与任何特定计算机或其他装置相关。各种通用系统可以根据本文的教导与程序和模块一起使用,或者可以证明构造更专用的装置来实现期望方法步骤是方便的。另外,本发明不是参考任何特定的编程语言来描述的。应当理解,可以使用各种编程语言来实现本文所述的本发明的教导。编程语言的指令可以由一个或多个处理设备来执行,例如中央处理单元(cpu)、处理器或控制器。

如将在下面更详细描述的本发明的示例性实施例提供用于在多个云环境之间提供共享存储的装置、方法和计算机程序。

第一实施例

图1示出根据本发明的第一实施例的可以应用本发明的方法和装置的计算机系统的多个云环境的硬件配置的示例。计算机系统具有私有云站点8和公共云站点9以及站点之间的连接ip网络。在私有云站点8上是主机服务器a1a、云存储网关2、存储系统4a和ip/fcnw(光纤信道网络)5a以及云管理员7,云管理员7经由管理控制台6来管理计算机系统。在公共云站点9上是包括存储代理3的云主机服务器b1b、云存储系统4b和ip网络5b。

图2a示出根据第一实施例的云存储网关的示例。云存储网关2包括连接至主机的多个主机i/f(接口)、cpu、存储器22、存储i/f和云存储i/f,并且这些组件通过总线i/f(例如,pci、ddr或scsi)彼此连接。存储i/f连接至存储系统4a。主机i/f连接至主机服务器1a。

图2b示出图2a的云存储网关中的存储器的示例。云存储网关2的存储器22包含读取和写入程序23、分层布置和快照程序24、卷表40(图4)、池表50(图5)、云资源表60(图6)、分配表70(图7)和io历史表80(图8)。

图3a示出存储代理的示例。存储代理3包含连接至主机的多个主机i/f、cpu、存储器32、存储i/f和云主机i/f,并且这些组件通过总线i/f(例如,pci、ddr或scsi)彼此连接。云主机i/f连接至云存储网关2中的云存储i/f。云存储i/f连接至云存储系统4b。主机i/f连接至云主机服务器1b中的os。

图3b示出图3a的存储代理中的存储器的示例。存储代理软件3的存储器32包含读取和写入程序33、分层布置和快照程序34、卷表40(图4)、池表50(图5)、云资源表60(图6)、分配表70(图7)和io历史表80(图8)。

图4示出卷表的示例。卷表40包含lu(逻辑单元)编号字段41、池编号字段42、容量字段43和卷类型字段44。lu编号字段41包含lu的唯一标识符。池编号字段42包含与池表50相关的池信息。容量字段43包含lu的容量。卷类型字段44包含lu类型的种类,例如主卷、快照卷或辅副本卷。当卷类型字段44包含快照类型时,在该字段中包含快照年龄(age)的数字或数值。第0个快照年龄是主卷。

图5示出池表的示例。池表50包含池编号字段51、层编号字段52、介质类型字段53和介质容量字段54。池编号字段51包含池卷的唯一标识符。每个池都包含一种或多种介质类型。层编号字段52包含池中的介质类型的标识符。介质类型字段53包含介质类型的种类,例如闪存缓存、闪存驱动器、sashdd、satahdd和云存储。云存储的类型是多个供应商支持的类型。介质容量字段54包含将段分配给lu的最大介质容量。

图6示出云资源表的示例。云资源表60包含介质类型字段61、每容量成本字段62、每流量成本字段63和成本计算条件字段64。介质类型字段61包含由介质类型字段53定义的云介质类型。每容量成本字段62包含按月计费的每容量成本比率。每流量成本字段63包含按月计费的每流量成本比率。成本计算条件字段64包含用于计算每容量成本字段62和/或每流量成本字段63的条件。

图7示出分配表的示例。分配表70包括用于精简置备管理、分层布置管理和快照管理的信息。分配表70包含lu编号字段71、段编号字段72、分配字段73、层编号字段74、层副本编号字段75、快照字段76和分配的池段编号77。lu编号字段71包含由卷表40定义的lu的唯一标识符。段编号字段72包含lu中的段的唯一标识符。段大小是固定大小,例如256kb,并且划分lu的整体容量。分配字段73包含指示是否分配了主机写入并将数据存储到池卷中的所分配的池段编号77以便进行精简置备管理或分层布置管理的标志。层编号字段74包含段被存储在池卷中的层编号。层编号由池表50定义。层副本编号字段75包含段数据被复制到池卷中的层编号。当定义了层编号74和层副本编号75时,相同的数据集被存储到私有云站点和公共云站点上的池中的多个层。快照字段76包含指示是否分配了主机写入并将数据存储到池卷中的所分配的池段编号77以便进行快照管理的标志。所分配的池段编号77是存在于lu中的池卷中的唯一地址。每个池卷都被划分为固定大小的段,并且每个池段都被分派唯一池段编号。所分配的池段编号77用于精简置备、分层布置管理或快照管理。如果层编号字段74和层副本编号字段75都被设定为有效值,则所分配的池段编号77分别包含两个字段的两个段编号。

图8示出io历史表的示例。io历史表80包含lu编号字段81、段编号字段82和访问计数器字段83。lu编号字段81包含由卷表40定义的lu编号。段编号字段82包含在分配表70中由段编号字段72定义的段编号。访问计数器字段83包含读取访问频率,作为加法/减法计数器。访问计数器83以固定间隔复位。

图9示出说明读取/写入程序的读取操作的过程的流程图的示例。在步骤s901中,云存储网关从主机系统1接收读取命令。读取/写入程序23根据段大小划分读取命令,并计算每个段的段编号。如果卷类型是快照,则程序23按卷进一步设定当前快照年龄。在步骤s902中,程序23检查与段编号对应的层编号字段74。如果层编号字段74包含有效值(“是”),则下一步是s903。如果为“否”,则下一步是s904。在步骤s903中,程序23从步骤s902中设定的对应层段读取段,并且更新io历史表80。然后下一步是s906。在步骤s904中,程序23检查与段编号对应的快照编号字段76,读取快照段,并且更新io历史。如果快照编号字段76被设定为“是”值(“是”),则下一步是s903。如果为“否”,则下一步是s905。在步骤s905中,程序23检查卷表40中的快照年龄编号(参见图4中的卷类型44)。如果快照不是初始年龄(即,年龄不为0),则快照年龄递减,并且下一步是s902。如果快照是初始年龄(即,年龄为0),则不分派段数据,因此程序创建零填充数据作为段,并且下一步是s906。在步骤s906中,程序23检查段是否是读取命令的结束。如果段是命令的一部分(“是”),即,它不是读取命令的结束,则下一步是s902。如果为“否”,则程序将划分的段的所有数据都返回至主机。

图10示出说明用于读取/写入程序的写入操作的过程的流程图的示例。在步骤s1001中,云存储网关从主机系统1接收写入命令。读取/写入程序23返回命令状态,根据段大小划分写入命令,并计算每个段的段编号。另外,如果卷类型是快照,则程序23将当前快照年龄设定为卷。在步骤s1002中,程序23检查与段编号对应的层编号字段74。如果层编号字段74包含有效值(“是”),则下一步是s1003。如果为“否”,则下一步是s1004。

在步骤1004中,程序23检查层编号字段74以确定它指示私有云还是公共云。层编号是由池表50定义的私有云或公共云的介质类型。如果层编号字段74包含私有云介质(“私有”),则下一步是s1005。如果是公共云介质(“公共”),则下一步是s1006。在步骤s1005中,程序将主机数据覆盖(overwrite)到私有云中的现有段。下一步是s1008。在步骤s1006中,程序从公共云的对应层段读取段,并且在私有云中分配新的快照段,并更新当前lu快照年龄中的快照字段。在步骤s1007中,程序将主机数据写入私有云中分配的新快照段。下一步是s1008。

在步骤s1003中,程序23检查卷表40中的快照年龄编号。如果快照不是初始年龄(年龄不为0),则快照年龄递减,并且下一步是s1002。如果快照是初始年龄(年龄为0),则不分派段数据,使得程序创建零填充数据作为段,并且下一步是s1006,如上所述。

在步骤s1008中,程序23检查段是否是写入命令的结束。如果段是命令的一部分(“是”),即,不是写入命令的结束,则下一步是s1002。如果为“否”,则程序已经完成处理写入命令。

图11示出说明分层布置和快照程序的层移动操作的过程的流程图的示例。当私有云存储的容量不足时,运行该过程以将数据分层布置到云存储。在步骤s1101中,分层布置/快照程序24检查io历史80并生成候选段以分层布置到云。候选段通常是低频访问段。候选段数据将被移动至云存储。在步骤s1102中,程序24检查与段编号对应的层副本编号字段75。如果层副本编号字段75包含有效值(“是”),则下一步是s1103。如果为“否”,则下一步是s1104。在步骤s1103中,程序24交换层副本编号字段75和层编号字段74的值。然后,程序删除与层编号字段74相关的段数据。然后,程序移除层副本编号的值。下一步是s1106。在步骤s1104中,程序24检查与段编号对应的快照编号字段76。如果快照编号字段76被设定为“是”值(“是”),则下一步是s1105。如果为“否”,则下一步是s1106。在步骤s1105中,程序24将段移动至云层。程序在云层介质中分配新的段,并设定层编号字段。然后,程序删除私有存储中的快照或精简置备段,并释放所分配的段。下一步是s1106。在步骤s1106中,程序24检查段是否是候选段的结束。如果段是候选段的一部分(“是”),即,不是候选段的结束,则下一步是s1102。如果为“否”,则对于公共云的分层布置过程结束。

图12示出说明从云存储网关在私有云或公共云中创建快照卷的过程的流程图的示例。在步骤s1201中,管理员指示将新应用部署至服务器。管理员指示应用的io访问模式。io访问模式可以选择应用类型,例如指定实时分析应用仅访问最新数据,或者历史分析应用访问全部数据。在步骤s1202中,分层布置/快照程序24计算层编号字段74的总容量、层副本编号字段75的总容量和快照字段76的总容量。在步骤s1203中,程序24比较用于从公共云中读取数据的读取io成本和公共云中的容量成本。如果读取io成本大于容量成本(“是”),则下一步是s1206。如果为“否”,则下一步是s1204。

在步骤s1204中,程序24在私有云站点中创建快照。在步骤s1205中,程序24指示管理员应当将应用部署在私有云站点中。然后,过程结束。在步骤s1206中,程序24在公共云站点中创建快照。在步骤s1207中,程序24复制相关的层副本编号字段75不具有设定的有效值的所有段数据(该步骤复制包含未进行层复制的数据的剩余段)。然后,程序将层副本编号字段设定为私有介质。程序将快照字段76中的快照信息发送至存储代理软件3。在步骤s1208中,程序24指示管理员应当在公共云站点中部署应用。然后,过程结束。

图13示出说明从云存储网关删除公共云中的快照卷的过程的流程图的示例。在步骤s1301中,管理员指示删除快照卷。在步骤s1302中,程序24删除层副本编号有效的所有段数据。在步骤s1303中,程序删除段没有被其他更新的快照年龄引用的所有分配的段。另外,程序删除卷表40中的lu信息和分配表70中的快照信息。

第二实施例

图14a示出根据第二实施例的云存储网关的示例。图14b示出图14a的云存储网关中的存储器的示例。图14a和图14b类似于图2a和图2b。云存储网关2的存储器142具有缓存程序144(图16)和缓存表150(图15)。其他程序23、24和表40、50、60、70、80与图2b中的相同。

图15示出缓存表的示例。缓存表150包括缓存段编号字段151、段编号字段152和脏数据标志字段153。缓存段编号字段151包含缓存存储器的根据固定段大小划分的缓存段的唯一编号。段编号字段152是由分配表70定义的lu段的参考。脏数据标志字段153在被设定为脏时意味着写入数据不被存储在介质中。当段数据被存储至介质时,该标志被设定为干净的。

图16示出说明缓存程序的层移动操作的过程的流程图的示例。当私有云存储的容量不足时,运行该过程以将数据分层布置到云存储。在步骤s1601中,缓存程序144在主机读取或主机写入操作中检测到缓存容量不足。在步骤s1602中,程序144检查与段编号151对应的脏数据标志字段152。如果脏数据标志字段152被设定为脏(“是”),则下一步是s1604。如果为“否”,则下一步是s1603。在步骤s1603中,程序144删除缓存中的干净段。下一步是s1607。在步骤s1604中,程序144检查io历史80。如果段是低频访问的(“是”),则段数据将被移动至公共云存储,并且下一步是s1606。如果为“否”,则下一步是s1605。在步骤s1605中,程序144将缓存中的脏段离台至私有云中的存储。下一步是s1607。在步骤s1606中,程序144将脏段离台至公共云层。程序在公共云层介质中分配新段,并设定层编号字段。然后,程序删除私有存储中的快照或精简置备段,并释放所分配的段。下一步是s1607。在步骤s1607中,程序24检查段是否是缓存段的结束。如果段是缓存段的一部分(“是”),即,段不是缓存段的结束,则下一步是s1602。如果为“否”,则进行分层布置到公共云而结束缓存程序中的离台过程。

第三实施例

图17示出根据第三实施例的可以应用本发明的方法和装置的计算机系统的多个云环境的硬件配置的示例。图17类似于图1。云存储网关2包含在存储系统4a中。存储代理3包含在主机服务器1c中。存储系统4a是块协议存储,云存储系统4b是对象存储。其他组件(主机服务器a1a、主机服务器b1b、ip/fc网络5a、ip网络5b、云管理员7和管理控制台6)与图1中的相同。

第四实施例

图18示出根据第四实施例的可以应用本发明的方法和装置的计算机系统的多个云环境的硬件配置的示例。图18类似于图1。云存储网关2包含在主机服务器1a中。存储代理3包含在主机服务器1b中。块协议和/或文件协议支持存储系统4a。块协议和/或文件协议支持云存储系统4b。其他组件(ip/fc网络5a、ip网络5b、云管理员7和管理控制台6)与图1中的相同。

第五实施例

图19示出根据本发明的第五实施例的在同一站点内和跨站点创建快照卷的过程的示例。在私有云站点8上的是主卷年龄0191、快照卷年龄1192和快照卷年龄4196。在公共云站点9上的是快照卷年龄2-1193、快照卷年龄3195和快照卷年龄2-2。云存储网关在云存储网关中创建主卷0191。云存储网关在私有云站点8中的云存储网关中或跨至公共云站点9中的存储代理从主卷创建新快照卷年龄1192。云存储网关从快照卷创建新快照卷。快照卷可以级联成多个新快照卷。所有快照卷都可以接受来自主机的读取和写入操作。

当云存储网关在同一云站点中创建1个新快照(例如,基于主卷191创建快照卷192,或者基于快照卷193创建快照卷195)时,不存在跨站点的复制流量。当云存储网关从私有云站点到公共云站点创建新快照(例如,基于快照卷192创建快照卷193或快照卷194)时,云存储网关将热数据(或高访问频率数据)复制到公共云站点。当云存储网关从公共云站点到私有云站点创建新快照(例如,基于快照195创建快照卷196)时,云存储网关基于快照卷195的分配信息复制分配信息。然后,云存储网关不将冷数据从公共云站点复制到私有云站点,因为网络成本昂贵。

图20示出层移动操作的示例。该操作是云存储网关的现有技术。云存储网关具有主卷。私有云站点中的主机应用访问主卷。云存储网关更新卷中每段的读取访问频率。云存储网关将低访问频率段移动到公共云站点中的云存储系统4b。

图21示出层复制操作的示例。云存储网关具有主卷。私有云站点中的主机应用访问一些热数据段。云存储网关执行操作,使得主卷中的所有低访问段都被移动至公共云站点中的云存储系统。管理员部署应用,例如历史分析。云存储网关判断公共云站点还是私有云站点创建快照卷。主机应用访问快照卷中的全部段,使得云存储网关跨至公共云站点创建快照卷。当云存储网关在公共云站点中创建新快照卷时,云存储网关将热数据段复制到云存储系统4b(池1)并更新存储代理中的表。管理员将应用部署到公共云站点,并且可以访问全部热数据和冷数据段。当私有云中的主机从主卷读取数据时,可以直接在私有云站点(存储系统4a的池0)中访问热数据,而可以经由云存储系统(云存储系统4b的池1)访问冷数据。当公共云中的主机从公共云中的快照卷读取数据时,可以直接在公共云站点(云存储系统4b的池1)中访问冷数据和复制的热数据。

图22示出对私有云中的冷数据的主机写入操作的示例。主机对私有云站点中的主卷或快照卷进行写入(1)。当数据段为低访问频率(存储到公共云站点的冷数据)时,云存储网关从公共云站点中的云存储系统4b(池1)读取段(2)。云存储网关通过主机写入数据来修改读取的数据。云存储网关分配段(在存储系统4a的池0中)并将数据存储到分配的段。云存储网关清除层移动标志(3)。

图23示出对私有云中的热数据的主机写入操作的示例。主机对私有云站点中的主卷或快照卷进行写入(1)。当数据段为高访问频率(存储到私有云站点的热数据)时,云存储网关将覆盖私有云站点中的存储系统4a中的段(2)。

图24示出对公共云中的冷数据的主机写入操作的示例。主机对公共云站点中的主卷或快照卷进行写入(1)。当数据段为低访问频率(存储到公共云站点的冷数据)时,存储代理读取公共云站点中的云存储系统4b(池1)中的段(2)。存储代理通过主机写入数据来修改读取的数据。然后,存储代理分配段(在池1中)并将数据存储到分配的段(3)。

图25示出对公共云中的热数据的主机写入操作的示例。主机对公共云站点中的主卷或快照卷进行写入(1)。当数据段为高访问频率(存储到私有云站点和云存储系统4b的层副本段的热数据)时,存储代理将主机数据覆盖到云存储系统(池1)中的层副本段(2)。云存储网关清除层移动标志(3)。

图26示出在站点内和跨站点的涉及多个快照的主机写入操作的示例。主机读取流程类似于图20和图21中描述的单个快照卷的流程。主机写入流程类似于图22和图25中描述的单个快照卷的流程。例如,当主机对快照卷年龄3进行写入时,存储代理从池(云存储系统4b中的池1)读取数据,然后存储代理修改数据并在云存储系统4b的池1中分配新段,并且存储代理将修改后的数据写入池1中分配的段。该示例类似于图24中描述的过程。

第六实施例

图27示出根据本发明的第六实施例的跨站点创建快照卷的过程的示例。图27与图19相同,除了私有云站点8和公共云站点9被互换。云存储网关可以交换至公共云站点9。另外,存储代理可以交换至私有云站点8。

第七实施例

图28示出根据第七实施例的可以应用本发明的方法和装置的计算机系统的多个云环境的硬件配置的示例。图28类似于图18。云存储网关2a包含在主机服务器1a中。云存储网关2b包含在主机服务器1b中。存储代理3a包含在主机服务器1b中。存储代理3b包含在主机服务器1a中。块协议和/或文件协议支持存储系统4a。块协议和/或文件协议支持云存储系统4b。其他组件(ip/fc网络5a、ip网络5b、云管理员7和管理控制台6)与图1中的相同。

卷从一对云存储网关和存储代理迁移至另一对云存储网关和存储代理。当卷被迁移至公共云站点9上的另一对云存储网关和存储代理时,云存储网关2a将分配信息表移动至云存储网关2b。没有数据段被移动。当卷被迁移至云存储网关2b时,云存储网关2b控制io访问频率、层移动或层复制过程以及快照过程。

当然,图1、图17、图18和图28所示的系统配置仅仅是可以实施本发明的信息系统的示例,并且本发明不限于特定的硬件配置。实施本发明的计算机和存储系统还可以具有可以存储和读取用于实施上述发明的模块、程序和数据结构的已知i/o设备(例如,cd和dvd驱动器、软盘驱动器、硬盘驱动器等)。这些模块、程序和数据结构可以在这种计算机可读介质上进行编码。例如,本发明的数据结构可以被存储在计算机可读介质上,而与本发明中使用的程序所驻留的一个或多个计算机可读介质无关。系统的组件可以通过数字数据通信的任何形式或介质(例如,通信网络)互连。通信网络的示例包括局域网、广域网(例如,因特网)、无线网络、存储区域网络等。

在说明书中,出于解释的目的阐述了许多细节,以便提供对本发明的透彻理解。然而,对于本领域技术人员显而易见的是,为了实施本发明,并非所有这些具体细节都是必需的。还应注意,本发明可以被描述为过程,其通常被描绘为流程图表、流程图、结构图或框图。虽然流程图可以将操作描述为顺序过程,但是许多操作可以并行或同时进行。另外,可以重新布置操作的顺序。

如本领域中已知的,上述操作可以通过硬件、软件或者软件和硬件的某种组合来实现。可以使用电路和逻辑设备(硬件)来实施本发明的实施例的各个方面,而可以使用存储在机器可读介质(软件)上的指令来实施其他方面,如果由处理器执行该指令,将使处理器执行实现本发明的实施例的方法。此外,本发明的一些实施例可以仅在硬件中执行,而其他实施例可以仅在软件中执行。此外,所描述的各种功能可以在单个单元中执行,或者可以以多种方式分布在多个组件上。当由软件执行时,该方法可以由例如通用计算机的处理器基于存储在计算机可读介质上的指令来执行。如果期望,指令可以以压缩和/或加密的格式存储在介质上。

根据上文,显而易见的是,本发明提供存储在计算机可读介质上的用于在多个云环境之间提供共享存储的方法、装置和程序。此外,尽管在本说明书中已经说明和描述了具体实施例,但是本领域普通技术人员应理解,被认为实现相同目的的任何布置都可以替代所公开的具体实施例。本公开旨在涵盖本发明的任何和所有修改或变化,并且应当理解,所附权利要求中使用的术语不应被解释为将本发明限制于说明书中公开的具体实施例。相反,本发明的范围将完全由所附权利要求以及这些权利要求的全部等同物来确定,所附权利要求将根据所建立的权利要求解释的原则来解释。

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