CN106133676B - 存储系统 - Google Patents

存储系统 Download PDF

Info

Publication number
CN106133676B
CN106133676B CN201480077291.2A CN201480077291A CN106133676B CN 106133676 B CN106133676 B CN 106133676B CN 201480077291 A CN201480077291 A CN 201480077291A CN 106133676 B CN106133676 B CN 106133676B
Authority
CN
China
Prior art keywords
storage device
logical volume
storage
data
volume
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
CN201480077291.2A
Other languages
English (en)
Other versions
CN106133676A (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 CN106133676A publication Critical patent/CN106133676A/zh
Application granted granted Critical
Publication of CN106133676B publication Critical patent/CN106133676B/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/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/0604Improving or facilitating administration, e.g. storage management
    • 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/0689Disk arrays, e.g. RAID, JBOD
    • 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
    • G06F11/1458Management of the backup or restore process
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • G06F11/2076Synchronous techniques
    • 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
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2064Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring while ensuring consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • 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

Abstract

提供一种存储系统,第一存储装置提供第一逻辑卷,第二存储装置提供与第一逻辑卷组成成对结构的第二逻辑卷,在从主计算机接受到向第一或第二逻辑卷的写入数据时,以第一、第二逻辑卷的顺序将写入数据双重写入到第一逻辑卷、第二逻辑卷,在第一存储装置从主计算机接受到向第一逻辑卷的读取请求的情况下,在被发送读取请求的存储区域不处于双重写入中时,从第一逻辑卷读取数据,对主计算机进行响应,在第二存储装置从主计算机接受到向第二逻辑卷的读取请求的情况下,从第二逻辑卷读取数据,对主计算机进行响应。

Description

存储系统
技术领域
本发明涉及一种存储系统。
背景技术
近年来,由于大数据分析的普及等,信息的重要性变得更高,用于保护重要信息的灾难恢复的重要性不断变高。作为灾难恢复技术,在专利文献1中公开有如下技术,即,在进行通常运行时,仅主站点的存储装置接受来自主计算机的读写请求,向远程站点的存储装置进行复制,在主站点发生故障时切换成访问远程站点。
现有技术文献
专利文献
专利文献1:美国专利申请公开第2009/0271582号说明书
发明内容
大数据分析等的数据量显著增大,其结果为系统变得大规模化、复杂化,装置个数增加,备份站点的成本也增加,希望有效利用备份站点的资源。对于专利文献1中公开的技术,在通常运行时,仅通过主站点的存储装置接收读写请求,因此不能够访问远程站点的存储装置,不能够充分地有效利用资源。
为了解决上述问题而提供一种存储系统,其具有第一存储装置以及第二存储装置,第一存储装置提供第一逻辑卷,第二存储装置提供与第一逻辑卷组成成对结构的第二逻辑卷,第一存储装置管理第一逻辑卷的存储区域中的处于双重写入中的存储区域,在从主计算机接受到向第一逻辑卷或第二逻辑卷的写入数据时,以第一逻辑卷、第二逻辑卷的顺序将写入数据双重写入到第一逻辑卷和第二逻辑卷,第一存储装置在从主计算机接受到向第一逻辑卷的读取请求时,判断被发送读取请求的存储区域是否处于双重写入中,在判断的结果为处于双重写入中的情况下,在经过规定时间后,再次判断被发送读取请求的存储区域是否处于双重写入中,在判断的结果为不处于双重写入中的情况下,从第一逻辑卷读取被发送读取请求的数据,并对主计算机进行响应,在第二存储装置从主计算机接受到向第二逻辑卷的读取请求的情况下,从第二逻辑卷读取被发送读取请求的数据,并对主计算机进行响应。
发明的效果
根据本发明的一个方式,能够通过远程站点的存储装置接收读取/写入,因此能够有效利用远程站点的资源。
附图说明
图1A示出写入指示进入PVOL时的处理流程的概要。
图1B示出读取指示进入PVOL以及SVOL时的处理流程的概要。
图2示出包括本实施方式的信息系统的计算机系统的结构例子。
图3示意性示出主计算机以及存储装置的硬件结构例子。
图4示出存储装置向主计算机提供的虚拟结构例子。
图5示出存储在存储装置的CMPK的共用存储器内的信息。
图6示出存储在存储装置的MPPK的本地存储器内的信息。
图7示出VOL映射表的结构例子。
图8示出HA卷对管理表的结构例子。
图9示出LU路径管理表的结构例子。
图10示出VOL管理表的结构例子。
图11示出PG管理表的结构例子。
图12示出缓存槽管理表的结构例子。
图13示出JOB管理表的结构例子。
图14示出向主计算机提供虚拟存储装置以及虚拟卷的信息的方法的顺序。
图15示出从主计算机至PVOL的写入处理的顺序。
图16示出从主计算机至SVOL的写入处理的顺序。
图17示出MDKC以及RDKC针对来自主计算机的写入指令进行的处理的流程图。
图18示出MDKC和RDKC针对MDKC与RDKC之间的写入指令进行的处理的流程图。
图19示出对从主计算机至PVOL的读取指令进行的处理的顺序。
图20示出对从主计算机至SVOL的读取指令进行的处理的顺序。
图21示出MDKC10M以及RDKC10R应对来自主计算机的读取指令的处理的流程图。
图22示出HA卷对的对状态与向PVOL以及SVOL进行I/O访问时的排他类别之间的关系。
图23是承接MPPK发送向SVOL的写入指令的处理的流程图。
图24示出与写入数据一起发送排他锁定解除指令的顺序。
图25示出包括RDKC10R所进行的JOB排他锁定的、从主计算机向PVOL的写入处理的顺序。
图26示出包括RDKC所进行的JOB排他锁定的、从主计算机向SVOL的写入处理的顺序。
图27示出与图25以及图26的顺序对应的、MDKC以及RDKC针对来自主计算机的写入指令进行的处理的流程图。
图28示出与图25以及图26的顺序对应的、MDKC以及RDKC针对MDKC与RDKC之间的写入指令进行的处理的流程图。
具体实施方式
以下,参照附图说明本发明的实施方式。应该注意,本实施方式仅是用于实现本发明的一个例子,并不用于限定本发明的技术范围。在各图中,针对相同的结构,标注相同的附图标记。
图1A以及图1B是表示本实施方式的概要的图。图1A以及图1B公开的结构包括主计算机180A、主计算机180B、存储装置10A以及存储装置10B,存储装置10A以及存储装置10B向主计算机180A以及主计算机180B提供虚拟存储装置15。
存储装置10A的卷即卷161A以及存储装置10B的卷即卷161B被作为虚拟存储装置15的一个虚拟卷151进行提供,卷161A以及卷161B存储有相同的数据,对于主机而言显示相同的ID。此外,对于在以下的说明中没有明示“虚拟”的构成要素,在没有特别说明的情况下,表示实际的构成要素。
主计算机180A以及180B向一个虚拟卷151发送读取/写入指示,但是实际上有可能向卷161A以及卷161B都发送所述指示。将这样的卷161A与卷161B构成的对,称为双活型(Active-Active型)的高可用性(HA:High Availability)卷对或HA对,如图1A以及图1B所示,将包括HA对的结构称为HA结构。
在以下的说明中,HA结构以及HA对表示Active-Active型的HA结构以及HA对。HA对由主卷(PVOL:Primary Volume)和副卷(SVOL:Secondary Volume)构成,在此,将卷161A设定为PVOL,将卷161B设定为SVOL。另外,将提供PVOL的存储装置10A称为MDKC(Main DiskController:主盘控制器),将提供SVOL的存储装置10B称为RDKC(Remote DiskController:远程盘控制器)。
此外,一个存储装置也能够包含不同HA卷对的PVOL和SVOL。即,一台存储装置与各HA卷对的卷类别相应地发挥MDKC以及RDKC的功能。利用以下的图1A以及图2B说明从主机向PVOL以及SVOL发行写入指示以及读取指示时的处理的概要。此外,对卷写入以及读取数据的处理是对高速缓冲存储器或存储驱动器写入以及读取数据的处理。
图1A是写入指示从主计算机180A进入PVOL即卷161A时的处理流程的概要。
I.存储装置10A接受伴随来自主计算机180A的写入指示的数据转送。II.存储装置10A取得卷161A的写入目的地地址的排他性,向卷161A写入。III.为了在SVOL即卷161B中存储数据,存储装置10A向存储装置10B转送写入命令以及数据。
IV.接收了写入命令以及数据的存储装置10B向卷161B中存储数据。V.存储装置10B向存储装置10A发送写入结束报告。VI.存储装置10A解除在II中取得的排他性。VII.存储装置10A向主计算机180A发送写入结束报告。
这样,在PVOL接受到写入指示时,MDKC对写入目的地地址范围赋予排他性,在对PVOL写入后,对SVOL写入,在对SVOL写入结束后,解除排他性,对主计算机进行响应。详细内容后面描述,但是,在SVOL侧接受到写入指示时,也在MDKC侧取得排他性,在先对PVOL写入后,向SVOL写入,然后在MDKC侧解除排他性,以这样的顺序,进行写入处理。写入处理中的任务(JOB)排他控制禁止对该区域进行其它写入处理以及读取处理。由此,适当地维持PVOL和SVOL的同一性。
图1B是从主计算机180A以及180B向PVOL即卷161A以及SVOL即卷161B发行读取请求时的处理流程的概要。在接受了对卷161B的读取请求的存储装置10B接受了I/O请求时,从卷161B读取数据,向主计算机180B返回数据。此时,不需要与存储装置10A进行通信。
接受了对卷161A的读取请求的存储装置10A,针对在图1A中被请求读取的数据的存储区域,确认是否取得了在图1A中说明的写入目的地地址排他性,在不存在写入目的地地址排他性的情况下,从卷161A读取数据,向主计算机180A返回数据。
在存在写入目的地地址排他性的情况下,存储装置10A等待规定的时间,然后再次确认是否取得了写入目的地地址排他性。在对PVOL即卷161A进行读取时,也不需要在存储装置10A与存储装置10B之间进行通信。
此外,后面描述读取处理中的JOB排他控制的详细内容,但是读取处理中的JOB排他控制禁止对该区域的其它写入处理,但是其它的读取处理可以禁止也可以不禁止。通过许可读取处理,能够降低其它指令的处理的延迟。
近年来,作为应对地震等灾害的对策,灾难恢复的重要性不断变高。HA功能能够实现存储系统的高可用性。HA结构具有双重化的系统,能够在发生故障时,自动切断发生故障的系统,仅利用正常的系统继续进行动作。而且,从灾难恢复和资源的有效利用的角度等出发,越来越强地需要基于存储装置的双重化而形成的Active-Active型HA结构。
Active-Active型HA结构将所有的系统用作运转系统。在Active-Active型HA结构中,信息系统还能够接受主机对任意卷对的I/O访问,且能够有效利用路径的带宽、存储控制器处理能力和驱动器的处理能力等资源。
为了还接受对任意卷对的I/O访问,即便已经访问了PVOL和SVOL中的任一个,也需要防止在读取新的数据后读取旧的数据。这是因为,会产生该顺序变为相反顺序的回滚(rollback)而导致主机可能出现误动作。
因此,在本实施例中,作为一个例子,在对PVOL的I/O访问中,伴随有对PVOL的JOB排他控制,在对SVOL的I/O访问中,不使用JOB排他控制。通过对PVOL的JOB排他控制,能够适当地维持PVOL和SVOL相对于来自主机的指令的同一性,而且通过省略对SVOL的排他控制,能够使处理高效化。
另外,在本实施例中,从灾难恢复的角度出发而使双重化的存储系统被置于不同的站点,假设这些站点之间有100km左右。因此,站点间的通信存在1ms左右的延迟。因此,在对写入以及读取指令进行响应时,需要减少I/O同步时的站点间的通信。在本实施例中,在来自主机的读取处理中,MDCK以及RDKC以在各个存储装置间不进行通信的方式,将从PVOL以及SVOL读取的数据返回至主机。由于不需要存储装置的通信,所以能够防止来自主机的读取指令的处理的延迟。
另外,如上述那样,由于数据的增大,从而系统的大规模化不断发展,从降低系统构筑成本以及系统管理成本的角度出发,也需要通过数量少的装置实现功能。在本实施例中,在不需要使用特别的装置即专用设备(appliance)等的情况下,实现Active-Active型HA结构。
图2示出包括本实施方式中的信息系统在内的计算机系统的结构例子。图2的计算机系统包括主计算机180A、180B、存储装置10A~10C以及管理计算机20。存储装置10A~10C包含在信息系统中,主计算机180A、180B访问信息系统,管理计算机20管理信息系统。
计算机系统所包含的各种装置(系统)的数量根据设计而决定。存储装置10A、10B构成Active-Active型HA存储对,而且,提供虚拟存储装置。相对于主计算机180A、180B而言,存储装置10A、10B作为同一虚拟存储装置进行动作。在以下说明的例子中,存储装置10A、10B构成一台虚拟存储装置。
存储装置10C具有仲裁盘(Quorum Disk)。仲裁盘提供如下功能,即,在HA结构中的存储装置10A、10B间不能够通信时,决定在HA结构的存储装置10A、10B中的继续运转的装置和停止的装置。
具体地说,存储装置10A、10B将各个存储装置的状态和从各个存储装置观察到的与其它存储装置之间的通信状态写入仲裁盘。存储装置双方定期或与I/O响应同步地参照仲裁盘,基于写入仲裁盘的信息,决定继续运转的装置和停止的装置。
主计算机180A、180B、管理计算机20以及存储装置10A~10C通过由LAN195构成的管理网络以能够通信的方式连接在一起。例如,管理网络195为IP网络。管理网络195只要是管理数据通信用的网络,可以是任意类型的网络。
主计算机180A、180B以及存储装置10A~10C通过由SAN(Storage Area Network:存储区域网)190构成的数据网络连接在一起。主计算机180A,180B经由SAN190访问存储装置10A、10B的卷。存储装置10A~10C经由SAN190互相通信。
数据网络190只要是数据通信用的网络,则可以是任意类型的网络。数据网络190和管理网络195可以为同一网络。
图3示意性示出主计算机180以及存储装置10的硬件结构例子。主计算机180以及存储装置10分别表示计算机系统内的任意的主计算机以及存储装置。
主计算机180具有辅助存储设备(二级存储设备)181、作为处理器的CPU182、作为主存储装置的存储器183、输入设备184、作为输出装置的显示设备185、I/F186以及端口187。它们通过内部网络相互连接。管理计算机20也能够具有同样的硬件结构。
CPU182通过执行存储在存储器183中的程序,进行各种处理。例如,存储器183存储操作系统(OS)、路径切换程序以及应用程序。应用程序向存储装置10所提供的卷中写入数据。路径切换程序从分配给虚拟卷的路径中选择与访问目的地的实际卷对应的路径。
端口187是与SAN190连接的网络接口。端口187经由SAN190与存储装置10之间收发数据以及请求。接口186是与LAN195连接的网络接口。接口186经由LAN195与管理计算机20以及物理存储装置10之间收发管理数据以及控制命令。
存储装置10容纳有多个存储驱动器170。存储驱动器170例如是具有非易失性的磁盘的HDD或安装有非易失性半导体存储器(例如闪存器)的SSD。通过该存储驱动器170构成卷161等。
存储驱动器170存储从主机或其它存储装置送来的数据(用户数据)。多个存储驱动器170通过RAID运算使数据冗余化,由此能够防止在一个存储驱动器170出现故障时数据消失。
存储装置10包括用于经由SAN190与外部装置连接的前端封装(FEPK:Front EndPackage)100。在本例子的计算机系统中,外部装置为主机或存储装置。
存储装置10还具有用于与存储驱动器170连接的后端封装(BEPK:Back EndPackage)140、安装有高速缓冲存储器的高速缓冲存储器封装(CMPK:Cache MemoryPackage)130、安装有进行内部处理的微处理器的微处理器封装(MPPK)120以及将它们连接的内部网络150。
本例子的存储装置10包括多个FEPK100、多个BEPK140、多个CMPK130以及多个MPPK120。存储装置10还可以包括与管理计算机20进行通信的过程中发挥接口的功能的管理处理器。
各FEPK100在基板上具有用于与外部装置连接的接口101和用于在存储装置10内转送数据的转送电路112。接口101能够包括多个端口,各端口能够与外部装置连接。接口101将在外部装置与存储装置10之间的数据通信所使用的协议例如以太网光纤通道标准(FCoE:Fibre Channel Over Ethernet)变更为在内部网络150使用的协议例如高速外设部件互连标准(PCI-Express)。另外,具有缓冲存储器113。缓冲存储器是暂时存储从主计算机180a接收到的数据的区域,由DRAM等存储介质构成。
各BEPK140在基板上具有用于与驱动器170连接的接口141和用于在存储装置10内转送数据的转送电路142。接口141将与存储驱动器170的通信所使用的协议例如FC变更为在内部网络150中使用的协议。
各CMPK130在基板上具有暂时存储用户数据的高速缓冲存储器(CM)131以及对一个或多个MPPK120所处理的控制信息进行存储的共用存储器(SM)132。
负责不同卷的多个MPPK120(的微处理器)能够访问共用存储器132。MPPK120所处理的数据和程序从存储装置10内的非易失性存储器(未图示)或存储驱动器170载入。
各MPPK120具有一个以上的微处理器121、本地存储器(LM)122以及将它们连接的总线123。在本例子的MPPK120中,安装有多个微处理器121。微处理器121的数量可以为一个。本地存储器122存储微处理器121所执行的程序以及微处理器121所使用的控制信息。
如上所述,一个共用存储器132存储多个MPPK120所处理的控制信息。MPPK120从共用存储器132向自身的本地存储器122载入自身需要的控制信息。
在本结构例子中,存储装置10向主计算机180A、180B提供的卷的担当被分配给MPPK120(的微处理器121)。分配给MPPK120的本地存储器122以及共用存储器132存储该MPPK120负责I/O的卷的控制信息。
图4示出存储装置10A、10B向主计算机180提供的虚拟结构例子。存储装置10A、10B分别具有目标端口102A、102B。将卷161A、162A、163分配给目标端口102A。将卷161B、162B、164分配给目标端口102B。
此外,卷可以是卷容量与实际的容量一致的所谓LDEV,也可以是从池(pool)分配页(page)的自动精简配置卷(thin provisioning volume)。另外,所有卷可以由未图示的其它存储装置所具有的存储介质构成。此时,在主计算机访问该卷时,被访问的存储装置与具有存储介质的其它存储装置通信,对主计算机进行响应。
存储装置10A、10B向主计算机180提供虚拟存储装置15。对于主计算机180,虚拟存储装置15的制造编号(S/N)为XXX。另一方面,存储装置10A、10B分别具有制造编号AAA和制造编号BBB。主计算机180将虚拟存储装置15识别为包括目标端口102A、102B的制造编号为XXX的存储装置。制造编号是存储装置以及虚拟存储装置的识别符。
卷161A、161B构成HA卷对,并构成一个虚拟卷151。卷161A、161B的ID分别为10︰00、30︰00。另一方面,虚拟卷151的ID为20︰00。
卷162A、162B构成HA卷对,并构成一个虚拟卷152。卷162A、162B的ID分别为10︰01、30︰01。另一方面,虚拟卷152的ID为20︰01。
卷163、164分别构成虚拟卷153、154。卷163、164的ID分别为10︰02、30︰02。另一方面,虚拟卷153、154的ID分别为20︰02、20︰03。
主计算机180将虚拟卷151~154识别为虚拟存储装置15所提供的ID为20︰00~20︰03的卷。主计算机180能够经由目标端口102A、102B中的任意端口访问虚拟卷151、152。主计算机180仅经由目标端口102A访问虚拟卷153,且仅经由目标端口102B访问虚拟卷154。
图5示出存储在存储装置10的CMPK130的共用存储器132内的信息。共用存储器132存储有VOL映射信息管理表210、HA卷对管理表220、LU路径管理表230、VOL管理表240、PG管理表250以及缓存槽(cache slot)管理表270。共用存储器132能够被多个MPPK120访问。
图6示出存储在存储装置10的MPPK120的本地存储器122内的信息。本地存储器122存储JOB管理表260。
以下,说明上述表的结构例子。在以下的说明中参照的附图例示了存储装置10A中的表。图7示出VOL映射信息管理表210的结构例子。VOL映射信息管理表210将存储装置10所具有的卷的实际结构信息和虚拟结构信息建立关联关系。具体地说,VOL映射信息管理表210具有卷ID的栏211、虚拟卷ID的栏212、虚拟存储装置的制品编号(识别符)的栏213、HA标记的栏214。
各条目(entry)示出与卷建立对应关系的虚拟卷的ID、提供该虚拟卷的虚拟存储装置的ID以及示出该卷是否构成HA卷对。在HA标记栏的值为“ON(有效)”时,该卷与其它卷构成HA卷对。
图8示出HA卷对管理表220的结构例子。HA卷对管理表220存储HA卷对的管理信息。具体地说,HA卷对管理表220具有HA卷对的ID的栏221、表示HA卷对的状态的栏222、HA卷对的PVOL的ID的栏223和对提供PVOL的MDKC的识别符进行存储的栏224。
HA卷对管理表220还具有HA卷对的SVOL的ID的栏225和对提供SVOL的RDKC的识别符进行存储的栏226。在各条目中,PVOL或SVOL是该存储装置10提供的卷。
对状态的例子为复制(COPY)状态、成对(PAIR)状态和暂停(SUSPEND)状态等。COPY状态是从HA卷对的一方的卷向另一方的卷进行着数据复制的状态。PAIR状态是HA卷对的两个卷同步的状态。SUSPEND状态是HA卷对的两个卷非同步的状态。
图9示出LU路径管理表230的结构例子。LU路径管理表230管理与LUN建立了关联关系的端口以及卷。具体地说,LU路径管理表230具有端口ID的栏231、LUN的栏232和卷ID的栏233。
图10示出VOL管理表240的结构例子。VOL管理表240存储卷的特性信息。具体地说,VOL管理表240具有卷ID的栏241、表示卷的大小的栏242以及对卷提供物理存储区域的奇偶校验组(PG)的栏243。奇偶校验组还称为RAID组。
图11示出PG管理表250的结构例子。PG管理表250管理奇偶校验组的特性。具体地说,PG管理表250具有奇偶校验组的ID的栏251、表示奇偶校验组的类型的栏252、表示奇偶校验组的大小的栏253以及表示奇偶校验组的RAID级别的栏254。
图12示出缓存槽管理表270的结构例子。缓存槽管理表270管理被高速缓冲存储的数据。具体地说,缓存槽管理表270存储与高速缓冲存储器的管理单位即缓存槽(还仅称为槽)相关的信息。槽的大小相同,能够从槽编号确定该槽在高速缓冲存储器内的地址。
槽编号栏271存储有槽的编号。PG ID栏272以及PG内地址栏273表示对存储在槽中的数据进行存储的奇偶校验组的ID以及该奇偶校验组内的地址。VOL ID栏274以及VOL内地址栏275表示对存储在槽中的数据进行存储的卷的识别符以及卷内的地址。
槽状态栏276表示槽的状态。空闲状态表示槽被释放。此外,在此还管理空闲状态的槽,但是可以不将不处于其它状态的槽作为空闲状态进行管理。脏(dirty)状态表示槽内的数据写入奇偶校验组前的状态。槽内的数据与奇偶校验组的数据不一致。
干净(clean)状态在PVOL和SVOL之间不同。PVOL的干净状态表示槽内的数据写入奇偶校验组且还写入SVOL后(来自RDKC的结束响应后)的状态。即,槽内的数据与奇偶校验组内的数据一致。SVOL的干净状态表示槽内的数据写入奇偶校验组后的状态。
双重写入中状态是PVOL特有的状态,表示槽内的数据写入SVOL前(来自RDKC的结束响应前)的状态。即,表示PVOL的数据与SVOL的数据不一致。
图13表示JOB管理表260的结构例子。JOB管理表260管理存储有JOB管理表的MPPK120所执行的任务(JOB)。在此的JOB是对卷的写入处理或对卷的读取处理。JOB管理表260存储执行中的JOB以及今后应该执行的JOB的信息。JOB管理表260的最大条目数量为定值。
JOB编号栏261表示JOB的识别符。处理类别栏262表示在JOB中应该执行的处理的类别。具体地说,包括与来自主计算机180的读取指令对应的处理(HOST READ)、与来自主计算机180的写入指令对应的处理(HOST WRITE)、与来自其它存储装置的读取指令对应的处理(DKC间READ)以与来自其它存储装置的写入指令对应的处理(DKC间WRITE)。
HA P/S栏263表示JOB的对象卷是否是HA卷对的卷,而且在是HA卷对的卷的情况下,还表示是PVOL还是SVOL。
VOL ID栏264表示JOB的对象卷的ID。起始逻辑区块地址(START LBA)栏265以及逻辑区块地址长度(LBA LENGTH)栏266表示JOB的对象数据的卷内的起始地址以及数据大小(地址长度)。
排他类别栏267表示JOB是否确保排他锁定,而且在确保了排他锁定的情况下,表示其排他类别。RD共有(RD共享)表示禁止向该地址区域的写入但允许读取。R/W(读/写)排他表示禁止对该地址区域的写入以及读取。
对于JOB编号以及MPPK编号栏268在条目中存储数据,该条目表示与主计算机180向SVOL的写入指令对应的处理。JOB编号以及MPPK编号栏268存储如下信息,该信息确定MDKC中的向对应PVOL写入的写入处理的JOB。JOB由JOB编号和执行该JOB的MPPK的编号(MPPK的识别符)确定。如后所述,JOB确定信息包括在从RDKC向MDKC的排他锁定解除指令中。
图14的顺序图示出向主计算机180提供虚拟存储装置15以及虚拟卷151~154的信息的方法。主计算机180在向存储装置10发送登录请求且接收到其响应后,发送报告LUN(REPORT LUN)指令。REPORT LUN指令请求提供该端口能够访问的LUN(Logial UnitNumber:逻辑单元号)的列表。存储装置10A参照LU路径管理表230,返回能够访问的LUN的列表(REPORT LUN响应)。
主计算机180能够利用查询(INQUIRY)指令,查询存储装置10的制造编号以及LUN所对应的卷的ID。存储装置10参照LU路径管理表230以及VOL映射信息管理表210,判定是否定义了对应的虚拟结构(S101)。
在定义了对应的虚拟结构(虚拟存储装置或虚拟卷)的情况下(S101:是),存储装置10将该虚拟结构的信息包含在INQUIRY响应中并返回(S102)。在没有定义虚拟结构的情况下(S101:否),存储装置10将实际结构的信息包含在INQUIRY响应中并返回(S103)。
在图4的结构中,例如,在主计算机180请求存储装置10A(S/N:AAA)通知制造编号时,接受到该请求的存储装置10A将虚拟存储装置15的制造编号XXX作为响应发送至主计算机180。存储装置10B也将虚拟存储装置15的制造编号XXX作为响应发送至主计算机180。
虚拟存储装置15的制造编号在构成HA存储装置对的存储装置10A以及10B中通用。使主计算机180将构成HA存储装置对的存储装置10A、10B识别为一个虚拟存储装置15。
同样,在主计算机180利用INQUIRY指令请求存储装置10A通知与LUN对应的卷ID(VOL ID)时,存储装置10A将虚拟卷151~153的ID(20︰00~20︰02)作为响应返回至主计算机180。同样,存储装置10B将虚拟卷151、152、154的ID(20︰00、20︰01、20︰03)作为响应返回至主计算机180。
这样,主计算机180识别出虚拟卷151~154,而且识别出分别与虚拟卷151、152对应的两个路径(端口)以及分别与虚拟卷153、154对应的一个路径(端口)。
说明HA卷对的创建过程。管理者使用卷创建HA卷对。管理者使用管理计算机20指示存储装置10A、10B创建HA卷对。
将HA卷对的一方定义为PVOL,将另一方定义为SVOL。管理者可以使用管理计算机20定义PVOL和SVOL。如后所述,在PVOL和SVOL之间,针对来自主计算机180的访问的处理不同。若创建HA卷对,则存储装置10A、10B向HA卷对管理表220追加新的条目。
另外,对HA卷对定义共同的虚拟信息。存储装置10A、10B或管理者对HA卷对定义共同的虚拟卷ID。存储装置10A、10B将具有被定义的虚拟信息的新条目追加至VOL映射信息管理表210中。
在定义HA卷对后,存储装置10A、10B开始从PVOL向SVOL进行初始数据复制。在初始数据复制结束时,两个卷具有同一数据,相互同步。即,存储装置10A、10B分别接收来自主计算机180的写入指令,相互间进行写入指令和写入数据的通信,对PVOL和SVOL双方进行更新,维持卷间的同一性。
如后所述,存储装置10A、10B针对来自主计算机180的读取指令,在存储装置10A、10B间不进行通信,将装置自身的卷的数据返回至主计算机180。由此,避免处理延迟。
在存储装置10A、10B中的一方发生故障,而不能够对来自主计算机180的I/O访问进行响应的情况下,检测到该状况且没有发生故障的另一方的存储装置对来自主计算机180的所有I/O访问进行处理。
在一方的卷中产生故障而存储装置10A、10B与主计算机180能够通信的情况下,存储发生了故障的卷的存储装置向另一方的存储装置转送来自主计算机180的指令。
例如,假设在存储装置10B的卷中产生故障。存储装置10B将来自主计算机180的写入指令转送至存储装置10A,存储装置10A进行向装置自身的卷的写入处理。存储装置10B向主计算机180返回写入结束响应。另外,存储装置10B将从存储装置10A接收到的读取数据返回至主计算机180。在存储装置10A的卷中发生了故障时也相同,只要存储装置10A和存储装置10B的应对措施相反即可。
这样,本信息系统得到高可用性。另外,能够对PVOL和SVOL定义不同的发生故障时的作用。例如,在存储装置10A、10B间的通信发生了故障时,信息系统接受从主计算机180向PVOL的I/O访问,阻止向SVOL的I/O访问。由此,维持虚拟卷中的数据的同一性。
存储装置10A、10B能够根据Quorum Disk以及存储装置10A,10B间的通信状态得知其它装置的故障和存储装置10A、10B间的通信故障。
图15示出从主计算机180向PVOL的写入处理的顺序。主计算机180对MDKC10M发行向虚拟卷内的区域写入的写入指令(WR CMD)。MDKC10M在与虚拟卷对应的PVOL中确保对写入指令所指定的区域的排他锁定(S201)。
MDKC10M在完成数据接收的准备时,向主计算机180返回数据转送的准备完毕(READY)响应(XFR RD),从主计算机180接收写入数据(WRDAT)。MDKC10M将接收到的写入数据写入PVOL内的地址区域(S202)。如上所述,对于向PVOL的写入,若写入高速缓冲存储器的功能启动(ON),向高速缓冲存储器131进行写入,若写入高速缓冲存储器的功能关闭(OFF),向奇偶校验组(物理存储区域)进行写入。
MDKC10M将向PVOL和构成HA卷对的SVOL内的区域写入的写入指令(WR CMD)发送至RDKC10R。SVOL能够由卷ID或另外定义的LUN指定。RDKC10R将数据转送的READY响应(XFRRD)返回至MDKC10M,从MDKC10M接收写入数据(WR DAT)。RDKC10R将接收到的写入数据写入SVOL内的地址区域(S203)。向SVOL的写入与向上述PVOL的写入相同。
RDKC10R在向SVOL内的地址区域的数据写入结束时,将写入结束响应(WR RSP)返回至MDKC10M。MDKC10M在从RDKC10R接收到写入结束响应后,向主计算机180返回写入结束响应(WR RSP)。而且,MDKC10M解除正在确保的排他锁定(S204)。
图16示出从主计算机180向SVOL的写入处理的顺序。主计算机180向RDKC10R发行向虚拟卷内的区域写入的写入指令(WR CMD)。
RDKC10R在完成数据接收的准备后,向主计算机180返回数据转送的READY响应(XFR RD),从主计算机180接收写入数据(WR DAT)。RDKC10R将向SVOL和构成HA卷对的PVOL内的区域写入的写入指令(WR CMD)发送至MDKC10M。
MDKC10M确保对写入指令所指定的卷内区域的排他锁定(S251)。然后,MDKC10M将数据转送的READY响应(XFR RD)返回至RDKC10R,从RDKC10R接收写入数据(WR DAT)。
MDKC10M将接收到的写入数据写入PVOL内的被指定的区域(S252)。MDKC10M在向PVOL内的区域的数据写入结束时,将写入结束响应(WR RSP)返回至RDKC10R。
RDKC10R在从MDKC10M接收到写入结束响应后,向SVOL内的被指定的区域写入写入数据(S253)。RDKC10R向主计算机180返回写入结束响应(WR RSP)。然后,RDKC10R指定JOB,将排他锁定解除指令发送至MDKC10M。MDKC10M解除被确保的排他锁定(S254),将表示被指定的JOB已解除了排他锁定的响应返回至RDKC10R。
图17示出MDKC10M以及RDKC10R针对来自主计算机180的写入指令进行的处理的流程图。在图17中,MDKC10M执行步骤S301~S311,RDKC10R执行步骤S301、S302、S312~S319。在以下说明的例子中,向卷的写入与向高速缓冲存储器130的写入数据的写入对应。
首先,说明MDKC10M的处理。MDKC10M从主计算机180接收写入指令。写入指令使用LUN指定对象卷。MDKC10M参照LU路径管理表230决定与写入指令所指定的虚拟卷对应的卷ID。
MDKC10M在JOB管理表260中创建新的条目,来确保JOB(S301)。具体地说,MPPK120在该JOB管理表260中选择空闲的JOB,在其条目中写入处理类别(HOST WRITE)以及写入指令所指定的卷以及地址的信息。在排他类别栏267的单元中未记入内容。在图13的JOB管理表260中,JOB编号为1的条目示出从主计算机180向PVOL的写入处理。
MPPK120参照HA卷对管理表220,判定被指定的卷是HA卷对的PVOL还是SVOL(S302)。在此,被指定的卷为PVOL。
接着,MPPK120确保新JOB的排他锁定(S303)。具体地说,MPPK120检索JOB管理表260,并检索对指定卷和指定区域的排他锁定进行确保的其它的JOB。在确保有排他锁定的情况下,等待该排他锁定解除。确保排他锁定的顺序例如被未图示的队列控制。此外,排他控制的单位可以如本例子那样以LBA为单位,也可以以卷为单位。通过仅使卷内的一部分区域排他锁定,能够减小对其它指令的处理的影响。
在指定卷和指定区域的排他锁定没有被其它JOB确保的情况下,MPPK120在新JOB的排他类别栏267的单元中设定排他锁定。处理是向PVOL的写入处理,其排他类别为R/W排他。
在确保了排他锁定时,MPPK120向主计算机180返回数据转送的READY响应,等待来自主计算机180的写入数据(S304)。MPPK120确保用于存储写入数据的缓存槽(S305)。具体地说,MPPK120在缓存槽管理表270中,在空闲的槽内设定新的数据。MPPK120参照VOL管理表240,确定与指定卷对应的奇偶校验组。
MPPK120使用FEPK100将接收到的写入数据写入被确保的缓存槽中(S306)。MPPK120在缓存槽管理表270中将该缓存槽的槽状态设定为双重写入中。
MPPK120向RDKC10R发行向与PVOL对应的SVOL写入的写入指令,等待数据转送的READY响应(S307)。MPPK120从HA卷对管理表220取得SVOL以及储存有SVOL的RDKC10R的ID。MPPK120对该RDKC10R指示向该SVOL的写入处理。SVOL能够通过卷ID或另外定义的LUN指定。
在接收到READY响应时,MPPK120使用FEPK100,向RDKC10R转送从主计算机180接收到的写入数据,等待写入结束的响应(S308)。
在从RDKC10R接收到写入结束响应时,MPPK120向主计算机180发送写入结束响应(S309)。而且,MPPK120在缓存槽管理表270中将该缓存槽的槽状态变更为脏(S310)。例如,MPPK120从JOB管理表260取得该JOB的对象卷以及区域,由此在缓存槽管理表270中确定对应的缓存槽。
MPPK120更新JOB管理表260,解除该JOB的排他锁定(S311)。例如,MPPK120在JOB管理表260释放该JOB,解除排他锁定。
接着,说明RDKC10R的处理。RDKC10R的步骤S301、S302实质上与MDKC10M的S301、S302相同。其中,被来自主计算机180的写入指令指定的卷为SVOL。在图13中,JOB编号为5的条目示出从主计算机180向SVOL的写入处理。
负责被指定的卷的MPPK120向主计算机180返回数据转送的READY响应,等待来自主计算机180的写入数据(S312)。
FEPK100将从主计算机180接收到的写入数据保存在缓冲存储器113中。MPPK120向MDKC10M发行向与SVOL对应的PVOL写入的写入指令,等待数据转送的READY响应(S313)。MPPK120从HA卷对管理表220取得PVOL以及保存有PVOL的MDKC10M的ID。MPPK120指示该MDKC10M进行向该PVOL的写入处理。PVOL能够由卷ID或另外定义的LUN指定。
在接收到READY响应时,MPPK120使用FEPK100向MDKC10M转送从主计算机180接收到的写入数据,等待写入结束的响应(S314)。
MPPK120分析从MDKC10M接收到的写入结束响应,取得JOB确定信息(S315)。写入结束响应包括确定该写入处理的JOB的信息。JOB确定信息包括该JOB的编号以及在MDKC120中负责该JOB的MPPK的编号。MPPK120在JOB管理表260中,在该条目的栏268中存储JOB确定信息。
MPPK120确保用于存储写入数据的缓存槽(S316)。具体地说,MPPK120在缓存槽管理表270中,在空闲的槽内设定新的数据。MPPK120参照VOL管理表240,确定与指定卷对应的奇偶校验组。
MPPK120将存储在缓冲存储器113中的写入数据写入确保的缓存槽中(S317)。MPPK120在缓存槽管理表270中将该缓存槽的槽状态设定为脏。
在写入高速缓冲存储器后,MPPK120向主计算机180发送写入结束响应(S318)。另外,MPPK120从JOB管理表260取得JOB确定信息,生成包括该JOB确定信息的排他锁定解除指令。MPPK120将生成的排他锁定解除指令发送至MDKC10M,等待来自MDKC10M的响应(S319)。
图18示出MDKC10M和RDKC10R针对MDKC10M与RDKC10R之间的写入指令进行的处理的流程图。在图18中,MDKC10M执行步骤S351~S361,RDKC10R执行步骤S351、S352、S362~S365。
首先,说明MDKC10M的处理。MDKC10M从RDKC10R接收写入指令。写入指令通过卷ID或另外定义的LUN指定对象卷。MDKC10M在JOB管理表260中创建新的条目,来确保JOB(S351)。
具体地说,负责被指定的卷的MPPK120在该JOB管理表260中选择空闲的JOB,向其条目中写入处理类别(DKC间WRITE)以及写入指令所指定的卷以及地址的信息。排他类别栏267的单元未记入内容。在图13中,JOB编号为3的条目示出从RDKC10R向PVOL的写入指令的处理。
MPPK120参照HA卷对管理表220,判定被指定的卷是HA卷对的PVOL还是SVOL(S352)。在此,被指定的卷为PVOL。
接着,MPPK120确保新JOB的排他锁定(S353)。具体地说,MPPK120检索JOB管理表260,并检索对指定卷和指定区域的排他锁定进行确保的其它的JOB。在确保有排他锁定的情况下,等待该排他锁定解除。确保排他锁定的顺序例如由未图示的队列控制。
在指定卷和指定区域的排他锁定没有被其它JOB确保的情况下,MPPK120在新JOB的排他类别栏267的单元中设定排他锁定。处理是向PVOL的写入处理,其排他类别为R/W排他。
在确保了排他锁定时,MPPK120向RDKC10R返回数据转送的READY响应,等待来自RDKC10R的写入数据(S354)。MPPK120确保用于存储写入数据的缓存槽(S355)。具体地说,MPPK120在缓存槽管理表270中,在空闲的槽内设定新的数据。MPPK120能够参照VOL管理表240确定与指定卷对应的奇偶校验组。
MPPK120使用FEPK100将接收到的写入数据写入确保的缓存槽(S356)。MPPK120在缓存槽管理表270中将该缓存槽的槽状态设定为双重写入中。
在将写入数据还写入高速缓冲存储器130后,MPPK120向RDKC10R返回写入结束的响应,等待排他锁定解除指令(S357)。写入结束响应包括该写入处理的JOB确定信息。JOB能够由JOB编号和负责该JOB的MPPK的编号确定。MPPK120将从JOB管理表260取得的JOB编号和装置自身的MPPK编号包含在写入结束响应中。
MPPK120在从RDKC10R接收到排他锁定解除指令时,从该排他锁定解除指令取得JOB确定信息(S358)。MPPK120在缓存槽管理表270中将被指定的JOB的缓存槽的槽状态变更为脏(S359)。例如,MPPK120从JOB管理表260取得该JOB的对象卷以及区域,由此能够在缓存槽管理表270中确定对应缓存槽。
MPPK120还解除JOB确定信息所表示的JOB的排他锁定(S360)。例如,MPPK120在JOB管理表260中释放该JOB,由此解除排他锁定。然后,MPPK120向RDKC10R返回排他锁定解除的响应(S361)。
接着,说明RDKC10R的处理。RDKC10R从MDKC10M接收写入指令。写入指令通过卷ID或另外定义的LUN指定对象卷。RDKC10R在JOB管理表260中创建新的条目,来确保JOB(S351)。具体的方法与MDKC10M的方法相同。
MPPK120参照HA卷对管理表220,判定被指定的卷是HA卷对的PVOL还是SVOL(S352)。在此,被指定的卷为SVOL。
MPPK120向MDKC10M返回数据转送的READY,等待数据转送(S362)。MPPK120确保用于存储写入数据的缓存槽(S363)。具体地说,MPPK120在缓存槽管理表270中,在空闲的槽内设定新的数据。MPPK120参照VOL管理表240,确定与指定卷对应的奇偶校验组。
MPPK120使用FEPK100将写入数据写入确保的缓存槽(S364)。MPPK120在缓存槽管理表270中,将该缓存槽的槽状态设定为脏。在写入高速缓冲存储器后,MPPK120向MDKC10M发送写入结束响应(S365)。
图19示出对于从主计算机180向PVOL的读取指令进行的处理的顺序。主计算机180向MDKC10M发行对虚拟卷内的区域读取的读取指令(RD CMD)。MDKC10M在与虚拟卷对应的PVOL中,确保对读取指令所指定的区域的排他锁定(S401)。MDKC10M读取PVOL的指定地址区域的数据(S402)。MDKC10M解除排他锁定(S403),向主计算机180返回包含读取数据的读取结束响应(RD RSP)。
图20示出对从主计算机180向SVOL的读取指令的处理的顺序。主计算机180向RDKC10R发行对虚拟卷内的区域读取的读取指令(RD CMD)。RDKC10R读取与虚拟卷对应的SVOL的指定地址区域的数据(S451)。RDKC10R向主计算机180返回包含读取数据的读取结束响应(RD RSP)。
图21示出与来自主计算机180的读取指令对应的MDKC10M以及RDKC10R的处理的流程图。在图21中,MDKC10M执行步骤S501~S508,RDKC10R执行步骤S501、S502、S509~S511。
首先,说明MDKC10M的读取处理。MDKC10M从主计算机180接收读取指令。读取指令使用LUN指定对象卷。MDKC10M参照LU路径管理表230决定与读取指令所指定的虚拟卷对应的卷ID。
MDKC10M在JOB管理表260中创建新的条目来确保JOB(S501)。具体地说,负责被指定的卷的MPPK120在该JOB管理表260中选择空闲的JOB,向其条目中写入处理类别(HOSTREAD)以及读取指令所指定的卷以及地址的信息。排他类别栏267的单元未被记入内容。在图13中,JOB编号为0的条目示出根据来自主计算机180的指令而进行的从PVOL的读取处理。
MPPK120参照HA卷对管理表220,判定被指定的卷是否为HA卷对的PVOL或SVOL(S502)。在此,被指定的卷为PVOL。
接着,MPPK120参照缓存槽管理表270,判定读取指令所指定的存储区域的数据是否被高速缓冲存储(S503)。在读取数据被高速缓冲存储时(S503:是),MPPK120确认该JOB的排他锁定(S512)。
具体地说,MPPK120检索JOB管理表260,并检索对指定卷和指定区域的R/W排他锁定进行了确保的其它的JOB。在确保了R/W排他锁定的情况下,等待该R/W排他锁定的解除。在指定卷和指定区域的R/W排他锁定没有被其它JOB确保的情况下,将被高速缓冲存储的读取数据发送至主计算机180(S508)。
在读取数据没有被高速缓冲存储的情况下(S503:否),MPPK120确保该JOB的排他锁定(S503)。具体地说,MPPK120检索JOB管理表260,并检索对指定卷和指定区域的R/W排他锁定进行了确保的其它的JOB。在确保了R/W排他锁定的情况下,等待该R/W排他锁定的解除。
在指定卷和指定区域的R/W排他锁定没有被其它JOB确保的情况下,MPPK120在新JOB的排他类别栏267的单元中设定排他锁定。处理是读取处理,其排他类别为RD共有。
在确保了排他锁定时,MPPK120确保用于存储读取数据的缓存槽(S505)。具体地说,MPPK120在缓存槽管理表270中,在空闲槽内设定新的数据。MPPK120能够参照VOL管理表240确定与指定卷对应的奇偶校验组。
MPPK120将从奇偶校验组读取的写入数据写入确保的缓存槽(S506)。MPPK120在缓存槽管理表270中,将该缓存槽的槽状态设定为干净。MPPK120更新JOB管理表260,解除该JOB的排他锁定(S507)。然后,MPPK120向主计算机180发送包含读取数据的读取结束响应(S508)。
接着,说明RDKC10R的读取处理。除了不执行JOB的排他锁定这点之外,RDKC10R的处理与MDKC10M的处理相同。步骤S509~S511分别与步骤S503、S505、S506对应。RDKC10R将SVOL的读取数据发送至主计算机180。
在上述例子中,HA卷对为PAIR状态且同步。图22示出HA卷对的对状态与向PVOL以及SVOL进行I/O访问中的排他类别之间的关系。作为对状态示出有PAIR状态和PSUS(PairSUSpend:暂停成对)状态。在PAIR状态下,PVOL与SVOL同步,一方的更新反应至另一方中。
在PAIR状态下,如上所述,存在主计算机180对PVOL的写入访问以及读取访问,以及RDKC10R对PVOL的写入访问。对于这些访问进行RD共有以及R/W排他的排他锁定。同样,存在主计算机180对SVOL的写入访问以及读取访问,以及MDKC10M对SVOL的写入访问。对于向SVOL的访问,不执行排他锁定。
在PSUS状态下,禁止更新SVOL,PVOL与SVOL不同步。MDKC10M处理来自主计算机180的访问。MDKC10M接受主计算机180对PVOL的写入访问以及读取访问。
MDKC10M在针对来自主计算机180的写入指令的处理中,不向RDKC10R发送写入指令。MDKC10M针对来自主计算机180的写入访问以及读取访问分别进行R/W排他以及RD共有的排他锁定。
另一方面,在PSUS状态下,在RDKC10R从主计算机180接收到写入指令或读取指令时,向MDKC10R转送。此时,RDKC不需要向高速缓冲存储器131存储数据,在向缓冲存储器113存储后,向MDKC10R转送。在写入处理中,RDKC10R在从MDKC10R接收到写入结束响应时,向主计算机180返回写入结束响应。在读取处理中,RDKC10R从MDKC10M接收读取数据,向主计算机180发送。
说明对与在MPPK120中产生的故障对应的处理的例子。在处理来自主计算机180的写入指令的过程中,在MPPK120产生故障时,PVOL和SVOL可能不同步。在本例子中,能够防止因故障而引起的性能低下,并且通过其它的MPPK120向RDKC10R的SVOL发送写入指令,能够可靠地维持HA卷对的同一性。
例如,检测出发生故障的MPPK120(故障MPPK120)的其它MPPK120(故障检测MPPK120)及/或从故障MPPK120接管而成为PVOL的担当的其它MPPK120(承接MPPK120)能够发送向SVOL的写入指令。
如上所述,在缓存槽管理表270的槽状态为双重写入中的情况下,对于MDKC10M而言,是否正在向SVOL写入写入数据是不明确的。因此,MPPK120能够参照缓存槽管理表270确定应该发送写入指令的JOB。
故障检测MPPK120在缓存槽管理表270中检索故障MPPK120所负责的PVOL的条目且槽状态为双重写入中的条目。这些条目是应该将写入指令发送至SVOL的条目。故障检测MPPK120在找到的条目中将槽状态变更为“需要发送写入指令”。
例如,各承接MPPK120可以进行缓存槽管理表270中的上述变更。各承接MPPK120仅更新接管而成为担当的PVOL的条目。
图23是承接MPPK120发送向SVOL的写入指令的处理的流程图。图23示出通过承接MPPK120对承接的PVOL进行的写入处理或读取处理中的一部分步骤。
在本例子中,承接MPPK120在从故障MPPK120承接的PVOL的读取/写入处理中,将需要的写入指令发送至SVOL。写入处理是主机写入处理或DKC间写入处理。
如图23所示,承接MPPK120确保与本次的指令对应的JOB的排他锁定(S551),另外,确保缓存槽(S552)。承接MPPK120在缓存槽管理表270中检索是否存在应该将写入指令发送至SVOL的条目(S553)。
例如,承接MPPK120检索为该PVOL的条目且槽状态为“需要发送写入指令”的条目。另外,MPPK120可以检索包括本次指令所指定的区域的一部分或全部且槽状态为“需要发送写入指令”的条目。
在存在检索出的条目的情况下(S553:是),承接MPPK120向RDKC10R发行写入指令,等待数据转送的READY响应(S554)。在接收到READY响应时,承接MPPK120向RDKC10R转送存储在缓存槽中的写入数据,等待写入结束的响应(S555)。
在从RDKC10R接收到写入结束响应时,承接MPPK120在缓存槽管理表270中将该缓存槽的槽状态变更为脏(S556)。然后,承接MPPK120再次启动与本次从主计算机180接收的指令对应的处理。
与承接MPPK120不同的MPPK120例如故障检测MPPK120可以参照缓存槽管理表270将需要的写入指令发送至RDKC10R。MPPK120在缓存槽管理表270中依次选择“需要发送写入指令”的条目,进行向SVOL的写入处理。可以由故障检测MPPK120和承接MPPK120中的双方或仅一方执行向SVOL的写入处理。
说明在向SVOL的写入处理中从RDKC10R向MDKC10M发送JOB排他锁定解除指令的其它发送方法。在上述结构例子中,RDKC10R与写入数据分开单独向MDKC10M发送排他锁定解除指令。在以下说明的例子中,RDKC10R将排他锁定解除指令与写入数据一起发送至MDKC10M。由此,降低通信量。
图24示出一起发送写入数据和排他锁定解除指令的顺序。以下主要说明与图16所示的顺序图之间的不同点。在图24中,MDKC10M确保排他锁定(S251),将数据转送的READY响应(XFR RD)返回至RDKC10R。
RDKC10R将排他锁定解除指令与写入数据(WR DAT)一起发送至MDKC10M。具体地说,RDKC10R在分为多个部分发送写入数据时,在发送最后的部分时一同发送排他锁定解除指令。
MDKC10M从RDKC10R一同接收写入数据(WR DAT)和排他锁定解除指令。MDKC10M将接收到的写入数据写入PVOL内的被指定的区域(S252)。MDKC10M在向PVOL内的区域的数据写入结束时,解除确保的排他锁定(S257)。然后,MDKC10M向RDKC10R返回写入结束响应(WRRSP)。
本顺序在FEPK100不具有自动转送写入指令和写入数据的功能的结构中有效。通过本顺序,能够降低MDKC10M与RDKC10R之间的通信次数。
在上述结构例子中,RDKC10R不执行JOB的排他锁定。如以下说明的那样,RDKC10R也可以如MDKC10M那样执行JOB排他锁定。由此,通过可靠的顺序保证,能够得到更高的可靠性。
图25示出包括RDKC10R所进行的JOB排他锁定在内的、从主计算机180向PVOL写入的写入处理的顺序。以下主要说明与图15所示的顺序的不同点。
RDKC10R在从MDKC10M接收到写入指令(WR CMD)时,确保对被写入指令指定的区域的排他锁定(S207)。RDKC10R将数据转送的READY响应(XFR RD)返回至MDKC10M,从MDKC10M接收写入数据(WR DAT)。RDKC10R将接收到的写入数据写入SVOL内的地址区域(S203)。
RDKC10R在向SVOL内的地址区域的数据写入结束时,将写入结束响应(WR RSP)返回至MDKC10M。而且RDKC10R解除确保的排他锁定(S204)。
图26示出包含RDKC10R所进行的JOB排他锁定在内的、从主计算机180向SVOL写入的写入处理的顺序。以下主要说明与图16所示的顺序的不同点。
主计算机180向RDKC10R发行向虚拟卷内的区域的写入指令(WR CMD)。RDKC10R在与虚拟卷对应的SVOL中确保对写入指令所指定的区域的排他锁定(S257)。
对于此后的RDKC10R的执行步骤,直到向SVOL内的被指定的区域写入写入数据的步骤(S253)以前与图16所示的顺序图相同。RDKC10R在将写入结束响应(WR RSP)返回至主计算机180后,解除确保的排他锁定(S258)。接着,RDKC10R指定JOB,将排他锁定解除指令发送至MDKC10M。
图27示出与图25以及图26的顺序对应的、MDKC10M以及RDKC10R针对来自主计算机180的写入指令进行的处理的流程图。以下主要说明与图17所示的流程图的不同点。与图17的流程图的不同点在于通过RDKC10R进行排他锁定的确保(S321)和排他锁定的解除(S322)。
RDKC10R在向主计算机180返回READY响应前,在步骤S321中确保新JOB的排他锁定。确保排他锁定的方法与步骤S303中的MDKC10M的方法相同。排他类别为R/W排他。
RDKC10R在向主计算机180返回写入结束响应后,在步骤S322中,解除排他锁定。解除排他锁定的方法与步骤S311中的MDKC10M的方法相同。
图28示出与图25以及图26的顺序对应的、MDKC10M以及RDKC10R针对MDKC10M与RDKC10R之间的写入指令进行的处理的流程图。以下主要说明与图18所示的流程图的不同点。与图18的流程图的不同点在于通过RDKC10R进行排他锁定的确保(S371)和排他锁定的解除(S372)。
RDKC10R在向MDKC10M返回READY响应前,在步骤S371中,确保新JOB的排他锁定。确保排他锁定的方法与步骤S353中的MDKC10M的方法相同。排他类别为R/W排他。
RDKC10R在向MDKC10M返回写入结束响应后,在步骤S372中,解除排他锁定。解除排他锁定的方法与步骤S360中的MDKC10M的方法相同。RDKC10R可以在对来自主计算机180的读取指令的处理中也执行排他锁定。此时,RDKC10R的读取处理与伴随MDKC10M的排他锁定进行的读取处理相同。
这样通过RDKC在向SVOL的I/O访问中进行JOB排他控制,能够提高可靠性。
此外,本发明不限于上述的实施例,包括各种变形例。例如,上述的实施例是为了易于理解本发明而详细说明的,不必限于具有说明的所有结构。另外,能够将某个实施例的结构的一部分置换为其它实施例的结构,另外,还能够在某个实施例的结构中添加其它实施例的结构。另外,对于各实施例的结构的一部分能够追加、删除和置换其它结构。
另外,对于上述的各结构、功能和处理部等,例如可以通过集成电路进行设计等,以硬件方式实现它们的一部分或全部。另外,处理器解析实现各个功能的程序,通过执行程序,以软件的方式实现上述的各结构、功能等。实现各功能的程序、表、文件等信息能够存储在存储器、硬盘、SSD(Solid State Drive:固态硬盘)等存储装置,或IC卡、SD卡等存储介质中。
此外,在本实施例中,存储装置使存储装置以及卷虚拟化,但是也可以通过虚拟化专用装置或主机的路径管理器侧的功能,使存储装置以及卷虚拟化。本实施例能够适用于具有构成冗余化(HA)结构的Active-Active型的多个卷的多个存储装置。

Claims (14)

1.一种存储系统,具有:
第一存储装置,其包括第一逻辑卷并与主计算机连接;以及
第二存储装置,其包括第二逻辑卷,并与所述主计算机和所述第一存储装置连接,
所述存储系统的特征在于,
所述第一逻辑卷和所述第二逻辑卷作为所述第一逻辑卷中的数据被复制到所述第二逻辑卷中的高可用性对即HA对而被操作,对所述第一存储装置和所述第二存储装置两者关联有虚拟存储识别符,对所述第一逻辑卷和所述第二逻辑卷两者关联有虚拟卷识别符,使得所述第一存储装置或所述第二存储装置能够接收对通过所述虚拟存储识别符和所述虚拟卷识别符识别出的虚拟卷的访问请求,
其中,在所述第一存储装置或所述第二存储装置从所述主计算机接收到对所述虚拟卷的写入请求时,所述存储系统被配置成:
在所述虚拟卷的用于写入数据的所述HA对的所述第一逻辑卷中锁定与所述写入请求相关的存储区域;
以所述第一逻辑卷然后所述第二逻辑卷的顺序将数据双重写入到所述HA对中;并且
在将数据写入到所述第一逻辑卷和所述第二逻辑卷两者中后释放所述第一逻辑卷的所述存储区域的锁定,
其中,在所述第一存储装置从所述主计算机接收到对所述虚拟卷的读取请求时,所述第一存储装置被配置成:
确定与所述读取请求相关的所述第一逻辑卷的第一存储区域是否被锁定;
在所述第一存储区域被锁定时,等待所述第一存储区域的锁定的释放,然后从所述第一逻辑卷的所述第一存储区域读取与所述读取请求相关的数据,并向所述主计算机返回响应;并且
在所述第一存储区域没有被锁定时,从所述第一逻辑卷的所述第一存储区域读取与所述读取请求相关的数据,并向所述主计算机返回响应;并且
其中,在所述第二存储装置从所述主计算机接收到对所述虚拟卷的读取请求时,所述第二存储装置被配置成:
不用确定与所述读取请求相关的所述第二逻辑卷的第二存储区域是否被锁定,而从所述第二存储区域读取与所述读取请求相关的数据,并向所述主计算机返回响应。
2.根据权利要求1所述的存储系统,其特征在于,
其中,在所述第二存储装置接收到对所述虚拟卷的所述写入请求时,所述第二存储装置被配置成:
将与所述写入请求相关的数据发送到所述第一存储装置,
所述第一存储装置被配置成:
锁定所述第一逻辑卷中的与所述写入请求相关的存储区域;
将数据写入到所述第一逻辑卷中;并且
向所述第二存储装置返回结束响应,
所述第二存储装置被配置成:
在从所述第一存储装置接收到结束响应后,将数据写入到所述第二逻辑卷中;并且
向所述第一存储装置返回锁定解除指令,并向所述主计算机返回响应,并且
所述第一存储装置被配置成:
在从所述第二存储装置接收到所述锁定解除指令后,释放所述第一逻辑卷的存储区域的锁定。
3.根据权利要求2所述的存储系统,其特征在于,
其中,所述第二存储装置具有缓冲存储器,并且
其中,所述第二存储装置被配置成:
在所述第二存储装置接收到对所述虚拟卷的所述写入请求时,将与所述写入请求相关的写入数据存储到所述缓冲存储器中;并且
在从所述第一存储装置接收到结束响应后,将数据从所述缓冲存储器写入到所述第二逻辑卷。
4.根据权利要求1所述的存储系统,其特征在于,
其中,在所述第一存储装置接收到对所述虚拟卷的所述写入请求时,所述第一存储装置被配置成:
锁定所述第一逻辑卷中的与所述写入请求相关的存储区域;
将与所述写入请求相关的数据写入到所述第一逻辑卷中;并且
将与所述写入请求相关的数据发送到所述第二存储装置,
所述第二存储装置被配置成:
将数据写入到所述第二逻辑卷中;并且
向所述第一存储装置返回响应,并且
所述第一存储装置被配置成:
在从所述第二存储装置接收到响应后,向所述主计算机返回响应;并且
释放所述第一逻辑卷的存储区域的锁定。
5.根据权利要求1所述的存储系统,其特征在于,
其中,当在所述第一存储装置中发生故障时,所述第二存储装置被配置成:
基于存储在所述第二逻辑卷中的数据,向所述虚拟卷返回与所述访问请求相关的响应。
6.根据权利要求1所述的存储系统,其特征在于,
其中,当在所述第二逻辑卷中发生故障时,所述第二存储装置被配置成:
在所述第二存储装置从所述主计算机接收到对所述虚拟卷的所述读取请求时,从所述第一存储装置读取数据;并且
向所述主计算机返回响应。
7.根据权利要求1所述的存储系统,其特征在于,
其中,所述第一存储装置具有第一处理器、第二处理器、以及能够从所述第一处理器和所述第二处理器两者访问的共用存储器,
其中,所述共用存储器具有管理信息,所述管理信息将所述写入数据尚未被写入到所述第二逻辑卷的相应存储区域的所述第一逻辑卷的存储区域作为双重写入中的存储区域进行管理,
其中,当在进行对所述第一逻辑卷的访问的所述第一处理器中发生故障时,所述第二处理器被配置成:
参考所述管理信息;
找到所述第一逻辑卷的存储区域中的处于双重写入中的存储区域;
将存储在所述第一逻辑卷的双重写入中的存储区域中的数据发送到所述第二存储装置;
从所述第二存储装置接收将存储在所述第一逻辑卷的所述双重写入中的存储区域中的数据向所述第二逻辑卷写入的结束响应;并且
基于来自所述主计算机的请求执行向所述第一逻辑卷的访问处理。
8.一种用于控制存储系统的方法,所述存储系统具有:
第一存储装置,其包括第一逻辑卷并与主计算机连接;以及
第二存储装置,其包括第二逻辑卷,并与所述主计算机和所述第一存储装置连接,所述方法的特征在于,包括:
当所述第一逻辑卷和所述第二逻辑卷作为所述第一逻辑卷中的数据被复制到所述第二逻辑卷中的高可用性对即HA对而操作时,对所述第一存储装置和所述第二存储装置两者关联虚拟存储识别符,并对所述第一逻辑卷和所述第二逻辑卷两者关联虚拟卷识别符,使得所述第一存储装置或所述第二存储装置能够接收对通过所述虚拟存储识别符和所述虚拟卷识别符识别出的虚拟卷的访问请求;
在所述第一存储装置或所述第二存储装置从所述主计算机接收到对所述虚拟卷的写入请求时:
在所述虚拟卷中的用于写入数据的所述HA对的所述第一逻辑卷中锁定与所述写入请求相关的存储区域;
以所述第一逻辑卷然后所述第二逻辑卷的顺序将数据双重写入到所述HA对中;并且
在将数据写入到所述第一逻辑卷和所述第二逻辑卷两者中后释放所述第一逻辑卷的所述存储区域的锁定;
在所述第一存储装置从所述主计算机接收到对所述虚拟卷的读取请求时:
确定与所述读取请求相关的第一存储区域是否被锁定;
在所述第一存储区域被锁定时,等待所述第一存储区域的锁定的释放;
从所述第一逻辑卷的所述第一存储区域读取与所述读取请求相关的数据;并且
向所述主计算机返回响应;并且
在所述第二存储装置从所述主计算机接收到对所述虚拟卷的读取请求时,所述方法还包括:
不用确定与所述读取请求相关的所述第二逻辑卷的第二存储区域是否被锁定,而从所述第二存储区域读取与所述读取请求相关的数据,并且
向所述主计算机返回响应。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
在所述第二存储装置接收到对所述虚拟卷的所述写入请求时:
将与所述写入请求相关的数据发送到所述第一存储装置;
锁定所述第一逻辑卷中的与所述写入请求相关的存储区域;
将数据写入到所述第一逻辑卷中;
向所述第二存储装置返回结束响应;
在从所述第一存储装置接收到结束响应后,将数据写入到所述第二逻辑卷中;
向所述第一存储装置返回锁定解除指令;
在从所述第二存储装置接收到响应后,向所述主计算机返回响应;并且
当在所述第一存储装置处接收到所述锁定解除指令后,释放所述第一逻辑卷的存储区域的锁定。
10.根据权利要求9所述的方法,其特征在于,
其中,所述第二存储装置具有缓冲存储器,并且
所述方法还包括:
在所述第二存储装置接收到对所述虚拟卷的所述写入请求时,将与所述写入请求相关的写入数据存储到所述缓冲存储器中;并且
在从所述第一存储装置接收到结束响应后,将数据从所述缓冲存储器写入到所述第二逻辑卷。
11.根据权利要求8所述的方法,其特征在于,所述方法还包括:
在所述第一存储装置接收到对所述虚拟卷的所述写入请求时:
锁定所述第一逻辑卷中的与所述写入请求相关的存储区域;
将与所述写入请求相关的数据写入到所述第一逻辑卷中;
将与所述写入请求相关的数据发送到所述第二存储装置;
将数据写入到所述第二逻辑卷中;
向所述第一存储装置返回响应;
当在所述第一存储装置处接收到响应后,向所述主计算机返回响应;并且
释放所述第一逻辑卷的存储区域的锁定。
12.根据权利要求8所述的方法,其特征在于,所述方法还包括:
当在所述第一存储装置中发生故障时,基于存储在所述第二逻辑卷中的数据,向所述虚拟卷返回与所述访问请求相关的响应。
13.根据权利要求8所述的方法,其特征在于,所述方法还包括:
当在所述第二逻辑卷中发生故障时:
在所述第二存储装置从所述主计算机接收到对所述虚拟卷的所述读取请求时,从所述第一存储装置读取数据;并且
向所述主计算机返回响应。
14.根据权利要求8所述的方法,其特征在于,
其中,所述第一存储装置具有第一处理器、第二处理器、以及能够从所述第一处理器和所述第二处理器两者访问的共用存储器,
其中,所述共用存储器具有管理信息,所述管理信息管理将所述写入数据尚未写入到所述第二逻辑卷的相应存储区域的所述第一逻辑卷的存储区域作为双重写入中的存储区域进行管理,
所述方法还包括:
当在进行对所述第一逻辑卷的访问的所述第一处理器中发生故障时:
参考所述管理信息;
找到所述第一逻辑卷的存储区域中的处于双重写入中的存储区域;
将存储在所述第一逻辑卷的双重写入中的存储区域中的数据发送到所述第二存储装置;
从所述第二存储装置接收将存储在所述第一逻辑卷的所述双重写入中的存储区域中的数据向所述第二逻辑卷写入的结束响应;并且
基于来自所述主计算机的请求执行向所述第一逻辑卷的访问处理。
CN201480077291.2A 2014-04-21 2014-04-21 存储系统 Active CN106133676B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/061151 WO2015162663A1 (ja) 2014-04-21 2014-04-21 ストレージシステム

Publications (2)

Publication Number Publication Date
CN106133676A CN106133676A (zh) 2016-11-16
CN106133676B true CN106133676B (zh) 2019-05-17

Family

ID=52133612

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480077291.2A Active CN106133676B (zh) 2014-04-21 2014-04-21 存储系统

Country Status (6)

Country Link
US (2) US8943286B1 (zh)
JP (1) JP5620614B1 (zh)
CN (1) CN106133676B (zh)
DE (1) DE112014006605B4 (zh)
GB (1) GB2539829B (zh)
WO (1) WO2015162663A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105512052B (zh) * 2014-10-20 2019-01-01 伊姆西公司 用于处理输入输出操作请求的方法和装置
JP6271769B2 (ja) * 2015-01-21 2018-01-31 株式会社日立製作所 計算機システム、計算機システムにおけるデータの移行方法
JPWO2016121005A1 (ja) * 2015-01-27 2017-09-21 株式会社日立製作所 管理計算機および計算機システムの管理方法
WO2016121118A1 (ja) * 2015-01-30 2016-08-04 株式会社日立製作所 性能分析装置及び方法並びに記憶媒体
CN105988724B (zh) * 2015-02-12 2019-02-26 华为技术有限公司 多副本写入存储设备的方法及存储设备
WO2016162916A1 (ja) 2015-04-06 2016-10-13 株式会社日立製作所 管理計算機およびリソース管理方法
KR101903536B1 (ko) * 2015-12-31 2018-10-02 후아웨이 테크놀러지 컴퍼니 리미티드 데이터 기입 방법, 장치, 및 시스템
JP6315000B2 (ja) * 2016-02-01 2018-04-25 日本電気株式会社 ストレージ管理システムおよびストレージ管理方法
CN107526537B (zh) * 2016-06-22 2020-03-20 伊姆西Ip控股有限责任公司 用于锁定存储系统中的存储区域的方法和系统
JP6695000B2 (ja) 2017-01-25 2020-05-20 株式会社日立製作所 低コストハードウェアを使用して記憶装置の待ち時間を改善する方法
JP6835949B2 (ja) * 2017-02-28 2021-02-24 株式会社日立製作所 情報システム、管理プログラム及び情報システムのプログラム交換方法
CN107329698B (zh) * 2017-06-29 2020-08-11 杭州宏杉科技股份有限公司 一种数据保护方法及存储设备
JP6643524B2 (ja) * 2017-06-30 2020-02-12 株式会社日立製作所 ストレージシステム及び記憶制御方法
US11144251B2 (en) * 2018-10-17 2021-10-12 International Business Machines Corporation Providing a global unique identifier for a storage volume
US11307944B2 (en) 2020-06-04 2022-04-19 Hitachi, Ltd. Automated failover for asynchronous remote copy
CN112860480B (zh) * 2020-09-11 2022-09-09 华为技术有限公司 一种双活存储系统及其处理数据的方法
US11416160B1 (en) 2021-02-25 2022-08-16 Hitachi, Ltd. Volume operation propagation for synchronous remote copy
US11579780B1 (en) 2021-08-27 2023-02-14 Hitachi, Ltd. Volume remote copy based on application priority

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102129355A (zh) * 2007-04-23 2011-07-20 株式会社日立制作所 存储系统
CN102859499A (zh) * 2010-04-30 2013-01-02 株式会社日立制作所 计算机系统及其存储控制方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5459857A (en) * 1992-05-15 1995-10-17 Storage Technology Corporation Fault tolerant disk array data storage subsystem
JPH10269030A (ja) 1997-03-25 1998-10-09 Hitachi Ltd 遠隔ファイル共用システムおよびその制御方法
JPH10320352A (ja) 1997-05-21 1998-12-04 Nec Gumma Ltd バスマスタ転送システム
US20090259817A1 (en) * 2001-12-26 2009-10-15 Cisco Technology, Inc. Mirror Consistency Checking Techniques For Storage Area Networks And Network Based Virtualization
JP2003241905A (ja) 2002-02-15 2003-08-29 Hitachi Ltd 記憶装置、データ記憶方法及び制御装置
JP2005196490A (ja) * 2004-01-07 2005-07-21 Hitachi Ltd データ多重化のためのシステム及び方法
JP4738941B2 (ja) * 2005-08-25 2011-08-03 株式会社日立製作所 ストレージシステム及びストレージシステムの管理方法
JP2007066154A (ja) 2005-09-01 2007-03-15 Hitachi Ltd データをコピーして複数の記憶装置に格納するストレージシステム
JP2007328611A (ja) * 2006-06-08 2007-12-20 Hitachi Ltd ストレージ仮想化システム及び方法
JP5217513B2 (ja) 2008-03-04 2013-06-19 株式会社リコー 情報解析処理方法、情報解析処理プログラム、情報解析処理装置、情報登録処理方法、情報登録処理プログラム、情報登録処理装置、情報登録解析処理方法、および情報登録解析処理プログラム。
JP2009211401A (ja) 2008-03-04 2009-09-17 Hitachi Ltd ストレージ装置及びその制御方法
US8335899B1 (en) * 2008-03-31 2012-12-18 Emc Corporation Active/active remote synchronous mirroring
JP5072692B2 (ja) 2008-04-07 2012-11-14 株式会社日立製作所 複数のストレージシステムモジュールを備えたストレージシステム
JP5222617B2 (ja) 2008-04-28 2013-06-26 株式会社日立製作所 情報システム及びi/o処理方法
JP4584328B2 (ja) * 2008-09-18 2010-11-17 株式会社日立製作所 記憶管理方法及び計算機システム
US8635420B2 (en) * 2010-07-22 2014-01-21 Susan Elkington Resilient mirroring utilizing peer-to-peer storage
US8521974B2 (en) * 2010-11-23 2013-08-27 International Business Machines Corporation Migration of data in a distributed environment
US8566635B2 (en) * 2011-01-21 2013-10-22 Lsi Corporation Methods and systems for improved storage replication management and service continuance in a computing enterprise
US8782358B2 (en) * 2011-04-27 2014-07-15 International Business Machines Corporation Transparent input / output switching between synchronously mirrored storage volumes
US9021223B2 (en) * 2011-07-22 2015-04-28 Xiotech Corporation Resilient mirroring
US8949562B2 (en) * 2012-10-15 2015-02-03 Hitachi, Ltd. Storage system and method of controlling storage system
US9280396B2 (en) * 2012-11-01 2016-03-08 Netapp, Inc. Lock state synchronization for non-disruptive persistent operation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102129355A (zh) * 2007-04-23 2011-07-20 株式会社日立制作所 存储系统
CN102859499A (zh) * 2010-04-30 2013-01-02 株式会社日立制作所 计算机系统及其存储控制方法

Also Published As

Publication number Publication date
CN106133676A (zh) 2016-11-16
DE112014006605T5 (de) 2017-01-05
JP5620614B1 (ja) 2014-11-05
JPWO2015162663A1 (ja) 2017-04-13
US8943286B1 (en) 2015-01-27
GB201614731D0 (en) 2016-10-12
DE112014006605B4 (de) 2023-02-16
US20150012704A1 (en) 2015-01-08
WO2015162663A1 (ja) 2015-10-29
US9632701B2 (en) 2017-04-25
GB2539829B (en) 2021-05-05
GB2539829A (en) 2016-12-28

Similar Documents

Publication Publication Date Title
CN106133676B (zh) 存储系统
US10691187B2 (en) Persistent reservations for virtual disk using multiple targets
CN101799742B (zh) 用于在存储系统之间转移精简配置卷的方法和装置
JP4818395B2 (ja) ストレージ装置及びデータコピー方法
CN103793271B (zh) 用于在镜像卷之间进行切换的方法和系统
US20070168634A1 (en) Storage system and storage control method
JP4576398B2 (ja) マルチパーティションコンピュータシステムのi/oデバイスを制御するためのシステム
US8046552B2 (en) Tracking metadata changes during data copy in a storage system
KR20200017363A (ko) 호스트 스토리지 서비스들을 제공하기 위한 NVMe 프로토콜에 근거하는 하나 이상의 호스트들과 솔리드 스테이트 드라이브(SSD)들 간의 관리되는 스위칭
TW201028852A (en) Storage subsystem and storage system architecture performing storage virtualization and method thereof
CN106104502B (zh) 用于存储系统事务的系统、方法和介质
US7930496B2 (en) Processing a read request to a logical volume while relocating a logical volume from a first storage location to a second storage location using a copy relationship
TWI522816B (zh) 應用伺服器至非依電性隨機存取記憶體之路徑選取技術
JP2004199420A (ja) 計算機システム、磁気ディスク装置、および、ディスクキャッシュ制御方法
US10191685B2 (en) Storage system, storage device, and data transfer method
CN101571815A (zh) 信息系统及i/o处理方法
JP2007115019A (ja) ストレージのアクセス負荷を分散する計算機システム及びその制御方法
JP2007286946A (ja) 計算機システム、アクセス制御方法及び管理計算機
JP2021128802A (ja) 情報処理システム、ストレージシステム及びデータ転送方法
US10152270B2 (en) Storage system
JP7012010B2 (ja) 情報処理システム、及び、情報処理システムの制御方法
WO2015198390A1 (ja) ストレージシステム
US20100082934A1 (en) Computer system and storage system
WO2018055686A1 (ja) 情報処理システム
US10437471B2 (en) Method and system for allocating and managing storage in a raid storage system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant