在动态页重新分配存储系统中的应用和层配置管理的制作方法

文档序号:6599186阅读:275来源:国知局
专利名称:在动态页重新分配存储系统中的应用和层配置管理的制作方法
技术领域
本发明总地涉及分 层存储系统的管理和配置,更具体地,涉及用于远程副本环 境中的动态页重新分配存储系统中的应用和层配置管理的方法和装置。
背景技术
存储系统可以使用多种磁盘,包括例如SSD(固态磁盘)、SAS (串行连接)HDD 以及SATA(串行ATA)HDD。这些磁盘的性能、容量、可靠性和成本不同。当存储用 户需要存储卷时,该用户从不同类型的磁盘中进行选择以实现目的和需要,从而最大化 ROI(投资收回率)。该目的和需要可能随时间而不同。在这种情况下,需要调整磁盘配 置以最优化。一种方法是使用分层存储管理来保持高的ROI。此外,可能需要动态地调 整分层存储配置以保持最大化的ROI。管理分层存储环境的技术是现有的。例如,US20070055713A1公开了 一种卷 容量供应方法,根据该方法存储系统依照当卷需要扩充的容量时的使用和需要的性能来 选择适合的磁盘。US20080184000A1公开了在一个池中的多个层之间的精简供应(由 页分割(sliced))卷转移方法。存储系统选择低访问卷,并且将该低访问卷无缝地转 移到另一个存储模块中的低等待时间层。US20070192560A1公开了一种用于精简供应 池的磁盘安装控制方法,根据该方法存储系统依照系统配置将磁盘安装到适合的池。 US20070055713A1 和 US20070192560A1 适用于调整卷层配置。US2008184000A1 适用 于层的容量安装。这些公开结合于此作为参考。还参考关于因特网协议的RFC 791、 关于传输控制协议的RFC 793、关于指定号的RFC 790、关于因特网小型计算机系统接口 (iSCSI)的 RFC 3720、关于 SCSI 块指令的草案的 SBC-3 草案(http://www.tlO.org)、关 于光纤通道成帧和信令-2的草案的FC-FS-2草案(http://www.tll.org)以及关于光纤通 道骨干网_5的草案的FC-BB-5草案(http://www.tll.org)。

发明内容
本发明的实施例提供了用于在远程副本环境中的动态页重新分配存储系统中的 应用和层配置管理的方法和装置。为了替换某些数据的层,需要知道具有该数据的应用 的优先级、活动性和性能需求,因为替换操作可能引起不期望的性能和可靠性降低。存 储装置很难判断某些数据是否需要被替换到另一层,因为具有该数据的存储装置不知道 哪个应用访问该数据。本发明由此提供了一种技术,在服务器上的应用公布参考应用ID 的I/O。当该应用访问数据时,存储装置存储被访问的数据和应用ID之间的关系。存 储装置与应用的应用状态一同替换数据的层。这提供了在动态页重新分配存储系统中的 应用和层配置管理。本发明的一个方面提供一种存储系统,用于在具有连接至所述存储系统的主机 计算机上运行的一个或多个应用的系统中的分层存储环境中的存储管理。所述存储系统 包括在池中的多个存储卷,所述多个存储卷被划分为具有不同层级的多层,根据层配置规则来管理所述多层,由所述存储系统中的多个物理存储装置提供所述多个存储卷; 以及控制器,控制所述多个物理存储装置,所述控制器包括处理器和存储器。所述控制 器基于所述层级相 对于所述物理存储装置的改变来将所述池分配给多个虚拟卷。所述控 制器存储由在所述主机计算机上运行的每个应用正在访问的存储系统中的数据和访问所 述数据的应用的应用ID之间的关系。至少部分地基于访问所述存储卷中的数据的应用来 改变所述多个存储卷中部分存储卷的层级。在一些实施例中,所述控制器存储由所述主机计算机上运行的每个应用正在访 问的存储系统中的存储卷中的数据和向包含由所述应用访问的数据的存储卷公布写I/O 的应用的应用ID之间的关系。至少部分地基于访问所述存储卷中的数据的应用的应用状 态来改变所述部分存储卷的层级,所述应用状态包括应用的优先级、活动性或性能要求 中的至少一个。所述控制器基于层级相对于所述物理存储装置的改变来将所述池动态地 分配给所述多个虚拟卷,并且动态地存储由所述主机计算机上运行的每个应用正在访问 的存储系统中的数据和访问所述数据的应用的应用ID之间的关系。所述控制器响应于来 自管理终端的输入,基于层级相对于所述物理存储装置的改变而将所述池分配给所述多 个虚拟卷。所述多个虚拟卷中的至少一个虚拟卷具有一个或多个指定的区域,所述一个 或多个指定的区域根据由所述控制器改变层配置能够在其中设置层级。从由iSCSI帧中 对所述应用设置的IP地址、光纤通道帧中的应用的光纤通道ID、以及以太网上的光纤通 道帧中的应用的光纤通道ID组成的组中选择所述应用ID。在特定实施例中,所述存储系统连接至远程存储系统。在所述存储系统中的至 少一个存储卷与所述远程存储系统中的远程存储卷呈远程副本配对状态,并且是复制源 卷或复制目标卷中的一个。对于复制源卷,所述控制器将所述复制源卷的层信息传递到 作为与所述复制源卷呈配对状态的复制目标卷的远程存储卷中。对于复制目标卷,所述 控制器从作为与所述复制目标卷呈配对状态的复制源卷的所述远程存储卷接收所述复制 目标卷的层信息。本发明的另一个方面提供一种存储系统,在包括连接至具有在其上运行的一个 或多个应用的主机计算机的存储系统和连接至具有在其上运行的一个或多个应用的远程 主机计算机的远程存储系统的系统中,所述存储系统和所述远程存储系统用于在分层的 存储环境中进行存储管理并且彼此连接。所述存储系统包括在池中的多个存储卷,所 述多个存储卷被划分为具有不同层级的多层,根据层配置规则来管理所述多层,由所述 存储系统中的多个物理存储装置提供所述多个存储卷;以及控制器,控制所述多个物理 存储装置,所述控制器包括处理器和存储器。所述控制器基于所述层级相对于所述物理 存储装置的改变来将所述池分配给多个虚拟卷。所述控制器存储由在所述主机计算机上 运行的每个应用正在访问的存储系统中的数据和访问所述数据的应用的应用ID之间的关 系。至少部分地基于访问所述存储卷中的数据的应用来改变所述多个存储卷中部分存储 卷的层级。本发明的另一个方面提供一种存储系统,在包括连接至主机计算机的存储系统 和连接至远程主机计算机的远程存储系统的系统中,所述存储系统和所述远程存储系统 用于在分层的存储环境中进行存储管理并且彼此连接。所述存储系统包括在池中的多 个存储卷,所述多个存储卷被划分为具有不同层级的多层,根据层配置规则来管理所述多层,由所述存储系统中的多个物理存储装置提供所述多个存储卷;以及控制器,控制 所述多个物理存储装置,所述控制器包括处理器和存储器。所述控制器基于所述层级相 对于所述物理存储装置的改变来将所述池分配给多个虚拟卷。基于所述层配置规则中的 改变而改变所述多个虚拟卷的虚拟卷页的层级。当对于具有远程副本对的卷改变所述虚 拟卷页的层级时,所述控制器将所述虚拟卷页的层级的信息发送给所述远程存储系统, 使得在所述远程存储系统中改变对应的虚拟卷页的层级。在一些实施例中,至少部分地基于访问所述存储卷中的数据的应用的应用状态来改变所述多个存储卷的存储卷的层级,所述应用状态包括应用的优先级、活动性或性 能要求中的至少一个。所述存储系统中的至少一个存储卷与所述远程存储系统中的远程 存储卷呈远程副本配对状态,并且当所述虚拟卷页的层级改变时,检查所述远程副本配 对状态以确定所述虚拟卷是否配对。通过将所述虚拟卷页转移到满足所述层级配置的另 一个虚拟卷页来改变对应的虚拟卷页的层级。在转移之后,更新所述虚拟卷页和所述池 之间的映射信息。结合下面的特定实施例的具体实施方式
,对于本领域普通技术人员来说,本发 明的这些和其他特征和优点将变得显而易见。


图1表示根据本发明的第一实施例的可以应用本发明的方法和装置的系统的硬 件配置;图2表示根据第一实施例在图1的存储子系统中的存储器的例子;图3表示磁盘管理表的例子;图4表示磁盘信息表的例子;图5表示RAID组管理表的例子;图6表示虚拟卷管理表的例子;图7表示层管理表的例子;图8表示虚拟卷页管理表的例子;图9表示容量池组块管理表的例子;图10表示容量池页管理表的例子;图11表示应用层管理表的例子;图12表示高速缓冲存储器管理表的例子;图13表示根据第一实施例的存储子系统逻辑存储配置的概要;图14表示高速缓冲存储器区域的逻辑结构的例子;图15表示根据第一实施例的容量池组块的逻辑结构的例子;图16表示朝向容量池的表参考结构的例子;图17表示朝向虚拟卷的表参考结构的例子;图18表示根据第一实施例的写I/O控制处理流的例子;图19表示读I/O控制处理流的例子;图20表示升级控制的处理流的例子;图21表示降级控制的处理流的例子;
图22表示刷新控制的处理流的例子;图23表示高速缓冲存储器控制的处理流的例子;图24表示卷供应控制的处理流的例子;图25表示卷层控制的处理流的例子;图26表示层配置控制的处理流的例子;图27表示层注册控制的处理流的例子;图28表示页映射控制的处理流的例子;图29表示页转移控制的处理流的例子;图30表示根据第一实施例来自主计算机的写I/O帧结构的例子;图31表示根据第一实施例应用终止和层变化的序列的例子;图32表示根据本发明的第二实施例的来自主计算机的写I/O帧结构的例子;图33表示根据本发明的第三实施例的来自主计算机的写I/O帧结构的例子;图34表示根据本发明的第四实施例的可以应用本发明的方法和装置的系统的硬 件配置;图35表示根据第四实施例的在图34的每个存储子系统中的存储器的例子;图36表示远程副本配对管理表的例子;图37表示根据第四实施例的写I/O控制的处理流的例子;图38表示远程副本I/O控制的处理流的例子;图39表示配置传送控制的处理流的例子;以及图40表示应用终止、层变化以及层配置传送的序列的例子。
具体实施例方式在下面的具体实施方式
中,参考作为公开的一部分的附图,其中通过示例而不 是限制的方式表示可以应用本发明的实例实施例。在附图中,相似的附图标记描述若干 图中实质上相似的元件。此外,应该注意到,如在下面描述以及附图中示出的,具体实 施方式中提供了不同的实例实施例,本发明不局限于在此描述和示出的实例实施例,而 是可以扩展到本领域普通技术人员已获知或将要或者的其他实施例。在说明书中的“一 个实施例”、“该实施例”或“这些实施例”意味着在至少一个本发明的实施例中包括 结合实施例描述的特定特征、结构或属性,并且这些语句出现在说明书的不同地方并不 必须参考相同的实施例。此外,在下面的具体实施方式
中,阐述了多个特定细节以提供 本发明的完整理解。然而,对于本领域普通技术人员来说显而易见,并不需要所有这些 特定细节来实现本发明。在其他情况下,没有详细描述公知的结构、材料、电路、处理 以及接口,和/或可以以框图形式表示公知的结构、材料、电路、处理以及接口,从而 不使本发明不清楚。 此外,通过计算机中的算法和操作的符号表示来表达下面的具体实施方式
的一 些部分。这些算法描述和符号表示均为数据处理领域的普通技术人员通常使用的,从而 最有效地将它们的创新的精髓传递到其他领域的普通技术人员。算法是导致期望的结束 状态或结果的一系列定义的步骤。在本发明中,这些步骤执行实际量的需要的物理操作 以获得实际的结果。通常但不是必要,这些量采用能够被存储、传送、合并、比较和其他处理的电或磁信号的形式。已知为了方便,主要是为了通用的目的,将这些信号表示 为比特、值、元件、符号、字符、术语、数字、指令等。然而,应该牢记全部这些和类 似的术语是要与恰当的物理量相关联并且仅是应用于这些量的方便的标记。除非另外提 及,如在下面的讨论中显而易见,应该理解到在整个说明书中利用例如“处理”、“计 算”、“确定”和“显示”的术语的讨论可以包括计算机系统或其他信息处理设备的动 作和处理,其中计算机系统或其他信息处理设备将在计算机系统的寄存器和存储器中表 示为物理(电子)量的数据处理并转换为在计算机系统的存储器或寄存器或其他信息存 储、传输或显示装置中类似地表示为物理量的其他数据。如在下面更详细地描述,本发明的实例实施例提供了用于远程副本环境中的动 态页重新分配存储系统中的应用和层配置的装置、方法和计算机程序。第一实施例1.系统配置 图1示出了其中可以应用本发明的第一实施例的方法和装置的系统的硬件配置 的例子。用于存储数据的存储子系统100通过存储网络连接至主机计算机300。存储管 理终端400连接至存储子系统100。存储子系统100包括存储控制器110,存储控制器110具有CPU 111、存储器 112、存储接口 113、局域网接口 114、以及可以包括SAS I/F和SATAI/F的磁盘接口 115。CPU 111控制存储子系统100,并且读取存储在存储器112中的程序和表格。存储 接口 113通过存储网络200与主机计算机300连接。局域网接口 114与存储管理终端400 连接。磁盘接口 115(115a、115b等)与磁盘121连接。磁盘单元120包括用于存储数 据的多个磁盘121 (121a、121b等),该多个磁盘可以包括SAS SSD (闪存存储器)、SAS HDD 以及 SATAHDD。主机计算机300通过存储网络200发送I/O请求至存储子系统100,并且通过存 储网络200从存储子系统100发送和接收数据。存储管理终端400提供存储子系统100的可用性/可靠性信息。终端400包括 CPU 411,其读取存储在存储器412中的程序和表格。局域网接口 414与存储子系统100 连接。显示器419显示存储子系统100的可用性/可靠性信息。图2表示在根据第一实施例的图1的存储子系统100中的存储器的例子。存储 管理表112-11包括用于磁盘121和这些组的物理结构管理的RAID组管理表112-11-1 (图 5)、用于卷配置管理的虚拟卷管理表112-12-2 (图6)、用于磁盘121的磁盘配置管理的 磁盘管理表112-11-3 (图3)、提供磁盘信息数据库的磁盘信息表112-11-4(图4)、用于 其中根据层配置规则(见图7中的配置规则112-11-5-5)组织每个容量池层的容量池层管 理的层管理表112-11-5 (图7)、用于从部分虚拟卷到部分容量池的参考管理的虚拟卷页 管理表112-11-6(图8)、用于容量池的资源管理和用于从容量池页到虚拟卷页的参考管 理的容量池组块管理表112-11-7(图9)、用于容量池组块的资源管理的容量池页管理表 112-11-8 (图10)、以及用于关于应用的应用ID的层号管理的应用层管理表112-11-9 (图 11)。存储器112还包括用于管理存储器112中存储的高速缓冲存储器数据区域112-30 以及用于LRU/MRU管理的高速缓冲存储器管理表112-14(图12)。卷I/O控制112-21包括写I/O控制112-21-1 (图18)和读I/O控制112_21_2 (图19)。写I/O控制112-21-1通 过写I/O需求运行,并且通过通道接口 113接收写数据并 将其存储在高速缓冲存储器数据区域112-30。读I/O控制112-21-2通过读I/O需求运 行,并且通过通道接口 113发送来自高速缓冲存储器数据区域112-30的读数据。物理磁 盘控制112-22包括用于从磁盘121向高速缓冲存储器数据区域112-30传送数据的升级控 制112-22-1 (图20)、以及用于从高速缓冲存储器数据区域112-30向磁盘121传送数据的 降级控制112-22-2 (图21)。刷新控制112-23 (图22)周期地将高速缓冲存储器数据区域 112-30中的脏数据刷新到磁盘121。卷配置控制112-25包括用于供应新虚拟卷的卷供应控制112_25_1(图24)、以 及用于改变卷配置的卷层控制112-25-2 (图25)。池配置控制112-26包括用于当改变层 规则时改变层配置的层配置控制112-26-2(图26)、以及用于根据下面的层配置将容量 池组块注册到层的层注册控制112-26-3 (图27)。页控制112-27包括用于将新容量池页 分配到虚拟卷页或搜索虚拟页链接的容量池页的页匹配控制112-27-1 (图28)、以及用于 将容量池页复制到另一个容量池页并且改变虚拟卷页和容量池页之间的链接的页转移控 制112-27-2 (图29)。高速缓冲存储器控制112-28 (图23)在高速缓冲存储器数据区域 112-30中发现高速缓存的数据并且在高速缓冲存储器数据区域112-30中分配新的高速缓 冲存储器区域。核112-40控制运行程序的计划。高速缓冲存储器数据区域112-30存储 读和写高速缓冲存储器数据,并且将高速缓冲存储器数据区域112-30划分为多个高速缓 冲存储器时隙。2.表结构图3表示磁盘管理表112-11-3的例子。磁盘管理表112_11_3包括包含磁盘121 的ID的磁盘号112-11-3-1、包含磁盘121所属的RAID组的ID的RAID组号112-11_3、 以及包含磁盘121的模型号的模型信息112-11-3-3的列。图4表示磁盘信息表112-11-4的例子。磁盘信息表112_11_4具有包含磁盘模型 的模型号的模型信息112-11-4-1、包含磁盘模型的数据存储类型(例如HDD或SSD)的 磁盘类型信息112-11-4-2、包含HDD的每秒转速信息的RPM信息112-11-4-3 (如果模型 不是HDD,该元件存储“_”)、包含SSD的单元类型信息的单元信息112-11-4-4(如果 模型不是SSD,该元件存储“_”)、包含磁盘模型的接口类型的接口信息112-11-4-5、 包含磁盘模型的盘片容量的盘片容量信息112-11-4-6 (如果该模型不是HDD,该元件存 储“_”)、以及包含磁盘模型的容量的物理容量信息112-11-4-7的列。图5表示RAID组管理表112_11_1的例子。RAID组管理表112_11_1具有包含 RAID组的ID的RAID组号112-11_1_1以及包含RAID组的结构的RAID级112-11_1_2 的列。“N(= 10、5、6等)”意味着“RAID级是N。” “N/A”意味着RAID组不存 在。表112-11-1还包括包含属于该RAID组的磁盘121的ID列表的磁盘号112_11_1_3、 包含除了冗余区域之外的RAID组的总容量RAID组容量112_11_1_4、包含RAID组所属 的层号的层号112-11-1-5、包含RAID组的访问计数器的访问计数器112-11-1-6、包含 用于管理未使用的精简供应组块的参数的自由组块队列索引112-11-1-7、以及包含用于 管理使用的精简供应组块的参数的使用的组块队列索引112-11-1-8的列。图6表示虚拟卷管理表112-11-2的例子。虚拟卷管理表112_11_2具有包含卷 的ID的卷号112-11-2-1、包含卷的容量的卷容量112-11-2-2( “N/A”意味着卷不存在)、包含卷当前使用的RAID组ID的使用中RAID组号112-11_2_3、包含虚拟卷当前使用的组块ID的使用中组块号112-11-2-5、包含虚拟卷从中分配容量池页的层ID的层 号 112-11-2-6 的列。图7表示层管理表112-11-5的例子。层管理表112_11_5具有包含卷的ID的 层号112-11-5-1、包含在该层中RAID组的总容量总容量112-11-5-2、包含该层的总使 用的容量池页的使用的容量112-11-5-3、包含该层中RAID组ID列表的RAID组列表 112-11-5-4、以及包含用于将该层分组的配置规则的配置规则112-11-5-5的列。配置规 则是基于例如磁盘类型、磁盘接口类型、性能、RAID级、磁盘数目等的因素。图8表示虚拟卷页管理表112-11-6的例子。虚拟卷页管理表112_11_6包括 包含虚拟卷页的前列地址(top address)的虚拟卷页索引112_11_6_1、包含虚拟卷页所 属的RAID组ID的RAID组号112-11-6-2 ( “N/A”意味着没有将容量池页分配给虚 拟卷页)、包含虚拟卷页参考的容量池页的前列地址的容量池页索引112-11-6-3、包含 对于虚拟卷页中的磁盘的访问计数器的I/O计数器112-11-6-4、包含访问计数的开始 时间的计数器清除时间112-11-6-5、以及包含访问页的应用的ID的页所有者应用ID 112-11-6-6 的列。图9表示容量池组块管理表112-11-7的例子。容量池组块管理表112_11_7具 有包含容量池组块的ID的容量池组块号112-11-7-1、包含容量池组块参考的虚拟卷的ID 的虚拟卷号112-11-7-2、包含容量池组块的使用的容量的使用的容量112-11-7-3、包含 一旦使用该区域容量池组块的移除的容量的删除的容量112-11-7-4、包含用于队列管理 的前一组块指针的前一组块号112-11-7-5 ( “NULL”意味着队列头)、包含用于队列管 理的下一组块指针的下一组块号112-11-7-6 ( “NULL”意味着队列末端)的列。图10表示容量池页管理表112-11-8的例子。容量池页管理表112_11_8包括包 含容量池页的ID的容量池页索引112-11-8-1、以及包含容量池页参考的虚拟卷页的ID的 虚拟卷页号112-11-8-2的列。“NULL”意味着没有使用容量池页。图11表示应用层管理表112-11-9的例子。表112_11_9包括用于包含应用的 ID的应用ID 112-11-9-1的列,以及用于包含存储应用的层号数据的层号112_11_9_2的 列。图12表示高速缓冲存储器管理表112-14的例子。高速缓冲存储器管理表112-14 具有作为包含高速缓冲存储器数据区域112-30中的高速缓冲存储器时隙的ID的索引高 速缓冲存储器时隙号112-14-1、包含其中高速缓冲存储器时隙存储数据的例如磁盘121 的卷ID的卷号112-14-2、包含高速缓冲存储器时隙存储数据的磁盘地址(例如LBA) 的磁盘地址112-14-3、包含用于队列管理的下一高速缓冲存储器时隙号的下一时隙指针 112-14-4( “NULL”意味着队列的末端)、包含用于高速缓冲存储器时隙的I/O计数器 的I/O计数器112-14-7、以及如果存在应用,包含应用的ID的应用IDl 12-14-8的列。 队列信息的种类的卷112-14-5包含高速缓冲存储器时隙队列的种类。“自由”意味着具 有未使用的高速缓冲存储器时隙的队列。“干净”意味着具有存储与磁盘时隙相同的数 据的高速缓冲存储器时隙的序列。“脏”意味着具有存储与磁盘时隙中的数据的不同的 数据的高速缓冲存储器时隙的序列,指示存储控制器110需要将来将高速缓冲存储器时 隙数据刷新到磁盘时隙。队列索引指针112-14-6的列包含高速缓冲存储器时隙队列的索引。3.逻辑结构

图13表示根据第一实施例的存储子系统100的逻辑存储配置的总结。存储子系 统100包括可以由主机计算机300访问的虚拟卷141。每个虚拟卷141具有多个虚拟卷 页141-2。每个虚拟卷页141-2参考容量池的容量池页121-2。容量池具有多个RAID 组121-4。每个RAID组1212-4包含一组磁盘121。存储子系统100具有若干种类型 的RAID组121-4a、121_4b、121_4c,基于RAID组类型将这些RAID组分组或分类为层 (层1、层2、层3)。这些层属于容量池。虚拟卷141被类似地由层识别。在主机计算 机300上运行多个应用301 (301a、301b等)。每个应用301具有应用ID、其可以是例如 IP地址、WWPN(全局端口名称)等。当应用301转移到另一个主机计算机时,该ID是 连续的(即,保留的)。每个应用301访问在某一层的某一虚拟卷141。图14表示高速缓冲存储器区域112-30的逻辑结构的例子。带箭头的线包含虚 线和实线,虚线意味着对象由指针参考(refer),实线意味着对象由计算参考。高速缓冲 存储器数据区域112-0被划分为多个高速缓冲存储器时隙112-30-1。高速缓冲存储器时 隙112-30-1的大小等于容量池条121-3的大小和虚拟卷时隙141-3的大小。高速缓冲存 储器管理表112-18和高速缓冲存储器时隙112-30-1处于一对一的关系。高速缓冲存储 器管理表112-18参考虚拟卷时隙141-3并且它可以通过使用RAID组管理表112-11-1来 决定容量池条121-3。图15表示根据第一实施例的容量池组块121-1的逻辑结构的例子。带箭头的 线包含实线和虚线,实线意味着对象由指针参考,虚线意味着对象由计算参考。对于 层,层管理表112-11-5参考RAID组管理表112-11-1。对于RAID组,RAID组管理表 112-11-1参考层管理表112-11-5,参考所属磁盘的磁盘管理表112_11_3,以及通过自由 组块队列112-15-03和使用的组块队列112-15-04来参考容量池组块管理表112_11_7。 对于容量池组块121-1,容量池组块121-1和容量池组块管理表112-11-7的关系是固定 的。图16表示朝向容量池的表参考结构的例子。带箭头的线包含实线和虚线,实线 意味着对象由指针参考,虚线意味着对象由计算参考。对于虚拟卷141,虚拟卷141和 虚拟卷管理表112-11-2处于一对一的关系。虚拟卷管理表112-11-2参考当前使用中的 容量池页121-2。对于虚拟卷页141-2,虚拟卷页141-2和虚拟卷页管理表112-11-6处 于一对一的关系。如果页被分配,虚拟卷页管理表112-11-6参考一片容量池页121-2。 对于RAID组,RAID组和RAID组管理表112-11-1处于一对一的关系。RAID组管理 表112-11-1参考使用的和未使用的容量池组块112-1。图17表示朝向虚拟卷141的表参考结构的例子。带箭头的线包含实线和虚线, 实线意味着对象由指针参考,虚线意味着对象由计算参考。对于容量池卷121,容量池组 块121-1和容量池组块管理表112-11-7处于一对一的关系。容量池组块管理表112-11-7 参考虚拟卷141。对于容量池页121-2,容量池页管理表112-11-8参考虚拟卷页141-2。3.处理流图表图18表示根据第一实施例的写I/O控制112-21-1的处理流的例子。该程序在 步骤112-21-1-1开始,在步骤112-21-1-2,程序调用高速缓冲存储器控制112-28来搜索高速缓冲存储器时隙112-30-1。在步骤112-21-1-3,程序从主机计算机300接收写I/O 数据,并且将该数据存储在前述高速缓冲存储器时隙112-30-1。程序在步骤112-21-1-5结束。图19表示读I/O控制112-21-2的处理流的例子。该程序在步骤112_21_2_1开 始,在步骤112-21-2-2,程序调用高速缓冲存储器控制112-28来搜索高速缓冲存储器时 隙112-30-1。在步骤112-21-2-3,程序检查前述高速缓冲存储器时隙112-30-1的状态来 确定是否已经在那里存储了数据。在步骤112-21-2-4,程序调用升级控制112-22-1 (见 图20)。在步骤112-21-2-5,程序将高速缓冲存储器时隙112-30-1中的数据传送到主机 计算机300。程序在步骤112-21-2-6结束。图20表示升级控制112-22-1的处理流的例子。程序在步骤112-22_1_1开始。 在步骤112-22-1-2,程序调用页映射控制112-27-1来为搜索用于虚拟卷页的容量池页 121-2。在步骤112-22-1-3,程序从磁盘121中的时隙读取数据,并且将该数据存储在高 速缓冲存储器数据区域112-30。在步骤112-22-1-4,程序等待数据传送结束。程序在 步骤112-22-1-5结束。图21表示降级控制112-22-2的处理流的例子。程序在步骤112_22_2_1开始。 在步骤112-22-2-2,程序调用页映射控制112-27-1来搜索或分配用于虚拟卷页的容量池 页121-2。在步骤112-22-2-3中,程序从高速缓冲存储器数据区域112-3 0中的时隙读取 数据并且将该数据存储在磁盘121中。在步骤112-22-2-4,程序等待数据传送结束,程 序在步骤112-22-2-5结束。图22表示刷新控制112-23的处理流的例子。程序在步骤112_23_1开始。在步 骤112-23-2中,程序读取高速缓冲存储器管理表112-14的“脏队列”。在步骤112-23-3 中,程序调用降级控制112-22-2来降级所发现的脏高速缓冲存储器时隙。如果没有发现 脏高速缓冲存储器时隙,程序跳过步骤112-23-3。程序在步骤112-23-4结束。图23表示高速缓冲存储器控制112-28的处理流的例子。程序在步骤112_28_1 开始。在步骤112-2-22,程序搜索指定地址的高速缓冲存储器时隙。如果发现了高速缓 冲存储器时隙,程序进行至步骤112-28-6。如果没有发现高速缓冲存储器时隙,程序进 行至步骤112-28-3。在步骤112-28-3,程序检测以确定是否存在自由高速缓冲存储器时 隙。如果存在自由高速缓冲存储器时隙,在步骤112-28-4中程序从指定地址的自由队列 中获得新的高速缓冲存储器时隙。如果没有,在步骤112-28-5中,程序选择干净的高速 缓冲存储器时隙,计数干净的高速缓冲存储器时隙的虚拟卷页的I/O计数器,清除干净 的时隙,并且对于指定的地址分配高速缓冲存储器时隙。最后,在步骤112-28-6,程序 计数I/O计数器或访问计数器112-14-7。程序在步骤112-28-7结束。图24表示卷供应控制112-25-1的处理流的例子。程序在步骤112_25_1_1开 始。在步骤112-25-1-2,程序将虚拟卷信息注册到虚拟卷管理表112-11-2。虚拟卷信 息包括卷号、卷容量、以及卷层号。程序在步骤112-25-1-3结束。图25表示卷层控制112-25-2的处理流的例子。程序在步骤112-25_2_1开始。 在步骤112-25-2-2,程序改变虚拟卷管理表112-11-2中的虚拟卷层信息。程序在步骤 112-25-2-3 结束。图26表示层配置控制112-26-2的处理流的例子。程序在步骤112-26_2_1开始。在步骤112-26-2-2,程序将层规则注册到层管理表112-11-5以设置层规则配置。 在步骤112-26-2-3中,程序选择容量池中的RAID组。在步骤112-26_2_4,为了注册 层配置,程序调用层注册控制112-26-3(见图27)来根据注册的层规则改变RAID组的 层。在步骤112-26-2-5,程序循环回来以重复步骤112-26-2-3到112-26-2-5直到所有 的RAID组被处理。程序在步骤112-26-2-6结束。图27表示层注册控制112-26-3的处理流的例子。程序在步骤112-26_3_1开始。在步骤112-263-2,程序从磁盘管理表112-11-3和磁盘信息表112-11-4获得RAID 组的磁盘信息。在步骤112-26-3-3,程序检查层管理表112-11-5中的层规则并且通 过匹配层规则来选择用于RAID组的匹配的层。在用于将容量池组块注册到层的步骤 112-26-3-4中,程序将层信息注册到RAID组管理表112-11_1。程序在步骤112-26-3-5 结束。图28表示页匹配控制112-27-1的处理流的例子。程序在步骤112-27_1_1开 始。在步骤112-27-1-2,程序检查指定的虚拟页是否已经被分配了容量池页121-2。在 用于选择满足层配置的层的步骤112-27-1-3中,程序选择用于虚拟卷页的需要层。在步 骤112-27-1-4中,程序检查以确定被选择的层是否具有自由或未使用的容量池页。如 果存在自由页,程序将新的容量池页从选定层中的RAID组分配到虚拟卷页,并且在步骤 112-27-1-6中将公布的写I/O的应用的应用ID存储到该页。如果不存在自由页,程序在 执行步骤112-27-1-6之前在步骤112-27-1-5中首先选择另一个(容量剩余)层。在步 骤112-27-1-7中,程序返回被分配或发现的容量池页信息。程序在步骤112-27-1-8结 束ο图29表示页转移控制112-27-2的处理流的例子。程序在步骤112-27_2_1开 始。在步骤112-27-2-2,程序选择容量池页121-2并且获得包括层号的信息。在步骤 112-27-2-3中,程序检查以确定是否已经使用了容量池页。如果没有,程序返回至步骤 112-27-2-2。如果容量池页121-2没有被使用,程序在步骤112_27_2_4中通过参考虚拟 卷页的层配置来获得容量池页的虚拟卷页信息。在步骤112-27-2-5中,程序检查以确定 容量池页121-2是否属于具有匹配的层配置的正确(已配置)层。如果是,程序返回至 步骤112-27-2-2。如果不是,程序在步骤112-27-2-6中从属于具有匹配的层配置的正 确层的RAID组分配新的容量池页。在步骤112-27-2-7,程序将数据从当前的容量池页 复制到新分配的容量池页。在步骤112-27-2-8中,程序检查是否在复制操作过程中对虚 拟卷页发生了写I/O。如果是,程序返回至步骤112-27-2-2。如果不是,程序在步骤 112-27-2-9中对于新分配的池页改变虚拟卷页和容量池页之间的链接或映射。5.帧结构图30表示根据第一实施例的来自主机计算机300的写I/O帧结构的例子。图30 示出“iSCSI”帧结构,其中帧Al是包括IP、TCP和SCSI协议的iSCSI帧。应用ID Al-I是公布写I/O的应用的ID。该ID是在本实施例中设置给应用的IP地址。6.序列图31表示根据第一实施例的应用终止和层改变的序列的例子。在M1000中, CPU 111在未匹配的层中发现使用容量池页的虚拟卷页,并且使用高速缓冲存储器区域 112-30将容量池页复制到新分配的容量池页。在M1001中,高速缓冲存储器区域112-30从磁盘121c接收数据并且将该数据传送到磁盘121b。在M1002中,磁盘121将数据发 送到格式存储存储区区域112-30。在M1003中,磁盘121存储从高速缓冲存储器区域 112-30接收的数据。在R2000,主机计算机300正在使用应用,并且通过系统管理终端500从管理 员接收终止请求。在R2001,管理员通过系统管理终端500要求应用的终止。在R2002 中,系统管理终端500向主机计算机300发生终止请求。系统管理终端500将层改变请 求发送至存储子系统100用于其中存储应用数据的区域。在R2003中,CPU 111改变指 定的虚拟卷中的指定的区域的层。第二实施例 在本发明的第二实施例中,使用了不同的帧结构。仅描述关于第一实施例的不 同之处。图32表示根据第二实施例的来自主机计算机的写I/O帧结构的例子。图32示 出“FC (光纤通道)”帧结构,其中帧A2是FC帧。应用ID A2-1是公布写I/O的应用 的ID。该ID是FCID。存储子系统可以通过对存储网络300中的切换设备的请求来搜 索具有该FCID的应用的WWPN (全局端口号)。第三实施例在本发明的第三实施例中,使用了不同的帧结构。仅描述关于第二实施例的不 同之处。图33表示根据第三实施例的来自主机计算机的写I/O帧结构的例子。图33示 出“FCoE(以太网上的光纤通道)”帧结构,其中帧A3是FCoE帧。应用ID A3-1是 公布写I/O的应用的ID。该ID是FCID。存储子系统可以通过对存储网络300中的切 换设备的请求来搜索具有该FCID的应用的WWPN (全局端口号)。第四实施例本发明的第四实施例具有不同的系统配置、不同的逻辑结构、不同的处理以及 不同的序列。仅描述关于第一实施例的不同之处。在该实施例中,系统具有同步远程副 本功能。然而,异步远程副本功能也是有用的。1.系统配置图34表示其中根据本发明的第四实施例的可以应用本发明的方法和设备的系统 的硬件配置。主机计算机300m(与图1中的主机计算机300相同)通过存储网络200m 连接至存储子系统100m。另一个主机计算机300r(与图1中的主机计算机相同)通过另 一个存储网络200r连接至另一个存储子系统100r。存储网络200m和200r每个均与图1 中的存储网络200相同。存储子系统IOOm类似于图1中的存储子系统100,并且包括 用于连接存储子系统IOOi 的存储接口 116。存储子系统IOOi 类似于图1中的存储子系统 100,并且具有用于连接存储子系统IOOm的存储接口 116。图35表示根据第四实施例的图34的每个存储子系统IOOm或IOOi 中的存储器 112的例子。与图2相比,图35具有不同的写I/O控制112-21-1,,并且包括远程副本 管理表112-19和远程副本控制112-29。远程副本管理表112-19包括远程副本配对管理 表112-19-1。写I/O控制112-21-1,通过写I/O要求运行,并且具有新的远程副本相 关的步骤。远程副本控制112-29具有用于写I/O复制和传送控制的远程副本I/O控制112-29-1,以及用于虚拟卷和虚拟卷页配置传送控制的配置传送控制112-29-2。2.逻辑结构图36表示远程副本配对管理表112-19-1的例子。表112_19_1具有用于包含卷 的ID的卷号112-19-1-1的列和用于包含卷配对状态的配对状态112-19-1-2的列。“配 对”意味着两个存储子系统之间的两个卷具有相同的数据。“SMPL”意味着卷没有与另 一个卷形成配对。“N/A”意味着卷不存在。表112-19-1还包括用于卷属性112-19-3 的列。“M-Vol”意味着复制源卷。当该卷接收写I/O时,它将写I/O复制到配对的 卷。“R-Vol”意味着复制目标卷。“N/A”意味着卷不存在或没有与另一个卷形成配 对。通过用户操作可以互换配对的卷之间的属性。用于远程卷ID 112-19-1-4的列包含 配对的卷的ID。 “N/A”意味着卷不存在或没有与另一个卷形成配对。3.流稈图表图37表示根据第四实施例的写I/O控制112-21-1’的处理流的例子。如在图 18中该程序在步骤112-21-1-1开始,但是然后在步骤112-21-1-2中调用高速缓冲存储器 控制112-28来搜索高速缓冲存储器时隙112-30-1以及在步骤112_21_1_3从主机计算机 300接收写I/O数据,并且将该数据存储在前述高速缓冲存储器时隙112-30-1之前,在步 骤112-21-1,-4中调用远程副本I/O控制112-29-1。程序在步骤112-21-1-5结束。图38表示远程副本I/O控制112-29-1的处理流的例子。程序在步骤112-29_1_1 中 开始。在步骤112-29-1-2,程序检查以从远程副本配对管理表112-19-1中查看该卷 是否具有远程副本配对。如果没有,处理在步骤112-29-1-4中结束。如果有,在步骤 112-29-1-3中,程序检查以从远程副本配对管理表112-19-1中查看该卷的属性是否是 “M-Vol”。如果不是,处理结束。如果是,在步骤112-29-1-4中,程序复制接收的写
I/O数据并且将其传送到远程存储子系统中的配对卷(属性为“R-Vol”)中。图39表示配置传送控制112-29-2的处理流的例子。程序在步骤112-29_2_1中 开始。在步骤112-29-2-2中,程序从远程副本配对管理表112-19-1中检查该卷是否具 有远程副本配对。如果没有,处理在步骤112-29-2-8中结束。在步骤112-29-2-3中, 程序检查卷属性是否是“M-Vol”或“R-Vol”。如果卷属性是“M-Vol”,程序在 步骤112-29-2-4读取卷的卷页管理表112-11-6和应用层管理表112_11_9,并且在步骤 112-29-2-5中将这些表的信息传送到它的配对卷(“R-Vol” )所属的远程存储子系统。 如果卷属性是“R-Vol”,程序在步骤112-29-2-6中从配对卷(“M-Vol” )所属的远程 存储子系统接收表信息,并且在步骤112-29-2-7中重写卷的页所有者应用ID 112-11-6-6 信息以及应用层管理表112-11-9。处理在步骤112-29-2-8结束。在步骤112-29-2-4中,程序可以发送页和分配的层之间的关系信息,而不是发 送卷的卷页管理表112-11-6以及应用层管理表112-11-9。在这种情况下,程序通过调用 页转移控制112-27-21而不是在远程操作子系统重写卷的页所有者应用ID 112-11-6-6信 息以及应用层管理表112-11-9来改变层分配。4.序列图40表示应用终止、层改变和层配置转移的序列的例子。与图31的第一实施例 相比,图40包括如下所述用于层配置传送的额外的序列。在T1000中,存储子系统IOOrn 将卷页管理表112-11-6以及应用层管理表112-11-9的信息传送到存储子系统100r。在TlOOl中,存储子系统IOOr从存储子系统IOOm接收卷页管理表112-11-6以及应用层管 理表112-11-9的信息并且使用该信息进行重写。
由上述显而易见,本发明提供用于动态页重新分配存储系统管理的方法、装置 以及存储在计算机可读介质上的程序。另外,尽管在该说明书中描述了特定实施例,本 领域普通技术人员应当理解设计为实现相同目的的任何适当的布置能够替代这里揭示的 特定实施例。该揭示意欲覆盖本发明的任何和所有适配或变化,并且应当理解在所附权 利要求中使用的术语不应当被理解为将本发明限制为说明书中揭示的特定实施例。相 反,本发明的范围应当由所附权利要求以及这样的权利要求的等价物的完全范围来整体 地确定,应当根据权利要求解释的已制定原则来理解所附权利要求。
权利要求
1.一种存储系统,用于在具有连接至所述存储系统的主机计算机上运行的一个或多 个应用的系统中的分层存储环境中的存储管理,所述存储系统包括在池中的多个存储卷,所述多个存储卷被划分为具有不同层级的多层,根据层配置 规则来管理所述多层,由所述存储系统中的多个物理存储装置提供所述多个存储卷;以 及控制器,控制所述多个物理存储装置,所述控制器包括处理器和存储器;其中,所述控制器基于所述层级相对于所述物理存储装置的改变来将所述池分配给 多个虚拟卷;其中,所述控制器存储由在所述主机计算机上运行的每个应用正在访问的存储系统 中的数据和访问所述数据的应用的应用ID之间的关系;以及其中,至少部分地基于访问所述存储卷中的数据的应用来改变所述多个存储卷中部 分存储卷的层级。
2.根据权利要求1所述的存储系统,其中,所述控制器存储由所述主机计算机上运行的每个应用正在访问的存储系统中的存储 卷中的数据和向包含由所述应用访问的数据的存储卷公布写I/O的应用的应用ID之间的关系。
3.根据权利要求1所述的存储系统,其中,至少部分地基于访问所述存储卷中的数据的应用的应用状态来改变所述部分存储卷 的层级,所述应用状态包括应用的优先级、活动性或性能要求中的至少一个。
4.根据权利要求1所述的存储系统,其中,所述控制器基于层级相对于所述物理存储装置的改变来将所述池动态地分配给所述 多个虚拟卷,并且动态地存储由所述主机计算机上运行的每个应用正在访问的存储系统 中的数据和访问所述数据的应用的应用ID之间的关系。
5.根据权利要求1所述的存储系统,其中,所述控制器响应于来自管理终端的输入,基于层级相对于所述物理存储装置的改变 而将所述池分配给所述多个虚拟卷。
6.根据权利要求1所述的存储系统,其中,所述多个虚拟卷中的至少一个虚拟卷具有一个或多个指定的区域,所述一个或多个 指定的区域根据由所述控制器改变层配置能够在其中设置层级。
7.根据权利要求1所述的存储系统,其中,从由iSCSI帧中对所述应用设置的IP地址、光纤通道帧中的应用的光纤通道ID、以 及以太网上的光纤通道帧中的应用的光纤通道ID组成的组中选择所述应用ID。
8.根据权利要求1所述的存储系统,其中,所述存储系统连接至远程存储系统;其中,在所述存储系统中的至少一个存储卷与所述远程存储系统中的远程存储卷呈 远程副本配对状态,并且是复制源卷或复制目标卷中的一个;其中,对于复制源卷,所述控制器将所述复制源卷的层信息传递到作为与所述复制 源卷呈配对状态的复制目标卷的远程存储卷中;以及其中,对于复制目标卷,所述控制器从作为与所述复制目标卷呈配对状态的复制源卷的所述远程存储卷接收所述复制目标卷的层信息。
9.一种存储系统,在包括连接至具有在其上运行的一个或多个应用的主机计算机的 存储系统和连接至具有在其上运行的一个或多个应用的远程主机计算机的远程存储系统 的系统中,所述存储系统和所述远程存储系统用于在分层的存储环境中进行存储管理并 且彼此连接,所述存储系统包括在池中的多个存储卷,所述多个存储卷被划分为具有不同层级的多层,根据层配置 规则来管理所述多层,由所述存储系统中的多个物理存储装置提供所述多个存储卷;以 及控制器,控制所述多个物理存储装置,所述控制器包括处理器和存储器;其中,所述控制器基于所述层级相对于所述物理存储装置的改变来将所述池分配给 多个虚拟卷;其中,所述控制器存储由在所述主机计算机上运行的每个应用正在访问的存储系统 中的数据和访问所述数据的应用的应用ID之间的关系;以及其中,至少部分地基于访问所述存储卷中的数据的应用来改变所述多个存储卷中部 分存储卷的层级。
10.根据权利要求9所述的存储系统,其中,在所述存储系统中的至少一个存储卷与所述远程存储系统中的远程存储卷呈 远程副本配对状态,并且是复制源卷或复制目标卷中的一个;其中,对于复制源卷,所述控制器将所述复制源卷的层信息传递到作为与所述复制 源卷呈配对状态的复制目标卷的远程存储卷中;以及其中,对于复制目标卷,所述控制器从作为与所述复制目标卷呈配对状态的复制源 卷的所述远程存储卷接收所述复制目标卷的层信息。
11.根据权利要求10所述的存储系统,其中,所述控制器存储由所述主机计算机上运行的每个应用正在访问的存储系统中的存储 卷中的数据和向包含由所述应用访问的数据的存储卷公布写I/O的应用的应用ID之间的关系。
12.根据权利要求10所述的存储系统,其中,至少部分地基于访问所述存储卷中的数据的应用的应用状态来改变所述部分存储卷 的层级,所述应用状态包括应用的优先级、活动性或性能要求中的至少一个。
13.根据权利要求10所述的存储系统,其中,所述控制器基于层级相对于所述物理存储装置的改变来将所述池动态地分配给所述 多个虚拟卷,并且动态地存储由所述主机计算机上运行的每个应用正在访问的存储系统 中的数据和访问所述数据的应用的应用ID之间的关系。
14.根据权利要求10所述的存储系统,其中,所述控制器响应于来自管理终端的输入,基于层级相对于所述物理存储装置的改变 而将所述池分配给所述多个虚拟卷。
15.根据权利要求10所述的存储系统,其中,所述多个虚拟卷中的至少一个虚拟卷具有一个或多个指定的区域,所述一个或多个 指定的区域根据由所述控制器改变层配置能够在其中设置层级。
16.根据权利要求10所述的存储系统,其中,从由iSCSI帧中对所述应用设置的IP地址、光纤通道帧中的应用的光纤通道ID、以 及以太网上的光纤通道帧中的应用的光纤通道ID组成的组中选择所述应用ID。
17.一种存储系统,在包括连接至主机计算机的存储系统和连接至远程主机计算机的 远程存储系统的系统中,所述存储系统和所述远程存储系统用于在分层的存储环境中进 行存储管理并且彼此连接,所述存储系统包括在池中的多个存储卷,所述多个存储卷被划分为具有不同层级的多层,根据层配置 规则来管理所述多层,由所述存储系统中的多个物理存储装置提供所述多个存储卷;以 及控制器,控制所述多个物理存储装置,所述控制器包括处理器和存储器;其中,所述控制器基于所述层级相对于所述物理存储装置的改变来将所述池分配给 多个虚拟卷;其中,基于所述层配置规则中的改变而改变所述多个虚拟卷的虚拟卷页的层级,其中,当对于具有远程副本对的卷改变所述虚拟卷页的层级时,所述控制器将所述 虚拟卷页的层级的信息发送给所述远程存储系统,使得在所述远程存储系统中改变对应 的虚拟卷页的层级。
18.根据权利要求17所述的存储系统,其中,至少部分地基于访问所述存储卷中的数据的应用的应用状态来改变所述多个存储卷 的存储卷的层级,所述应用状态包括应用的优先级、活动性或性能要求中的至少一个。
19.根据权利要求17所述的存储系统,其中,所述存储系统中的至少一个存储卷与所述远程存储系统中的远程存储卷呈远 程副本配对状态,并且当所述虚拟卷页的层级改变时,检查所述远程副本配对状态以确 定所述虚拟卷是否配对,以及其中,通过将所述虚拟卷页转移到满足所述层级配置的另一个虚拟卷页来改变对应 的虚拟卷页的层级。
20.根据权利要求19所述的存储系统,其中,在转移之后,更新所述虚拟卷页和所述池之间的映射信息。
全文摘要
一种在动态页重新分配存储系统中的应用和层配置管理。对于在具有连接至存储系统的主机计算机上运行的一个或多个应用的系统中的分层存储环境中的存储管理,存储系统包括在池中的存储卷,存储卷被划分为具有不同层级的多层,根据层配置规则来管理多层,以及控制器。控制器基于层级相对于物理存储装置的改变来将池分配给多个虚拟卷。控制器存储由在主机计算机上运行的每个应用正在访问的存储系统中的数据和访问数据的应用的应用ID之间的关系。至少部分地基于访问存储卷中的数据的应用来改变多个存储卷中部分存储卷的层级。
文档编号G06F3/06GK102023813SQ20101012423
公开日2011年4月20日 申请日期2010年2月25日 优先权日2009年9月22日
发明者大谷俊雄, 川口智大, 村濑敦史 申请人:株式会社日立制作所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1