CN100487639C - 用于处理来自主机的访问请求的存储系统及方法 - Google Patents

用于处理来自主机的访问请求的存储系统及方法 Download PDF

Info

Publication number
CN100487639C
CN100487639C CNB2007101266040A CN200710126604A CN100487639C CN 100487639 C CN100487639 C CN 100487639C CN B2007101266040 A CNB2007101266040 A CN B2007101266040A CN 200710126604 A CN200710126604 A CN 200710126604A CN 100487639 C CN100487639 C CN 100487639C
Authority
CN
China
Prior art keywords
storer
extent
logical
node
physical
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.)
Expired - Fee Related
Application number
CNB2007101266040A
Other languages
English (en)
Other versions
CN101067779A (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.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions Corp
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 Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Publication of CN101067779A publication Critical patent/CN101067779A/zh
Application granted granted Critical
Publication of CN100487639C publication Critical patent/CN100487639C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache

Abstract

节点(1-1至1-3)包括控制器(11-1至11-3)、管理服务器(12-1至12-3)以及存储器(13-1至13-3)。每个控制器(11-1至11-3)包括第一映射表(112a),其指示与构成被提供给主机的逻辑卷的逻辑盘区对应的管理服务器。管理服务器(12-1至12-3)包括第二映射表(120-1至120-3),其指示哪个节点包括存储了与所述管理服务器对应的逻辑盘区的存储器。存储器(13-1至13-3)包括第三映射表(132a),其指示在存储器(13-1至13-3)中包括的物理卷(130-1至130-3)的哪个物理盘区存储了所述逻辑盘区。

Description

用于处理来自主机的访问请求的存储系统及方法
技术领域
本发明涉及一种由包括具有物理卷的节点的多个节点构成的存储系统。更具体地,本发明涉及一种用于处理来自于主机的访问请求的存储系统及方法。
背景技术
最近已经开发了包括相互连接的多个存储装置(例如,盘存储装置)的存储系统。存储集群(存储集群系统)已经被公知为这种类型的存储系统。
存储集群的特征如下。存在于多个存储装置(在下文中,其每个被称为节点)中的存储区域(在下文中,其每个被称为物理卷)在节点上被绑定在一起以在节点上为主机提供至少一个横向的、虚拟存储区域(在下文中被称为逻辑卷)。这里假定卷被称为对于每个块将被访问的块卷(blockvolume)。
存储集群的节点是一直在进行工作的存储装置。换言之,一般地,工作中的节点有意地参与存储集群/从存储集群分离,或者由于它们的故障,它们从那里突然分离。在存储集群中,不常发生由于例如日常的通电/断电而导致的节点的参与/分离。
在存储集群中,数据(数据段)被频繁迁移到/适当地复制到存储数据的节点的物理卷或另一个节点的物理卷(自动地或手动地)。数据的迁移/复制在确保从主机对逻辑卷的访问的透明度时,力求使得数据冗余并提高访问性能和可靠性。在形成存储集群的节点中的任何一个突然停止、盘故障等的情况下,需要数据冗余。
简单地通过经由路径在存储集群中访问节点,主机能获得在所有的多个节点上对整个逻辑卷的访问。这里假定故障发生在主机将路径延伸到的节点上且该节点(故障的节点)停止。在这种情况下,还有,如果使得在故障节点中存储的数据对在存储集群中的另一个节点(活动节点,livenode)冗余,则主机能将路径再次延伸到该活动节点并继续对逻辑卷的访问。
为了配置上述的存储集群,需要系统来管理在逻辑卷上的数据位于哪个节点的哪个物理卷上的哪个位置。通常,存储集群的节点功能性地包括控制器和存储器(storage)。控制器管理到主机的路径并接收访问。即使主机延伸路径至任一控制器,其也能获得对相同逻辑卷的访问。每个存储器都具有用于存储数据的物理卷。
卷(块卷)包括多个盘区(extent)。每个盘区由一组固定长度的块形成。每个节点管理一个物理卷。另一方面,每个节点的控制器管理通过映射表相互关联的物理卷的物理盘区和逻辑卷的逻辑盘区。因此配置逻辑卷(逻辑卷空间)。在例如日本专利申请公开9-62452(在下文中称为现有技术文件)中公开了利用映射表的物理盘区和逻辑盘区之间的关联。
以上的映射表被叫做逻辑盘区到物理盘区映射表(LPMT)。LPMT被用于表示逻辑卷的逻辑盘区由哪个节点(存储器)的物理卷的哪个物理盘区形成。在存储集群中的所有节点的每个控制器都保存相同内容的LPMT。每个节点利用LPMT管理整个逻辑卷。上述意图在于,在将主机和控制器之间设置的路径设置为该主机和另一个控制器之间的路径之后能够立即对相同的逻辑卷进行访问。
如上所述,在现有技术的存储集群(存储系统)中,每个节点都必须通过LPMT来管理整个逻辑卷。然而,取决于物理卷的数目和形成物理卷的盘区的数目,LPMT的大小变得非常大。因此,消耗了控制器上的大量内存。
例如在存储集群中的节点(以下称为第一节点)的第一物理盘区中存储的第一逻辑盘区被迁移到例如另一个节点(以下称为第二节点)的第二物理盘区。为了减少例如第一节点的存储负担来进行这种迁移。如在上述现有技术文件中所述的,为了提高对节点的存储器的访问性能,在节点的物理盘区中存储的第一逻辑盘区有时候被迁移到该节点的另一个物理盘区中。这种迁移能提高对存储集群的访问性能及其可靠性。
根据上述的存储集群,为了提高对存储集群的访问性能及其可靠性,在物理盘区中存储的逻辑盘区被迁移/复制到在相同存储器的另一个物理盘区或另一个存储器的物理盘区。在这种情况下,存储集群的控制器必须彼此同步以立刻(同时地)更新它们自己的LPMT。同时的更新使LPMT的管理变得复杂并且不利地影响了对存储集群的访问性能。
发明内容
本发明的目的是通过减少用于更新由存储系统的每个节点管理的信息所需的处理量来提高存储系统的访问性能。
根据本发明的实施例,提供了一种存储系统。所述存储系统包括:多个节点,该节点的至少一个包括具有物理卷的存储器,该存储器在所述物理卷的物理盘区中映射组成逻辑卷的逻辑盘区并在所述物理卷中存储该逻辑盘区,以及连接所述节点和主机的接口,其中所述节点的至少两个包括为所述主机提供所述逻辑卷并接收来自该主机的访问的控制器,所述节点的所述至少一个或所述节点的至少另一个包括:管理服务器,其执行位置管理服务以答复来自任何控制器的关于存储逻辑卷的逻辑盘区的存储器的位置的询问,每个所述控制器包括指示与逻辑卷的逻辑盘区对应的管理服务器的第一映射表,所述管理服务器包括指示哪个节点包括存储与所述管理服务器对应的逻辑盘区的存储器的第二映射表,所述存储器包括指示包括在存储器中的物理卷的哪个物理盘区存储所述逻辑盘区的第三映射表,当所述控制器的每一个从所述主机接收了在逻辑卷中指定逻辑盘区作为访问目的地的访问请求时,所述控制器的所述每一个参考第一映射表以指定与所述访问目的地的逻辑盘区对应的管理服务器,并询问所述指定的管理服务器哪个存储器存储了所述逻辑盘区,当所述管理服务器接收到来自所述控制器中的一个的询问时,该管理服务器参考所述第二映射表以指定被询问的存储器,并通知作为询问源的所述控制器中的所述一个指示该存储器的信息作为对所述询问的答复,每个所述控制器请求由作为对所述询问的答复的所述信息指示的存储器,以得到对由所述主机指定的逻辑盘区的访问,且当所述控制器中的一个请求所述存储器以得到对逻辑盘区的访问时,所述存储器参考所述第三映射表以在物理卷中指定与所述指定的逻辑盘区对应的物理盘区,得到对该指定的物理盘区的访问,并答复作为访问请求源的所述控制器中的所述一个。
附图说明
结合到说明书并构成说明书一部分的附图,与以上给出的一般描述以及下面给出的实施例的详细描述一起,阐明了本发明的实施例,用于解释本发明的原理。
图1是根据本发明第一实施例的具有存储集群结构的存储系统的示意性框图;
图2是图1所示的存储系统中的控制器的框图;
图3是图1所示的存储系统中的存储器的框图;
图4是根据本发明第一实施例的存储系统中当主机发出访问请求时进行的处理的流程的流程图;
图5是根据本发明第一实施例的存储系统中当主机发出访问请求时的信息流的示图;
图6是图5所示的信息流的变型的示图;
图7是与图1的系统对应的系统的示图,其被如此构成以使得逻辑卷ID(LVol)是1的逻辑卷包括从逻辑盘区ID(LEID)1到逻辑盘区ID(LEID)4的四个逻辑盘区;
图8是图7的系统构成中的逻辑盘区到管理服务器映射表(LMMT)的数据结构的示图;
图9是图7的系统构成中的逻辑盘区到存储器映射表(LSMT)的数据结构的示图;
图10是图7的系统构成中的逻辑盘区到物理盘区映射表(LPMT)的数据结构的示图;
图11是示图,其说明了在根据本发明第一实施例的存储系统中将形成逻辑盘区的物理盘区的数据迁移到另一个存储器中的物理盘区的操作;
图12是示图,其说明了在根据本发明第一实施例的存储系统中将形成逻辑盘区的物理盘区的数据复制到另一个存储器中的物理盘区的操作;
图13是示图,其说明了在根据本发明第一实施例的存储系统中将关于逻辑盘区的位置管理服务迁移到另一个节点的操作;
图14是示图,其说明了在根据本发明第一实施例的存储系统中将关于逻辑盘区的位置管理服务复制到另一个节点的操作;
图15是根据本发明第二实施例的具有存储集群结构的存储系统的框图;
图16是根据本发明第三实施例的具有存储集群结构的存储系统的框图;
图17是在根据本发明第三实施例的存储系统中当主机发出访问请求时进行的处理的流程的流程图;
图18是根据本发明第四实施例的具有存储集群结构的存储系统的框图;
图19是在根据本发明第四实施例的存储系统中当主机发出访问请求时进行的处理的流程的流程图;
图20是在根据本发明第五实施例的存储系统中当主机发出访问请求时进行的处理的流程的流程图。
具体实施方式
下面将参照附图描述本发明的实施例。
[第一实施例]
图1是根据本发明第一实施例的具有存储集群结构的存储系统的示意性框图。图1所示的存储系统(以下称为存储集群)包括多个存储装置(以下称为节点),例如,三个节点1-1、1-2和1-3(#1,#2以及#3)。节点1-1、1-2和1-3经由诸如光纤通道和因特网小型计算机系统接口(iSCSI)的接口2被连接到主机(主计算机)。主机使用集群存储器。节点1-1、1-2和1-3分别包括控制器11-1、11-2和11-3,管理服务器12-1、12-2和12-3以及存储器13-1、13-2和13-3。
控制器11-i(i=1,2,3)为主机提供逻辑卷。这里假定通过绑定存储器13-1、13-2和13-3的物理卷(后面描述)为主机提供ID(逻辑卷ID)是x(例如“1”)的逻辑卷。以下,逻辑卷ID将被表示为LVol,且逻辑卷ID是LVol的逻辑卷将被表示为逻辑卷LVol。进一步,逻辑卷ID是x(LVol=x)的逻辑卷被表示为逻辑卷LVolx,逻辑卷“LVol=LVolx”或逻辑卷“LVol=x”。
控制器11-i从主机接收访问请求。访问请求包括指示在逻辑卷中将被访问的逻辑块的地址(逻辑块地址)LBA。参照后面描述的LMMT 112a,控制器11-i询问管理服务器12-j(j=1,2,3),哪个节点包括存储了包括被请求的逻辑块的逻辑盘区的存储器。响应于该询问,管理服务器12-j通知控制器11-i所述节点的存储器,且控制器11-i获得对所述存储器的访问。
图2是控制器11-i的框图。控制器11-i包括目标接口111、服务器指定单元112以及输入/输出管理器(IO管理器)113。
目标接口111接收来自主机的访问请求并指定被请求的逻辑卷的逻辑块地址LBA(由所述逻辑块地址LBA指示的逻辑块)位于其中的逻辑盘区。识别逻辑盘区的逻辑盘区ID(LEID)由如下计算来指定:
LEID=LBA/盘区大小
通过服务器指定单元112,目标接口111询问管理服务器12-j哪个存储器存储了在指定的逻辑卷中的逻辑盘区。此询问包括用于识别逻辑卷/逻辑盘区的逻辑卷ID(LVol)/逻辑盘区ID(LEID)。目标接口111获得响应于对管理服务器12-i的询问的经由服务器指定单元112通知的对存储器的访问,并答复主机。
服务器指定单元112指定传送来自目标接口111的询问的管理服务器12-j。以下,由包括在来自目标接口111的询问中的逻辑卷ID和逻辑盘区ID所指示的逻辑盘区被称为目标逻辑盘区。管理服务器12-j被指定为用于管理存储了目标逻辑盘区的存储器的位置的服务器。
服务器指定单元112具有逻辑盘区到管理服务器映射表(LMMT)112a。LMMT 112a是用于指定管理目标逻辑盘区的位置的管理服务器的映射表(第一映射表)。LMMT 112a保持有用于提供对存储逻辑盘区的存储器的位置负责(管理该位置)的管理服务器的节点的ID(MS)。
服务器指定单元112接收来自控制器11-1的询问并将其传输给指定的管理服务器。单元112接收来自管理服务器12-j的对所述询问的响应并将其发送给目标接口111。该响应包括在其中存储了目标逻辑盘区的存储器的节点ID(PVol)。后面将描述存储器的节点ID(PVol)。单元112还具有高速缓冲存储器112b。后面在第五实施例中还将描述高速缓冲存储器112b。IO管理器113提供在控制器11-i和存储器13-j之间的接口。
再次参照图1,管理服务器12-i(i=1,2,3)检查存储了由控制器11-j(j=1,2,3)询问的逻辑盘区的存储器的节点ID,并通知控制器11-j该节点ID。管理服务器12-i具有逻辑盘区到存储器映射表(LSMT)120-i。换言之,管理服务器12-1、12-2和12-3分别具有LSMT 120-1、120-2和120-3。LSMT 120-i(i=1,2,3)是这样的映射表(第二映射表),其用于管理哪个节点ID被分配给包括存储了管理服务器12-i自身负责的逻辑盘区的存储器(物理卷)的节点。
存储器13-1、13-2和13-3分别具有物理卷130-1、130-2和130-3。物理卷130-1的ID(PVol)是1,物理卷130-2的ID(PVol)是2,且物理卷130-3的ID(PVol)是3。在第一实施例中,物理卷130-i(i=1,2,3)的ID(PVol)是“i”。存储器13-i在物理盘区上映射逻辑盘区并将其存储在物理卷130-i中。存储器13-i接收来自控制器11-i的输入/输出请求(IO请求)。IO请求包括将被访问的逻辑卷中的逻辑盘区的ID(LEID)。存储器13-i检查对应于所述逻辑盘区的物理盘区。存储器13-i进行对物理盘区的IO操作并答复控制器11-i。
图3示出了存储器13-i(i=1,2,3)的结构。存储器13-i包括IO驱动器131、逻辑盘区到物理盘区管理单元(LP管理单元)132以及盘133。IO驱动器131提供在存储器13-i和控制器11-i之间的接口。
LP管理单元132管理在逻辑盘区与物理盘区之间的对应关系。单元132保持有逻辑盘区到物理盘区映射表(LPMT)132a。LPMT 132a是这样的映射表(第三映射表),其用于指示逻辑盘区对应于并被存储在包括LPMT 132a的存储器13-i中的物理卷130-i的哪个物理盘区。应当注意,第一实施例的LPMT 132a与现有技术的LPMT不同并且没有用于整个逻辑卷的映射信息。还应当注意,LPMT 132a的内容对于各个存储器13-i有所不同。
盘133具有物理卷130-i(PVol=i)。以物理盘区为单位管理物理卷130-i。对物理卷130-i进行访问的单位是块,且物理盘区包括多个块。
图1所示的存储集群具有控制该集群的结构的方案和管理的构成管理单元3。当创建卷时,构成管理单元3确定作为逻辑卷/逻辑盘区的存储目的地的物理卷/物理盘区。单元3还确定用于迁移/复制盘区和位置管理服务(用于冗余的复制)的迁移源/迁移目的地。进一步,单元3在要求时确定盘区被分配到的目的地。在例如节点1-1中设置单元3。然而,也可以在节点1-2或1-3中或独立于节点1-1至1-3设置单元3。
在第一实施例中,构成管理单元3通过下面的流程来创建逻辑卷。
(a)构成管理单元3确定哪个节点ID被分配给包括了存储逻辑卷的逻辑盘区的存储器的节点。单元3把确定的节点(所述确定的节点ID的节点)的存储器的物理盘区分配给逻辑盘区。单元3生成LPMT 132a并将它们放置到存储器13-1至13-3中,LPMT 132a指示在存储器的物理盘区与该物理盘区被分配到的逻辑盘区之间的对应关系。
(b)从存储了逻辑盘区被分配到的物理盘区的存储器(物理卷),构成管理单元3确定节点1-1至1-3中的哪个具有负责用于管理逻辑盘区的位置的服务(位置管理服务)的管理服务器。单元3生成LSMT 120-1至120-3并将它们放置到它们各自的管理服务器12-1至12-3中,LSMT 120-1至120-3指示在逻辑盘区和负责所述管理服务器的物理盘区之间的对应关系。在后面描述的第二实施例中,不需要在存储集群中的所有管理服务器12-1至12-3中设置LSMT。
(c)构成管理单元3生成LMMT 112a并将其分配给所有控制器11-1至11-3。如上所述,LMMT 112a指示哪个管理服务器被询问了存储了逻辑卷的每个逻辑盘区被分配到的物理盘区的存储器(物理卷)。
因而创建逻辑卷。因此主机能够得到对所创建的逻辑卷的访问。通过引导从主机到节点1-1至1-3中的任意一个1-i的控制器11-i的路径,进行从主机对逻辑卷的访问。
下面将参照图4和5描述当路径被从主机延伸到节点1-1(i=1)之后主机发出访问请求时进行的处理的流程。图4是处理的流程的流程图,且图5是信息流的示图。图5中的箭头A1至A8对应于图4的流程图中的它们各自的步骤S1至S8。
首先假定主机发出访问请求(IO请求)到包括在节点1-1的控制器11-1中的目标接口111。还假定访问请求指示用于对逻辑卷“LVol=LVolx”的逻辑块地址LBA(=LBAx)进行访问的请求。在第一实施例中,LVol(=LVolx)是1。这里假定逻辑卷“LVol=LVolx”的名称(逻辑卷名称)与该逻辑卷的ID(LVol=LVolx)相符。
目标接口111接收来自主机的访问请求(步骤S0)。然后,目标接口111通过来自主机的访问请求,从将被访问的逻辑卷“LVol=LVolx”上的逻辑块地址LBA(=LBAx)获得LBAx位于其中的逻辑盘区的ID(=LEIDx)(步骤S1)。在第一实施例中,目标接口111通过下面的等式获得逻辑盘区ID(=LEIDx):
LEIDx=LBAx/盘区大小
这里,逻辑盘区ID在逻辑卷“LVol=Lvolx(=1)”上是LEIDx的逻辑盘区被表示为逻辑盘区“LVolx,LEIDx”。逻辑盘区“LVolx,LEIDx”有时候被简单地表示为逻辑盘区LEIDx。
目标接口111把逻辑卷名称(逻辑卷ID)LVol(=LVolx=1)和所获得的逻辑盘区ID(LEIDx)传送给服务器指定单元112(步骤S2)。因而,目标接口111询问哪个节点包括存储了逻辑盘区“LVolx,LEIDx”的存储器(即,逻辑盘区“LVolx,LEIDx”的位置)。
答复来自目标接口111的询问,服务器指定单元112指定提供了管理逻辑盘区“LVolx,LEIDx”的位置的管理服务器的节点的ID(步骤S3)。该ID也可以叫做管理服务器的节点ID。所述管理服务器的节点ID被表示为MS(或MID),且管理逻辑盘区“LVolx,LEIDx”的位置的管理服务器的节点ID被表示为MIDx(MS=MIDx)。在这种情况下,MIDx(MS=MIDx)在步骤S3被指定为管理服务器的节点ID。
参考LMMT 112a指定节点ID(MS=MIDx)。这是因为LMMT 112a保持了与LVolx和LEIDx关联的节点ID(MS=MIDx),这从后面描述的数据结构看是显然的(参见图8)。节点1-1包括指定节点ID(MS=MIDx)的服务器指定单元112。假定在第一实施例中指定了节点1-1(即,提供管理服务器12-1的节点1-1)的ID(MS=MIDx=1)。
在第一实施例中,节点1-1、1-2和1-3的存储器13-1、13-2和13-3分别具有物理卷130-1、130-2和130-3。换言之,节点1-1、1-2和1-3的存储器13-1、13-2和13-3的每个具有一个物理卷。因而,提供管理服务器12-1、12-2和12-3的节点1-1、1-2和1-3的ID(MS)是1、2和3,而包括在节点1-1、1-2和1-3的存储器13-1、13-2和13-3中的物理卷130-1、130-2和130-3的ID(PVol)是1、2和3。因此ID(MS)和ID(PVol)彼此一致。
服务器指定单元112将询问从目标接口111传送给被指定的节点1-1的管理服务器12-1(步骤S4)。换言之,单元112询问管理服务器12-1逻辑盘区(目标逻辑盘区)“LVolx,LEIDx”的位置。逻辑盘区“LVolx,LEIDx”的位置意味着存储与逻辑盘区“LVolx,LEIDx”对应的物理盘区的存储器所属的节点,且该节点的ID被询问。存储器所属的节点的ID还可以被叫做存储器的节点ID。存储器的节点ID被表示为PVol(或SID),且存储与逻辑盘区“LVolx,LEIDx”对应的物理盘区的存储器的节点ID被表示为SIDx(PVol=SIDx)。
基于LSMT 120-1,管理服务器12-1指定哪个节点ID“SIDx”被分配给包括存储了与逻辑盘区“LVolx,LEIDx”对应的物理盘区的存储器的节点(步骤S5)。在此参考与逻辑盘区“LVolx,LEIDx”关联的LSMT 120-1中的条目(entry)的PVol(=SIDx),来指定以上节点ID“SIDx”。在步骤S5,管理服务器12-1通知所述询问的服务器指定单元112所述指定的节点ID“SIDx”。单元112将从管理复位服务器12-1接收的节点ID“SIDx”传送给目标接口111,作为对来自目标接口111的询问的响应(步骤S6)。这里假定存储器13-1的节点ID“SIDx”被传送给目标接口111。
目标接口111通过IO管理器113请求由传送的节点ID“SIDx”指示的节点1-1的存储器13-1以得到对与逻辑盘区“LVolx,LEIDx”对应的物理盘区的访问(步骤S7)。如下,存储器13-1的IO驱动器131在存储器13-1(物理卷130-1)中指定与所述请求的逻辑盘区“LVolx,LEIDx”相关联的物理盘区(步骤S8)。首先,IO驱动器131参考LPMT 132a并指定与逻辑盘区“LVolx,LEIDx”相关联的物理盘区的ID(PEID=PEIDx),这从后面描述的LPMT 132a的数据结构来看是显然的(参见图10)。IO驱动器131通过所述指定的ID(=PEIDx)指定目标物理盘区。换言之,IO驱动器131基于LPMT 132a指定与逻辑盘区“LVolx,LEIDx”相关联的物理盘区。
物理盘区的ID(物理盘区ID)被表示为PEID,且与逻辑盘区“LVolx,LEIDx”相关联的物理盘区的ID被表示为PEIDx。此外,物理盘区ID是PEIDx的物理盘区被表示为物理盘区PEIDx。在这种情况下,在步骤S8IO驱动器131指定与逻辑盘区“LVolx,LEIDx”相关联的物理盘区PEIDx。
在步骤S8,IO驱动器131还得到对指定的物理盘区PEIDx的访问,并返回对控制器11-1的IO管理器113的访问的结果作为响应。目标接口111接收来自IO管理器113的响应并将其返回给主机(步骤S9)。
上面的描述是基于下面的假设作出的。接收来自主机的访问请求的目标接口、管理哪个存储器存储目标逻辑盘区的管理服务器以及其物理盘区存储了所述目标逻辑盘区的存储器,都属于相同的节点1-1(第一种情况)。然而,这些目标接口、管理服务器以及存储器可以属于不同的节点(第二种情况)。图6示出了在第二种情况下的信息流。在图6中,箭头B1至B8对应于图4所示流程图中的步骤S1至S8。
图7示出了与图1的系统对应的系统,其被如此构成以使得逻辑卷“LVol=1”包括四个逻辑盘区LEID(逻辑盘区ID)1至LEID(逻辑盘区ID)4。图8示出了在图7的系统构成中的LMMT 112a的数据结构。图9示出了在图7的系统构成中的LSMT 120-i(例如节点1-1的LSMT120-1)的数据结构。图10示出了在图7的系统构成中的例如节点1-1的LPMT 132a的数据结构。
LMMT 112a具有数目等于构成逻辑卷“LVol=1”的逻辑盘区的数目的条目。每个条目相互关联地保持逻辑卷的ID(LVol)、逻辑盘区的ID(LEID)以及提供管理服务器12-j的节点的ID(MS)。LEID指示在由与LEID关联的LVol表示的逻辑卷中包括的逻辑盘区的ID。MS指示提供管理服务器12-j的节点的ID。管理服务器12-j管理哪个存储器(物理卷)存储由与MS关联的LVol和LEID表示的逻辑盘区“LVol,LEID”(或者其管理逻辑盘区的位置)。图8中示出了逻辑卷“LVol=1”的逻辑盘区是四个逻辑盘区LEID 1至LEID 4。
LSMT 120-i(120-1)具有数目等于由管理服务器12-i(12-1)管理的逻辑盘区的数目的条目。LSMT 120-i(120-1)的每个条目相互关联地保持逻辑卷的ID(LVol)、逻辑盘区的ID(LEID)以及存储器(物理卷)的节点ID(PVol)。LEID指示在由与LEID关联的LVol表示的逻辑卷中包括的逻辑盘区的ID。PVol指示存储由与PVol关联的LEID和LVol表示的逻辑盘区的存储器(物理卷)的节点ID(物理卷号)。
LPMT 132a具有数目等于构成物理卷130-i(130-1)的物理盘区的数目的条目。LPMT 132a的每个条目保持了在物理卷130-i中包括的物理盘区的ID(PEID)、物理卷的ID(LVol)、逻辑盘区的ID(LEID)以及提供位置管理服务(管理服务器12-j)的节点的ID(MS)。LVol指示包括逻辑盘区的逻辑卷的ID,其中由与LVol关联的PEID表示的物理盘区被分配给该逻辑盘区。MS指示提供位置管理服务(管理服务器12-j)的节点的ID。位置管理服务(管理服务器12-j)管理哪个存储器(物理卷)存储逻辑盘区(或者其管理逻辑盘区的位置),其中由与MS关联的PEID表示的物理盘区被分配给该逻辑盘区。在LPMT 132a的每个条目中保持的MS被用作为位置管理服务的反向索引。图10中示出了物理卷130-i(130-1)的物理盘区是三个物理盘区PEID 1至PEID 3。
在图7中,从在控制器11-1中包括的LMMT 112a的条目向管理服务器12-1至12-3的LSMT 120-1至120-3延伸的、长短交替的虚线箭头,表示通过LMMT 112a的条目的信息被参考的LSMT 120-1至120-3的条目。相似地,从LSMT 120-1至120-3的条目向存储器13-1至13-3的LPMT132a延伸的、长短交替的虚线箭头,表示通过LSMT 120-1至120-3的条目的信息被参考的LPMT 132a的条目。相似地,从存储器13-1至13-3的LPMT 132a的条目向存储器13-1至13-3的物理卷130-1至130-3延伸的、长短交替的虚线箭头,表示将被基于LPMT 132a的信息进行访问的物理盘区。
将参照图7描述,在路径从主机延伸到节点1-1之后,从主机对于将由逻辑卷“LVol=1”/逻辑盘区“LEID=1”来指定的块进行访问的流程。逻辑卷“LVol=1”指示逻辑卷ID(LVol)是1的逻辑卷,且逻辑盘区“LEID=1”指示逻辑盘区ID(LEID)是1的逻辑盘区。逻辑卷“LVol=1”/逻辑盘区“LEID=1”指示在逻辑卷“LVol=1”上的逻辑盘区“LEID=1”。在这种情况下,逻辑盘区“LEID=1”可以被表达为逻辑盘区“LVol=1,LEID=1”。
首先假定主机向节点1-1发出对于在逻辑卷“LVol=1”中的块进行访问的请求,如图7的箭头B1所示。节点1-1的控制器11-1(在控制器11-1中包括的目标接口111)确定将被访问的块被存储在LEID是1的逻辑盘区(逻辑盘区“LEID=1”)中。
控制器11-1(目标接口111)询问控制器11-1中的服务器指定单元112哪个节点包括了存储逻辑盘区“LEID=1”的存储器(物理卷)(逻辑盘区“LEID=1”的位置)。服务器指定单元112参考单元112的LMMT 112a中保持“LEID=1”的条目(图8中的第一行的条目)。因而,单元112识别出与逻辑卷“LVol=1”/逻辑盘区“LEID=1”对应的管理服务器存在于节点1-1中。控制器11-1(控制器11-1的服务器指定单元112)询问节点1-1中的管理服务器12-1的逻辑卷“LVol=1”/逻辑盘区“LEID=1”的位置,如图7中的箭头B2所示。
管理服务器12-1参考管理服务器12-1的LSMT 120-1中的保持一对“LVol=1”且“LEID=1”的条目(图9中的第一行的条目)。因而,管理服务器12-1识别出逻辑卷“LVol=1”/物理盘区“LEID=1”的实体被存储在节点1-1的存储器(物理卷)中。管理服务器12-1向控制器11-1(控制器11-1的服务器指定单元112)发送节点11-1的ID(SIDx=PVol=1),如图7中的箭头B3所示(步骤B3)。然后,控制器11-1的服务器指定单元112通知控制器11-1的目标接口111节点1-1的ID(SIDx=PVol=1)。
控制器11-1(控制器11-1的目标接口111)请求由节点ID指定的存储器(或节点1-1的存储器13-1)以得到(经由IO管理器113)对逻辑卷“LVol=1”/逻辑盘区“LEID=1”的访问,如图7中的箭头B4所示。节点1-1的存储器13-1参考在存储器13-1的LPMT 132a中保持“LVol=1”/“LEID=1”的条目(图10中所示第一行的条目)。因而,存储器13-1识别出与卷“LVol=1”/逻辑盘区“LEID=1”对应的物理盘区的ID(PEID)为1。存储器13-1对PEID是1的物理盘区(物理盘区“PEID=1”)进行访问并答复控制器11-1,如图7中的箭头B5所示。
在第一实施例中,节点1-1至1-3的控制器11-1至11-3的LMMT 112a具有相同的内容。换言之,节点1-1至1-3(控制器11-1至11-3)共享LMMT112a。因而主机能将路径延伸到构成存储集群的节点1-1至1-3的任意一个(节点1-1至1-3的任意一个的控制器)。如果主机延伸路径到的控制器异常停止或如果该控制器的负荷增加,则主机能将路径延伸到另一个控制器。
节点1-1至1-3共享的信息(共享信息),诸如LMMT 112a,被存储在节点1-1至1-3的控制器11-1至11-3的非易失性存储器的存储区域、节点1-1至1-3的存储器13-1至13-3的存储区域、或者存储器13-1至13-3的任意一个的存储区域。参考这些存储区域,控制器11-1至11-3管理所述共享信息。为了所述管理,控制器11-1至11-3共享所述存储区域的地址。所述共享信息包括逻辑卷构成信息以及LMMT 112a。逻辑卷构成信息指示了图1所示的存储集群为主机提供了什么样的逻辑卷。与现有技术相比,在其中节点1-1至1-3共享信息的上述构成能减少应由节点1-1至1-3管理的信息量。
将参考图11描述将存储器中的形成逻辑盘区的物理盘区的数据迁移到另一个存储器中的物理盘区的操作。首先,构成管理单元3确定数据迁移的源和目的地。这里假定当图1所示的存储集群被设定在图7所示的状态时,在节点1-1的存储器13-1中与逻辑盘区“LEID=4”相关联的物理卷“PVol=1”(物理卷130-1)/物理盘区“PEID=2”被确定为数据的迁移源。此外,假定在节点1-2的存储器13-2中的物理卷“PVol=2”(物理卷130-2)/物理盘区“PEID=1”被确定为数据迁移的目的地。物理卷“PVol=p”/物理盘区“PEID=q”的表达行式指示物理卷ID(PVol)是“p”的物理卷上的物理盘区ID(PEID)是“q”的物理盘区。
在上面的例子中,在节点1-1的存储器13-1中的物理卷“PVol=1”/物理盘区“PEID=2”中存储的数据被迁移到节点1-2的存储器13-2中的物理卷“PVol=2”/物理盘区“PEID=1”。数据迁移源的存储器13-1和其迁移目的地的存储器13-2的每一个的LPMT 132a都被重写。这里,在存储器13-1的LPMT 132a中保持“PEID=2”的条目中的LVol(=1),LEID(=4)和MS(=1)全部被重写为“NULL(空)”。存储器13-2的LPMT132a中的保持“PEID=1”的条目中的LVol(=NULL),LEID(=NULL)和MS(=NULL)分别被重写为1、4和1,如图11中的箭头C2所示。
进一步,参考逻辑盘区“LEID=4”(或者负责关于逻辑盘区“LEID=4”的位置管理服务)的管理服务器12-1的LSMT 120-1被重写。这里,在LSMT 120-1中的保持“LEID=4”的条目中的PVol(=1)被重写为2,如图11中的箭头C3所示。
如上所述,在第一实施例中,仅须对管理逻辑盘区(LEID=4)的管理服务器(12-1)作出逻辑盘区(LEID=4)的迁移的通知(更新)。换言之,对构成存储集群的所有节点1-1至1-3不需要作出该通知。因此,能降低通知的代价。
将参考图12描述将存储器中的形成逻辑盘区的物理盘区的数据复制到另一个存储器中的物理盘区的操作。为了通过制造物理盘区冗余来提高容错并通过并行处理增加读访问的速度,而进行该复制操作。
首先,构成管理单元3确定数据复制的源和目的地。这里假定当图1所示的存储集群被设定在图11所示的状态时,与逻辑盘区“LEID=4”关联的、在节点1-2的存储器13-2中的物理卷“PVol=2”(物理卷130-2)/物理盘区“PEID=1”被确定为数据的复制源。此外,假定节点1-3的存储器13-3中的物理卷“PVol=3”(物理卷130-3)/物理盘区“PEID=2”被确定为数据复制的目的地。
在这种情况下,如图12中的箭头D1所示,在节点1-2的存储器13-2的物理卷“PVol=2”/物理盘区“PEID=1”中存储的逻辑卷“LVol=1”/逻辑盘区“LEID=4”的数据被复制到节点1-3的存储器13-3中的物理卷“PVol=3”/物理盘区“PEID=2”。通过,例如,存储器13-2和13-3的IO驱动器131进行该复制。
数据的复制目的地的存储器13-3的LPMT 132a被重写。这里,如图12中的箭头D2所示,在存储器13-2的LPMT 132a中保持“PEID=1”的条目中的LVol(=1)、LEID(=4)和MS(=1)被复制到在存储器13-3的LPMT 132a中保持“PEID=2”的条目中的LVol、LEID和MS。
此外,参考逻辑盘区“LEID=4”的管理服务器12-1的LSMT 120-1被通过例如存储器13-1的IO驱动器131重写。这里,如图12中的箭头D3所示,“3”被加到由节点1-1的管理服务器12-1管理的LSMT 120-1中保持“LEID=4”的条目中的PVol。如果LSMT 120-1中的条目被重写,则除了节点1-2的物理卷“PVol=2”之外,逻辑盘区“LEID=4”还与节点1-3的物理卷“PVol=3”关联。换言之,形成逻辑盘区“LEID=4”的物理盘区被使得对节点1-2的物理卷“PVol=2”和节点1-3的物理卷“PVol=3”冗余。
假定在使得形成逻辑盘区的物理盘区冗余之后,主机请求控制器11-i以得到对逻辑盘区的写访问。在这种情况下,控制器11-i将数据写到与所述逻辑盘区对应的所有物理盘区。因此,如果发出对逻辑盘区“LEID=4”的写访问,则数据被写入节点1-2的物理卷“PVol=2”/物理盘区“PEID=1”和节点1-3的物理卷“PVol=3”/物理盘区“PEID=2”。数据读取不限于此,换言之,从物理卷“PVol=2”/物理盘区“PEID=1”和物理卷“PVol=3”/物理盘区“PEID=2”中的一个读出数据。
下面将参考图13描述将关于逻辑盘区的位置管理服务迁移到另一个节点的操作。为了位置管理服务的负荷分配或为了形成节点的硬件的交换/更新来进行所述迁移。
当关于逻辑盘区的位置管理服务被迁移时,例如,构成管理单元3确定服务被迁移的源和目的地。这里假定当图1所示的存储集群被设定在图12所示的状态时,节点1-1的管理服务器12-1被确定为位置管理服务的迁移源。管理服务器12-1负责关于逻辑卷“LVol=1”/逻辑盘区“LEID=4”的命名服务。并且,假定节点1-2的管理服务器12-2被确定为命名服务的迁移目的地。
然后,如图13中的箭头E1所示,涉及迁移源的节点1-1的逻辑卷“LVol=1”/逻辑盘区“LEID=4”的LSMT 120-1中的条目的信息被迁移到迁移目的地的节点1-2的LSMT 120-2。例如,迁移源的节点1-1的管理服务器12-1,或例如迁移目的地的节点1-2的管理服务器12-2通知所有控制器11-1至11-3:关于逻辑卷“LVol=1”/逻辑盘区“LEID=4”的位置管理服务被迁移到节点1-2。
如图13中的箭头E2所示,控制器11-1至11-3的每个从节点1-1(节点1-1的管理服务器12-1)的ID(MS=1)到节点1-2(节点1-2的管理服务器12-2)的ID(MS=2)重写涉及逻辑卷“LVol=1”/逻辑盘区“LEID=4”的LMMT 112a中的条目的MS。
管理逻辑卷“LVol=1”/逻辑盘区“LEID=4”的节点1-2和1-3的存储器13-2和13-3改变存储器13-2和13-3的LPMT 132a中的关于逻辑卷“LVol=1”/逻辑盘区“LEID=4”的位置管理服务的反向索引。如图13中的箭头E3所示,节点1-1(节点1-1的管理服务器12-1)的ID(MS=1)被改变为节点1-2(节点1-2的管理服务器12-2)的ID(MS=2)。存储器13-2和13-3返回与对位置管理服务的迁移的通知源节点的改变有关的信息。
当控制器11-1至11-3的每个都重写它们自己的LMMT 112a时,仅须应用下面三种方法中的一种。第一种方法采用通过管理服务器(管理服务器12-1或12-2)的广播。第二种方法采用通过控制器(控制器11-1或11-2)的服务器指定单元的广播。第三种方法采用从迁移源对控制器11-1至11-3的每一个的更新通知。
例如,节点1-1的管理服务器12-1确定来自节点1-1至1-3的每一个的响应并在LSMT 120-1中删除关于管理服务器12-1的逻辑卷“LVol=1”/逻辑盘区“LEID=4”的条目。于是,LSMT 120-1中关于管理服务器12-1的逻辑卷“LVol=1”/逻辑盘区“LEID=4”的条目的数据被迁移到迁移目的地的节点1-2的LSMT 120-2。换言之,涉及逻辑卷“LVol=1”/逻辑盘区“LEID=4”的迁移源的节点1-1的LSMT 120-1中的条目和迁移目的地的节点1-2的LSMT 120-2中的条目被重写。
下面将参考图14描述在节点上复制关于逻辑盘区的位置管理服务的操作。当位置管理服务没有被多路复用时,如果负责位置管理服务的节点故障,则不能进行从主机的访问请求。因而,需要在节点上复制位置管理服务并对其多路复用(使得其冗余),从而提高容错和负荷分配。
当在节点上复制(使得冗余)位置管理服务时,例如,构成管理单元3确定复制的源和目的地。这里假定当图1所示的存储集群被设定在图13所示的状态时,节点1-2的管理服务器12-2被确定为位置管理服务的复制源。管理服务器12-2负责关于逻辑卷“LVol=1”/逻辑盘区“LEID=4”的命名服务。并且,假定节点1-3的管理服务器12-3被确定为所述命名服务的复制目的地。
然后,如图14中的箭头F1所示,LSMT 120-2中涉及复制源的节点1-2的逻辑卷“LVol=1”/逻辑盘区“LEID=4”的条目的信息被复制到复制目的地的节点1-3的LSMT 120-3。例如,复制源的节点1-2的管理服务器12-2或者,例如,复制目的地的节点1-3的管理服务器12-3通知所有控制器11-1至11-3,节点1-3及节点1-2共享关于逻辑卷“LVol=1”/逻辑盘区“LEID=4”的位置管理服务的功能。
如图14中的箭头F2所示,控制器11-1至11-3的每一个将节点1-3(节点1-3的管理服务器12-3)的ID(MS=3)添加到LMMT 112a中关于逻辑卷“LVol=1”/逻辑盘区“LEID=4”的条目的MS。在添加节点1-3的ID(MS=3)之前,节点1-2(节点1-2的管理服务器12-2)的ID(MS=2)被设定到条目的MS(列项MS)。因此,在LMMT 112a中关于逻辑卷“LVol=1”/逻辑盘区“LEID=4”的条目与节点1-3以及节点1-2关联。
有了节点1-3的ID的添加,节点1-3新近管理逻辑卷“LVol=1”/逻辑盘区“LEID=4”。如图14中的箭头F3所示,节点1-3的存储器13-3将在存储器13-3的LPMT 132a中关于逻辑卷“LVol=1”/逻辑盘区“LEID=4”的位置管理服务的反向索引(MS)与节点1-3及节点1-2关联。存储器13-3返回与对位置管理服务的复制的通知源节点的改变有关的信息。当控制器11-1至11-3的每一个重写它自己的LMMT 112a时,在上述位置管理服务的迁移的情况中仅须应用上述第一至第三种方法中的一种。
以上描述了在多个节点(存储器)上的盘区的迁移/复制以及位置管理服务的迁移/复制。然而,盘区能够在一个节点(存储器)的物理卷内被迁移/复制,并且,在这种情况下,仅须更新节点(存储器)的LPMT 132a。此外,例如,为了冗余,能够复制管理服务器12-i的LSMT 120-i和存储器13-i的LPMT 132a。
下面将描述新将节点添加(加入)到图1所示的存储集群的操作。在这个操作中,至少LMMT 112a被从构成存储集群的节点1-1至1-3中的任意一个复制到新近添加到该存储集群的节点(新节点)。因而,所述新节点能进行IO操作。
为了与所述新节点共享节点1-1至1-3中的任意一个管理服务器(位置管理服务)的处理,例如,与构成管理单元3关联,仅须迁移位置管理服务。与构成管理单元3关联,能分别地使用通过加入新节点而在存储器中新近增加的物理卷/物理盘区。
根据第一实施例,如上所述,当由多个节点(在本实施例中为三个节点)构成存储集群时,能降低应该由每个节点管理的信息量。当在节点(节点的存储器)的物理卷内或在节点(节点的存储器)的物理卷间迁移/复制与逻辑盘区对应的物理盘区时,能够获得如下的优势。在存储集群中包括的所有控制器仅须重写管理服务器的信息且不需要更新该信息以使得彼此同步地通过控制器管理的信息项是相同的。在第一个实施例中,能简化在迁移/复制盘区时进行的处理并通常能改善访问性能。
[第二实施例]
在上述的第一实施例中,存储集群的节点1-1,1-2和1-3分别包括控制器11-1,11-2和11-3,管理服务器12-1,12-2和12-3,以及存储器13-1,13-2和13-3。然而,每个节点不需要总是包括所有这些控制器、管理服务器和存储器。下面是本发明的第二实施例的描述,在其中存储集群的某些节点的每个包括控制器、管理服务器和存储器中的一个或两个。
图15是根据本发明第二实施例的具有存储集群结构的存储系统的框图。在图15中,为了方便,与图7中所示相同的组件用相同的参考数字来表示。与第一实施例类似,图15所示的存储系统(存储集群)包括三个节点1-1至1-3。第二实施例的存储集群与第一实施例的存储集群的不同之处在于,三个节点的节点1-2和1-3的每个包括控制器、管理服务器和存储器中的一个和两个。在图15中,节点1-1包括与第一实施例相同的控制器11-1、管理服务器12-1和存储器13-1,而节点1-2只包括控制器11-2并且节点1-3只包括管理服务器12-3和存储器13-3。图15所示的存储集群的操作与第一实施例的存储集群的操作相同。
假定在第二实施例中,虽然存储集群包括三个节点,但是控制器的数目、管理服务器的数目以及存储器的数目的每个都是两个。管理服务器的数目和存储器的数目的每个能被在整个存储集群中设定为一个。换言之,在包括多个节点的存储集群中,控制器的数目仅须为至少两个,且管理服务器的数目和存储器的数目的每个仅须为至少一个。在该限制条件下,可以适当地增加或减小控制器的数目、管理服务器的数目以及存储器的数目。利用第二实施例,当配置存储集群时,仅需根据情形扩展必要的功能。
[第三实施例]
下面将描述本发明的第三实施例。第三实施例的特征在于,由于直到主机实际请求对逻辑盘区的首次访问,在存储器侧不将物理盘区分配给该逻辑盘区,有效地使用了盘。
图16是根据本发明第三实施例的具有存储集群结构的存储系统的框图。在图16中,为了方便,与图7所示相同的组件由相同的参考数字来表示。与第一实施例类似,图16所示的存储系统(存储集群)包括三个节点1-1至1-3。第三实施例的存储集群与第一实施例的存储集群的不同之处在于,直到主机请求对逻辑盘区的首次访问(例如,写访问),在存储器(13-i)侧不将物理盘区分配给逻辑盘区。
在图16的例子中,存储器13-1的LPMT 132a指示节点1-1中的物理卷130-1的物理盘区未被分配给逻辑卷“LVol=1”/逻辑盘区“LEID=1”或者逻辑卷“LVol=1”/逻辑盘区“LEID=4”。类似地,存储器13-2的LPMT 132a指示节点1-2中的物理卷130-2的物理盘区未被分配给逻辑卷“LVol=1”/逻辑盘区“LEID=2”。此外,存储器13-3的LPMT 132a指示节点1-3中的物理卷130-3的物理盘区未被分配给逻辑卷“LVol=1”/逻辑盘区“LEID=3”。
通过条目来指示不分配物理盘区,在该条目中信息NA(标志NA)被设定给LPMT 132a中的PEID(列项PEID)。然而,逻辑卷的信息、逻辑盘区的信息以及节点的信息在条目中分别被设定给其它的列项LVol、LEID和MS。这指示存储器(物理卷)被分配给逻辑卷/逻辑盘区。换言之,这指示在由LPMT 132a中的条目的MS指定的节点上预留了由该条目(Lvol,LEID)指定的逻辑卷/逻辑盘区所必要的区域。应当注意,为了方便,在图16中改变了LPMT 132a的所述条目中的列项的顺序。
当物理盘区被分配给由LPMT 132a中的条目(LVol,LEID)指定的逻辑卷/逻辑盘区时,该条目中的PEID被从NA重写为所分配的物理盘区的ID。图16所示的存储集群的基本操作与根据第一实施例的存储集群的基本操作相同。然而,在当创建逻辑卷时和当得到对逻辑盘区的首次访问(写访问)时作出的行为中,前面的存储集群不同于在后的存储集群。
下面将描述在第三实施例的存储集群和第一实施例的存储集群之间的行为中的不同。根据第一实施例,由上述的程序(a)、(b)和(c)来创建逻辑卷。根据第三实施例,由于当得到对逻辑盘区的首次写访问时物理盘区被指定给该逻辑盘区,因此用以下程序(a1)来替换上述程序(a):
(a1)构成管理单元3确定哪个节点ID(PVol)被分配给包括存储了形成要被创建的逻辑卷的逻辑盘区的存储器(物理卷)的节点,以确保逻辑卷的容量。与第一实施例的程序(a)不同,没有物理盘区被分配给各个逻辑盘区。构成管理单元3为存储器13-1至13-3的每一个生成指示没有物理盘区被分配给各逻辑盘区的LPMT 132a,并在存储器中保持LPMT132a。
下面将参考图17所示的流程图并利用图1至3来描述当主机得到对逻辑盘区的写访问时进行的图16所示的存储集群的操作。在图17中,用相同的参考数字来表示与图4所示的流程图相同的组成部分。图17的流程图与图4的不同之处在于,用步骤S18替换步骤S8。步骤S18的特征在于:步骤S18包括确定逻辑盘区被分配给的物理盘区的处理,这是因为当对逻辑盘区的首次访问是写访问时没有物理盘区被分配给逻辑盘区。
与第一实施例中一样,假定主机请求对节点1-1的控制器11-1中包括的目标接口111的访问(写访问)。与在图4中所示的流程图中一样,首先执行步骤S0至S7。在图17中,省略了步骤S0至S7中的步骤S1至S6。在步骤S7,主机请求节点ID是SIDx的存储器,例如节点1-1的存储器13-1,以得到对与逻辑盘区“LVolx,LEIDx”对应的物理盘区的访问。然后,在存储器13-1中,如下进行步骤S18的处理。
首先,存储器13-1的IO驱动器131参考在LPMT 132a中与逻辑盘区“LVolx,LEIDx”关联的条目的PEID(步骤S18a)。根据PEID是否为非NA(non-NA),存储器13-1确定物理盘区是否被分配给逻辑盘区“LVolx,LEIDx”(步骤S18b)。
如果PEID是NA,并且因而没有物理盘区被分配给逻辑盘区“LVolx,LEIDx”,则IO驱动器131与构成管理单元3关联地执行步骤S18c。在步骤S18c中,IO驱动器131将存储器13-1(物理卷130-1)中的适当(空)物理盘区PEIDx分配给逻辑盘区“LVolx,LEIDx”。在步骤S18c,IO驱动器131还将LPMT 132a中与逻辑盘区“LVolx,LEIDx”关联的条目的PEID从NA更新为物理盘区PEIDx的ID(=PEIDx)。然后,IO驱动器131得到对物理盘区PEIDx的访问并答复控制器11-1的IO管理器113(步骤S18d)。另一方面,如果PEID是非NA,并且因而物理盘区(例如,物理盘区PEIDx)已经被分配给逻辑盘区“LVolx,LEIDx”(步骤S18b),则IO驱动器131跳过步骤S18c并执行步骤S18d。
根据第三实施例,当对逻辑盘区的首次访问是写访问时,物理盘区被分配给逻辑盘区。另一方面,当对逻辑盘区的首次访问是读访问时,或当对没有数据被写入的逻辑盘区发出读访问时,物理盘区能被或不需要被分配给逻辑盘区。当它被分配时,IO驱动器131仅须执行步骤S18。在任一种情况下,仅须返回适当的数据(例如零数据)作为对读请求的响应。根据第三实施例的分配物理盘区的方法可以被应用于第二实施例。根据第三实施例,在每个存储器中,当主机请求访问时,能根据情形分配最佳的物理盘区。
[第四实施例]
下面将描述本发明的第四实施例。第四实施例的特征在于,直到主机实际请求对逻辑盘区的首次访问,不预留逻辑盘区的区域。
图18是根据本发明第四实施例的具有存储集群结构的存储系统的框图。在图18中,为了方便,与图7所示相同的组成部分由相同的参考数字来表示。与第一实施例中类似,图18所示的存储系统(存储集群)包括三个节点1-1至1-3。第四实施例的存储集群与第一实施例的存储集群的不同之处在于,直到主机实际请求对逻辑盘区的首次访问,不但物理盘区不被分配给逻辑盘区,而且存储器(物理卷)也不被分配给逻辑盘区(不预留)。
在图18所示的存储集群中,直到请求对逻辑盘区的首次访问,逻辑盘区的区域不被预留。因此,当创建逻辑卷时,不需要预留存储器13-1至13-3的LPMT 132a的条目。响应于来自控制器11-i(i=1,2,3)的询问,由管理服务器12-j(j=1,2,3)进行关于逻辑盘区的对存储器(物理卷)和物理盘区的分配。例如,通过构成管理单元3计划该分配。
图18示出了没有存储器(物理卷)已经被分配给逻辑卷的各个逻辑盘区。更具体地,管理服务器12-1的LSMT 120-1指示没有存储器(物理卷)被分配给逻辑卷“LVol=1”/逻辑盘区“LEID=1”或逻辑卷“LVol=1”/逻辑盘区“LEID=4”。类似地,管理服务器12-2的LSMT 120-2指示没有存储器(物理卷)被分配给逻辑卷“LVol=1”/逻辑盘区“LEID=2”。此外,管理服务器12-3的LSMT 120-3指示没有存储器(物理卷)被分配给逻辑卷“LVol=1”/逻辑盘区“LEID=3”。通过在其中将NA(标志NA)设定给在LSMT 120-1至120-3中的PVol(列项PVol)的条目来指示存储器(物理卷)的未分配。应当注意,在图18中,从LSMT 120-1至120-3的条目到存储器13-1至13-3的LPMT 132a的条目没有绘制箭头。
图18所示的存储集群的基本操作与根据第一实施例的存储集群的基本操作相同。然而,当在创建逻辑卷时和当得到对逻辑盘区的首次访问时作出的行为中,前面的存储集群不同于在后的存储集群。
下面将描述在第四实施例的存储集群和第一实施例的存储集群之间的行为中的差别。根据第一实施例,由上述的程序(a)、(b)和(c)来创建逻辑卷。根据第四实施例,当得到对逻辑盘区的首次访问时确定存储该逻辑盘区的存储器(物理卷),且在确定的存储器(物理卷)中对该逻辑盘区分配物理盘区。用下面的程序(a2)和(b2)来替换上述的程序(a)和(b)。
(a2)构成管理单元3不确定哪个节点ID(PVol)被分配给包括存储了形成将被创建的逻辑卷的逻辑盘区的存储器(物理卷)的节点。如图18所示,构成管理单元3为存储器13-1至13-3的每一个生成空的LPMT132a,并在存储器中保持该LPMT 132a。
(b2)构成管理单元3确定哪个节点包括了负责逻辑盘区的位置管理服务的管理服务器;然而,它不确定哪个存储器(物理卷)存储该逻辑盘区。因此,构成管理单元3生成包括条目信息项的LSMT 120-1至120-3,并在管理服务器12-1至12-3中设定它们,其中所述条目信息项的PVol是NA且其涉及管理服务器12-1至12-3负责的逻辑盘区。与第二实施例中一样,不需要为存储集群中的节点1-1至1-3的每一个设置管理服务器(LSMT)。
下面将参考图19所示的流程图并利用图1至3来描述当主机得到对逻辑盘区的写访问时进行的图18所示的存储集群的操作。在图19中,与图4或图17所示的流程图相同的组成部分用相同的参考数字来表示。
与第一实施例中相同,假定主机请求对节点1-1的控制器11-1中包括的目标接口111的访问。如图4所示的流程图,首先执行步骤S0至S4。在图19中,省略了步骤S0至S4中的步骤S1至S3。在步骤S4中,例如,控制器11-1的服务器指定单元112询问例如管理服务器12-1的逻辑盘区(目标逻辑盘区)“LVolx,LEIDx”的位置。换言之,单元112询问存储了与逻辑盘区“LVolx,LEIDx”对应的物理盘区的存储器的节点ID“SIDx”。然后,在管理服务器12-1中,如下进行步骤S25的处理。
首先,管理服务器12-1参考LSMT 120-1以检查哪个节点ID“SIDx”被分配给包括存储了与逻辑盘区“LVolx,LEIDx”对应的物理盘区的存储器(物理卷)的节点(步骤S25a)。这里,管理服务器12-1参考与逻辑盘区“LVolx,LEIDx”关联的在LSMT 120-1中的条目的PVol(=SIDx)。
根据PVol是否是非NA,管理服务器12-1确定存储器(物理卷)是否被分配给逻辑盘区“LVolx,LEIDx”(步骤S25b)。如果没有存储器(物理卷)被分配给逻辑盘区“LVolx,LEIDx”,则管理服务器12-1检查在存储器13-1至13-3(存储器13-1至13-3的物理卷130-1至130-3)中是否有空的物理盘区(步骤S25c)。通过例如管理服务器12-1与存储器13-1至13-3的IO驱动器131的通信来实现所述检查。如果在存储器13-1至13-3中没有空的物理盘区(或如果没有得到对来自主机的访问请求的响应),则IO错误发生(步骤S25d)。在这种情况下,返回所述错误作为对来自主机的访问请求的响应(步骤S9)。
如果在存储器13-1至13-3的任一个中有空的物理盘区,则管理服务器12-1选择具有空的物理盘区的存储器(例如,存储器13-1)作为适当的一个(步骤S25e)。在步骤S25e,管理服务器12-1将选择的存储器分配给逻辑盘区“LVolx,LEIDx”。在步骤S25e,管理服务器12-1还更新LSMT 120-1中的条目以使得在该条目中反映对逻辑盘区“LVolx,LEIDx”的存储器的分配。这里,与逻辑盘区“LVolx,LEIDx”关联的LSMT 120-1中的条目的PVol被从NA更新到被分配给逻辑盘区“LVolx,LEIDx”的存储器13-1的节点ID(物理卷130-1的节点ID),即,1(PVol=SIDx=1)。
当在步骤S25e中更新LSMT 120-1时,类似第一实施例中图4所示的流程图的步骤S4执行步骤S5和S6。因而,管理服务器12-1经由询问源的服务器指定单元112通知控制器11-1被分配给逻辑盘区“LVolx,LEIDx”的存储器13-1的节点ID(物理卷130-1的节点ID),即,1(PVol=SIDx=1)。当存储器(物理卷)被分配给逻辑盘区“LVolx,LEIDx”(步骤S25b)时,立刻执行步骤S5和S6。
在通过服务器指定单元112接收到节点ID(=SIDx=1)后,目标接口111经由IO管理器113请求由节点ID(=SIDx=1)指示的节点1-1的存储器13-1以得到对与逻辑盘区“LVolx,LEIDx”对应的物理盘区的访问,与第一和第三实施例一样(步骤S7)。在步骤S7之后的操作与在第三实施例中的操作相同,且在存储器13-1中执行包括步骤S18a至S18d的步骤S18。因此,当没有物理盘区被分配给逻辑盘区“LVolx,LEIDx”时,在物理卷130-1中的空的物理盘区被分配给逻辑盘区“LVolx,LEIDx”。这里假定物理盘区PEIDx被分配到那里。在这种情况下,将与逻辑盘区“LVolx,LEIDx”关联的LPMT 132a中的条目的PEID从NA更新到物理盘区PEIDx的ID(=PEIDx)。
根据第四实施例,不仅当主机发出访问请求时能根据每个存储器的条件分配最佳的物理盘区,而且能创建其容量超出总物理卷容量的上限的逻辑卷。
[第五实施例]
下面将描述本发明的第五实施例。第五实施例的特征在于,与来自控制器11-i(i=1,2,3)的服务器指定单元112的管理服务器12-j(j=1,2,3)的询问以及对该询问的响应(询问的结果)有关的信息被存储在高速缓冲存储器112b中。该信息包括“LVolx,LEIDx”和“SIDx”。信息“LVolx,LEIDx”表示逻辑卷LVolx/逻辑盘区LEIDx,或逻辑盘区“LVolx,LEIDx”。信息“SIDx”表示存储了与逻辑盘区“LVolx,LEIDx”对应的物理盘区的存储器的节点ID。换言之,信息“SIDx”表示逻辑盘区“LVolx,LEIDx”的位置。当需要相同的询问时,如果使用高速缓冲存储器112b,则能从高速缓冲存储器112b快速地获得与对询问的响应相对应的信息。
下面将参考图20所示的流程图并利用图1至3和7,描述在第五实施例中当主机获得对逻辑盘区的访问时进行的操作。在图20中,用相同的参考数字来表示与图4所示的流程图相同的组成部分。
现在假定主机发出对节点1-1的控制器11-1中包括的目标接口111的访问请求。在这种情况下,与图4所示的流程图相同,首先执行步骤S0至S2。在图20中,省略步骤S0至S2中的步骤S0和S1。在步骤S2中,控制器11-1的目标接口111询问控制器11-1的服务器指定单元112哪个节点包括了存储逻辑盘区“LVolx,LEIDx”的存储器(逻辑盘区“LVolx,LEIDx”的位置)。
然后,不同于第一实施例,服务器指定单元112执行步骤S31。在步骤S31,单元112参考由其自身管理的高速缓冲存储器112b并检查存储了与逻辑盘区“LVolx,LEIDx”对应的物理盘区的存储器的节点ID“SIDx”。换言之,单元112检查表示逻辑盘区“LVolx,LEIDx”的位置的节点ID“SIDx”。
基于步骤S31的执行结果,服务器指定单元112确定目标节点ID“SIDx”是否与逻辑盘区“LVolx,LEIDx”相关联地被存储在高速缓冲存储器112b中(即打击(hit)或误击(mishit))(步骤S32)。如果发生误击,则如第一实施例中来自目标接口111的询问(步骤S2)的情况,单元112执行步骤S3和S4。
在第五实施例中,假定由节点1-1的管理服务器12-1管理存储了与逻辑盘区“LVolx,LEIDx”对应的物理盘区的存储器的位置,且该存储器的节点ID(=PVol)是SIDx(=1),如第一实施例。基于LSMT 120-1获得节点ID“SIDx”。在这种情况下,管理服务器12-1通知询问源的服务器指定单元112,存储了与逻辑盘区“LVolx,LEIDx”对应的物理盘区的存储器的节点ID“SIDx”以及LSMT 120-1的序列号SN(LSMT序列号)(步骤S5a)。第五实施例的步骤S5a与第一实施例的不同之处在于,不仅将节点ID而且将用于获得该节点ID的LSMT 120-1的序列号SN通知给单元112。例如,每次更新LSMT 120-1,就由管理服务器12-1增加序列号SN。LSMT 120-2和LSMT 120-3也是一样。
在接收到来自管理服务器12-1的通知后,服务器指定单元112产生包括了将被存储在高速缓冲存储器112b中的{(LVolx,LEIDx),SIDx,SN}的信息(即,关于询问及其响应的信息)(步骤S5b)。当再次询问哪个节点包括存储了逻辑盘区“LVolx,LEIDx”的存储器时,单元112能在步骤S31的处理中快速地从高速缓冲存储器112b获得与所述询问的响应相对应的信息“SIDx”。
当发生打击时,在其中如上所述能从高速缓冲存储器112b获得与逻辑盘区“LVolx,LEIDx”关联的节点ID“SIDx”(步骤S32),服务器指定单元112能立刻将节点ID“SIDx”传送给目标接口111(步骤S6)。因此,能减少来自服务器指定单元112的对于管理服务器的询问的数目,并且能提高访问速度。
然而,当更新管理服务器12-1至12-3上的LSMT 120-1至120-3时,需要在高速缓冲存储器112b中反映所述更新。原因如下。与第一实施例中一样,假定在存储器之间管理物理盘区的复制(冗余结构)(参见图12)。如果,在这种情况下,在高速缓冲存储器112b中未反映LSMT 120-1至120-3的更新,则通过写访问重写物理盘区中的仅仅一个,且将会破坏冗余结构。为了避免这种情况,在第五实施例中对高速缓冲存储器的更新使用下面的机制。
首先,序列号SN被分配给LSMT 120-1至120-3中的每一个。每次通过IO驱动器131更新LSMT 120-1至120-3时,就通过例如存储器13-1至13-3的IO驱动器131来增加(更新)序列号SN。用于在步骤S5a获得节点ID“SIDx”的LSMT 120-j(j=1,2,3)的序列号SN通过服务器指定单元112与“(LVolx,LEIDx),SIDx”结合被存储在高速缓冲存储器112b中(步骤S5b)。当单元112确定在步骤S32发生误击时,执行步骤S3,S4,S5a和S5b,然后单元112将节点DI“SIDx”传送给目标接口111(步骤S6)。
当得到对存储器13-j的访问时,控制器11-i(i=1,2,3)将序列号SN传送给存储器13-j。存储器13-j的IO驱动器131将该序列号SN与由IO驱动器131自身识别的LSMT 120-j的最新序列号SN进行比较。如果两个序列号彼此一致,则IO驱动器131确定在由控制器11-i的服务器指定单元112管理的高速缓冲存储器112b中未反映LSMT 120-j的最新更新。在这种情况下,存储器13-j的IO驱动器131通知控制器11-i其在高速缓冲存储器112b中的对应信息被无效。换言之,IO驱动器131作为高速缓冲存储器无效化单元。在对所述通知的答复中,如单元112在步骤S32确定发生误击的情况,控制器11-i的服务器指定单元112再次询问管理服务器12-j(步骤S3和S4)。因此,单元112能从管理服务器12-j获取LSMT120-j的最新信息并将其反映在高速缓冲存储器112b中。
如下所述,管理服务器12-j可作为高速缓冲存储器无效化单元。换言之,管理服务器12-j能监控控制器11-j的服务器指定单元112上的高速缓冲存储器112b,并确定在高速缓冲存储器112b和由服务器12-j自身管理的LSMT 120-j之间是否发生误击。如果确定发生误击,则管理服务器12-j仅须通知服务器指定单元112其在高速缓冲存储器112b中的对应信息应该被放弃或更新。
对本领域技术人员来说将容易产生另外的优点或变型。因此,本发明在其更宽的方面不限于在此所示出和描述的具体细节和代表性实施例。于是,不脱离由所附权利要求及其等同内容所定义的一般发明构思的精神或范围,可以作出各种修改。

Claims (12)

1.一种存储系统,其特征在于,包括:
多个节点,该节点的至少一个包括具有物理卷的存储器,该存储器在所述物理卷的物理盘区中映射构成逻辑卷的逻辑盘区并在该物理卷中存储该逻辑盘区;以及
连接所述节点和主机的接口,
其中:
所述节点的至少两个包括为所述主机提供所述逻辑卷并接收来自该主机的访问的控制器;
所述节点的所述至少一个或所述节点的至少另一个包括:管理服务器,其进行位置管理服务,以答复来自任何所述控制器的关于存储所述逻辑卷的逻辑盘区的存储器的位置的询问;
每个所述控制器包括第一映射表,其指示与所述逻辑卷的逻辑盘区对应的管理服务器;
所述管理服务器包括第二映射表,其指示哪个节点包括了存储与所述管理服务器对应的逻辑盘区的存储器;
所述存储器包括第三映射表,其指示在该存储器中包括的物理卷的哪个物理盘区存储了所述逻辑盘区;
当所述控制器的每一个从所述主机接收了指定所述逻辑卷中的逻辑盘区作为访问目的地的访问请求时,所述控制器的所述每一个参考所述第一映射表以指定与所述访问目的地的逻辑盘区对应的管理服务器,并询问所述指定的管理服务器哪个存储器存储了所述访问目的地的逻辑盘区;
当所述管理服务器接收到来自所述控制器中的一个的询问时,该管理服务器参考所述第二映射表以指定被询问的存储器,并作为对所述询问的答复,将指示该指定的存储器的信息通知给作为询问源的所述控制器中的所述一个;
每个所述控制器请求由作为对所述询问的答复的所述信息指示的存储器,以得到对由所述主机指定的逻辑盘区的访问;以及
当所述控制器中的一个请求所述存储器以得到对逻辑盘区的访问时,所述存储器参考所述第三映射表以在所述物理卷中指定与所述指定的逻辑盘区对应的物理盘区,得到对该指定的物理盘区的访问,并答复作为访问请求源的所述控制器中的所述一个。
2.根据权利要求1所述的存储系统,其特征在于:
不同于所述节点的所述至少一个的至少一个节点,包括与所述存储器不同的另一个存储器,所述另一个存储器包括与所述第三映射表不同的另一个第三映射表;以及
当发生盘区迁移以使得将形成逻辑盘区的物理盘区中的数据从所述存储器迁移到所述另一个存储器的另一个物理盘区时,所述第三映射表和所述另一个第三映射表被更新以反映该盘区迁移,并且在所述管理服务器中包括的所述第二映射表被更新以显示作为存储所述逻辑盘区的存储器的迁移目的地的所述另一个存储器。
3.根据权利要求1所述的存储系统,其特征在于:
不同于所述节点的所述至少一个的至少一个节点,包括与所述存储器不同的另一个存储器,所述另一个存储器包括与所述第三映射表不同的另一个第三映射表;以及
当发生盘区复制以将形成逻辑盘区的物理盘区中的数据从所述存储器复制到所述另一个存储器的另一个物理盘区时,所述第三映射表被更新以反映该盘区复制,并且在所述管理服务器中包括的所述第二映射表被更新以显示复制目的地的所述另一个存储器以及作为存储所述逻辑盘区的存储器的复制源的所述存储器。
4.根据权利要求1所述的存储系统,其特征在于:
所述节点的所述至少一个或不同于所述节点的所述至少另一个的至少另一个节点,包括与所述管理服务器不同的另一个管理服务器,所述另一个管理服务器进行位置管理服务以答复来自所述控制器的任何一个的关于存储了构成所述逻辑卷的逻辑盘区的存储器的位置的询问,所述另一个管理服务器包括与所述第二映射表不同的另一个第二映射表;以及
当发生位置管理服务迁移以使得将信息迁移到所述另一个第二映射表时,所述控制器的每一个的所述第一映射表、所述第二映射表以及所述另一个第二映射表被更新以反映该位置管理服务迁移,所述信息被包括在所述第二映射表中并指示哪个节点包括了存储逻辑盘区的存储器。
5.根据权利要求1所述的存储系统,其特征在于:
所述节点的所述至少一个或不同于所述节点的所述至少另一个的至少另一个节点,包括与所述管理服务器不同的另一个管理服务器,所述另一个管理服务器进行位置管理服务以答复来自所述控制器的任何一个的关于存储了构成所述逻辑卷的逻辑盘区的存储器的位置的询问,所述另一个管理服务器包括与所述第二映射表不同的另一个第二映射表;以及
当发生位置管理服务复制以将信息复制到所述另一个第二映射表时,所述控制器的每一个的所述第一映射表和所述另一个第二映射表被更新以反映该位置管理服务复制,所述信息被包括在所述第二映射表中并指示哪个节点包括了存储逻辑盘区的存储器。
6.根据权利要求1所述的存储系统,其特征在于:
所述第三映射表仅仅指示在创建所述逻辑卷的初始状态存储了构成该逻辑卷的逻辑盘区的物理卷;以及
所述存储器将该存储器中包括的物理卷中的空的物理盘区分配给所述指定的逻辑盘区,并且当作为参考所述第三映射表的结果确定所述物理卷中的物理盘区不与所述指定的逻辑盘区相关联时,更新该第三映射表。
7.根据权利要求1所述的存储系统,其特征在于:
所述第二映射表指示,在所述逻辑卷被创建的初始状态,对于与包括所述第二映射表的所述管理服务器相对应的逻辑盘区,未分配存储器;
所述第三映射表指示,在所述逻辑卷被创建的初始状态,未分配物理卷和物理盘区给构成所述逻辑卷的逻辑盘区;
所述管理服务器分配存储器给所述访问目的地的逻辑盘区并且当作为参考所述第二映射表的结果确定该存储器未被分配给该逻辑盘区时更新该第二映射表;以及
所述存储器将该存储器中包括的物理卷中的空的物理盘区分配给所述指定的逻辑盘区并且当作为参考所述第三映射表的结果确定该物理卷中的物理盘区不与所述指定的逻辑盘区相关联时,更新该第三映射表。
8.根据权利要求1所述的存储系统,其特征在于:
所述控制器的每一个包括高速缓冲存储器,其存储有关所述询问以及对来自所述管理服务器的询问进行答复的信息;以及
在每个所述控制器询问所述管理服务器哪个存储器存储了由所述主机指定的逻辑盘区之前,所述每个控制器检查所述每个控制器的所述高速缓冲存储器是否存储了关于对该询问的答复的信息,并且当该信息被存储在该高速缓冲存储器中时请求由该信息指示的存储器以得到对指定的逻辑盘区的访问。
9.一种存储系统,其特征在于,包括:
多个节点,该节点包括存储器、控制器和管理服务器;以及
连接所述节点和主机的接口,
其中:
每个所述存储器包括物理卷,所述每个存储器在所述物理卷的物理盘区中映射包括在逻辑卷中的逻辑盘区,并在该物理卷中存储所述逻辑盘区;
每个所述控制器为所述主机提供所述逻辑卷并接收来自该主机的访问,每个所述控制器包括指示与构成所述逻辑卷的逻辑盘区相对应的管理服务器的第一映射表;
每个所述管理服务器进行位置管理服务以答复来自所述控制器的任何一个的询问,所述询问涉及存储了在所述逻辑卷中包括的逻辑盘区的存储器的位置,每个所述管理服务器包括指示哪个节点包括了存储与所述管理服务器对应的逻辑盘区的存储器的第二映射表;
每个所述存储器包括指示该存储器中包括的物理卷的哪个物理盘区存储了逻辑盘区的第三映射表;
当所述控制器的每一个从所述主机接收了指定所述逻辑卷中的逻辑盘区作为访问目的地的访问请求时,所述控制器的所述每一个参考所述第一映射表以指定与所述访问目的地的逻辑盘区对应的管理服务器,并询问所述指定的管理服务器哪个存储器存储了该访问目的地的逻辑盘区;
当所述管理服务器的每一个接收到来自所述控制器中的任何一个的所述询问时,该管理服务器的所述每一个参考所述第二映射表以指定被询问的存储器,并且作为对所述询问的答复将指示该指定的存储器的信息通知给作为询问源的控制器;
每个所述控制器请求由作为对所述询问的答复的所述信息指示的存储器,以得到对由所述主机指定的逻辑盘区的访问;以及
当所述控制器中的任何一个请求每个所述存储器以得到对所述指定的逻辑盘区的访问时,所述每个存储器参考所述第三映射表以在所述物理卷中指定与所述指定的逻辑盘区对应的物理盘区,得到对该指定的物理盘区的访问,并答复作为访问请求源的所述控制器。
10.根据权利要求9所述的存储系统,其特征在于:
每个所述控制器包括高速缓冲存储器,其存储了有关所述询问以及该询问的答复的信息;以及
在每个所述控制器询问所述管理服务器哪个存储器存储了由所述主机指定的逻辑盘区之前,所述每个控制器检查所述每个控制器的所述高速缓冲存储器是否存储了关于对该询问的答复的信息,并且当该信息被存储在该高速缓冲存储器中时请求由该信息指定的存储器以得到对所述指定的逻辑盘区的访问。
11.根据权利要求10所述的存储系统,其特征在于:每个所述节点包括高速缓冲存储器无效化单元,其检查存储了由所述每个节点的管理服务器中包括的所述第二映射表指示的逻辑盘区的存储器与存储了由在所述每个节点的管理服务器中包括的所述高速缓冲存储器中存储的有关答复的信息所指示的逻辑盘区的存储器是否彼此一致,并且当两个存储器彼此不一致时使得存储在所述高速缓冲存储器中的所述信息无效。
12.一种在存储系统中处理来自主机的访问请求的方法,所述存储系统包括:多个节点,该节点包括至少一个具有物理卷的节点,所述节点的至少两个包括利用在所述至少一个节点中包括的物理卷来为所述主机提供包括多个逻辑盘区的逻辑卷并接收来自该主机的访问的控制器,所述至少一个节点包括在所述物理卷的物理盘区中映射所述逻辑卷的逻辑盘区并在该物理卷中存储该逻辑盘区的存储器,所述至少一个节点或所述节点中的至少另一个包括进行位置管理服务的管理服务器以答复来自所述控制器的任何一个的关于存储了所述逻辑卷的逻辑盘区的存储器的位置的询问,所述方法的特征在于,包括以下步骤:
当所述控制器中的一个从所述主机接收到指定所述逻辑卷中的逻辑盘区的访问请求时,指定与访问目的地的逻辑盘区对应的管理服务器,所述指定管理服务器包括参考在所述控制器的所述一个中包括的第一映射表,该第一映射表指示与所述逻辑卷的逻辑盘区对应的管理服务器;
通过所述控制器中的所述一个询问所述指定的管理服务器哪个存储器存储了所述访问目的地的逻辑盘区;
指定所述被询问的存储器,该指定被询问的存储器包括:参考在所述被询问的管理服务器中包括的第二映射表,并且作为对所述询问的答复、通过所述被询问的管理服务器将指示所述指定的存储器的信息通知给作为询问源的控制器,所述第二映射表指示哪个节点包括了存储与所述管理服务器对应的逻辑盘区的存储器;
通过所述询问源的所述控制器,请求由作为对所述询问的答复的所述信息所指示的存储器以得到对由所述主机指定的逻辑盘区的访问;
在所述被请求的存储器中包括的物理卷中指定与所述指定的逻辑盘区关联的物理盘区,该指定物理盘区包括:参考在所述被请求的存储器中包括的第三映射表,该第三映射表指示在所述存储器中包括的物理卷的哪个物理盘区存储了所述逻辑盘区;
得到对所述指定的物理盘区的访问,该得到访问包括:从所述被请求的存储器答复所述访问请求源的所述控制器;以及
将所述存储器的答复从所述访问请求源的所述控制器返回给所述主机。
CNB2007101266040A 2006-04-04 2007-04-04 用于处理来自主机的访问请求的存储系统及方法 Expired - Fee Related CN100487639C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006103256A JP4224077B2 (ja) 2006-04-04 2006-04-04 ストレージシステム
JP103256/2006 2006-04-04

Publications (2)

Publication Number Publication Date
CN101067779A CN101067779A (zh) 2007-11-07
CN100487639C true CN100487639C (zh) 2009-05-13

Family

ID=38560832

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2007101266040A Expired - Fee Related CN100487639C (zh) 2006-04-04 2007-04-04 用于处理来自主机的访问请求的存储系统及方法

Country Status (3)

Country Link
US (1) US7707381B2 (zh)
JP (1) JP4224077B2 (zh)
CN (1) CN100487639C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101620515B (zh) * 2009-08-12 2010-12-01 宋振华 一种增强逻辑盘卷管理功能的方法

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5033041B2 (ja) * 2008-04-14 2012-09-26 株式会社日立製作所 ストレージシステム
US8019732B2 (en) 2008-08-08 2011-09-13 Amazon Technologies, Inc. Managing access of multiple executing programs to non-local block data storage
CN101625628B (zh) * 2009-08-17 2011-03-23 宋振华 一种实现逻辑盘卷管理映射定制的方法
JP5438827B2 (ja) 2009-10-09 2014-03-12 株式会社日立製作所 記憶制御装置及び仮想ボリュームの制御方法
US9021556B2 (en) * 2009-11-23 2015-04-28 Symantec Corporation System and method for virtual device communication filtering
US9015410B2 (en) 2011-01-05 2015-04-21 Hitachi, Ltd. Storage control apparatus unit and storage system comprising multiple storage control apparatus units
US8819374B1 (en) * 2011-06-15 2014-08-26 Emc Corporation Techniques for performing data migration
CN102650932A (zh) * 2012-04-05 2012-08-29 华为技术有限公司 数据的访问方法、设备和系统
WO2014106872A1 (en) * 2013-01-07 2014-07-10 Hitachi, Ltd. Data storage system and control method for data storage system
CN103092532B (zh) * 2013-01-21 2016-03-23 浪潮(北京)电子信息产业有限公司 一种集群存储系统的存储方法
CN104981788B (zh) * 2013-08-20 2018-03-20 株式会社日立制作所 存储系统及存储系统的控制方法
JP5902137B2 (ja) * 2013-09-24 2016-04-13 株式会社東芝 ストレージシステム
CN103605620B (zh) * 2013-11-28 2017-01-11 北京华胜天成科技股份有限公司 一种集群存储数据保护方法及装置
CN105808157A (zh) * 2014-12-31 2016-07-27 中兴通讯股份有限公司 存储架构的创建方法、存储访问方法和存储系统
US9965184B2 (en) * 2015-10-19 2018-05-08 International Business Machines Corporation Multiple storage subpools of a virtual storage pool in a multiple processor environment
US10924557B2 (en) 2016-11-22 2021-02-16 Airwatch Llc Management service migration using managed devices
US10873511B2 (en) 2016-11-22 2020-12-22 Airwatch Llc Management service migration for managed devices
US10462263B2 (en) * 2016-11-22 2019-10-29 Airwatch Llc Management service migration using web applications
CN108228076B (zh) 2016-12-14 2020-10-16 华为技术有限公司 访问磁盘的方法和主机
JP6606235B1 (ja) * 2018-07-13 2019-11-13 株式会社日立製作所 ストレージシステム
JP7111964B2 (ja) * 2018-07-31 2022-08-03 富士通株式会社 ストレージ管理装置、ストレージシステムおよびプログラム
JP6898393B2 (ja) * 2019-03-22 2021-07-07 株式会社日立製作所 ストレージシステム及びデータ転送方法
JP7193602B2 (ja) * 2020-07-09 2022-12-20 株式会社日立製作所 システム及びその制御方法並びにプログラム
WO2022036134A1 (en) * 2020-08-14 2022-02-17 Oracle International Corporation Techniques for persisting data across instances of a cloud shell
US11327673B1 (en) 2020-10-23 2022-05-10 Oracle International Corporation Techniques for persisting data across instances of a cloud shell

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3431972B2 (ja) * 1993-11-29 2003-07-28 株式会社日立製作所 仮想ディスクシステム
JP3190546B2 (ja) 1995-08-29 2001-07-23 株式会社日立製作所 ブロックアドレスの変換方法および回転型記憶サブシステムの制御方法ならびにディスクサブシステム
JP3977573B2 (ja) * 2000-05-01 2007-09-19 株式会社東芝 ディスク制御装置
JP4612269B2 (ja) * 2002-08-13 2011-01-12 日本電気株式会社 仮想ボリューム管理方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101620515B (zh) * 2009-08-12 2010-12-01 宋振华 一种增强逻辑盘卷管理功能的方法

Also Published As

Publication number Publication date
US7707381B2 (en) 2010-04-27
JP2007279898A (ja) 2007-10-25
US20070233997A1 (en) 2007-10-04
JP4224077B2 (ja) 2009-02-12
CN101067779A (zh) 2007-11-07

Similar Documents

Publication Publication Date Title
CN100487639C (zh) 用于处理来自主机的访问请求的存储系统及方法
US9946460B2 (en) Storage subsystem and storage system architecture performing storage virtualization and method thereof
US6542962B2 (en) Multiple processor data processing system with mirrored data for distributed access
CN101799742B (zh) 用于在存储系统之间转移精简配置卷的方法和装置
US6381674B2 (en) Method and apparatus for providing centralized intelligent cache between multiple data controlling elements
CN106133676B (zh) 存储系统
US9971709B1 (en) Data migration techniques
CN103052938B (zh) 数据迁移系统和数据迁移方法
CN100394406C (zh) 用于高速缓存分配的方法和设备
US7159150B2 (en) Distributed storage system capable of restoring data in case of a storage failure
EP1178407A2 (en) Architecture for parallel distributed table driven I/O mapping
US20030158999A1 (en) Method and apparatus for maintaining cache coherency in a storage system
US20070294314A1 (en) Bitmap based synchronization
US9661078B1 (en) Federated namespace management
US20090089534A1 (en) Thin Provisioning Migration and Scrubbing
CN101571815A (zh) 信息系统及i/o处理方法
CN102549542A (zh) 负载偏差时实现数据重新分配的存储系统及其控制方法
JP2005275525A (ja) ストレージシステム
CN103154909A (zh) 分布式高速缓冲存储器一致性协议
CN101147118A (zh) 用于重新配置存储系统的方法和装置
CN108762668A (zh) 一种处理写入冲突的方法及装置
US7293156B2 (en) Distributed independent cache memory
US20050198411A1 (en) Commingled write cache in dual input/output adapter
US11392464B2 (en) Methods and systems for mirroring and failover of nodes
US7484038B1 (en) Method and apparatus to manage storage devices

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090513

Termination date: 20200404

CF01 Termination of patent right due to non-payment of annual fee