CN103150123B - 存储系统 - Google Patents

存储系统 Download PDF

Info

Publication number
CN103150123B
CN103150123B CN201210247622.5A CN201210247622A CN103150123B CN 103150123 B CN103150123 B CN 103150123B CN 201210247622 A CN201210247622 A CN 201210247622A CN 103150123 B CN103150123 B CN 103150123B
Authority
CN
China
Prior art keywords
raid group
volume
master file
management table
raid
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.)
Active
Application number
CN201210247622.5A
Other languages
English (en)
Other versions
CN103150123A (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 CN103150123A publication Critical patent/CN103150123A/zh
Application granted granted Critical
Publication of CN103150123B publication Critical patent/CN103150123B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/0608Saving storage space on 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/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/065Replication mechanisms
    • 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/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Landscapes

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

Abstract

本发明提供一种存储子系统的自动精简配置池上的卷复制管理方法。本发明的示例实施例提供存储子系统中的针对主逻辑卷和副逻辑卷的集成自动精简配置池。存储子系统包括:处理器;存储器;和存储控制器。在一个实施例中,该存储控制器被配置为响应于写入请求而从第一池中分配存储区,以及对从第一池中的不同指定的RAID组中分配用于多个相关数据的存储区进行控制,所述用于多个相关数据的存储区要从第一池中分配。在另一实施例中,该存储控制器被配置为响应于写入请求而从第一池中分配存储区,以及对于从第一池中的不同RAID组中分配用于多个相关数据的存储区进行控制,所述用于多个相关数据的存储区要从第一池中分配。

Description

存储系统
技术领域
本发明通常涉及计算机存储系统,并且更为具体地,涉及计算机存储系统中的自动精简配置(thin-provisioning)和复制功能。
背景技术
存储虚拟技术被广泛使用。一个示例是自动精简配置。例如,参见美国专利No.6,823,442。虚拟技术可以改进存储可用性和效率。可用性的改进通过隐藏内部配置(磁盘配置、数据位置等)实现。效率的改进通过共享存储资源(磁盘工作负荷、处理器工作负荷、内部总线工作负荷、容量等)实现。卷复制技术也被广泛使用,例如包括备份、在线&批处理(针对DWH(数据仓库)等)。复制方法的示例是整卷复制和写时复制快照。例如,参见美国专利No.7,716,435。
图1示出了整卷复制的示例。当在使用自动精简配置技术的情况下执行整卷复制时,存储管理员不得不制作主卷(PVOL)的自动精简配置池以及副卷(SVOL)的自动精简配置池。如果独立冗余磁盘阵列(RAID)组(RG)有故障,则PVOL也有故障。存储管理员可以利用SVOL恢复。问题在于这不足以得到更高的性能。例如,如果被复制的逻辑卷仅仅用于备份,则仅仅在执行备份/恢复时使用RG#6-8。PVOL#2可以使用RG#6-8。由于需要两个或更多个池,所以不容易维护。
图2示出了组合PVOL和SVOL的自动精简配置池的示例。在所示示例中,如果RG#3故障,则PVOL#1和SVOL#1都故障。结果是,由于一个RAID组故障造成PVOL和SVOL都有故障,所以难以在存储子系统中组合主逻辑卷和副逻辑卷的自动精简配置池。在美国专利No.6,823,442和7,716,435中没有考虑该问题。
发明内容
本发明的示例实施例在存储子系统中提供集成的主逻辑卷的自动精简配置池和副逻辑卷的自动精简配置池。
根据本发明的一个方面,一种存储系统包括:处理器;存储器;以及存储控制器,该存储控制器用于响应于写入请求而从第一池中分配存储区,并且对从第一池中的不同指定RAID组中分配用于多个相关数据的存储区进行控制,所述用于多个相关数据的存储区要从第一池中分配。
在一些实施例中,多个相关数据包括多个文件。多个相关数据包括存储在第一卷中的数据以及存储在第二卷中的数据,以及第一卷和第二卷是成对的。多个相关数据包括存储在第一卷中的数据以及存储在第二卷中的数据,以及存储在第二卷中的数据是对存储在第一卷中的数据的写时复制。多个相关数据包括存储在第一卷中的数据以及存储在与同一第一卷对应的多个第二卷中的数据,存储在多个第二卷中的数据包括第一卷中的数据的被复制页,并且被复制页在多个第二卷之间共享。多个相关数据包括存储在第一卷中的数据以及存储在与同一第一卷对应的多个第二卷中的数据,存储在多个第二卷中的数据包括第一卷中的数据的多个被复制页,并且该多个被复制页不在多个第二卷之间共享。多个相关数据包括存储在多个卷中的数据,并且存储控制器基于多个卷的属性分配相关数据。
在特定实施例中,多个相关数据包括存储在主卷中的数据以及存储在一个或多个对应副卷中的数据。存储控制器包括:命令接收模块,用于确定存储系统是否已经接收到任何卷复制配置命令;以及磁盘I/O执行模块,用于如果存储系统没有接收到卷复制配置命令,则确定存储系统是否已经接收到任何读取I/O,如果已经接收到,则查阅页管理表,并且从该页管理表的对应RAID组中读取页,其中针对每个主卷,页管理表包括虚拟卷编号、逻辑块地址、RAID组编号以及页编号,以及针对每个副卷,页管理表包括虚拟卷编号、逻辑块地址、RAID组编号和页编号;确定存储系统是否已经接收到任何写入I/O,以及如果已经接收到,则查阅卷复制管理表和页管理表,并且通过确定页管理表中是否存在写入I/O页的对应项,决定是否更新写入I/O页,以及如果不存在,则从卷复制管理表中的主卷的对应RAID组中选择一个RAID组并且更新页管理表,并且随后不管页管理表中是否已经存在对应项,都将页写入到所选择的RAID组中,其中针对每个主卷,卷复制管理表包括主卷编号、主卷的RAID组编号,以及对应的一个或多个副卷的副卷编号以及该对应的一个或多个副卷的RAID组编号。
在一些实施例中,存储控制器包括卷复制控制模块,用于如果存储系统已经接收到卷复制配置命令,则确定卷复制控制输入是否是直接选择的RAID组、RAID组比例或I/O性能。如果卷复制控制输入是直接选择的RAID组,则卷复制控制模块提供对卷复制管理表中的所选RAID组的RAID组编号的更新。如果卷复制控制输入是RAID组比例,则卷复制控制模块根据所选比例,执行RAID组分配。如果卷复制控制输入是I/O性能,则卷复制控制模块根据所选I/O性能,执行RAID组分配。针对主卷,卷复制控制输入还包括主卷编号、RAID组编号、RAID组比例以及I/O性能,以及针对一个或多个对应副卷中的每一个,卷复制控制输入还包括副卷编号、RAID组编号、RAID组比例、I/O性能以及关于副卷是否能够与主卷共享RAID组的指示。
在特定实施例中,卷复制控制模块被配置为:确定对用于存储相关数据的主卷和一个或多个副卷的RAID组的更新是否是从先前设置改变而来的,以及如果是,则在背景任务中重新平衡所分配的页;以及确定对用于存储相关数据的主卷和一个或多个副卷的RAID组的更新是否是从先前设置中减少而来的,以及如果是,则将所分配的页移到其它RAID组,并且更新页管理表。
在特定实施例中,由卷复制控制模块根据所选比例执行RAID组分配包括:针对卷复制控制输入中的主卷,以所选比例分配RAID组,其中从RAID组被作为主卷最后分配的下一卷开始RAID组编号;以及针对卷复制控制输入中的副卷,从对应主卷的相同RAID组中,以所选比例分配RAID组,其中从具有相同的对应主卷的副卷被最后分配的下一卷开始RAID组编号;以及确定副卷的比例是否大于剩余的未被分配的RAID组的剩余比例,以及如果大于,则指示在分配RAID组时出现错误,以及如果不大于,则以所选比例从被分配给对应主卷的不同RAID组中分配RAID组,其中从具有相同的对应主卷的副卷被最后分配的下一卷开始RAID组编号。
在特定实施例中,由卷复制控制模块根据所选I/O性能执行RAID组分配包括:针对卷复制控制输入中的主卷,从非全容量RAID组开始分配RAID组,直到RAID组的总I/O性能超过所选I/O性能,其中从RAID组被作为主卷最后分配的下一卷开始RAID组编号;以及针对卷复制控制输入中的每个副卷,如果该副卷能够与主卷共享RAID组,则以所选I/O性能从对应主卷的相同RAID组中分配RAID组,其中从具有相同的对应主卷的副卷被最后分配的下一卷开始RAID组编号;以及确定剩余未被分配的RAID组的总I/O性能是否小于所选I/O性能,以及如果小于,则指示在分配RAID组时出现错误,以及如果不小于,则以所选I/O性能从被分配给对应主卷的不同RAID组中分配RAID组,其中从具有相同的对应主卷的副卷被最后分配的下一卷开始RAID组编号。
在一些实施例中,多个相关数据包括存储在主卷中的数据以及存储在一个或多个对应副卷中的数据,其中存储在一个或多个副卷中的数据是对存储在主卷中的数据的写时复制,其中存储控制器包括:命令接收模块,被配置为确定存储系统是否已经接收到任何卷复制配置命令;以及磁盘I/O执行模块,用于如果存储系统没有接收到卷复制配置命令,则确定存储系统是否已经接收到任何读取I/O,如果已经接收到,则查阅页管理表,并且从该页管理表的对应RAID组中读取页,其中针对每个主卷,页管理表包括虚拟卷编号、逻辑块地址、RAID组编号以及页编号,以及针对每个副卷,页管理表包括虚拟卷编号、逻辑块地址、主卷变换或RAID组编号、以及与主卷编号或RAID组编号对应的主卷逻辑块地址或页编号;确定存储系统是否已经接收到任何写入I/O,以及如果已经接收到,则查阅卷复制管理表和页管理表,并且通过确定页管理表中是否存在写入I/O页的对应项,决定是否更新写入I/O页,以及如果存在,则将当前页复制到从对应副卷的RAID组中选出的一个RAID组中,并且更新对应副卷的页管理表,以及如果不存在,则从卷复制管理表中的主卷的对应RAID组中选择一个RAID组并且更新页管理表,并且随后不管页管理表中是否已经存在对应项,都将页写入到所选择的RAID组中,其中针对每个主卷,卷复制管理表包括主卷编号、主卷的RAID组编号、对应的一个或多个副卷的副卷编号以及该对应的一个或多个副卷的RAID组编号。
在特定实施例中,存储控制器包括卷复制控制模块,用于如果存储系统已经接收到卷复制配置命令,则确定卷复制控制输入是否是直接选择的RAID组、RAID组比例或I/O性能。如果卷复制控制输入是直接选择的RAID组,则卷复制控制模块提供对卷复制管理表中的所选RAID组的RAID组编号的更新。如果卷复制控制输入是RAID组比例,则卷复制控制模块根据所选比例,执行RAID组分配。如果卷复制控制输入是I/O性能,则卷复制控制模块根据所选I/O性能,执行RAID组分配。针对主卷,卷复制控制输入还包括主卷编号、RAID组编号、RAID组比以及I/O性能,以及针对一个或多个对应副卷中的每个,卷复制控制输入还包括副卷编号、RAID组编号、RAID组比、I/O性能以及关于副卷是否能够与主卷共享RAID组的指示。
在一些实施例中,卷复制控制模块被配置为:确定对用于存储相关数据的主卷和一个或多个副卷的RAID组的更新是否是从先前设置改变而来的,以及如果是,则在背景任务中重新平衡所分配的页;以及确定对用于存储相关数据的主卷和一个或多个副卷的RAID组的更新是否是从先前设置中减少而来的,以及如果是,则将所分配的页移到其它RAID组,并且更新页管理表。
在特定实施例中,由卷复制控制模块根据所选比例执行RAID组分配包括:针对卷复制控制输入中的主卷,以所选比例分配RAID组,其中从RAID组被作为主卷最后分配的下一卷开始RAID组编号;以及针对卷复制控制输入中的每个副卷,从对应主卷的相同RAID组中,以所选比例分配RAID组,其中从具有相同的对应主卷的副卷被最后分配的下一卷开始RAID组编号;以及确定副卷的比例是否大于剩余的未被分配的RAID组的剩余比例,以及如果大于,则指示在分配RAID组时出现错误,以及如果不大于,则以所选比例从被分配给对应主卷的不同RAID组中分配RAID组,其中从具有相同的对应主卷的副卷被最后分配的下一卷开始RAID组编号。由卷复制控制模块根据所选I/O性能执行RAID组分配包括:针对卷复制控制输入中的主卷,从非全容量RAID组开始分配RAID组,直到RAID组的总I/O性能超过所选I/O性能,其中从RAID组被作为主卷最后分配的下一卷开始RAID组编号;以及针对卷复制控制输入中的每个副卷,如果该副卷能够与主卷共享RAID组,则以所选I/O性能从对应主卷的相同RAID组中分配RAID组,其中从具有相同的对应主卷的副卷被最后分配的下一卷开始RAID组编号;以及确定剩余未被分配的RAID组的总I/O性能是否小于所选I/O性能,以及如果小于,则指示在分配RAID组时出现错误,以及如果不小于,则以所选I/O性能从被分配给对应主卷的不同RAID组中分配RAID组,其中从具有相同的对应主卷的副卷被最后分配的下一卷开始RAID组编号。
在一些实施例中,多个相关数据包括存储在主卷和多个对应副卷中的数据。存储控制分配相关数据,以使得与同一主卷对应的多个副卷可以具有多个在副卷之间不共享的被复制页。存储控制器包括:命令接收模块,被配置为确定存储系统是否已经接收到任何卷复制配置命令;以及磁盘I/O执行模块,用于如果存储系统没有接收到卷复制配置命令,则确定存储系统是否已经接收到任何读取I/O,如果已经接收到,则查阅页管理表,并且从该页管理表的对应RAID组中读取页,其中针对每个主卷,页管理表包括虚拟卷编号、逻辑块地址、RAID组编号以及页编号,以及针对每个副卷,页管理表包括虚拟卷编号、逻辑块地址、主卷变换或RAID组编号、以及与主卷编号或RAID组编号对应的主卷逻辑块地址或页编号;确定存储系统是否已经接收到任何写入I/O,以及如果已经接收到,则查阅卷复制管理表和页管理表,并且通过确定页管理表中是否存在写入I/O页的对应项,决定是否更新写入I/O页,以及如果存在,则将当前页复制到从多个对应副卷的RAID组中选出的一个RAID组中,并且更新对应副卷的页管理表,以及如果不存在,则从卷复制管理表中的主卷的对应RAID组中选择一个RAID组并且更新页管理表,并且随后不管页管理表中是否已经存在对应表项,都将页写入到所选择的RAID组中,其中针对每个主卷,卷复制管理表包括主卷编号、主卷的RAID组编号,对应副卷的副卷编号以及该对应副卷的RAID组编号。
在特定实施例中,存储控制器包括卷复制控制模块,用于如果存储系统已经接收到卷复制配置命令,则确定卷复制控制输入是否是直接选择的RAID组、RAID组比例或I/O性能。如果卷复制控制输入是直接选择的RAID组,则卷复制控制模块提供对卷复制管理表中的所选RAID组的RAID组编号的更新。如果卷复制控制输入是RAID组比,则卷复制控制模块根据所选比例,执行RAID组分配。如果卷复制控制输入是I/O性能,则卷复制控制模块根据所选I/O性能,执行RAID组分配。针对主卷,卷复制控制输入还包括主卷编号、RAID组编号、RAID组比例以及I/O性能,以及针对对应副卷中的每一个,卷复制控制输入还包括副卷编号、RAID组编号、RAID组比例、I/O性能以及关于副卷是否能够与主卷共享RAID组的指示。
在一些实施例中,卷复制控制模块被配置为:确定对用于存储相关数据的主卷和副卷的RAID组的更新是否是从先前设置改变而来的,以及如果是,则在背景任务中重新平衡所分配的页;以及确定对用于存储相关数据的主卷和副卷的RAID组的更新是否是从先前设置中减少而来的,以及如果是,则将所分配的页移到其它RAID组,并且更新页管理表;以及确定每个所述副卷的RAID组是否被并入,以及如果是,则确定被并入的副卷是否也具有被复制页,以及如果不具有,则将先前页移到从新RAID组中选出的一个RAID组,并且更新所述页管理表中的RAID组编号和页编号项,以及如果具有,则将所述页管理表中的RAID组编号和页编号项更新为所述被并入的副卷的RAID组编号和页编号;以及确定从其它副卷是否引用了所述先前页是否引用自其它副卷,以及如果是,则删除所述先前页。
在特定实施例中,由卷复制控制模块根据所选比例执行RAID组分配包括:针对卷复制控制输入中的主卷,以所选比例分配RAID组,其中从RAID组被作为主卷最后分配的下一卷开始RAID组编号;以及针对卷复制控制输入中的每个副卷,从对应主卷的相同RAID组中,以所选比例分配RAID组,其中从具有相同的对应主卷的副卷被最后分配的下一卷开始RAID组编号;以及确定副卷的比例是否大于剩余的未被分配的RAID组的剩余比例,以及如果大于,则指示在分配RAID组时出现错误,以及如果不大于,则以所选比例从与被分配给对应主卷的RAID组不同的RAID组中分配RAID组,其中从具有相同的对应主卷的副卷被最后分配的下一卷开始RAID组编号。由卷复制控制模块根据所选I/O性能执行RAID组分配包括:针对卷复制控制输入中的主卷,从非全容量RAID组开始分配RAID组,直到RAID组的总I/O性能超过所选I/O性能,其中从RAID组被作为主卷最后分配的下一卷开始RAID组编号;以及针对卷复制控制输入中的每个副卷,如果该副卷能够与主卷共享RAID组,则以所选I/O性能从对应主卷的相同RAID组中分配RAID组,其中从具有相同的对应主卷的副卷被最后分配的下一卷开始RAID组编号;以及确定剩余未被分配的RAID组的总I/O性能是否小于所选I/O性能,以及如果小于,则指示在分配RAID组时出现错误,以及如果不小于,则以所选I/O性能从与被分配给对应主卷的RAID组不同的RAID组中分配RAID组,其中从具有相同的对应主卷的副卷被最后分配的下一卷开始RAID组编号。
根据本发明的另一方面,存储系统包括:处理器;存储器;以及存储控制器,该存储控制器用于响应于写入请求而从第一池中分配存储区,以及对于从第一池的不同RAID组中分配用于多个相关数据的存储区进行控制,所述用于多个相关数据的存储区要从第一池中分配。
鉴于下述具体实施例的详细描述,本发明的这些和其它特征和优点对于本领域普通技术人员而言将变得显而易见。
附图说明
图1示出了整卷复制的示例。
图2示出了将针对PVOL和SVOL的自动精简配置池进行组合的示例。
图3示出了根据第一实施例的针对PVOL和SVOL的自动精简配置池以及用于管理整卷复制的卷复制管理表的示例。
图4示出了针对PVOL和SVOL的自动精简配置池以及被改变的卷复制管理表的示例。
图5例示了可以应用本发明的方法和装置的系统的配置和功能的示例。
图6示出了RAID组管理表的示例。
图7示出了自动精简配置池管理表的示例。
图8示出了逻辑卷管理表的示例。
图9示出了根据第一实施例的卷复制管理表的示例。
图10示出了根据第一实施例的页管理表的示例。
图11示出了自动精简配置池管理服务器的配置的示例。
图12示出了集成存储池卷复制管理器的配置的示例。
图13示出了例示根据第一实施例的命令接收的主过程的流程图的示例。
图14示出了例示图13中的卷复制配置处理的流程图的示例。
图15示出了例示图14中的根据所选比例进行RG分配的流程图的示例。
图16示出了例示图14中的根据所选I/O性能进行RG分配的流程图的示例。
图17示出了根据第二实施例的针对PVOL和SVOL的自动精简配置池以及用于管理写时复制快照的卷复制管理表的示例。
图18示出了根据第二实施例的卷复制管理表的示例。
图19示出了根据第二实施例的页管理表的示例。
图20示出了例示根据第二实施例的命令接收的主过程的流程图的示例。
图21示出了根据第三实施例的针对PVOL和SVOL的自动精简配置池以及用于管理写时复制快照的卷复制管理表的示例。
图22示出了根据第三实施例的卷复制管理表的示例。
图23示出了根据第三实施例的页管理表的示例。
图24示出了例示根据第三实施例的命令接收的主过程的流程图的示例。
图25示出了例示图24中的卷复制配置处理的流程图的示例。
具体实施方式
在本发明的下述详细描述中,参照构成本公开内容的一部分的附图,在附图中,以例示而不是限制性的方式,示出可以实践本发明的示例实施例。在附图中,在整个若干示图中,相似的参考标记描述基本相似的组件。此外,应该注意,尽管详细描述如下所述以及如附图中所示提供了各种示例实施例,但是本发明不限于本文中描述和例示的实施例,而可以扩展到其它实施例,如本领域技术人员已知或者将变为已知。说明书中对“一个实施例”、“本实施例”或“这些实施例”的引用意味着结合实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中,并且这些短语在说明书的各个地方的出现不必都指代同一实施例。另外,在下面的详细描述中,阐述了许多具体细节,以便提供对本发明的全面理解。然而,本领域普通技术人员将明白的是,实践本发明不必需要所有这些具体细节。在其它场合,公知结构、材料、电路。过程和接口没有详细描述,和/或可以以方框图的形式例示,从而不对本发明产生不必要的混淆。
此外,针对算法和计算机内的操作的符号表示,如下呈现了详细描述的一部分。这些算法描述和符号表示是本领域技术人员在数据处理领域中使用的含义,从而将它们的创新性的本质最有效地传递给本领域的其它技术人员。算法是导致期望的末端状态或结果的一系列限定步骤。在本发明中,所执行的步骤要求可触及物理量的用于实现可触及结果的物理操作。通常,但不是必须的,这些量采用能够存储、传送、组合、比较以及以其它方式操纵的电信号、磁信号或指令的形式。将这些信号称为比特、值、元素、符号、字符、能级(term)、数字、指令等,有时已经证明是方便的,主要是通用用法的原因。然而,应该铭记的是,所有这些以及类似术语要与合适的物理量相关联,并且仅仅是应用于这些量的便利标签。除非以其它方式特别声明,如根据下面的讨论显而易见的,在整个描述中,使用比如“处理”、“计算”、“运算”、“确定”、“显示”等的术语的讨论可以包括计算机系统或其它信息处理设备的动作和过程,该计算机系统或其它信息处理设备操作并将被表示为计算机系统的寄存器和存储器内的物理(电子)量的数据变换为被类似地表示为计算机系统的存储器或寄存器或其它信息存储、传输或显示设备内的物理量的数据。
本发明还涉及用于执行本文中的操作的装置。该装置可以针对所需目的特定构造,或者它可以包括由一个或多个计算机程序选择性激活或重新配置的一个或多个通用计算机。这些计算机程序可以存储在计算机可读存储介质中,比如但不限于光盘、磁盘、只读存储器、随机存取存储、固态设备和驱动器,或者任何其它类型的适于存储电子信息的介质。本文中呈现的算法和显示器不是固有地涉及任何特定计算机或其它装置。各种通用系统可以与根据本文中的教导的程序和模块一起使用,或者构造更为专用的装置来执行期望的方法步骤被证明是便利的。另外,本发明不参照任何特定编程语言描述。将明白的是,可以使用各种编程语言来实现如本文中所述的本发明的教导。编程语言的指令可以由一个或多个处理设备执行,比如中央处理单元(CPU)、处理器或控制器。
如将在下面更为详细的描述,本发明的示例实施例提供用于存储子系统中的针对主逻辑卷和副逻辑卷的集成自动精简配置池的装置、方法和计算机程序。
第一实施例
图3示出了根据第一实施例的针对PVOL和SVOL的自动精简配置池以及用于管理整卷复制的卷复制管理表的示例。卷复制管理表管理RAID组,每个逻辑卷能够将页写入到该RAID组。因此,SVOL的写入页被写入到与PVOL的RAID组不同的RAID组中。
图4示出了针对PVOL和SVOL的自动精简配置池以及被改变的卷复制管理表的示例。如果逻辑卷的RAID组减少,则对应RG的页被移到其它RG。如果逻辑卷的RAID组没有减少,则在背景任务中重新平衡当前RG的页。例如,PVOL#1要求更好的性能,并且因此PVOL#1的RG从RG#1-5变到RG#1-6。同时,SVOL#1的RG应该从RG#6-8变到RG#7-8,以防止并发故障(concurrentfailure)。RG#6的页被移到RG#7和#8。结果是,这改善了存储子系统的管理性和I/O性能。
图5例示了可以应用本发明的方法和装置的系统的配置和功能的示例。池管理服务器501具有用于从用户接收输入的GUI(图形用户界面)。外部存储子系统的逻辑单元(LU)503被设置。前端存储子系统500包括具有CPU511的存储控制器510、存储器512、网络接口卡(NIC)513、光纤通道接口(FCI/F)514以及SCSII/F515。存储器包括高速缓存区521和各种模块和表格。命令接收模块531执行命令接收的主处理(参见图13的流程图)。经由NIC513从池管理服务器501发送输入命令。
磁盘I/O执行模块532和卷复制控制模块533由命令接收模块531调用。磁盘I/O执行模块532执行图13的流程图中的步骤1304-1311。磁盘I/O执行模块532被配置为经由SCSII/F515对SSD516、15KrpmHDD517、10KrpmHDD518和7KrpmHDD519进行读取/写入。磁盘I/O执行模块532管理页管理表540。卷复制控制模块533执行卷复制配置处理(参见图14的流程图)。卷复制控制模块533管理RG信息,由此每个逻辑卷可以利用池管理服务器501中的输入信息进行读取/写入。卷复制控制模块533管理RAID组管理表536、自动精简配置池管理表537、逻辑卷管理表538以及卷复制管理表539。页分配控制模块534和分配RG计算模块535由卷复制控制模块533调用。页分配控制模块534执行卷复制配置处理(参见图14的流程图(1406-1410))。当卷复制管理表539被更新时,页分配控制模块534被调用。如果必要,则程序将页移到其它RG。分配RG计算模块535根据所选比例执行RG分配(参见图15的流程图)以及根据所选I/O性能执行RG分配(参见图16的流程图)。程序计算RG信息,其中每个逻辑卷可以利用池管理服务器501中的输入策略(RG比例、I/O性能),进行读取/写入。
RAID组管理表536管理RAID组信息(参见图6)。自动精简配置池管理表537管理自动精简配置池信息(参见图7)。逻辑卷管理表538管理逻辑卷信息(参见图8)。卷复制管理表539管理卷复制信息(参见图9)。页管理表540管理页分配信息(参见图10)。
图6示出了RAID组管理表536的示例。该表具有下述列:RAID组编号(#)601、容量602、属性603、内部/外部604、RAID级605、磁盘#或者WWN/LUN606、随机I/O性能(IOPS)607以及顺序I/O性能(MB/s)608。属性列603存储RAID组的介质类型及连接类型。在磁盘#或WWN/LUN606中,如果该磁盘是内部磁盘,则它存储前端存储子系统500的磁盘ID,如果该磁盘是外部卷,则它存储可以在系统中识别的卷信息(例如,WWN(万维网名称)以及LUN(逻辑单元编号))。
图7示出了自动精简配置池管理表537的示例。该表具有下述列:池#701、容量702、已使用容量703以及RAID组#704。
图8示出了逻辑卷管理表538的示例。该表具有下述列:卷#801、属性802、池#803、容量804以及已使用容量805。
图9示出了根据第一实施例的卷复制管理表539的示例。该表具有下述列:PVOL卷#901、PVOLRG#902、SVOL卷#903、SVOLRG#904以及属性905。PVOLRG#列902列出了PVOL卷#列901的RG。写入页被分配给上述RG。SVOLRG#列904列出了SVOL卷#列903的RG。写入页被分配给上述RG。属性列905是可选的,并且示例包括备份、数据仓库以及最新备份。在所示示例中,卷#1的RG与卷#2的RG不同。卷#3的RG与卷#4的RG不同,但是卷#5部分使用卷#3的RG(RG#5,6)。卷#6的RG与卷#9(最新备份)的RG不同,但是卷#7,8可以使用卷#6的RG。
图10示出了根据第一实施例的页管理表540的示例。该表具有下述列:虚拟卷#1001、LBA1002、RAID组#1003以及页#1004。在所示示例中,PVOL#1中的LBA是0-99的页被分配给RG#1的页10,而SVOL#1中的LBA是1000-1099的页被分配给RG#6的页110。
图11示出了自动精简配置池管理服务器500的配置的示例。服务器500具有CPU1101、NIC1102、存储器1103、一个或多个输入设备1104以及显示器1105。存储器存储ISPRAID组控制1111(参见图6,常规方法)、ISP自动精简配置池控制1112(参见图7,常规方法)、ISP逻辑卷控制1113(参见图8,常规方法)以及ISP卷复制控制1114,其从集成存储卷复制管理器GUI1122接收输入并且将卷复制配置命令发送给命令接收模块531(参见图5)。
图12示出了集成存储池卷复制管理器1122的配置的示例。管理器1122提供用于用户的输入和输出接口。管理器1122具有卷复制面板1201(参见图9和图13-16)。输入RG、比例和I/O性能中的如上选择的仅仅一列就足够。管理器1122还包括RAID组面板1202(参见图6)、自动精简配置面板1203(参见图7)以及逻辑卷面板1204(参见图8)。
图13示出了例示根据第一实施例的命令接收的主过程的流程图的示例(参见图3以及图5中的命令接收模块531)。当在卷复制面板1201中设置卷复制配置时,该过程从步骤1301开始。在步骤1302,程序确定存储子系统是否已经接收到任何卷复制配置命令。如果接收到,则在步骤1303,程序执行卷复制配置处理(参见图14)。在步骤1304,程序确定存储子系统是否已经接收到任何读取I/O。如果接收到,则在步骤1305,程序查阅页管理表540,并且在步骤1306,程序从页管理表540的对应RG中读取页。在步骤1307,程序确定存储子系统是否已经接收到任何写入I/O。如果接收到,则程序前行到步骤1308到1311。在步骤1308,程序查阅卷复制管理表539和页管理表540。在步骤1309,程序通过确定页管理表540中是否已经存在对应行,决定写入I/O页是否被更新。如果存在,则程序跳过步骤1310。如果不存在(步骤1310),则程序从卷复制管理表539的对应RG中选择一个RG(例如,循环),并且更新页管理表540。例如,PVOL#1使用RG#1-5。因此,第一页被分配给RG#1的页#10,以及下一页被分配给RG#2的页#20,等等(参见图10,循环情形)。在步骤1311,程序将页写入到对应RG。在步骤1312,程序确定存储子系统是否已经接收到关闭命令。如果已经接收到,则程序在步骤1313结束。如果没有,则程序返回到步骤1302。
图14示出了例示卷复制配置处理的流程图的示例(参见图4,图5的卷复制控制模块以及图13的步骤1303)。在步骤1402,程序确定卷复制面板1201中的哪个信息是输入(直接选择的RG、RG比例或I/O性能)。如果输入是直接选择的RG,则在步骤1403,程序提供对卷复制管理表539的RG#列上的所选RG#的更新。也就是,利用卷复制面板1201上的信息,更新卷复制管理表540。例如,PVOL#6:RG#1-5;SVOL#7:RG#1-3;SVOL#8:RG#4-5;以及SVOL#9:RG#6-8。如果输入是RG比例,则在步骤1404,程序根据所选比例执行RG分配。如果输入是I/O性能,则在步骤1405,程序根据所选I/O性能执行RG分配。在步骤1406,程序确定对PVOL/SVOL的更新是否是保持为先前设置未变,或者是仅仅通过更新卷复制管理表540增加RG(例如,RG#1-3->RG#1-3或者RG#1-3->RG#1-4。其不是RG#1-3->RG#2-4的上述情形)。如果是,则在步骤1407,在背景任务中重新平衡所分配的页。在步骤1408,程序确定对PVOL/SVOL的更新是否是通过更新卷复制管理表540来从先前设置中减少(例如,RG#1-3->RG#1-2或者RG#1-3->RG#2-4)。如果是,则程序前行到步骤1409和1410。在步骤1409,所分配的页被移到其它RG(例如,循环)。所移动的页可以分配给对应逻辑卷的任何RG(例如,通过使用循环法将所移动的页分配给RG,所移动的页被分配给增加的RG,等)。在步骤1410,更新页管理表540。程序在步骤1411结束。
图15示出了例示根据所选比例进行RG分配的流程图的示例(参见图14的步骤1404)。在步骤1502,程序确定卷复制面板1201中的卷是否是PVOL。例如,在图12中示出的卷复制面板1201中,首先选择PVOL#6。在这种情况下,步骤1502的确定结果为是。如果是,则程序前行到步骤1503,并且随后前行到步骤1509。如果不是,则程序前行到步骤1504。在步骤1503,程序以所选比例分配RG。RG#从RG被作为PVOL最后分配的下一卷开始。例如,在图12中示出的卷复制面板1201中,PVOL#6的比例是62.5%。卷池#1的总量是8(RG#1-8)。结果是,因此分配8*0.625=5个RG(RG#1-5)。在步骤1504,程序确定在卷复制面板1201中是否选择SVOL的共享复选框(该卷的RG能够与PVOL的RG共享吗?)例如,在SVOL#7的复选框中,选择是,则在SVOL#9的复选框中,选择否。如果选择,则程序前行到步骤1505,并且随后前行到步骤1509。如果没有选择,则程序前行到步骤1506。在步骤1505,程序从对应PVOL的相同RG中,以所选比例分配RG。RG#从具有相同的对应PVOL的SVOL被最后分配的下一卷开始。例如,SVOL#7的RG被分配给PVOL#6的相同RG(RG#1-5)。卷池#1的总量是8(RG#1-8)。结果是,因此分配8*0.375=3个RG(RG#1-3)。按照相同的方式,SVOL#8的RG被分配到RG#4-5(因为RG#从作为下一编号的RG#4开始)。
在步骤1506,程序确定SVOL的比例是否大于(剩余未被分配的RG的)剩余比例。例如,在图12,如果PVOL#6的比例是62.5%,以及SVOL#9的比例是50%(共享列中未多选),则在步骤1506中选择是。如果大于,则由于程序不能在步骤1507分配RG,程序指示错误,并且随后在步骤1511结束。如果小于,则程序前行到步骤1508,并且从对应PVOL的不同RG中,以所选比例分配RG。RG#从具有相同的对应PVOL的SVOL被最后分配的下一卷开始。例如,SVOL#9的RG被分配到PVOL#6的不同RG(RG#6-8)。卷池#1的总量是8(RG#1-8)。结果是,因此分配8*0.375=3个RG(RG#6-8)。随后,程序前行到步骤1509。在步骤1509,程序确定它是否已经处理最后的卷。如果是,则程序在步骤1511结束。如果否,则程序在步骤1510进行到下一卷,并且返回到步骤1502。
图16示出了例示根据所选I/O性能进行RG分配的流程图的示例(参见图14的步骤1405)。图16类似于图15。在步骤1602,程序确定卷复制面板1201中的卷是否是PVOL。如果是,则程序前行到步骤1603,并且随后前行到步骤1609。如果不是,则程序前行到步骤1604。在步骤1603,程序从非全容量RG开始分配RG,直到RG的总I/O性能超过所选I/O性能。RG#从RG被作为PVOL最后分配的下一卷开始。例如,在图12中示出的卷复制面板1201中,PVOL#6的I/O性能是3200MB/s。因为RG#1-5的总性能是3200MB/s,因此分配RG#1-5。在步骤1604,程序确定在卷复制面板1201中是否选择SVOL的共享复选框。如果选择,则程序前行到步骤1605,并且随后前行到步骤1609。如果没有选择,则程序前行到步骤1606。在步骤1605,按照与步骤1603相同的方式,程序从对应PVOL的相同RG中,以所选I/O性能分配RG。
在步骤1606,程序确定剩余RG的总I/O性能是否小于所选I/O性能。例如,在图12,如果PVOL#6的I/O性能是3200MB/s,并且SVOL#9的I/O性能是1000MB/s,则1000MB/s超过剩余RG的总I/O性能(RG#6-8,800MB/s)。因此,在步骤1606选择是。如果超过,则由于程序不能在步骤1607分配RG,程序指示错误,并且随后在步骤1611结束。如果未超过,则程序前行到步骤1608,并且按照与步骤1603相同的方式,从对应PVOL的不同RG中,以所选I/O性能分配RG。随后,程序前行到步骤1609。在步骤1609,程序确定它是否已经处理最后的卷。如果已经处理,则程序在步骤1611结束。如果没有,则程序在步骤1610进行到下一卷,并且返回到步骤1602。
第二实施例
第一实施例涉及整卷复制(例如,阴影图像),而第二实施例涉及写时复制快照。图17示出了根据第二实施例的针对PVOL和SVOL的自动精简配置池以及用于管理写时复制快照的卷复制管理表的示例。如上结合第一实施例所讨论的,卷复制管理表用于管理RAID组,由此每个逻辑卷可以写入页。当PVOL的页被更新时,该页被写入到SVOL的RG。此时,SVOL的被复制页被写入到与PVOL的RAID组不同的RAID组中。具有相同PVOL的SVOL中的被复制页被共享。
图18示出了根据第二实施例的卷复制管理表539的示例。在写时复制快照的情况下,与同一PVOL对应的SVOL被分配相同的RG。例如,SVOL#4-5被分配给RG#1-3,并且SVOL#7-9被分配给RG#6-8。该表具有下述列:PVOL卷#1801、PVOLRG#1802、SVOL卷#1803、SVOLRG#1804以及属性1805。
图19示出根据第二实施例的页管理表540的示例。虚拟卷#1901和LBA1902列与图10中的第一实施例相同。SVOL的RAID组#1903可以是PVOL#或RAID组#,如同第一实施例中。图10的第一实施例中的页#列1004变为图19中的PVOLLBA/页#列1904。在写时复制快照的情况下,SVOL的页指向PVOL的对应页。例如,SVOL#2的LBA1000-1099仅仅指向PVOL#1的LBA0-99,即,RG#1的页#10。SVOL#2的LBA1200-1299被分配给RG#8的页#130。
图20示出了例示根据第二实施例的命令接收的主过程的流程图的示例(参见图17以及图5中的命令接收模块)。步骤2001-2009与图13中示出的第一实施例的步骤1301-1309相同。在步骤2010,程序将当前页复制到从对应SVOL的RG中选出的一个RG(例如,循环),并且更新SVOL的页管理表。例如,(2(SVOL),1200-1299,PVOL#1,200-299)被更新为(2(SVOL),1200-1299,8,130)。步骤2011-2014与图13中示出的步骤1310-1313相同。
第三实施例
在第二实施例中,具有相同PVOL的SVOL的被复制页被共享。如果一个RG故障,则所有对应的SVOL都故障。此外,由于SVOL内的锁定是繁重的任务,所以读取SVOL可能缓慢。因此,一些SVOL被分配给其它SVOL的不同RG。在第三实施例中,具有相同PVOL的SVOL可以具有多个被复制页。
图21示出了根据第三实施例的针对PVOL和SVOL的自动精简配置池以及用于管理写时复制快照的卷复制管理表的示例。当PVOL的页被更新时,将多个被复制页写入到SVOL的RG。当最新备份SVOL被分配到其它SVOL的不同RG时,可以将专用SVOL并入到其它SVOL的被复制页。
图22示出了根据第三实施例的卷复制管理表539的示例。图22类似于图18,并且信息由图12中示出的GUI输入。该表具有下述列:PVOL卷#2201、PVOLRG#2202、SVOL卷#2203、SVOLRG#2204以及属性2205。
图23示出了根据第三实施例的页管理表540的示例。图23类似于图19。该表具有下述列:虚拟卷#2301、LBA2302、PVOL#或RAID组#2303以及PVOLLBA/页#列2304。例如,PVOL#3具有多个SVOL(SVOL#4和SVOL#5)。当(3(PVOL),200-299,7,30)被更新时,将当前页复制到RG#2和RG#5。随后,更新页管理表540:(4(SVOL),1200-1299,PVOL,200-299)->(4(SVOL),1200-1200,2,13),(5(SVOL),2200-2299,PVOL,200-299)->(5(SVOL),2200-2299,5,230)。
图24示出了例示根据第三实施例的命令接收的主过程的流程图的示例(参见图21和图5中的命令接收模块)。除了步骤2410与步骤2010不同之外,图24与图20相同。在步骤2410,将多个被复制页写入到SVOL的RG。
图25示出了例示图24中的卷复制配置处理的流程图的示例(参见图21,图5中的卷复制控制模块,以及图24中的步骤2403)。步骤2502-2510与图14中示出的第一实施例的步骤1402-1410相同。在步骤2511,程序确定是否并入SVOL的RG。如果不并入,则程序在步骤2519结束。如果并入,则程序前行到步骤2512。例如,在图21中示出的卷复制管理表539中,行(PVOL#1,RG#1-5,SVOL#2,RG#3-5)变为(PVOL#1,RG#1-5,SVOL#2,RG#6-8)。结果是,合并SVOL#1的RG和SVOL#2的RG。在步骤2512,程序确定被并入的SVOL是否也具有被复制页。如果不具有,则程序前行到步骤2513。如果具有,则程序前行到步骤2514。例如,程序假设SVOL#4被并入到SVOL#5。由于SVOL#5的对应页(5,2100-2199,PVOL#1,100-199)仅仅指向PVOL的页,所以SVOL#5不具有与SVOL#4的(4,1100-1199,1,120)对应的被复制页。另一方面,由于SVOL#5具有对应页(5,2200-2299,5,230),所以SVOL#5具有与SVOL#4的(4,1200-1299,2,230)对应的被复制页。
在步骤2513,程序将先前页移到从新的RG中选出的一个RG(例如,循环),并且更新页管理表540的RG#列和页#列。在上述示例中,由于SVOL#5的对应页(5,2100-2199,PVOL#1,100-199)仅仅指向PVOL的页,所以SVOL#5不具有与SVOL#4的(4,1100-1199,1,120)对应的被复制页。程序将(4,1100-1199,1,120)移到RG#6(因为页被分配到RG#5,所以利用循环来分配下一RG,即,RG#6)。接着,例如,页管理表540中的(4,1100-1199,1,120)被更新为(4,1100-1199,6,340)。在步骤2514,程序将页管理表540中的RG#列和页#列更新为被并入的SVOL的RG#列和页#列。在上述示例中,因为SVOL#5具有对应页(5,2200-2299,5,230),所以SVOL#5具有与SVOL#4的(4,1200-1299,2,130)对应的被复制页。
在步骤2515,程序确定先前页是否是从其它SVOL引用的。如果不是,程序跳过步骤2516。如果是,程序在步骤2516删除该先前页。在上述示例中,由于SVOL#5的对应页(5,2100-2199,PVOL#1,100-199)仅仅指向PVOL的页,所以SVOL#5不具有与SVOL#4的(4,1100-1199,1,120)对应的被复制页。(4,1100-1199,1,120)不是从其它SVOL引用的。因此,删除RG#1的页。在步骤2517,程序确定它是否已经处理最后的页。如果已经处理,程序在步骤2519结束。如果没有处理,则程序在步骤2518进行到下一页,并且返回到步骤2512。
当然,图5中例示的系统配置仅仅是可以实现本发明的信息系统的示例,并且本发明不限于特定硬件配置。实现本发明的计算机和存储系统还可以具有已知的I/O设备(例如,CD和DVD驱动器、软盘驱动器、硬盘驱动器等),其可以存储和读取用于实现上述发明的模块、程序和数据结构。可以在这种计算机可读介质上对这些模块、程序和数据结构进行编码。例如,本发明的数据结构可以独立于驻存本发明中使用的程序的一个或多个计算机可读介质,存储在计算机可读介质上。上述系统的组件可以利用任何形式的数字数据通信介质(例如,通信网络)互连。通信网络的示例包括局域网、广域网(例如,互联网)、无线网络、存储区域网等。
在描述中,为了说明而阐述了许多细节,以便提供对本发明的全面理解。然而,本领域技术人员将要明白的是,实践本发明不必需要所有这些具体细节。还要注意的是,本发明被描述为过程,该过程通常被描述为流程、流程图或方框图。尽管流程图可以将操作描述为顺序过程,但是上述操作中的许多操作可以并行或同时执行。另外,上述操作的顺序可以重新布置。
如本领域中公知的,上述操作可以利用硬件、软件或软件和硬件的某一组合执行。本发明的实施例的各个方面可以使用电路和逻辑设备(硬件)实现,而其它方面可以使用存储在机器可读介质上存储的指令(软件)实现,如果由处理器执行,则该指令将使得处理器执行用于进行本发明的实施例的方法。此外,本发明的一些实施例可以仅仅采用硬件执行,而其它实施例可以仅仅采用软件执行。此外,所述各个功能可以在单个单元中执行,或者可以按照多种方式在多个组件之间扩展。当利用软件执行时,上述方法可以由比如通用计算机的处理器,基于计算机可读介质上存储的指令执行。如果期望,则上述指令可以以压缩和/或加密的格式存储在介质上。
根据前述,将显而易见的是,本发明提供用于存储子系统中的针对主逻辑卷和副逻辑卷的集成自动精简配置池的方法、装置和程序。另外,尽管在本说明书中已经例示和描述了具体实施例,但是本领域普通技术人员明白,目的在于实现相同目的的任何布置可以替代所公开的具体实施例。本公开意在涵盖本发明的任何以及所有修改或变化,并且要理解的是,下述权利要求中使用的术语不应该被解释为将本发明限制到说明书中公开的具体实施例。相反,本发明的范围完全由下述权利要求以及这些权利要求的等价物的全部范围确定,下述权利要求要根据已经建立的权利要求解读原则进行解释。

Claims (13)

1.一种存储系统,包括:
处理器;
存储器;以及
存储控制器,用于响应于写入请求而从第一池中分配存储区,并且对于从所述第一池中的指定RAID组中分配用于多个相关数据的存储区进行控制,所述用于多个相关数据的存储区要从所述第一池中分配;
其特征在于,所述多个相关数据包括存储在主卷中的数据以及存储在一个或多个对应副卷中的数据,其中,所述存储控制器包括:
命令接收模块,用于确定所述存储系统是否已经接收到任何卷复制配置命令;以及
磁盘I/O执行模块,用于如果所述存储系统没有接收到卷复制配置命令,则:
确定所述存储系统是否已经接收到任何读取I/O,并且如果已经接收到,则查阅页管理表,并且从所述页管理表的对应RAID组中读取页,其中针对每个主卷,所述页管理表包括虚拟卷编号、逻辑块地址、RAID组编号以及页编号,并且针对每个副卷,所述页管理表包括虚拟卷编号、逻辑块地址、RAID组编号和页编号;
确定所述存储系统是否已经接收到任何写入I/O,并且如果已经接收到,则查阅卷复制管理表和所述页管理表,并且通过确定所述页管理表中是否存在写入I/O页的对应项,决定是否更新所述写入I/O页,以及如果不存在,则从所述卷复制管理表中的主卷的对应RAID组中选择一个RAID组并更新所述页管理表,并且随后不管所述页管理表中是否已经存在对应项,都将页写入到所选择的RAID组中,其中针对每个主卷,所述卷复制管理表包括主卷编号、所述主卷的RAID组编号、对应的一个或多个副卷的副卷编号以及所述对应的一个或多个副卷的RAID组编号。
2.如权利要求1所述的存储系统,其中,所述存储控制器包括:
卷复制控制模块,用于如果所述存储系统已经接收到卷复制配置命令,则确定卷复制控制输入是否是直接选择的RAID组、RAID组比例或I/O性能,
其中,如果所述卷复制控制输入是直接选择的RAID组,则所述卷复制控制模块提供对所述卷复制管理表中的所选RAID组的RAID组编号的更新,
其中,如果所述卷复制控制输入是RAID组比例,则所述卷复制控制模块根据所选比例,执行RAID组分配,
其中,如果所述卷复制控制输入是I/O性能,则所述卷复制控制模块根据所选I/O性能,执行RAID组分配,以及
其中,针对主卷,所述卷复制控制输入还包括主卷编号、RAID组编号、RAID组比例以及I/O性能,以及针对所述一个或多个对应副卷中的每一个,所述卷复制控制输入还包括副卷编号、RAID组编号、RAID组比例、I/O性能以及关于所述副卷是否能够与所述主卷共享RAID组的指示。
3.如权利要求2所述的存储系统,其中,所述卷复制控制模块被配置为:
确定对用于存储所述相关数据的主卷和一个或多个副卷的RAID组的更新是否是从先前设置改变而来的,并且如果是,则在背景任务中重新平衡所分配的页;以及
确定对用于存储所述相关数据的主卷和一个或多个副卷的RAID组的更新是否是从先前设置中减少而来的,以及如果是,则将所分配的页移到其它RAID组,并且更新所述页管理表。
4.如权利要求2所述的存储系统,其中,由所述卷复制控制模块根据所选比例执行RAID组分配包括:
针对所述卷复制控制输入中的主卷,以所选比例分配RAID组,其中从RAID组被作为主卷最后分配的下一卷开始所述RAID组编号;以及
针对所述卷复制控制输入中的副卷,
如果所述副卷能够与所述主卷共享RAID组,则从对应主卷的相同RAID组中,以所选比例分配RAID组,其中从具有相同的对应主卷的副卷被最后分配的下一卷开始RAID组编号;以及
确定所述副卷的比例是否大于剩余的未被分配的RAID组的剩余比例,以及如果大于,则指示在分配RAID组时出现错误,以及如果不大于,则以所选比例从与被分配给所述对应主卷的RAID组不同的RAID组中分配RAID组,其中从具有相同的对应主卷的副卷被最后分配的下一卷开始所述RAID组编号。
5.如权利要求2所述的存储系统,其中,由所述卷复制控制模块根据所选I/O性能执行RAID组分配包括:
针对卷复制控制输入中的主卷,从非全容量RAID组开始分配RAID组,直到RAID组的总I/O性能超过所选I/O性能,其中从RAID组被作为主卷最后分配的下一卷开始RAID组编号;以及
针对所述卷复制控制输入中的每个副卷,
如果所述副卷能够与所述主卷共享RAID组,则以所选I/O性能从对应主卷的相同RAID组中分配RAID组,其中从具有相同的对应主卷的副卷被最后分配的下一卷开始RAID组编号;以及
确定剩余未被分配的RAID组的总I/O性能是否小于所选I/O性能,以及如果小于,则指示在分配RAID组时出现错误,以及如果不小于,则以所选I/O性能从与被分配给对应主卷的RAID组不同的RAID组中分配RAID组,其中从具有相同的对应主卷的副卷被最后分配的下一卷开始RAID组编号。
6.一种存储系统,包括:
处理器;
存储器;以及
存储控制器,用于响应于写入请求而从第一池中分配存储区,并且对于从所述第一池中的指定RAID组中分配用于多个相关数据的存储区进行控制,所述用于多个相关数据的存储区要从所述第一池中分配;
其特征在于,所述多个相关数据包括存储在主卷中的数据以及存储在一个或多个对应副卷中的数据,其中在所述一个或多个对应副卷中的数据是对存储在所述主卷中的数据的写时复制,其中所述存储控制器包括:
命令接收模块,用于确定所述存储系统是否已经接收到任何卷复制配置命令;以及
磁盘I/O执行模块,用于如果所述存储系统没有接收到卷复制配置命令,则:
确定所述存储系统是否已经接收到任何读取I/O,并且如果已经接收到,则查阅页管理表,并且从所述页管理表的对应RAID组中读取页,其中针对每个主卷,所述页管理表包括虚拟卷编号、逻辑块地址、RAID组编号以及页编号,并且针对每个副卷,所述页管理表包括虚拟卷编号、逻辑块地址、主卷编号或RAID组编号、以及与所述主卷编号或RAID组编号对应的主卷逻辑块地址或页编号;
确定所述存储系统是否已经接收到任何写入I/O,并且如果已经接收到,则查阅卷复制管理表和所述页管理表,并且通过确定所述页管理表中是否存在写入I/O页的对应项,决定是否更新所述写入I/O页,以及如果存在对应项,则将当前页复制到从对应副卷的RAID组中选出的一个RAID组中,并且更新对应副卷的页管理表,以及如果不存在,则从所述卷复制管理表中的主卷的对应RAID组中选择一个RAID组并且更新所述页管理表,并且随后不管所述页管理表中是否已经存在对应项,都将页写入到所选择的RAID组中,其中针对每个主卷,所述卷复制管理表包括主卷编号、所述主卷的RAID组编号、对应的一个或多个副卷的副卷编号以及所述对应的一个或多个副卷的RAID组编号。
7.如权利要求6所述的存储系统,其中,所述存储控制器包括:
卷复制控制模块,用于如果所述存储系统已经接收到卷复制配置命令,则确定卷复制控制输入是否是直接选择的RAID组、RAID组比例或I/O性能,
其中,如果所述卷复制控制输入是直接选择的RAID组,则所述卷复制控制模块提供对所述卷复制管理表中的所选RAID组的RAID组编号的更新,
其中,如果所述卷复制控制输入是RAID组比例,则所述卷复制控制模块根据所选比例,执行RAID组分配,
其中,如果所述卷复制控制输入是I/O性能,则所述卷复制控制模块根据所选I/O性能,执行RAID组分配,以及
其中,针对所述主卷,所述卷复制控制输入还包括主卷编号、RAID组编号、RAID组比例以及I/O性能,以及针对一个或多个对应副卷中的每一个,所述卷复制控制输入还包括副卷编号、RAID组编号、RAID组比例、I/O性能以及关于所述副卷是否能够与所述主卷共享RAID组的指示。
8.如权利要求7所述的存储系统,其中,所述卷复制控制模块被配置为:
确定对用于存储所述相关数据的主卷和一个或多个副卷的RAID组的更新是否是从先前设置改变而来的,并且如果是,则在背景任务中重新平衡所分配的页;以及
确定对用于存储所述相关数据的主卷和一个或多个副卷的RAID组的更新是否是从先前设置中减少而来的,以及如果是,则将所分配的页移到其它RAID组,并且更新所述页管理表。
9.如权利要求7所述的存储系统,其中,由所述卷复制控制模块根据所选比例执行RAID组分配包括:
针对所述卷复制控制输入中的主卷,以所选比例分配RAID组,其中从RAID组被作为主卷最后分配的下一卷开始所述RAID组编号;以及
针对所述卷复制控制输入中的每个副卷,
如果所述副卷能够与所述主卷共享RAID组,则从对应主卷的相同RAID组中,以所选比例分配RAID组,其中从具有相同的对应主卷的副卷被最后分配的下一卷开始RAID组编号;以及
确定所述副卷的比例是否大于剩余的未被分配的RAID组的剩余比例,以及如果大于,则指示在分配RAID组时出现错误,以及如果不大于,则以所选比例从与被分配给对应主卷的RAID组不同的RAID组中分配RAID组,其中从具有相同的对应主卷的副卷被最后分配的下一卷开始所述RAID组编号;以及
其中,由所述卷复制控制模块根据所选I/O性能执行RAID组分配包括:
针对所述卷复制控制输入中的主卷,从非全容量RAID组开始分配RAID组,直到RAID组的总I/O性能超过所选I/O性能,其中从RAID组被作为所述主卷最后分配的下一卷开始所述RAID组编号;以及
针对所述卷复制控制输入中的每个副卷,
如果所述副卷能够与所述主卷共享RAID组,则以所选I/O性能从所述对应主卷的相同RAID组中分配RAID组,其中从具有相同的对应主卷的副卷被最后分配的下一卷开始所述RAID组编号;以及
确定剩余未被分配的RAID组的总I/O性能是否小于所选I/O性能,以及如果小于,则指示在分配RAID组时出现错误,以及如果不小于,则以所选I/O性能从与被分配给对应主卷的RAID组不同的RAID组中分配RAID组,其中从具有相同的对应主卷的副卷被最后分配的下一卷开始所述RAID组编号。
10.一种存储系统,包括:
处理器;
存储器;以及
存储控制器,用于响应于写入请求而从第一池中分配存储区,并且对于从所述第一池中的指定RAID组中分配用于多个相关数据的存储区进行控制,所述用于多个相关数据的存储区要从所述第一池中分配;
其特征在于,所述多个相关数据包括存储在主卷和多个对应副卷中的数据,其中,所述存储控制器分配相关数据,以使得与同一主卷对应的多个副卷能够具有多个在所述副卷之间不共享的被复制页,其中,所述存储控制器包括:
命令接收模块,被配置为确定所述存储系统是否已经接收到任何卷复制配置命令;以及
磁盘I/O执行模块,用于如果所述存储系统没有接收到卷复制配置命令,则:
确定所述存储系统是否已经接收到任何读取I/O,并且如果已经接收到,则查阅页管理表,并且从所述页管理表的对应RAID组中读取页,其中针对每个主卷,所述页管理表包括虚拟卷编号、逻辑块地址、RAID组编号以及页编号,并且针对每个副卷,所述页管理表包括虚拟卷编号、逻辑块地址、主卷编号或RAID组编号、以及与所述主卷编号或RAID组编号对应的主卷逻辑块地址或页编号;
确定所述存储系统是否已经接收到任何写入I/O,并且如果已经接收到,则查阅卷复制管理表和所述页管理表,并且通过确定所述页管理表中是否存在写入I/O页的对应项,决定是否更新所述写入I/O页,以及如果存在,则将当前页复制到从多个对应副卷的RAID组中选出的一个RAID组中,并且更新所述对应副卷的页管理表,以及如果不存在,则从所述卷复制管理表中的主卷的对应RAID组中选择一个RAID组并且更新所述页管理表,并且随后不管所述页管理表中是否已经存在对应项,都将页写入到所选择的RAID组中,其中针对每个主卷,所述卷复制管理表包括主卷编号、所述主卷的RAID组编号、所述对应副卷的副卷编号以及所述对应副卷的RAID组编号。
11.如权利要求10所述的存储系统,其中,所述存储控制器包括:
卷复制控制模块,用于如果所述存储系统已经接收到卷复制配置命令,则确定卷复制控制输入是否是直接选择的RAID组、RAID组比例或I/O性能,
其中,如果所述卷复制控制输入是直接选择的RAID组,则所述卷复制控制模块提供对所述卷复制管理表中的所选RAID组的RAID组编号的更新,
其中,如果所述卷复制控制输入是RAID组比例,则所述卷复制控制模块根据所选比例,执行RAID组分配,
其中,如果所述卷复制控制输入是I/O性能,则所述卷复制控制模块根据所选I/O性能,执行RAID组分配,以及
其中,针对所述主卷,所述卷复制控制输入还包括主卷编号、RAID组编号、RAID组比例以及I/O性能,以及针对对应副卷中的每一个,所述卷复制控制输入还包括副卷编号、RAID组编号、RAID组比例、I/O性能以及关于所述副卷是否能够与所述主卷共享RAID组的指示。
12.如权利要求11所述的存储系统,其中,所述卷复制控制模块被配置为:
确定对用于存储相关数据的主卷和副卷的RAID组的更新是否是从先前设置改变而来的,并且如果是,则在背景任务中重新平衡所分配的页;
确定对用于存储相关数据的主卷和副卷的RAID组的更新是否是从先前设置中减少而来的,以及如果是,则将所分配的页移到其它RAID组,并且更新所述页管理表;以及
确定每个所述副卷的RAID组是否被并入,以及如果是,则:
确定被并入的副卷是否也具有被复制页,以及如果不具有,则将先前页移到从新RAID组中选出的一个RAID组,并且更新所述页管理表中的RAID组编号和页编号项,以及如果具有,则将所述页管理表中的RAID组编号和页编号项更新为所述被并入的副卷的RAID组编号和页编号;以及
确定从其它副卷是否引用了所述先前页,以及如果是,则删除所述先前页。
13.如权利要求11所述的存储系统,其中,由所述卷复制控制模块根据所选比例执行RAID组分配包括:
针对所述卷复制控制输入中的主卷,以所选比例分配RAID组,其中从RAID组被作为主卷最后分配的下一卷开始所述RAID组编号;以及
针对所述卷复制控制输入中的每个副卷,
如果所述副卷能够与所述主卷共享RAID组,则从对应主卷的相同RAID组中,以所选比例分配RAID组,其中从具有相同的对应主卷的副卷被最后分配的下一卷开始所述RAID组编号;以及
确定所述副卷的比例是否大于剩余的未被分配的RAID组的剩余比例,以及如果大于,则指示在分配RAID组时出现错误,以及如果不大于,则以所选比例从与被分配给所述对应主卷的RAID组不同的RAID组中分配RAID组,其中从具有相同的对应主卷的副卷被最后分配的下一卷开始所述RAID组编号;以及
由所述卷复制控制模块根据所选I/O性能执行RAID组分配包括:
针对所述卷复制控制输入中的主卷,从非全容量RAID组开始分配RAID组,直到RAID组的总I/O性能超过所选I/O性能,其中从RAID组被作为所述主卷最后分配的下一卷开始所述RAID组编号;以及
针对所述卷复制控制输入中的每个副卷,
如果所述副卷能够与所述主卷共享RAID组,则以所选I/O性能从所述对应主卷的相同RAID组中分配RAID组,其中从具有相同的对应主卷的副卷被最后分配的下一卷开始所述RAID组编号;以及
确定剩余未被分配的RAID组的总I/O性能是否小于所选I/O性能,以及如果小于,则指示在分配RAID组时出现错误,以及如果不小于,则以所选I/O性能从与被分配给对应主卷的RAID组不同的RAID组中分配RAID组,其中从具有相同的对应主卷的副卷被最后分配的下一卷开始所述RAID组编号。
CN201210247622.5A 2011-11-18 2012-07-17 存储系统 Active CN103150123B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/299,705 2011-11-18
US13/299,705 US9229637B2 (en) 2011-11-18 2011-11-18 Volume copy management method on thin provisioning pool of storage subsystem

Publications (2)

Publication Number Publication Date
CN103150123A CN103150123A (zh) 2013-06-12
CN103150123B true CN103150123B (zh) 2016-08-03

Family

ID=46982430

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210247622.5A Active CN103150123B (zh) 2011-11-18 2012-07-17 存储系统

Country Status (4)

Country Link
US (1) US9229637B2 (zh)
EP (1) EP2595048A3 (zh)
JP (1) JP5890268B2 (zh)
CN (1) CN103150123B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103634379B (zh) * 2013-11-13 2017-02-01 华为技术有限公司 一种分布式存储空间的管理方法和分布式存储系统
CN104360956B (zh) * 2014-10-31 2018-01-16 华为技术有限公司 一种数据拷贝方法及装置
CN107209727B (zh) * 2015-04-30 2020-10-23 惠普发展公司,有限责任合伙企业 存储系统
CN107181773B (zh) * 2016-03-09 2020-12-25 阿里巴巴集团控股有限公司 分布式存储系统的数据存储及数据管理方法、设备
US11126451B2 (en) * 2017-10-24 2021-09-21 Hewlett Packard Enterprise Development Lp Converting virtual volumes in place
US11163476B2 (en) 2019-10-04 2021-11-02 International Business Machines Corporation Dynamic rebalancing of free space between storage pools
CN110780816B (zh) * 2019-10-17 2023-01-10 苏州浪潮智能科技有限公司 一种数据同步方法、装置及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102163177A (zh) * 2010-02-24 2011-08-24 株式会社日立制作所 用于可写的写时复制快照功能的i/o延迟的减小

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0981091B1 (en) 1998-08-20 2008-03-19 Hitachi, Ltd. Data copying in storage systems
US6823442B1 (en) 2003-05-12 2004-11-23 3Pardata, Inc. Method of managing virtual volumes in a utility storage server system
JP2005108098A (ja) * 2003-10-01 2005-04-21 Hitachi Ltd データi/o装置及びデータi/o装置の制御方法
JP4890033B2 (ja) * 2006-01-19 2012-03-07 株式会社日立製作所 記憶装置システム及び記憶制御方法
JP2008181416A (ja) * 2007-01-25 2008-08-07 Hitachi Ltd 記憶システム及びデータ管理方法
US7716435B1 (en) 2007-03-30 2010-05-11 Emc Corporation Protection of point-in-time application data using snapshot copies of a logical volume
JP5046725B2 (ja) * 2007-04-24 2012-10-10 株式会社日立製作所 ボリューム割り当て管理装置
JP4958739B2 (ja) * 2007-11-09 2012-06-20 株式会社日立製作所 障害の発生した記憶装置に記憶されているデータを修復するストレージシステム
US8566550B2 (en) * 2009-09-22 2013-10-22 Hitachi, Ltd. Application and tier configuration management in dynamic page reallocation storage system
JP5444464B2 (ja) * 2010-01-14 2014-03-19 株式会社日立製作所 ストレージシステム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102163177A (zh) * 2010-02-24 2011-08-24 株式会社日立制作所 用于可写的写时复制快照功能的i/o延迟的减小

Also Published As

Publication number Publication date
US9229637B2 (en) 2016-01-05
JP5890268B2 (ja) 2016-03-22
JP2013109749A (ja) 2013-06-06
CN103150123A (zh) 2013-06-12
EP2595048A3 (en) 2016-07-13
EP2595048A2 (en) 2013-05-22
US20130132668A1 (en) 2013-05-23

Similar Documents

Publication Publication Date Title
CN103150123B (zh) 存储系统
US9274723B2 (en) Storage apparatus and its control method
CN102511036B (zh) 数据存储
JP5159421B2 (ja) ストレージシステム及び管理装置を用いたストレージシステムの管理方法
CN111158587B (zh) 基于存储池虚拟化管理的分布式存储系统及数据读写方法
CN103827804B (zh) 在物理区块间拷贝数据的磁盘阵列装置、磁盘阵列控制器以及方法
CN102163177B (zh) 用于可写的写时复制快照功能的i/o延迟的减小
CN101414245B (zh) 存储装置以及使用该存储装置的数据存储方法
US7725651B2 (en) Storage system and data management method
CN103793271B (zh) 用于在镜像卷之间进行切换的方法和系统
US8402236B2 (en) Computer system managing volume allocation and volume allocation management method
CN104850358B (zh) 一种磁光电混合存储系统及其数据获取和存储方法
CN103761053B (zh) 一种数据处理方法和装置
CN103503414A (zh) 一种计算存储融合的集群系统
US7418621B2 (en) Redundant storage array method and apparatus
CN103384262A (zh) 在数据迁移时减少通信量
US9854037B2 (en) Identifying workload and sizing of buffers for the purpose of volume replication
CN101976181A (zh) 一种存储资源的管理方法及管理装置
CN107908571A (zh) 一种数据写入方法、闪存装置及存储设备
CN104246774A (zh) 通过指示符在数据重复消除系统中保留冗余
TWI423020B (zh) 用於實施磁碟陣列中之分散式快取系統的方法及設備
CN103001793B (zh) 一种acl管理方法及装置
US20090319652A1 (en) Method, apparatus and system for serial attached scsi (sas) domain management
CN107220184B (zh) 一种lun存储单元的管理方法及装置
CN103500161A (zh) 用于通过指定虚拟地址在重复删除系统中保存冗余的方法和系统

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