CN102375701A - 松耦合多存储环境的分层存储池管理和控制 - Google Patents

松耦合多存储环境的分层存储池管理和控制 Download PDF

Info

Publication number
CN102375701A
CN102375701A CN201110050760XA CN201110050760A CN102375701A CN 102375701 A CN102375701 A CN 102375701A CN 201110050760X A CN201110050760X A CN 201110050760XA CN 201110050760 A CN201110050760 A CN 201110050760A CN 102375701 A CN102375701 A CN 102375701A
Authority
CN
China
Prior art keywords
storage
volume
memory controller
subsystem
pond
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201110050760XA
Other languages
English (en)
Other versions
CN102375701B (zh
Inventor
川口智大
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of CN102375701A publication Critical patent/CN102375701A/zh
Application granted granted Critical
Publication of CN102375701B publication Critical patent/CN102375701B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

松耦合多存储环境的分层存储池管理和控制。系统包括:包括第一存储控制器的第一存储系统,第一存储控制器从主计算机接收输入/输出指令并向主计算机提供第一存储卷;以及包括第二存储控制器的第二存储系统,第二存储控制器从主计算机接收输入/输出指令并向主计算机提供第二存储卷。第一存储卷中的一个第一存储卷的第一数据存储区域是由第一存储控制器从第一池中分配的。第一存储卷中的另一个第一存储卷的第二数据存储区域是由第一存储控制器从第二池中分配的。第二存储卷中的一个第二存储卷的第三数据存储区域是由第二存储控制器从第一池分配的。第二存储卷中的另一个第二存储卷的第四数据存储区域是由第二存储控制器从第二池中分配的。

Description

松耦合多存储环境的分层存储池管理和控制
技术领域
本发明总体涉及存储系统,且更特别地涉及松耦合(loose coupled)多异构存储环境的分层存储池管理和控制。松耦合连接使用标准网络和非广(now-wide)(比内部总线窄)网络,并且连接到网络的每个设备的控制独立于其他设备的控制。通过使用松耦合连接,可以将异构(多供货商、多种类型的产品和多代产品)设备合并到一个系统。
背景技术
存储器虚拟化是一种广泛使用的技术。例子包括精简配置和基于页面的分层存储器。存储器虚拟化技术的使用可以改善存储器的可用性和效率。通过隐藏内部配置(例如,磁盘配置、分层配置、数据位置等等)来提高可用性。通过共享存储资源(例如磁盘负载、处理器负载、内部总线负载、容量等)来改善使用性。一般而言,这些存储器虚拟化技术可以仅仅应用在一个存储控制器中。一个例外是涉及“装配外部卷”功能的情况,其中,外部卷装配功能适合于在高性能存储子系统和低成本存储子系统之间的分层管理情形。然而,通过将高性能存储子系统连接到高性能存储子系统,这会导致资源的浪费和性能的不必要开销。许多用户在他们的IT(信息技术)系统中具有多个存储子系统。每个存储子系统独立于其他的存储子系统。这导致了对系统设计和系统操作的困难且麻烦的存储系统管理。由于在两个高性能存储器之间共享资源困难,结果导致整个存储系统的资源浪费。在涉及多存储子系统的环境中难以管理总资源量和提高效率。
发明内容
本发明的示意性实施例提供了提高整个存储器系统的管理能力的方法和装置,在该存储器系统中,集成存储器池管理给出了各个层的资源量。集成/系统存储器池包括多个存储子系统。每个层的量是每个存储子系统中的池的层容量的总和。为了提高对存储器系统的控制,每个存储子系统管理自身的资源。如果一个存储子系统需要使用另一个存储子系统的资源,则该存储子系统利用标准I/O接口访问该资源。存储子系统可以利用外部资源执行层管理控制,并且外部资源的层的优先级依赖于网络和外部存储性能。为了提高存储资源的效率,集成存储管理可以选择一种方法来在多个存储子系统中进行再平衡,并且存储子系统依据该选择改变资源和/或数据的分配。例子包括:在存储子系统之间出租容量,在存储子系统之间在线卷迁移,以及在存储子系统之间改变到的外部卷的路径。为了防止资源分配的循环,存储子系统禁止将与其他存储子系统资源有关的页面分配给另一存储子系统,并且,存储子系统不能向用户示出从其它存储子系统出租的资源量。
根据本发明的方面,系统包括:包括第一存储控制器的第一存储系统,所述第一存储控制器从主计算机接收输入/输出(I/O)指令并向所述主计算机提供第一存储卷;以及包括第二存储控制器的第二存储系统,所述第二存储控制器从主计算机接收I/O指令并向所述主计算机提供第二存储卷。所述第一存储卷中的一个第一存储卷的第一数据存储区域是由所述第一存储控制器从第一池中分配的。所述第一存储卷中的另一个第一存储卷的第二数据存储区域是由所述第一存储控制器从第二池中分配的。所述第二存储卷中的一个第二存储卷的第三数据存储区域是由所述第二存储控制器从所述第一池分配的。所述第二存储卷中的另一个第二存储卷的第四数据存储区域是由所述第二存储控制器从所述第二池中分配的。
在有的实施例中,禁止由所述第二存储控制器从所述第一池中分配所述第一存储卷中的所述另一个第一存储卷的所述第二数据存储区域。响应于由所述第一存储控制器从所述第二池中分配所述第一存储卷中的所述另一个第一存储卷的所述第二数据存储区域,所述第二存储控制器从所述第二池的容量中减去分配给所述第一卷的量。响应于由所述第一存储控制器从所述第二池中分配所述第一存储卷中的所述另一个第一存储卷的所述第二数据存储区域,所述第二存储控制器从所述第二池的容量中减去分配给所述第一卷的量。使用多个第一层来管理所述第一池;使用多个第二层来管理所述第二池;并且将分配给所述第二池的存储介质作为所述多个第一层中的独立的层来管理,所述存储介质被分配给所述第二数据存储区域。通过网络特性和所使用的所述存储介质的访问速度来确定所述独立的层。如果所述存储介质与用于所述第一池的存储介质相同,则用于所述第一池的所述存储介质相比所述独立的层具有更高的优先级。
在一个实施例中,管理服务器基于所述系统的负载要求,针对连接到所述第一存储控制器和所述第二存储控制器这两个控制器的存储介质,选择将所述第二池中的容量出租给所述第一存储系统,还是将控制从所述第二存储控制器改变到所述第一存储控制器。在另一个实施例中,管理服务器基于所述系统的负载要求,针对连接到所述第一存储控制器和所述第二存储控制器这两个控制器的存储介质,选择将所述第二池中的容量出租给所述第一存储系统,将数据从所述第一存储卷迁移到所述第二存储卷,还是将控制从所述第二存储控制器改变到所述第一存储控制器。
根据本发明的另一个方面,系统包括:包括第一存储控制器的第一存储系统,所述第一存储控制器从主计算机接收输入/输出(I/O)指令并向所述主计算机提供第一存储卷;包括第二存储控制器的第二存储系统,所述第二存储控制器从主计算机接收I/O指令并向所述主计算机提供第二存储卷;以及分配给第一池的存储介质。所述第一存储卷中的一个第一存储卷的第一数据存储区域是由所述第一存储控制器从第一池中分配的。所述第二存储卷中的一个第二存储卷的第二数据存储区域是由所述第二存储控制器从所述第二池分配的。响应于来自管理服务器的指令,所述第二存储控制器将所述存储介质分配给所述第二池并且所述第一存储控制器从所述第一池中释放所述存储介质。
在特定实施例中,管理服务器基于所述系统的负载要求,对连接到所述第一存储控制器和所述第二存储控制器这两个控制器的存储介质,选择从第一存储卷迁移到第二存储卷还是将控制从所述第二存储控制器改变到所述第一存储控制器。
根据本发明的另一个方面,系统包括:多个存储系统,每个存储系统包括存储控制器,所述存储控制器从主计算机接收输入/输出(I/O)指令并从单独的池提供存储卷;以及管理服务器,连接到所述多个存储系统。所述多个存储系统中的每个存储系统的所述单独的池被分配给多个存储介质并包括多个单独的层。所述管理服务器收集分配给所述多个存储系统的存储介质的信息,并基于收集到的信息中的所述存储介质的特性动态地确定用于系统池的多个系统层,所述系统池包括分配给所述多个存储系统的存储介质。
在有的实施例中,所述管理服务器将关于用于所述系统池的所述多个系统层的确定结果通知给所述多个存储系统。在将存储介质添加到所述系统池之后,所述管理服务器为所述多个存储系统中的因添加所述存储介质而受到影响的一个存储系统中的有关的单独的池调整所述多个单独的层。响应于用户请求,所述管理服务器改变用于所述系统池的所述多个系统层。响应于用于所述系统池的所述多个系统层的改变,动态地调整所述多个单独的层。所述管理服务器基于用于所述多个存储系统的存储控制器的状态,确定所述存储卷的配置以及位置。
在特定实施例中,响应于要求释放所述存储系统中的一个存储系统的所述单独的池的请求,在所述系统中发生下述处理中的至少一种处理:将要被释放的所述单独的池中的内部存储卷迁移到所述多个存储系统中的另一个存储系统中的单独的池;将由所述第一存储系统中的存储控制器分配并直接控制的存储介质分配给所述多个存储系统中的另一个存储系统的存储控制器;以及将由所述多个存储系统中的另一个存储系统的存储控制器控制的外部卷的数据迁移到由控制所述外部卷的所述数据的所述另一个存储系统中的存储控制器控制的存储卷。外部卷的所述数据被迁移到由控制所述外部卷的所述数据的所述另一个存储系统中的存储控制器控制的内部存储卷,或被迁移到控制所述外部卷的所述数据的所述另一个存储系统中的单独的池中的存储卷。
结合下述特定实施例的详细描述,本领域普通技术人员将更加容易理解本发明的这些和其它特征以及优势。
附图说明
图1说明了信息系统的管理视图的示例,在该信息系统中可以应用本发明的方法和装置;
图2说明了图1的信息系统的逻辑配置的示例;
图3说明了每个前端存储子系统的分层精简配置池的配置以及前端存储子系统之间的关系;
图4说明了前端存储子系统的示例配置;
图5说明了磁盘管理表的示例;
图6说明了层管理表的示例;
图7说明了卷管理表的示例;
图8说明了分层精简配置池、RAID组以及层的关系的示例;
图9说明了主机卷、交叉装配(cross mount)卷、分层精简配置以及页面的关系的示例;
图10说明了集成存储池管理服务器的配置的示例;
图11说明了集成存储池层管理表的表结构的示例;
图12说明了存储子系统管理表的表结构的示例;
图13说明了系统信息表的表结构的示例;
图14是说明集成存储池扩展控制程序的处理的流程图的示例;
图15是说明集成存储池缩减控制程序的处理的流程图的示例;
图16是说明集成存储池层配置控制程序的处理的流程图的示例;
图17是说明集成存储池卷控制程序的处理的流程图的示例;
图18是说明集成存储池再平衡控制程序的处理的流程图的示例;
图19是说明集成存储池监控程序的处理的流程图的示例;
图20示出了作为用于用户的输入/输出(I/O)接口的集成存储池元件管理器的示例;
图21示出了作为用于用户的I/O接口的集成存储池层管理器的示例;
图22示出了作为用于用户的I/O接口的集成存储池卷管理器的示例;
图23说明了精简配置池中的层和集成存储池中的层之间的关系;
图24示出了存储子系统安装和集成存储池的扩展的顺序的示例;
图25示出了图24中的过程S1-5之后的系统的状态;
图26说明了用于获得图25的状态的数据、信息和命令的流;
图27示出了在图24的过程S1-9之后系统的状态;
图28示出了用于获得图27的状态的数据、信息和命令的流;
图29示出了来自集成存储池的卷提供的顺序的示例;
图30示出了在图29的顺序之后系统的状态;
图31示出了用于获得图30的状态的数据、信息和命令的流;
图32示出了从主机至主机卷的I/O顺序的示例;
图33示出了在图32的写I/O之后系统的状态;
图34示出了用于获得图33的状态的数据、信息和命令的流;
图35示出了分层存储管理的顺序的示例;
图36示出了在图35的页面迁移过程中的系统的状态;
图37示出了找到层替代的必要性的数据、信息和命令的流;
图38示出了迁移容量页面以改变层的数据、信息和命令的流;
图39示出了从每个前端存储子系统的资源信息收集的顺序的示例;
图40示出了迁移容量页面以改变层的数据、信息和命令的流;
图41示出了改变前端存储子系统之间的外部卷装配(mount)的顺序的示例;
图42示出了图41中的重新装配(remount)过程中的系统的状态;
图43示出了重新装配外部卷的数据、信息和命令的流;
图44示出了用于装配从另一个前端存储子系统装配容量的增加顺序的示例;
图45示出了在图44的重新装配过程中的系统的状态;
图46示出了用于重新装配外部卷的数据、信息和命令的流;
图47示出了两个存储子系统之间的卷迁移的顺序的示例;
图48示出了在图47的迁移处理中的系统的状态;
图49示出了用于重新装配外部卷的数据、信息和命令的流;
图50示出了通过移除存储子系统而缩减集成存储池的顺序的示例;以及
图51示出了在图50的集成存储池的缩减处理中的系统的状态。
具体实施方式
在本发明的下述具体实施方式中,参考形成本揭示的一部分的附图,附图通过说明示例实施例的方式而不是限制示例实施例的方式示出,通过示例实施例可以实施本发明。在附图中,相似的附图标记描述各个图中基本相似的部件。进一步地,应该注意到尽管如下所述并且如图所说明的具体实施方式提供了各种示例实施例,本发明不限于这里描述和说明的实施例,而是能够延伸到如同本领域普通技术人员所知或会知道的其它实施例。说明书中引用的“一个实施例”、“该实施例”、或“这些实施例”的意思是联系实施例所描述的特定特征、结构或特点包括在本发明的至少一个实施例中,并且在说明书的各个地方出现的这些短语不是必须地指的是相同的实施例。另外,在下述具体实施方式中,提出多个特定细节从而提供对本发明的详细理解。然而,对本领域普通技术人员来说将显而易见不是必须所有的这些特定细节才能实施本发明。在其它环境下,公知的结构、材料、电路、处理和接口没有详细描述,和/或可以用框图的形式说明,从而不会不必要地使本发明模糊。
此外,通过计算机中操作的算法和符号表达来表述下面具体实施方式中的一些部分。这些算法描述和符号表达是在数据处理领域的普通技术人员使用以最有效地将它们的创新实质传递给本领域的其它普通技术人员的手段。算法是一系列定义的步骤以导致期望的结束状态和结果。在本发明中,执行的步骤需要切实的物理量操作以实现切实的结果。尽管并不必须,通常这些量采用电或磁信号的形式,或者是能够被存储、传递、合并、比较和操作的指令的形式。为了共用的原因,已经多次被证明将这些信号参考为比特、值、元件、符号、字符、术语、数字、指令等是方便的。然而,应该牢记所有这些和类似的术语与恰当的物理量相关联,并且仅为施加到这些量上的方便的标签。除非另行提及,如从下面的讨论中显而易见,应该理解到在整个说明书中,利用例如“处理”、“计算”、“确定”、“显示”等的术语的讨论可以包括计算机系统或其它信息处理装置的行为和处理,该计算机系统或其它信息处理装置将在计算机系统的寄存器和存储器中的表示为物理(电子)量的数据操作和转换为计算机系统的存储器或寄存器或其它信息存储、传输和显示装置内的类似地表示为物理量的其它数据。
本发明还涉及一种用于执行这里的操作的装置。该装置可以被特别地构造用于所需目的,或者可以包括由一个或多个计算机程序选择性地激活或重配置的一个或多个通用计算机。这样的计算机程序可以存储在计算机可读存储介质中,例如但不限于光盘、磁盘、只读存储器、随机访问存储器、固态设备和驱动、或任何适用于存储电子信息的其它类型的介质。这里示出的算法和显示并不内在地与任何特定的计算机或其它装置相关。各种通用系统可以根据这里的教示使用程序和模块,或者可以证明便于构造更加专业的装置以执行期望的方法步骤。此外,本发明并不通过参考任何特定编程语言来描述。应当理解可以使用多种编程语言来实施这里描述的本发明的教示。编程语言的指令可以由一个或多个处理设备来执行,处理设备例如是中央处理单元(CPU)、处理器或控制器。
下面将更加详细地说明的本发明的示例实施例提供用于松耦合多存储环境的分层存储池管理和控制的装置、方法和计算机程序。
本发明的各个方面利用下述存储系统技术:Cameron的关于精简配置的US专利No.6823442;Yamamoto等人的关于装配外部卷的US专利No.7711896;Nagai等人的关于基于页面的分层存储管理的US公开号US2007/0055713;Otani等人的关于非毁坏卷迁移的US专利公开号US2010/0070722;以及Kawaguchi的关于两个存储模块之间的映射信息迁移的US专利公开号US2008/0184000。通过引用将这些专利的全部揭示包括在这里。
A.系统的管理视图
图1说明了信息系统的管理视图的示例,在该信息系统中可以应用本发明的方法和装置。该图示出了系统的配置和功能的概括。信息系统包括用于存储数据的多个前端存储子系统100、用于存储数据的多个后端存储子系统200以及多个主机500。每个主机500连接一个或多个主机卷131并且发送I/O至主机卷131。一些主机卷131可以由多个主机500分享。每个主机卷131提供数据存储区域并且由集成或系统存储池600提供。主机卷131的数据存储在前端存储子系统100和/或后端存储子系统200中。
集成存储池600包括前端存储子系统100和后端存储子系统200。集成存储池600向主机500提供主机卷131。主机卷131和数据位于的存储之间的关系由集成存储池600对用户隐藏。集成存储池600能够根据需求增加一个或多个前端存储子系统100和/或一个或多个后端存储子系统200。也能够根据需求移除一个或多个前端存储子系统100和/或一个或多个后端存储子系统200,除非在移除后缺乏集成存储池600的资源。集成存储池600能够在前端存储子系统100和后端存储子系统200之间平衡自己的资源。平衡处理对于主机500是隐藏的。如同下面将详细讨论的,管理服务器300收集分配给多个存储子系统的存储介质的信息并且基于收集的信息中的存储介质的特征来动态地确定用于系统池600的多个系统层,系统池600包括分配给多个存储子系统的存储介质。如这里所使用的,“动态地”指的是在管理服务器300的在线操作过程中(例如在确定系统层时),多个存储子系统能够接收来自主机计算机的I/O请求。
B.系统的配置
B1.系统的逻辑配置
图2说明了图1的信息系统的逻辑配置的示例。信息系统包括前端存储子系统100、后端存储子系统200、集成存储池管理服务器300、网络400和401以及主机500。
前端存储子系统100存储数据。数据在作为单个池的分层精简配置池110中。前端存储子系统100将主机卷131提供给主机500并且将交叉装配卷132提供给其它前端存储子系统100。前端存储子系统100连接至主机500和集成存储池管理服务器300。前端存储子系统100能够连接到后端存储子系统200并且能够将数据经由网络401传输到后端存储子系统200或经由网络401从后端存储子系统200接收数据。如下所述在图4中提供了详细说明。后端存储子系统200连接到前端存储子系统100并且将后端卷231提供给前端存储子系统200。
集成存储池管理服务器300连接到前端存储子系统100、后端存储子系统200以及主机500。集成存储池管理服务器300管理前端存储子系统100和后端存储子系统200的存储资源和配置,以及主机500和前端存储子系统100之间的连接。如下所述在图10中提供详细说明。
网络400在主机500、前端存储子系统100以及集成存储池管理服务器300之间传输数据、信息和命令。网络401在前端存储子系统100、后端存储子系统200以及集成存储池管理服务器300之间传输数据、信息和命令。网络400和网络401能够被统一。主机500连接到前端存储子系统100。在主机500的路径管理模块501中定义了用于每个主机500的路径配置。I/O路径遵从配置。
图3说明了每个前端存储子系统的分层精简配置池110的配置以及前端存储子系统100之间的关系。分层精简配置池110包括一个或多个RAID组112。RAID组112能够被分类为一个或多个类型的层,例如RAID组112-1、112-2、112-3、112-4、112-6等。每种类型的RAID组具有在可靠性、可用性、性能、容量、成本、连接协议和物理性方面的特定特征。示例包括RAID级、HDD的RPM、介质类型、位置(内部/外部)等。前端存储子系统100能够通过外部卷装配功能将外部存储子系统上的卷使用作为自己的RAID组。如同在图3中所见的,通过外部卷装配功能将后端卷231装配作为RAID组112-5,并且通过外部卷装配功能将交叉装配卷132装配作为RAID组112-6。分层精简配置池110被分为多个层。如下所述在图8和图9中描述了配置和控制方法的细节。
主机卷131和交叉装配卷132由具有层配置的分层精简配置池110提供。主机卷131由主机500连接并且交叉装配卷132由另一个前端存储子系统100连接。
B2.前端存储子系统的物理配置
图4说明了前端存储子系统100的示例配置。前端存储子系统100包括存储控制器101和磁盘106。存储控制器101具有CPU 102、存储器103、主机接口104、磁盘接口105、管理服务器接口107以及磁盘106。CPU 102使用存储器103中的控制程序和控制表控制存储子系统。存储器103存储数据、程序和表并且包括高速缓存区域103-0、磁盘管理表103-1、分层池管理表103-2、卷管理表103-3、页面管理表103-4、性能监控程序103-5、卷I/O控制程序103-6、磁盘I/O控制程序103-7、页面控制程序103-8以及卷迁移控制程序103-9。
存储器103具有用于存储读和写高速缓存数据的高速缓存区域103-0。磁盘管理表103-1管理RAID组的配置(见图5)。分层池管理表103-2管理分层精简配置池110中的层的配置(见图6)。卷管理表103-3管理主机卷131和交叉装配卷132的设置(见图7)。页面管理表103-4管理精简配置功能的页面分配。性能监控程序103-5收集存储配置和工作负载信息并将其发送到集成存储池管理服务器300。卷I/O控制程序103-6控制从主机500和前端存储子系统100的读和写I/O。磁盘I/O控制程序103-7控制对磁盘106、前端存储子系统100和后端存储子系统200的读和写I/O。页面控制程序103-8控制精简配置页面的分配和再分配。当发生写I/O时,运行页面分配处理。当发生资源不平衡时,运行页面再分配处理以重新平衡。当发生RAID组的移除时,也运行页面再分配处理以使得页面离开被移除的RAID组。卷迁移控制程序103-9控制来自/至前端存储子系统100的卷数据、卷配置和卷属性迁移以迁移卷。
主机接口104是连接主机500的接口并且接收来自主机500的主机I/O并将其传输到CPU 102。磁盘接口105是连接至磁盘106的接口并且将从CPU102接口到的磁盘I/O发送到磁盘106。管理服务器接口107是连接集成存储池管理服务器300的接口。该接口将从CPU 102接收的存储信息发送到集成存储池管理服务器300并且从集成存储池管理服务器300接收命令并且将其传输到CPU 102。
磁盘存储存储数据。存在多种类型的磁盘106,包括在图4中可见的磁盘106-1、磁盘106-2、磁盘106-3、以及磁盘106-4。多个磁盘106组成RAID组。RAID组是图3中示出的RAID组112。
B3.前端存储子系统的表结构
图5说明了磁盘管理表103-1的示例,磁盘管理表103-1管理前端存储子系统100中的RAID组112的配置。表具有列:RAID组ID103-1-1、容量信息103-1-2、属性信息103-1-3、内部/外部位置信息103-1-4、RAID级信息103-1-5以及磁盘ID 103-1-6。RAID组ID103-1-1是前端存储子系统100中的唯一号。容量信息103-1-2包含RAID组的可使用容量。属性信息103-1-3提供RAID组的类型并且存储RAID组的连接类型和介质类型。属性信息103-1-3指示RAID组是否是外部卷。例如存储子系统的类型以及装配的卷的层配置的配置从集成存储池管理服务器300传递。位置信息103-1-4示出了关于连接类型(内部或外部)的信息。RAID级信息103-1-5提供关于RAID级的信息。磁盘ID包括RAID组中每个磁盘的ID。如果磁盘是内部磁盘,则存储前端存储子系统100的磁盘ID。如果磁盘是外部卷,则存储能够在系统中识别的卷信息,包括例如WWN(全局名称)或LUN(逻辑单元号)。
图6说明了层管理表103-2的示例,层管理表103-2管理精简配置池110中的层的配置。表具有列:层ID103-2-1、总容量信息103-2-2、使用的容量信息103-2-3、层配置设置103-2-4、RAID组ID103-2-5以及层优先级设置103-2-6。层ID103-2-1是分层精简配置池110中的唯一号。总容量信息103-2-2提供属于该层的RAID组的总容量。使用的容量信息103-2-3提供从层向主机卷131和交叉装配卷132分配的页面容量。层配置设置103-2-4是层的限定并且包含属于层的RAID组的类型的信息。RAID组ID103-2-5包含属于层的RAID组的ID。选择是基于层配置设置103-2-4中的信息。层优先级设置103-2-6包含层优先级的配置。页面控制程序103-8基于该信息以及卷管理表103-3来分配和再分配页面。
图7说明了卷管理表103-3的示例,卷管理表103-3管理主机卷131和交叉装配卷132的设置。表具有列:卷ID103-3-1、卷容量103-3-2、分配的容量103-3-3、可使用的层设置103-3-4以及卷类型信息103-3-5。卷ID103-3-1是卷的ID。卷容量103-3-2提供卷的容量。分配的容量103-3-3是向卷分配的页面的总容量。层设置103-3-4是卷能够从其分配页面的层。如果卷是交叉装配卷132,能够通过防止交叉装配卷132使用具有由另一个前端存储子系统提供的外部卷的层来防止在多个前端存储子系统100中的循环页面分配。卷类型信息103-3-5包含访问卷的设备信息。
B4.分层精简配置功能的逻辑配置
图8说明了分层精简配置池110、RAID组112以及层111的关系的示例。分层精简配置池110包括多个层111。每个层111是在RAID组ID 103-2-5中列出的一组RAID组。RAID组的选择是基于层配置设备103-3-4中的信息的。图8示出了具有不同介质类型的几个层:层111-1、层111-2、层111-3、层111-4、层111-5、层111-6等。每个层具有优先级设置。信息存储在层优先级设置103-2-5中。
图9说明了主机卷131、交叉装配卷132、分层精简配置110以及页面的关系的示例。当卷使用精简配置功能时,卷从分层精简配置池110向覆盖发生了写I/O的地址的卷页面131-1分配容量页131-2。卷页面131-1和容量页面131-2之间的关系存储在页面管理表103-4中。通过分配的容量页面131-2至另一个容量页面之间的数据复制以及改变卷页面131-1和容量页面131-2之间的映射信息,能够改变分配。前端存储子系统100自动地改变根据性能信息、工作负载信息、存储配置、剩余层容量、层优先级设置103-2-5中的层优先级设置以及卷类型信息103-3-5中的卷QoS设置的分配。
B5.集成存储池管理服务器的物理配置
图10说明了集成存储池管理服务器300的配置的示例。集成存储池管理服务器300包括CPU 301、系统管理接口302、存储器303、输入设备304以及显示器305。CPU 301通过使用存储器303中的控制程序和控制表来控制服务器300。系统管理接口302是连接前端存储子系统100、后端存储子系统200以及主机500的接口。系统管理接口302将命令发送到前端存储子系统100、后端存储子系统200以及主机500以改变配置。系统管理接口302从前端存储子系统100和后端存储子系统200接收存储性能和工作负载以及配置信息。
存储器303存储数据、程序和表。集成存储池层管理表303-1存储集成存储池600的层配置和状态信息。结构的细节在图11中示出。存储子系统管理表303-2存储每个前端存储子系统100和后端存储子系统200的配置和状态信息。结构的细节在图12中示出。系统信息表303-3存储系统中除了存储设备之外的IT设备的配置、性能和工作负载信息。结构的细节在图13中示出。集成存储池扩展控制程序303-4将新的前端存储子系统100和后端存储子系统200安装到集成存储池600中。该程序基于集成存储池层管理表303-1中的信息来设置对于前端存储子系统100的层配置,并且设置外部卷装配和交叉装配配置。处理的细节在图14中示出。集成存储池缩减控制程序303-5将旧的前端存储子系统100和后端存储子系统200从集成存储池600移除。该程序命令被移除的前端存储子系统100释放存储资源并且命令未被移除的前端存储子系统100占用被移除的前端存储子系统100的数据和资源。处理的细节在图15中示出。集成存储池层配置控制程序303-6基于集成存储池层管理表303-1中的信息设置和/或改变每个前端存储子系统100的层配置。处理的细节在图16中示出。集成存储池卷控制程序303-7选择前端存储子系统100并且命令前端存储子系统100提供具有QoS设置和主机路径设置的卷。处理的细节在图17中示出。集成存储池资源控制程序303-8检查资源以发现不可接受的资源不平衡。如果程序发现不平衡,则命令前端存储子系统100对集成存储池600中的资源再平衡。处理的细节在图18中示出。集成存储池监控程序303-9收集配置、性能和工作负载信息并且警告每个前端存储子系统100和后端存储子系统200。
输入设备304允许用户输入存储配置设置。显示器305是对于用户的输出设备并且点击器305-0向用户示出了当前输入区域。显示器305示出了多个管理器。集成存储池元件管理器305-1呈现作为用户接口的窗口以命令将新的前端存储子系统100和后端存储子系统200安装到集成存储池600中。窗口的细节在图20中示出。集成存储池层管理器305-2呈现作为用户接口的窗口以设置集成存储池600的层的配置。窗口的细节在图21中示出。集成存储池卷管理器305-3呈现作为用户接口的窗口以提供新的主机卷131和改变集成的存储池600的现有主机卷131的配置。
B6.集成存储池管理服务器的表结构
图11说明了集成存储池层管理表303-1的表结构的示例。该表管理集成存储池600中的每个层的配置。集成存储池扩展控制303-4在注册时从该表生成新的前端存储子系统100中的分层精简配置池110中的层的配置。集成存储池卷控制303-7生成在卷提供时的卷的配置和位置。
集成存储池层管理表303-1具有下述列。层ID 103-1-1是层的ID,其是集成存储池600中的唯一号。层配置设置303-1-2提供层的定义,包括属于前端存储子系统100中的精简配置池110的层的类型。用户输入来自集成存储池层管理器305-2的这些设置。内部层优先级设置303-1-3提供当前端存储子系统100使用后端存储子系统200的外部卷或内部RAID组时关于层使用的优先级信息。用户输入来自集成存储池层管理器305-2的这些设置。当集成存储池管理服务器300将层设置改变或应用到分层精简配置池110的内部RAID组层时,层的优先级设置基于该信息以及外部层优先级设置303-1-4。外部层优先级设置303-1-4提供当前端存储子系统100使用其它前端存储子系统100的外部卷时关于层使用的优先级信息。集成存储池管理服务器300使用内部层优先级设置303-1-3中的优先级信息以及系统信息表303-3中的延迟和工作负载信息来计算该值。当集成存储池管理服务器300将层设置改变或应用至组成来自前端存储子系统100的外部卷层的分层精简配置池110的层时,层的优先级设置基于该信息和外部层优先级设置303-1-4。
存储子系统ID 303-1-5提供属于集成存储池600的前端存储子系统100的ID。该信息由集成存储池扩展控制303-4注册。精简配置池层ID303-1-6提供与集成存储池600的层相关的精简配置池110的层的ID。信息由集成存储池扩展控制303-4注册。存储子系统层总容量303-1-7提供除了前端存储子系统100的外部卷层之外的分层精简配置池110的层的总容量。该信息由集成存储池监控程序303-9收集和存储。存储子系统层使用的容量303-1-8提供除了前端存储子系统100的外部卷层之外的分层精简配置池110的层的使用的容量。该信息由集成存储池监控程序303-9收集和存储。存储子系统层限制工作负载303-1-9提供分层精简配置池110的层的性能信息。该信息从例如磁盘数目、介质类型、RAID级等的层配置计算而来。配置信息由集成存储池监控程序303-9收集和存储。存储子系统层当前工作负载303-1-10提供分层精简配置池110的层的工作负载信息。该信息由集成存储池监控程序303-9收集和存储。
图12说明了存储子系统管理表303-2的表结构的示例。该表管理前端存储子系统100的配置和状态、前端存储子系统100中的卷133、连接到卷的主机500以及将主机和卷链接的网络400。卷容量信息303-2-6、卷使用的容量信息303-2-7、卷工作负载信息303-2-8以及高速缓存命中率(hit rate)信息303-2-9对于选择用于在前端存储子系统00中的资源再平衡的卷是重要的。
存储子系统管理表303-2具有下述列。存储ID 303-2-1提供前端存储子系统100的ID作为系统中的唯一号。卷ID 303-2-2提供主机卷131的ID作为前端存储子系统100中的唯一号。主机ID 303-2-3提供连接至卷的主机500的ID作为系统中的唯一号。网络区ID 303-2-4提供主机和卷使用的网络区的ID作为系统中的唯一号。层ID 303-2-5提供卷能够从其分配/再分配页面的分层精简配置池110中的层的ID作为分层精简配置池110中的唯一号。卷容量信息303-2-6提供卷的容量信息并且由集成存储池监控程序303-9收集和存储。卷使用的容量信息303-2-7提供卷的使用的容量信息,并且由集成存储池监控程序303-9收集和存储。卷工作负载信息303-2-8提供卷的工作负载信息并且由集成存储池监控程序303-9收集和存储。高速缓存命中率信息303-2-9提供卷的高速缓存命中/错过信息,并且由集成存储池监控程序303-9收集和存储。
图13说明了系统信息表303-3的表结构的示例。该表存储除了存储之外的关于系统的实际性能和当前工作负载的信息。该信息对于选择用于再平衡前端存储子系统100和后端存储子系统200中的存储资源的方法非常有用。
系统信息表303-3具有下述列:索引303-3-1提供系统性能的索引。性能信息303-3-2提供关于实际性能的信息,该值能够由用户通知。工作负载信息303-3-3提供部件的当前工作负载。该值由集成存储池监控程序303-9收集,由主机500和网络400输入或计算。
B7.集成存储池管理服务器的程序的处理
图14是说明集成存储池扩展控制程序303-4的处理的流程图的示例。当用户向集成存储池600增加新的存储子系统时该程序运行。操作指令来自集成存储池元件管理器305-1。
程序在步骤303-4-1开始。在步骤303-4-2,用户向存储池元件管理器305-1提供用于新存储子系统信息的池额外输入。在步骤303-4-3,程序收集新存储子系统的配置信息(例如RAID组配置)。程序参考集成存储层管理表303-1并且将新存储子系统中的RAID组分类到层。在步骤303-4-4,程序从收集的信息生成新存储子系统的配置。如果存储子系统适用于后端存储子系统200,则程序选择要连接的前端存储子系统100。在步骤303-4-5,程序将外部卷设置应用到新存储子系统。如果新存储子系统是后端存储子系统200,则程序命令前端存储子系统100将卷装配为外部卷并安装到分层精简配置池110。在步骤303-4-6,程序将生成的层配置应用到新存储子系统。如果新存储子系统是前端存储子系统100,则程序命令新存储子系统设置用于自己的精简配置池110的生成的层。在步骤303-4-7,程序将交叉装配卷设置应用到集成存储池中的所有存储子系统。如果新存储子系统是前端存储子系统100,则程序命令建立具有QoS设置的交叉装配卷132,并且命令其它前端存储子系统100将新前端存储子系统100的交叉装配卷132装配为外部卷。程序在步骤303-4-8结束。
图15是说明集成存储池缩减控制程序303-5的处理的流程图的示例。当用户将现有存储子系统从集成存储池600移除时该程序运行。操作指令来自集成存储池元件管理器305-1。
程序在步骤303-5-1开始。在步骤303-5-2,用户向存储池元件管理器305-1提供被移除的存储子系统的信息的池缩减输入。在步骤303-5-3,程序收集新存储子系统的配置信息(例如RAID组配置和卷配置)。程序参考集成存储层管理表303-1以获知集成存储池600的当前配置。在步骤303-5-4,程序从收集的信息生成每个剩余存储子系统的配置。在步骤303-5-5,程序命令被移除的存储子系统和剩余存储子系统彼此之间迁移数据。更具体地,从缩减的存储子系统向其它存储子系统迁移数据。通过该操作在前端存储子系统100中运行卷迁移控制程序103-9和/或页面控制程序103-8。在步骤303-5-6,如果被移除的存储子系统是前端存储100,则程序命令被移除的存储子系统卸下外部卷,并且装配后端存储子系统200的卷。在步骤303-5-7,如果被移除存储子系统是前端存储子系统,则程序命令剩余的存储子系统装配被移除存储子系统已经装配的后端存储子系统200的卷。在步骤303-5-8,如果被移除存储子系统是前端存储子系统,则程序命令剩余存储子系统卸载由被移除存储子系统提供的交叉装配卷。通过该操作在剩余存储子系统中运行页面控制程序103-8。在步骤303-5-9,用户将被移除存储子系统从网络断开并移除。程序在步骤3-3-5-10结束。
图16是说明集成存储池层配置控制程序303-6的处理的流程图的示例。当用户改变集成存储池600的层配置时,该程序运行。操作指令来自集成存储池层管理器305-2。
程序在步骤303-6-1开始。在步骤303-6-2,程序收集每个存储子系统的配置信息。程序参考集成存储层管理表303-1以获知集成存储池600的当前配置。程序对用户示出集成存储池600的全部配置。集成存储池600的层资源量(例如容量)是在每个前端存储子系统100的分层精简配置池110中的相关层的量的总和。以此方式,用户能够知道系统中每层的总资源量和剩余资源量。在步骤303-6-3,用户从存储池层管理器305-2输入集成存储池600的新层配置。在步骤303-6-4,程序生成用于新设置的配置,例如层优先级和分类。在步骤303-6-5,程序命令每个前端存储子系统100改变分层精简配置池110的层配置。通过该操作在前端存储子系统100中运行页面控制程序103-8。程序在步骤303-6-6结束。
图17是说明集成存储池卷控制程序303-7的处理的流程图的示例。当用户提供集成存储池600中的现有卷的改变配置的新卷时该程序运行。操作指令来自集成存储池卷管理器305-3。
程序在步骤303-7-1开始。程序参考集成存储层管理表303-1以获得集成存储池600的当前配置。在步骤303-7-2,程序向用户示出集成存储池600的总信息。集成存储池600的层资源量(例如容量)是在每个前端存储子系统100的分层精简配置池110中的相关层的量的总和。以此方式,用户能够知道系统中每层的总资源量和剩余资源量。在步骤303-7-3,用户从存储池卷管理器305-3输入集成存储池600的新卷配置,包括例如卷容量、连接至卷的主机以及QoS设置。在步骤303-7-4,程序检查哪个操作发生。如果是卷提供,则程序进行到步骤303-7-5。如果是卷重配置,则程序进行到303-7-7。在步骤303-7-5,程序选择适当的前端存储子系统100来提供主机卷131。选择从剩余资源、网络转换性以及对于卷的需求生成。该程序基于从存储池卷管理器305-3的输入以及所选择的前端存储子系统100的当前配置生成QoS设置(使用层设置)。在步骤303-7-6,程序命令前端存储子系统100提供具有容量和QoS设置的主机卷131。程序命令主机500连接至提供的主机卷131。在步骤303-7-7,程序基于来自存储池卷管理器305-3的输入以及所选择的前端存储子系统100的当前配置生成QoS设置(使用层设置)。在步骤303-7-8,程序命令前端存储子系统100改变主机卷131的容量和QoS设置。如果改变了连接主机500,程序命令当前主机500从卷断开并且命令所选择的主机连接卷。程序在步骤303-7-9结束。
图18是说明集成存储池再平衡控制程序303-8的处理的流程图的示例。该程序周期地运行。程序在步骤303-8-1开始。在步骤303-8-2,程序参考集成存储层管理表303-1和存储子系统管理表303-2以获取集成存储池600的当前配置和使用。在步骤303-8-3,程序检查集成存储池600中的层的不可接受-不平衡的使用。如果层被平衡,则程序在步骤303-8-11结束。否则,在步骤303-8-4,程序生成下述再平衡方式以解决不平衡。
一个方法是在两个前端存储子系统之间指派后端外部卷(见图39)。另一个是在两个前端存储子系统之间的卷迁移(见图46)。另一个方法涉及通过两个前端存储子系统之间的交叉装配卷的容量出租(见图43)。在步骤303-8-5,程序从步骤303-8-4中选择最佳方式。基于效果、系统工作负载以及改变时间来决定选择。从系统信息表303-3、集成存储层管理表303-1以及存储子系统管理表303-2生成参数。在步骤303-8-6(第一选择),程序命令资源充足的前端存储子系统100卸载后端存储子系统200的外部卷。通过该卸载操作,页面控制程序103-8将在资源缺乏的前端存储子系统100中运行以将分配的容量页面131-2排空到其它RAID组。在步骤303-8-7,程序命令资源缺乏的前端存储子系统100将卸载的卷装配为外部卷并且将装配的卷安装到适当的层。在步骤303-8-8(第二选择),程序命令资源缺乏的前端存储子系统100将主机卷131迁移到资源充足的前端存储子系统100。通过该迁移操作,卷迁移控制程序103-9将在资源缺乏的前端存储子系统100以及资源充足的前端存储子系统100中运行。在步骤303-8-9(第三选择),程序命令资源充足的前端存储子系统100提供交叉装配卷132以向资源缺乏的前端存储子系统100提供容量。在步骤303-8-10,程序命令资源充足的前端存储子系统100装配由资源充足的前端存储子系统100提供的交叉装配卷132。程序在步骤303-8-11结束。
图19是说明集成存储池监控程序303-8的处理的流程图的示例。该程序周期地运行。程序在步骤303-9-1开始。在步骤303-9-2,程序从前端存储子系统100和后端存储子系统200接收配置和工作负载信息。在步骤303-9-3,程序将接收的信息存储到系统信息表303-3、集成存储层管理表303-1以及存储子系统管理表303-2。程序在步骤303-9-4结束。
B8.集成存储池管理服务器的显示图像
图20示出了作为用于用户的输入/输出(I/O)接口的集成存储池元件管理器305-1的示例。使用该I/O接口,用户能够输入将要增加到集成存储池600的新存储子系统,能够输入要从集成存储池600移除的已有存储子系统,并且能够检查当前资源信息和在修改集成存储池600之后的资源信息。I/O接口包括下述特征。池层资源信息面板305-1-1向用户示出了每层的当前资源量。当用户设置向集成存储池600增加存储子系统和/或从集成存储池600移除存储子系统时,面板示出了修改后的资源信息。池状态信息面板305-1-2示出了集成存储池600的当前状态。池配置信息面板305-1-3向用户示出了集成存储池600中的存储子系统列表。用户也能够从该列表选择存储子系统以从集成存储池600移除。存储子系统信息面板305-1-4向用户示出了不在集成存储池600中但是能够加入其中的存储子系统的列表。用户能够从该列表选择存储子系统以加入到集成存储池600中。使用添加按钮305-1-4,用户能够在从存储子系统信息面板305-1-4选择存储子系统之后通过按下该按钮来将存储子系统添加到集成存储池600。使用移除按钮305-1-5,用户能够在从池置信息面板305-1-3选择存储子系统之后通过按下该按钮而将存储子系统从集成存储池600移除。使用应用按钮305-1-7,用户能够通过按下该按钮来发送集成存储池扩展控制程序303-4的命令以将存储子系统添加到集成存储池600;另外地或可选地,用户能够通过按下该按钮而发送集成存储池缩减控制程序303-5以将存储子系统添加到集成存储池600。用户通过按下撤销按钮305-1-8来将配置返回当前状态。
图21示出了作为用于用户的I/O接口的集成存储池层管理器305-2的示例。用户通过使用该接口能够输入集成存储池600的层配置并且能够检查当前资源信息和集成存储池600修改之后的资源信息。接口包括下述特征。池层资源信息面板305-2-1向用户示出了每层的当前资源量。当用户对于集成存储池600设置层配置改变时,该面板示出修改后的资源信息。池状态信息面板305-2-2示出了集成存储池600的当前状态。层配置信息面板305-2-3向用户示出了集成存储池600中的层列表。用户能够改变集成存储池600的层配置。用户能够通过按下应用按钮305-2-7来发送集成存储池层配置控制程序303-6的命令来改变集成存储池600的层配置。用户能够通过按下撤销按钮305-2-8来将配置返回当前状态。
图22示出了作为用于用户的I/O接口的集成存储池卷管理器305-3的示例。用户通过使用该接口能够输入集成存储池600的卷配置并且能够检查集成存储池600的当前资源信息。接口包括下述特征。池层资源信息面板305-3-1向用户示出了每层的当前资源量。池状态信息面板305-3-2示出了集成存储池600的当前状态。卷配置信息面板305-3-3向用户示出了集成存储池600中的卷列表。用户能够改变集成存储池600的卷配置。用户能够通过按下应用按钮305-3-7n来发送集成存储池层配置控制程序303-6的命令来改变集成存储池600的卷配置。用户能够通过按下撤销按钮305-3-8来将配置返回当前状态。
B9.精简配置池层和集成存储池层之间的关系
图23说明了精简配置池110中的层和集成存储池600中的层之间的关系。集成存储池600具有层611,该层由介质类型、RAID级、成本等分类。它们被分类为层611-1、层611-2、层611-3、层611-4、层611-5等。分类基于集成存储池层管理表303-1中的设置。集成存储池600中的每个层611具有前端存储子系统100的每个精简配置池100的层111。每个层611具有来自集成存储池层管理表303-1的优先级设置。
C.系统的操作步骤
C1.集成存储池扩展
图24示出了存储子系统安装和集成存储池600的扩展的顺序的示例。顺序具有如下步骤。在步骤S1-1,用户引入新前端存储子系统100a和100b并设置前端存储子系统100a和100b的RAID组配置和网络配置。通过该步骤,前端存储子系统100a和100b在S1-2改变配置。用户命令集成存储池600使用前端存储子系统100a和100b扩展。通过该步骤,集成存储池600在S1-3改变配置。在步骤S1-2,前端存储子系统100建立RAID组112并且得到网络信息并登录网络。在步骤S1-3,首先,集成存储池关联服务器300命令前端存储子系统100a和100b,向S1-4进发,装配后端存储子系统100的外部卷,建立分层精简配置池110,并且建立分层精简配置池110中的层并且进行到S1-4。接下来,集成存储池管理服务器300命令前端存储子系统(向S1-6进发)从具有QoS设置的分层精简配置池110提供交叉装配卷132。接下来,分层存储池管理服务器300命令前端存储在系统(向S1-6进发)装配另一个前端存储子系统100的提供的交叉装配卷132并且进行到S1-8。
在步骤S1-4,前端存储子系统100建立分层精简配置池110。前端存储子系统100装配后端存储子系统200的指定外部卷并且将外部卷安装到分层精简配置池110中。前端存储子系统100设置层111的指定配置。在步骤S1-5,分层精简配置池110中的RAID组112被分类为层111。在步骤S1-6,前端存储子系统100使用指定QoS设置制作交叉装配卷132。在步骤S1-7,提供交叉装配卷132。在步骤S1-8,前端存储子系统100装配某些其它前端存储子系统100的指定交叉装配卷132。在步骤S1-9,将交叉装配卷132的外部卷装配作为RAID组。
图25示出了步骤S1-5之后的系统的状态。后端存储子系统200的外部卷231由前端存储子系统100来装配。每个前端存储子系统100具有分层精简配置池110,分层精简配置池110具有内部RAID组112以及装配的外部卷231。
图26说明了用于获得图25的状态的数据、信息和命令的流。集成存储池扩展控制程序303-4从存储子系统管理表303-2和集成存储池层管理表303-1获取集成存储池600的当前配置。集成存储池扩展控制程序303-4生成集成存储池600的新配置并将新配置存储到每个表中。集成存储池扩展控制程序303-4命令分层池管理表103-2来将分层精简配置池110的信息设置作为生成的新设置。集成存储池扩展控制程序303-4命令磁盘管理表103-1来将装配的外部卷设置作为生成的新设置。集成存储池扩展控制程序303-4命令后端存储子系统200的卷231来允许来自装配的前端存储子系统100的I/O。
图27示出了在步骤S1-9之后系统的状态。前端存储子系统100的交叉装配卷132从分层精简配置池110提供。前端存储子系统100的交叉装配卷132由其它前端存储子系统100装配。
图28示出了用于获得图27的状态的数据、信息和命令的流。集成存储池扩展控制程序303-4从存储子系统管理表303-2和集成存储池层管理表303-1获取集成存储池600的当前配置。集成存储池扩展控制程序303-4生成集成存储池600的新配置并将新配置存储到集成存储池层管理表303-1中。集成存储池扩展控制程序303-4命令卷管理表103-3来设置提供的交叉装配卷132。集成存储池扩展控制程序303-4命令磁盘管理表103-1来设置其它前端存储子系统100的装配的交叉装配卷132。集成存储池扩展控制程序303-4命令分层池管理表103-2来设置装配的交叉装配卷132的层。
C2.集成存储池卷提供
图29示出了来自集成存储池600的卷提供的顺序的示例。该顺序包括下述步骤。在步骤S2-1,用户向集成存储池管理服务器300输入卷配置,包括例如容量、QoS(层611选择)以及连接的主机配置。在步骤S2-2,集成存储池管理服务器300从每个前端存储子系统100的当前资源状态选择网络区、适当的存储子系统以及适当的层(层111)的设置。集成存储池管理服务器300命令前端存储子系统100a和100b提供具有上述生成的配置的主机卷131。集成存储池管理服务器300命令主机500装配提供的主机卷131。在步骤S2-3,前端存储子系统100传输分层精简配置池110的配置信息。在步骤S2-4,前端存储子系统100使用指定配置建立主机卷131。在步骤S2-5,提供主机卷131。在步骤S2-6,主机500建立与指定的主机卷131的卷连接。
图30示出了在图29的顺序之后系统的状态。前端存储子系统100的主机卷131由分层精简配置池110提供。前端存储子系统100的主机卷131从主机500连接。
图31示出了用于获得图30的状态的数据、信息和命令的流。集成存储池卷控制程序303-7从存储子系统管理表303-2和集成存储池层管理表303-1获取资源配置。集成存储池卷控制程序303-7将提供的主机卷131的信息存储至存储子系统管理表303-2。集成存储池卷控制程序303-7命令卷管理表103-3设置提供的主机卷131。集成存储池扩展控制程序303-4命令路径管理模块501设置至主机卷131的连接。
C3.主机I/O
图32示出了从主机500至主机卷131的I/O顺序的示例。该顺序包括下述步骤。在步骤S3-1,主机500将写I/O发送到前端存储子系统100的主机卷131。在步骤S3-2,前端存储子系统100接收数据。在步骤S3-3,主机卷131将接收的数据存储到高速缓存区域。在步骤S3-4,前端存储子系统100周期地检查高速缓存状态并且如果发现未降级数据,则前端存储子系统100将数据存储到磁盘。如果前端存储子系统100还没有为数据分配容量页面,则分配新的容量页面。在步骤S3-5,如果需要,则主机卷131将具有容量页面分配的数据降级。在步骤S3-6,RAID组112将写数据存储到磁盘中。在步骤S3-7,主机500将读I/O数据发送到前端存储子系统100的主机卷131。在步骤S3-8,前端存储子系统100发送数据。在步骤S3-9,主机卷131将读数据从磁盘升级到高速缓存区域。在步骤S3-10,RAID组112将数据从磁盘传输到高速缓存区域。
图33示出了在图32的写I/O之后系统的状态。主机卷131上的卷页面131-1被分配了容量页面131-2。容量页面131-2的实体在内部RAID组112-4、外部卷231或另一个前端存储子系统100的内部RAID组112-4中。
图34示出了用于获得图33的状态的数据、信息和命令的流。主机500将I/O请求和数据发送到卷I/O控制程序103-6。卷I/O控制程序103-6参考卷管理表103-3来获取卷配置。卷I/O控制程序103-6将数据存储到高速缓存区域103-0。磁盘控制程序103-7检查高速缓存区域103-0的状态以发现脏数据。磁盘控制程序103-7参考页面管理表103-4以判断区域是否需要分配容量页面。如果是,则磁盘控制程序103-7参考分层池管理表103-2以找到应当从其分配容量页面的层。进一步将卷页面和容量页面之间的关系信息存储到页面管理表103-4。磁盘控制程序103-7从页面管理表103-4和磁盘管理表103-1找到脏数据的地址信息和磁盘,并将数据传输到磁盘106或外部卷231。
C4.前端存储子系统中的自动分层存储管理
图35示出了分层存储管理的顺序的示例。在步骤S4-1,前端存储子系统100周期地检查每个分配的卷页面的层配置。在I/O工作负载替代和/或用户需求(例如层配置的改变)之后,改变分配的层。再分配的方法涉及选择新的容量页面、将容量页面上的数据从已有容量页面复制到新分配的容量页面并且将页面管理表103-4上的映射信息改变到新分配的容量页面。在步骤S4-2,RAID组112复制数据。在步骤S4-3,主机卷132改变卷页面的映射信息。
图36示出了在页面迁移过程中的系统的状态。容量页面131-2a上的数据被复制到另一个容量页面131-2b。容量页面131-1将映射从容量页面131-2a上的数据改变到容量页面131-2b上的数据。
图37示出了找到层替代的必要性的数据、信息和命令的流。性能监控程序103-5检查来自卷I/O控制程序103-6、高速缓存区域103-0、磁盘控制程序103-7以及分层池管理表103-2的工作负载和性能信息。卷I/O控制程序103-6提供I/O工作负载和I/O延迟信息及读/写速率。高速缓存区域103-0提供高速缓存命中率信息。磁盘控制程序103-7提供磁盘工作负载和磁盘延迟信息。分层池管理表103-2提供层状态和使用信息。
图38示出了迁移容量页面以改变层的数据、信息和命令的流。性能监控程序103-5通知或指示页面控制程序103-8来开始迁移。页面控制程序103-8通过检查分层池管理表103-2来从适当的层分配新的容量页面。命令磁盘控制程序103-7来在两个容量页面之间复制数据并且改变页面管理表103-4上的映射信息。磁盘控制程序103-7复制数据。其参考磁盘管理表103-1以获取RAID组的配置。复制处理使用高速缓存区域103-0来传输数据。磁盘控制程序103-7将数据存储到磁盘106或外部卷231。
C5.资源信息收集
图39示出了从每个前端存储子系统100收集的资源信息的顺序的示例。在步骤S5-1,集成存储池管理服务器300周期地从每个前端存储子系统100请求资源信息。在步骤S5-2,前端存储子系统100将资源信息报告给集成存储池管理服务器300。该信息包括I/O工作负载(事务处理等)、层使用(容量、I/O位置等)以及I/O性能(I/O速率、高速缓存命中率等)。
图40示出了迁移容量页面以改变层的数据、信息和命令的流。性能监控程序103-5向集成存储池监控程序303-1报告工作负载和实际性能信息。该信息包括I/O工作负载、I/O延迟、读/写速率、命中率以及磁盘延迟。分层池管理表103-2向集成存储池监控程序303-1报告每层的资源使用信息。该信息包括层状态和层使用。卷管理表103-3向集成存储池监控程序303-1报告每个卷的资源使用信息。该信息包括卷状态、卷使用以及卷工作负载。
C6.由其它存储子系统重新装配外部卷
图41示出了改变前端存储子系统100之间的外部卷装配的顺序的示例。该顺序在步骤308-8-6和步骤303-8-7运行。在步骤S6-1,集成存储池关联服务器300选择外部卷231来改变装配前端存储子系统100b和选择重写装配前端存储子系统100a。集成存储池管理服务器300命令前端存储子系统100b移除外部卷231。在移除操作后,集成存储池管理服务器300命令前端存储子系统100a装配卸载的外部卷231并且安装它的分层精简配置池110。在步骤S6-2,前端存储子系统100b将指定外部卷231上的已经分配的容量页面迁移到其它RAID组。在步骤S6-3,包括外部卷的RAID组132将数据从指定外部卷231复制到其它RAID组。在步骤S6-4,主机卷131和交叉装配卷132改变复制的容量页面的映射信息。在步骤S6-5,前端存储子系统100b卸载指定的外部卷231。在步骤S6-6,卸载的外部卷231从分层精简配置池110离开。在步骤S6-7,前端存储子系统100a装配卸载的外部卷231。在步骤S6-8,装配的外部卷231加入分层精简配置池110。
图42示出了重新装配过程中的系统的状态。前端存储子系统100b将容量页面131-1(在装配外部卷231的RAID组112-5上)迁移到另一个RAID组112并且卸载外部卷231。前端存储子系统100a装配外部卷231并且将其设置到分层精简配置池110。
图43示出了重新装配外部卷231的数据、信息和命令的流。集成存储资源控制程序303-8通过检查存储子系统管理表303-2发现资源的不平衡。通过参考存储子系统管理表303-2、集成存储层管理表303-1以及系统信息表303-3考虑再平衡的最佳方式。结果,选择将外部卷的装配从前端存储子系统100b改变到前端存储子系统100a的方式。集成存储资源控制程序303-8命令前端存储子系统100b上的分层池管理表103-2来将装配外部卷231的RAID组112从分层精简配置池110移除。集成存储资源控制程序303-8命令前端存储子系统100b上的磁盘管理表103-1来卸载外部卷231。前端存储子系统100b上的页面控制程序103-8通过检查分层池管理表103-2来分配来自适当的层的新的容量页面。命令磁盘控制程序103-7来在两个容量页面之间复制数据并且改变在页面管理表103-4上的映射信息。
前端存储子系统100b上的磁盘控制程序103-7通过参考磁盘管理表103-1以获取RAID组的配置,通过使用高速缓存区域103-0来传输数据以及通过将数据存储到磁盘106或外部卷231来复制数据。集成存储资源控制程序303-8命令外部卷231来将路径从前端存储子系统100b改变到前端存储子系统100a。集成存储资源控制程序303-8命令前端存储子系统100a和磁盘管理表103-1来将外部卷231装配作为RAID组112。集成存储资源控制程序303-8命令前端存储子系统100a和分层池管理表103-2来使得装配外部卷231的RAID组112加入分层精简配置池110。
C7.添加来自其它存储的出租容量
图44示出了用于来自另一个前端存储子系统100的装配容量的增加的顺序的示例。该顺序在步骤303-8-9和步骤303-8-10运行。顺序包括下述步骤。在步骤S7-1,集成存储池管理服务器300选择前端存储子系统100b来向前端存储子系统100a出租容量。集成存储池管理服务器300命令前端存储子系统100b提供交叉装配卷132。在提供操作之后,集成存储池管理服务器300命令前端存储子系统100a装配交叉装配卷132并且安装它的分层精简配置池110。在步骤S7-2,前端存储子系统100b从其具有用于交叉装配卷132的QoS设置的精简配置池110提供交叉装配卷132。在步骤S7-3,建立交叉装配卷132。在步骤S7-4,前端存储子系统100a将前端存储子系统100b的提供的交叉装配卷132装配作为RAID组112-6,并且将RAID组112-6安装到分层精简配置池110。在步骤S7-5,装配交叉装配卷132的RAID组112-6加入到分层精简配置池110。
图45示出了在添加处理后的系统的状态。前端存储子系统100a装配前端存储子系统100b的交叉装配卷132。前端存储子系统100a使用装配的交叉装配卷132用于分层精简配置池110的资源。
图46示出了用于重新装配外部卷231的数据、信息和命令的流。集成存储资源控制程序303-8通过检查存储子系统管理表303-2发现资源的不平衡。通过参考存储子系统管理表303-2、集成存储层管理表303-1以及系统信息表303-3考虑再平衡的最佳方式。结果,选择将容量从前端存储子系统100b出租给前端存储子系统100a的方式。集成存储资源控制程序303-8命令前端存储子系统100b上的卷管理表103-3来提供交叉装配卷231。集成存储资源控制程序303-8命令前端存储子系统100a上的磁盘管理表103-1来在前端存储子系统100b上装配交叉装配卷并将装配的交叉装配卷132加入分层精简配置池110。
C8.至其它存储的卷迁移
图47示出了两个存储子系统之间的卷迁移的顺序的示例。该顺序在步骤303-8-8运行。在步骤S8-1,集成存储池管理服务器300选择要从前端存储子系统100a迁移到前端存储子系统100b的主机卷131。集成存储池管理服务器300命令从前端存储子系统100a迁移到前端存储子系统100b。在步骤S8-2,前端存储子系统100b复制前端存储子系统100a上的指定主机卷131的配置和数据。在步骤S8-3,前端存储子系统100a传输主机卷131的配置和数据。在步骤S8-4,前端存储子系统100a上的主机卷131传输数据。在步骤S8-5,前端存储子系统100b上的主机卷131被提供并且存储数据。在步骤S8-6,主机500将路径从前端存储子系统100a上的主机卷131改变到前端存储子系统100b上的主机卷131。在步骤S8-7,前端存储子系统100a断开主机路径。在步骤S8-8,前端存储子系统100b连接主机路径。在步骤S8-9,前端存储子系统100a删除迁移的主机卷131。在步骤S8-10,迁移的主机卷131释放分配的容量页面。
图48示出了在迁移处理中的系统的状态。前端存储子系统100a将主机卷131迁移到前端存储子系统100b。主机500将路径从前端存储子系统100a改变到前端存储子系统100b。
图49示出了用于重新装配外部卷231的数据、信息和命令的流。集成存储资源控制程序303-8通过检查存储子系统管理表303-2发现资源的不平衡。通过参考存储子系统管理表303-2、集成存储层管理表303-1以及系统信息表303-3考虑再平衡的最佳方式。结果,选择将在线卷从前端存储子系统100a迁移到前端存储子系统100b的方式。
集成存储资源控制程序303-8命令卷迁移控制程序103-9来将主机卷131迁移到前端存储子系统100b。前端存储子系统100a上的卷迁移控制程序103-9从卷管理表103-3、分层池管理表103-2以及页面管理表103-4收集主机卷131的配置。从页面管理表103-4知道分配信息是尤其重要的。因为该信息通过排除或排斥对于未分配页面的区域的复制而对于缩减用于迁移的带宽是非常有用的。前端存储子系统100a上的卷迁移控制程序103-9命令磁盘控制程序103-7来将数据从外部卷231和/或磁盘106传输到高速缓存区域103-0。前端存储子系统100a上的卷迁移控制程序103-9从高速缓存区域103-0读取数据并将数据和配置传输到前端存储子系统100b上的卷迁移控制程序103-9。前端存储子系统100b上的卷迁移控制程序103-9通过将具有上述配置的主机卷131应用到卷管理表103-3来提供具有上述配置的主机卷131并将数据存储在高速缓存区域103-0。磁盘控制程序103-7通过改变页面管理表103-4来分配容量页面。磁盘控制程序103-7通过解析与磁盘管理表103-1的映射而将高速缓存区域103-0上的数据存储到外部卷231或磁盘106上。
C9.集成存储池缩减
图50示出了通过移除存储子系统而缩减集成存储池600的顺序的示例。在步骤S9-1,用户指定要从集成存储池移除的存储子系统。在完成池缩减处理之后,用户将存储从系统移除。在步骤S9-2,集成存储池管理服务器300检查指定存储子系统的配置。
如果存储子系统是后端存储子系统200,则发生下述步骤。装配被移除的后端存储子系统200的前端存储子系统100将容量页面从外部卷216再分配到其它RAID组112。前端存储子系统100卸载外部卷216。
如果存储子系统是前端存储子系统100,则发生下述步骤。前端存储子系统100a将主机卷131的数据和配置复制到其它前端存储子系统100。连接复制的主机卷131的主机500改变路径以复制目标主机卷131。前端存储子系统100a删除复制源主机卷131。不包括被移除的前端存储子系统100a的前端存储子系统100b从在被移除的前端存储子系统100上装配交叉装配卷132的RAID组再分配容量页面。不包括被移除的前端存储子系统100a的前端存储子系统100b卸载被移除的前端存储子系统100a上的装配交叉装配卷132。被移除前端存储子系统100卸载外部卷231。不包括被移除的前端存储子系统100a的前端存储子系统100b装配被卸载的外部卷231。
在步骤S9-3,前端存储子系统100读取所有主机卷131的配置和数据。在步骤S9-4,主机卷131传输数据。在步骤S9-5,前端存储子系统100a将主机卷131的数据和配置传输到前端存储子系统100b。在步骤S9-6,前端存储子系统100b上的主机卷131被提供并且存储数据。在步骤S9-7,主机500将路径从前端存储子系统100a改变到前端存储子系统100b。在步骤S9-8,前端存储子系统100a上的主机卷131断开主机路径。在步骤S9-9,前端存储子系统100b上的主机卷131连接主机路径。在步骤S9-10,前端存储子系统100a删除所有的主机卷131。在步骤S9-11,删除主机卷131。在步骤S9-12,前端存储子系统100b将装配外部卷231的RAID组上的容量页面再分配到其它RAID组。在步骤S9-13,RAID组将数据复制到其它RAID组112。在步骤S9-14,交叉装配卷132改变对于容量页面的映射。在步骤S9-15,前端存储子系统100b将装配交叉装配卷132的RAID组112从分层精简配置池110移除。前端存储子系统100b卸载装配的交叉装配卷132。在步骤S9-16,前端存储子系统100a上的交叉装配卷132被卸载。在步骤S9-17,前端存储子系统100a卸载外部卷216。在步骤S9-18,RAID组112卸载外部卷216。在步骤S9-19,前端存储子系统100b装配被装配在前端存储子系统100a上的外部卷216。在步骤S9-20,RAID组112装配外部卷216。在步骤S9-21,前端存储子系统100a被从系统移除。
图51示出了在集成存储池600的缩减处理中的系统的状态。前端存储子系统100a将主机卷131迁移到前端存储子系统100b。前端存储子系统100b装配前端存储子系统100a已经装配的外部卷213。断开到由前端存储子系统100b装配的前端存储子系统100a的交叉装配卷132的连接。从主机500至前端存储子系统100a的主机卷131的连接被继续或者切换到前端存储子系统100b。
当然,图1、4、10、13和21中的系统配置仅是示例信息系统,其中可以实施本发明,并且本发明不限于特定硬件配置。实施本发明的计算机和存储系统也能够具有已知I/O设备(例如CD和DVD驱动,软盘驱动,硬驱等),这些设备能够存储和读取用于实施上述发明的模块、程序和数据结构。这些模块、程序和数据结构能够被编码在这样的计算机可读介质上。例如,本发明的数据结构能够在与记录了本发明中使用的程序的一个或多个计算机可读介质相独立的计算机可读介质上。可以通过任何形式的数字数据通信介质,例如通信网络,来将系统的这些组件相连。通信网络的例子包括局域网、广域网(例如互联网)、无线网络,存储区域网络等。
在说明书中,多个细节用于说明的目的以提供对本发明的透彻理解。然而,对本领域普通技术人员来说,不需要全部的这些特定细节来实现本发明。也注意到本发明可以被描述作为处理,通常被描述作为流程图、流图、结构图或框图。尽管流程图可能将操作描述作为顺序处理,但是能够并行或同时执行许多操作。此外,操作的顺序可以重新安排。
如本领域公知,上述操作能够由硬件、软件或软件和硬件的一些组合来执行。可以使用电路和逻辑设备(硬件)来实施本发明实施例的各个方面,同时可以使用在机器可读介质上存储的指令(软件)来实施本发明实施例的其它方面,如果处理器执行该指令,该指令将使得处理器执行方法以实现本发明的实施例。另外,可以主要地在硬件中执行本发明的一些实施例,而可以主要地在软件中执行其它实施例。此外,能够在单个单元中执行描述的各种功能,或者该各种功能能够以多种方式分布在多个组件上。当由软件执行时,可以由处理器(例如通用计算机)基于计算机可读介质中存储的指令来执行方法。如果需要的话,能够以压缩和/或加密格式将指令存储在介质中。
由上述显而易见,本发明提供用于松耦合多存储环境的分层存储池管理和控制的方法、装置以及存储在计算机可读介质上的程序。另外,尽管在该说明书中描述了特定实施例,本领域普通技术人员应当理解设计为实现相同目的的任何适当的布置能够替代这里揭示的特定实施例。该揭示意欲覆盖本发明的任何和所有适配或变化,并且应当理解在所附权利要求中使用的术语不应当被理解为将本发明限制为说明书中揭示的特定实施例。相反,本发明的范围应当由所附权利要求以及这样的权利要求的等价物的完全范围来整体地确定,应当根据权利要求解释的已制定原则来理解所附权利要求。

Claims (19)

1.一种系统,包括:
包括第一存储控制器的第一存储系统,所述第一存储控制器从主计算机接收输入/输出(I/O)指令并向所述主计算机提供第一存储卷;以及
包括第二存储控制器的第二存储系统,所述第二存储控制器从主计算机接收I/O指令并向所述主计算机提供第二存储卷;
其中,所述第一存储卷中的一个第一存储卷的第一数据存储区域是由所述第一存储控制器从第一池中分配的,
其中,所述第一存储卷中的另一个第一存储卷的第二数据存储区域是由所述第一存储控制器从第二池中分配的,
其中,所述第二存储卷中的一个第二存储卷的第三数据存储区域是由所述第二存储控制器从所述第一池分配的,
其中,所述第二存储卷中的另一个第二存储卷的第四数据存储区域是由所述第二存储控制器从所述第二池中分配的。
2.根据权利要求1所述的系统,
其中,禁止由所述第二存储控制器从所述第一池中分配所述第一存储卷中的所述另一个第一存储卷的所述第二数据存储区域。
3.根据权利要求2所述的系统,
其中,响应于由所述第一存储控制器从所述第二池中分配所述第一存储卷中的所述另一个第一存储卷的所述第二数据存储区域,所述第二存储控制器从所述第二池的容量中减去分配给所述第一卷的量。
4.根据权利要求1所述的系统,
其中,响应于由所述第一存储控制器从所述第二池中分配所述第一存储卷中的所述另一个第一存储卷的所述第二数据存储区域,所述第二存储控制器从所述第二池的容量中减去分配给所述第一卷的量。
5.根据权利要求1所述的系统,
其中,使用多个第一层来管理所述第一池;
其中,使用多个第二层来管理所述第二池;并且
其中,将分配给所述第二池的存储介质作为所述多个第一层中的独立的层来管理,所述存储介质被分配给所述第二数据存储区域。
6.根据权利要求5所述的系统,
其中,通过网络特性和所使用的所述存储介质的访问速度来确定所述独立的层。
7.根据权利要求5所述的系统,
其中,如果所述存储介质与用于所述第一池的存储介质相同,则用于所述第一池的所述存储介质相比所述独立的层具有更高的优先级。
8.根据权利要求1所述的系统,进一步包括:
管理服务器,
其中,所述管理服务器基于所述系统的负载要求,针对连接到所述第一存储控制器和所述第二存储控制器这两个控制器的存储介质,选择将所述第二池中的容量出租给所述第一存储系统,还是将控制从所述第二存储控制器改变到所述第一存储控制器。
9.根据权利要求1所述的系统,进一步包括:
管理服务器,
其中,所述管理服务器基于所述系统的负载要求,针对连接到所述第一存储控制器和所述第二存储控制器这两个控制器的存储介质,选择将所述第二池中的容量出租给所述第一存储系统,将数据从所述第一存储卷迁移到所述第二存储卷,还是将控制从所述第二存储控制器改变到所述第一存储控制器。
10.一种系统,包括:
包括第一存储控制器的第一存储系统,所述第一存储控制器从主计算机接收输入/输出(I/O)指令并向所述主计算机提供第一存储卷;
包括第二存储控制器的第二存储系统,所述第二存储控制器从主计算机接收I/O指令并向所述主计算机提供第二存储卷;以及
分配给第一池的存储介质;
其中,所述第一存储卷中的一个第一存储卷的第一数据存储区域是由所述第一存储控制器从第一池中分配的,
其中,所述第二存储卷中的一个第二存储卷的第二数据存储区域是由所述第二存储控制器从所述第二池分配的,
其中,响应于来自管理服务器的指令,所述第二存储控制器将所述存储介质分配给所述第二池并且所述第一存储控制器从所述第一池中释放所述存储介质。
11.根据权利要求10所述的系统,进一步包括
管理服务器,
其中,所述管理服务器基于所述系统的负载要求,对连接到所述第一存储控制器和所述第二存储控制器这两个控制器的存储介质,选择从第一存储卷迁移到第二存储卷还是将控制从所述第二存储控制器改变到所述第一存储控制器。
12.一种系统,包括:
多个存储系统,每个存储系统包括存储控制器,所述存储控制器从主计算机接收输入/输出(I/O)指令并从单独的池提供存储卷;以及
管理服务器,连接到所述多个存储系统;
其中,所述多个存储系统中的每个存储系统的所述单独的池被分配给多个存储介质并包括多个单独的层;
其中,所述管理服务器收集分配给所述多个存储系统的存储介质的信息,并基于收集到的信息中的所述存储介质的特性动态地确定用于系统池的多个系统层,所述系统池包括分配给所述多个存储系统的存储介质。
13.根据权利要求12所述的系统,
其中,所述管理服务器将关于用于所述系统池的所述多个系统层的确定结果通知给所述多个存储系统。
14.根据权利要求12所述的系统,
其中,在将存储介质添加到所述系统池之后,所述管理服务器为所述多个存储系统中的因添加所述存储介质而受到影响的一个存储系统中的有关的单独的池调整所述多个单独的层。
15.根据权利要求12所述的系统,
其中,响应于用户请求,所述管理服务器改变用于所述系统池的所述多个系统层。
16.根据权利要求15所述的系统,
其中,响应于用于所述系统池的所述多个系统层的改变,动态地调整所述多个单独的层。
17.根据权利要求12所述的系统,
其中,所述管理服务器基于用于所述多个存储系统的存储控制器的状态,确定所述存储卷的配置以及位置。
18.根据权利要求12所述的系统,其中,响应于要求释放所述存储系统中的一个存储系统的所述单独的池的请求,在所述系统中发生下述处理中的至少一种处理:
将要被释放的所述单独的池中的内部存储卷迁移到所述多个存储系统中的另一个存储系统中的单独的池;
将由所述第一存储系统中的存储控制器分配并直接控制的存储介质分配给所述多个存储系统中的另一个存储系统的存储控制器;以及
将由所述多个存储系统中的另一个存储系统的存储控制器控制的外部卷的数据迁移到由控制所述外部卷的所述数据的所述另一个存储系统中的存储控制器控制的存储卷。
19.根据权利要求18所述的系统,
其中,外部卷的所述数据被迁移到由控制所述外部卷的所述数据的所述另一个存储系统中的存储控制器控制的内部存储卷,或被迁移到控制所述外部卷的所述数据的所述另一个存储系统中的单独的池中的存储卷。
CN201110050760.XA 2010-08-20 2011-03-01 松耦合多存储环境的分层存储池管理和控制 Active CN102375701B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/860,086 US8356147B2 (en) 2010-08-20 2010-08-20 Tiered storage pool management and control for loosely coupled multiple storage environment
US12/860,086 2010-08-20

Publications (2)

Publication Number Publication Date
CN102375701A true CN102375701A (zh) 2012-03-14
CN102375701B CN102375701B (zh) 2014-12-10

Family

ID=44993983

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110050760.XA Active CN102375701B (zh) 2010-08-20 2011-03-01 松耦合多存储环境的分层存储池管理和控制

Country Status (4)

Country Link
US (3) US8356147B2 (zh)
EP (1) EP2420926A3 (zh)
JP (1) JP5795496B2 (zh)
CN (1) CN102375701B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103634379A (zh) * 2013-11-13 2014-03-12 华为技术有限公司 一种分布式存储空间的管理方法和分布式存储系统
CN104583971A (zh) * 2012-11-19 2015-04-29 株式会社日立制作所 管理系统和管理方法
CN107346209A (zh) * 2016-05-08 2017-11-14 上海霄云信息科技有限公司 一种多磁盘聚合式数据存储系统及其实现方法与应用方法
CN109358997A (zh) * 2018-10-10 2019-02-19 郑州云海信息技术有限公司 一种mcs存储系统卷迁移的自动化测试系统及方法

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2184681A1 (en) * 2008-10-31 2010-05-12 HSBC Holdings plc Capacity control
US11061597B2 (en) * 2010-11-09 2021-07-13 Pure Storage, Inc. Supporting live migrations and re-balancing with a virtual storage unit
JP5699691B2 (ja) * 2011-03-03 2015-04-15 日本電気株式会社 データ転送装置、ftサーバ、データ転送方法、及びプログラム
US8756310B2 (en) * 2011-03-09 2014-06-17 International Business Machines Corporation Comprehensive bottleneck detection in a multi-tier enterprise storage system
US9009438B2 (en) * 2011-06-01 2015-04-14 International Business Machines Corporation Space reclamation in multi-layered and thin provisioned storage systems
JP5821392B2 (ja) * 2011-08-12 2015-11-24 富士通株式会社 ストレージ装置、およびストレージ管理方法
US9811288B1 (en) * 2011-12-30 2017-11-07 EMC IP Holding Company LLC Managing data placement based on flash drive wear level
US11379354B1 (en) * 2012-05-07 2022-07-05 Amazon Technologies, Inc. Data volume placement techniques
JP2015517697A (ja) * 2012-05-23 2015-06-22 株式会社日立製作所 二次記憶装置に基づく記憶領域をキャッシュ領域として用いるストレージシステム及び記憶制御方法
US9363154B2 (en) * 2012-09-26 2016-06-07 International Business Machines Corporaion Prediction-based provisioning planning for cloud environments
WO2014061054A1 (en) 2012-10-15 2014-04-24 Hitachi, Ltd. Storage system and method of controlling storage system
US10409527B1 (en) * 2012-12-28 2019-09-10 EMC IP Holding Company LLC Method and apparatus for raid virtual pooling
US9274817B1 (en) * 2012-12-31 2016-03-01 Emc Corporation Storage quality-of-service control in distributed virtual infrastructure
US20140244813A1 (en) * 2013-02-28 2014-08-28 Joseph McDonald Server cluster initiation
US9141626B2 (en) * 2013-03-14 2015-09-22 Microsoft Technology Licensing, Llc Volume having tiers of different storage traits
US9262313B2 (en) 2013-03-14 2016-02-16 Microsoft Technology Licensing, Llc Provisioning in heterogenic volume of multiple tiers
US9116904B2 (en) * 2013-03-14 2015-08-25 Microsoft Technology Licensing, Llc File system operation on multi-tiered volume
US9524300B2 (en) * 2013-03-14 2016-12-20 Microsoft Technology Licensing, Llc Heterogenic volume generation and use system
WO2015025363A1 (ja) * 2013-08-20 2015-02-26 株式会社日立製作所 ストレージ装置及びデータ入出力方法
US20150095568A1 (en) * 2013-09-30 2015-04-02 International Business Machines Corporation Storage system and storage device configuration reporting
JP2015114808A (ja) * 2013-12-11 2015-06-22 富士通株式会社 ストレージ制御装置、制御方法、及びプログラム
US9667496B2 (en) * 2013-12-24 2017-05-30 International Business Machines Corporation Configuration updates across peer storage systems
WO2015145671A1 (ja) * 2014-03-27 2015-10-01 株式会社日立製作所 ストレージ管理システム
TW201627882A (zh) * 2015-01-21 2016-08-01 國立清華大學 先決式資料庫系統及其資料搬移方法
US9916090B1 (en) * 2015-09-22 2018-03-13 EMC IP Holding Company LLC Techniques for dynamically adjusting slice size
US10353634B1 (en) * 2016-03-28 2019-07-16 Amazon Technologies, Inc. Storage tier-based volume placement
US10082983B2 (en) * 2016-04-05 2018-09-25 International Business Machines Corporation Monitoring storage systems
US10733118B2 (en) 2016-08-24 2020-08-04 Hitachi, Ltd. Computer system, communication device, and storage control method with DMA transfer of data
US10440113B2 (en) 2017-05-02 2019-10-08 International Business Machines Corporation Storage network tiering
US10795583B2 (en) * 2017-07-19 2020-10-06 Samsung Electronics Co., Ltd. Automatic data placement manager in multi-tier all-flash datacenter
JP6668309B2 (ja) 2017-11-30 2020-03-18 株式会社日立製作所 記憶システム及びその制御方法
JP6751111B2 (ja) * 2018-04-26 2020-09-02 株式会社日立製作所 ストレージシステム、ストレージシステムの制御方法及び管理ノード
US10564881B2 (en) 2018-05-31 2020-02-18 International Business Machines Corporation Data management in a multitier storage system
US10956058B2 (en) * 2018-08-03 2021-03-23 Western Digital Technologies, Inc. Tiered storage system with tier configuration by peer storage devices
US10628074B2 (en) 2018-08-03 2020-04-21 Western Digital Technologies, Inc. Tiered storage system with data routing by peer storage devices
JP7050034B2 (ja) * 2019-07-29 2022-04-07 株式会社日立製作所 ストレージシステム及びノード管理方法
EP4118533A4 (en) * 2020-03-09 2023-10-11 Hitachi Vantara LLC CAPACITY AND PERFORMANCE OPTIMIZATION IN NON-HOMOGENEOUS STORAGE

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1570842A (zh) * 2003-03-27 2005-01-26 株式会社日立制作所 存储装置系统
WO2006061272A1 (en) * 2004-12-10 2006-06-15 International Business Machines Corporation Storage pool space allocation across multiple locations
US20090276588A1 (en) * 2008-04-30 2009-11-05 Atsushi Murase Free space utilization in tiered storage systems
US20100082765A1 (en) * 2008-09-29 2010-04-01 Hitachi, Ltd. System and method for chunk based tiered storage volume migration
US20100122020A1 (en) * 2008-11-13 2010-05-13 Gridlron Systems, Inc. Dynamic performance virtualization for disk access

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5680573A (en) * 1994-07-12 1997-10-21 Sybase, Inc. Method of buffering data objects in a database
US5964859A (en) * 1997-10-30 1999-10-12 Advanced Micro Devices, Inc. Allocatable post and prefetch buffers for bus bridges
US6240498B1 (en) * 1999-01-06 2001-05-29 International Business Machines Corporation Object oriented storage pool apparatus and method
JP2002222061A (ja) * 2001-01-25 2002-08-09 Hitachi Ltd 記憶領域を設定する方法、記憶装置およびプログラム記憶媒体
US6842829B1 (en) * 2001-12-06 2005-01-11 Lsi Logic Corporation Method and apparatus to manage independent memory systems as a shared volume
US6836832B1 (en) * 2001-12-21 2004-12-28 Network Appliance, Inc. System and method for pre-selecting candidate disks based on validity for volume
US6954831B2 (en) * 2002-08-29 2005-10-11 International Business Machines Corporation Method, system, and article of manufacture for borrowing physical volumes
US6823442B1 (en) 2003-05-12 2004-11-23 3Pardata, Inc. Method of managing virtual volumes in a utility storage server system
US7231662B2 (en) * 2003-05-28 2007-06-12 International Business Machines Corporation Automated security tool for storage system
JP4462852B2 (ja) 2003-06-23 2010-05-12 株式会社日立製作所 ストレージシステム及びストレージシステムの接続方法
JP2005242757A (ja) 2004-02-27 2005-09-08 Hitachi Ltd ストレージシステム
US7404061B2 (en) * 2005-02-14 2008-07-22 Jordan David A Permanent pool memory management method and system
JP2007066259A (ja) 2005-09-02 2007-03-15 Hitachi Ltd 計算機システムとストレージシステム並びにボリューム容量拡張方法
US7469329B2 (en) * 2006-03-30 2008-12-23 International Business Machines Corporation Methods for dynamically resizing memory pools
US7783847B2 (en) * 2006-10-31 2010-08-24 Oracle America Inc. Method and system for reallocating blocks in a storage pool
JP5069011B2 (ja) 2007-01-29 2012-11-07 株式会社日立製作所 ストレージモジュール及び容量プール空き容量調整方法
US7769971B2 (en) * 2007-03-29 2010-08-03 Data Center Technologies Replication and restoration of single-instance storage pools
JP2009129134A (ja) 2007-11-22 2009-06-11 Hitachi Ltd ストレージ管理システム、性能監視方法及び管理サーバ
JP5111204B2 (ja) * 2008-03-31 2013-01-09 株式会社日立製作所 ストレージシステム及びストレージシステムの管理方法
US20100070722A1 (en) 2008-09-16 2010-03-18 Toshio Otani Method and apparatus for storage migration
US20100077128A1 (en) * 2008-09-22 2010-03-25 International Business Machines Corporation Memory management in a virtual machine based on page fault performance workload criteria
US20100082546A1 (en) * 2008-09-30 2010-04-01 Microsoft Corporation Storage Tiers for Database Server System
JP4727705B2 (ja) * 2008-10-31 2011-07-20 株式会社日立製作所 階層型ストレージシステム
JP2010113509A (ja) 2008-11-06 2010-05-20 Hitachi Ltd 記憶領域の割当方法および管理サーバ
JP5567147B2 (ja) 2010-07-16 2014-08-06 株式会社日立製作所 記憶制御装置、又は複数の当該記憶制御装置を有する記憶システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1570842A (zh) * 2003-03-27 2005-01-26 株式会社日立制作所 存储装置系统
WO2006061272A1 (en) * 2004-12-10 2006-06-15 International Business Machines Corporation Storage pool space allocation across multiple locations
US20090276588A1 (en) * 2008-04-30 2009-11-05 Atsushi Murase Free space utilization in tiered storage systems
US20100082765A1 (en) * 2008-09-29 2010-04-01 Hitachi, Ltd. System and method for chunk based tiered storage volume migration
US20100122020A1 (en) * 2008-11-13 2010-05-13 Gridlron Systems, Inc. Dynamic performance virtualization for disk access

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104583971A (zh) * 2012-11-19 2015-04-29 株式会社日立制作所 管理系统和管理方法
CN104583971B (zh) * 2012-11-19 2017-07-14 株式会社日立制作所 管理系统和管理方法
CN103634379A (zh) * 2013-11-13 2014-03-12 华为技术有限公司 一种分布式存储空间的管理方法和分布式存储系统
CN103634379B (zh) * 2013-11-13 2017-02-01 华为技术有限公司 一种分布式存储空间的管理方法和分布式存储系统
CN107346209A (zh) * 2016-05-08 2017-11-14 上海霄云信息科技有限公司 一种多磁盘聚合式数据存储系统及其实现方法与应用方法
CN107346209B (zh) * 2016-05-08 2022-05-20 上海霄云信息科技有限公司 一种多磁盘聚合式数据存储系统及其实现方法与应用方法
CN109358997A (zh) * 2018-10-10 2019-02-19 郑州云海信息技术有限公司 一种mcs存储系统卷迁移的自动化测试系统及方法

Also Published As

Publication number Publication date
US20120047346A1 (en) 2012-02-23
JP2012043407A (ja) 2012-03-01
CN102375701B (zh) 2014-12-10
US8356147B2 (en) 2013-01-15
US20130151806A1 (en) 2013-06-13
EP2420926A2 (en) 2012-02-22
US9286200B2 (en) 2016-03-15
EP2420926A3 (en) 2012-11-21
JP5795496B2 (ja) 2015-10-14
US8621164B2 (en) 2013-12-31
US20140108763A1 (en) 2014-04-17

Similar Documents

Publication Publication Date Title
CN102375701B (zh) 松耦合多存储环境的分层存储池管理和控制
CN102859499B (zh) 计算机系统及其存储控制方法
CN100395694C (zh) 存储系统及存储系统的运用方法
US7581061B2 (en) Data migration using temporary volume to migrate high priority data to high performance storage and lower priority data to lower performance storage
US8515967B2 (en) Cost and power efficient storage area network provisioning
US8171059B2 (en) Data migration management apparatus and management method
US6895467B2 (en) System and method for atomizing storage
US7502904B2 (en) Information processing system and management device for managing relocation of data based on a change in the characteristics of the data over time
US8688909B2 (en) Storage apparatus and data management method
CN100524229C (zh) 用于管理数据处理系统内的存储器的借出的系统和方法
JP5265023B2 (ja) ストレージシステム及びその制御方法
US7702962B2 (en) Storage system and a method for dissolving fault of a storage system
JP5752805B2 (ja) ストレージ装置の管理装置及び管理方法
JP4896593B2 (ja) 性能監視方法、計算機及び計算機システム
CN103080894A (zh) 存储系统、存储系统的管理方法和程序
US8380757B1 (en) Techniques for providing a consolidated system configuration view using database change tracking and configuration files
CN104285206A (zh) 信息存储系统和控制信息存储系统的方法
CN101223498A (zh) 用于管理数据存储的方法、系统和计算机程序产品以及虚拟化引擎
US9569268B2 (en) Resource provisioning based on logical profiles and objective functions
CN101364164A (zh) 存储系统
CN1988549A (zh) 生成用于应用会话的资源使用简档的方法和系统
US9569569B1 (en) Data storage system modeling
CN102341779A (zh) 在多层级虚拟化存储结构中管理存储数据的布置的方法、系统和计算机程序产品
WO2015057094A1 (en) Resource provisioning based on logical profiles and piecewise objective functions
JP2007102762A (ja) 論理パーティション分割ストレージシステムに於けるリソース管理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant