CN101174197B - 信息系统及信息系统的数据转发方法 - Google Patents

信息系统及信息系统的数据转发方法 Download PDF

Info

Publication number
CN101174197B
CN101174197B CN 200710166833 CN200710166833A CN101174197B CN 101174197 B CN101174197 B CN 101174197B CN 200710166833 CN200710166833 CN 200710166833 CN 200710166833 A CN200710166833 A CN 200710166833A CN 101174197 B CN101174197 B CN 101174197B
Authority
CN
China
Prior art keywords
memory storage
volume
data
virtual
request
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
CN 200710166833
Other languages
English (en)
Other versions
CN101174197A (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 CN101174197A publication Critical patent/CN101174197A/zh
Application granted granted Critical
Publication of CN101174197B publication Critical patent/CN101174197B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/2089Redundant storage control functionality
    • G06F11/2092Techniques of failing over between control units
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/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/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/2069Management of state, configuration or failover
    • 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/2074Asynchronous techniques
    • 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/2082Data synchronisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明提供一种信息系统及信息系统的数据转发方法。本发明可提高包括存储装置和主计算机的信息系统的可用性。主计算机与具有保存数据的第一卷的第一存储装置连接,第二存储装置具有保存从第一存储装置发送的所述数据的第二卷。在第一存储装置发生故障的情况下,主计算机将发送给第一存储装置的数据发送给第二存储装置。

Description

信息系统及信息系统的数据转发方法
技术领域
本发明涉及具有多个存储区域的存储系统和与存储系统连接的主计算机。
背景技术
一般在信息系统中,作为存储设备设有使用HDD(硬盘驱动器)的存储装置,包括该存储装置的存储系统经由存储区域网络(SAN:StoRAgeArea Network)从多个上位装置(例如主机)进行访问。一般在存储装置中,通过采用按照RAID(Redundant Attay of Independent(or Inexpensive)Disks:独立磁盘冗余阵列)技术的高可靠化方法,来提供可靠性超越了HDD单体的可靠性的存储装置。但是,随着近年来的信息化社会的进步,依赖于上述RAID的可靠性的信息系统的可用性(服务持续性)方面出现不足。
作为对应这种状况的高可用化技术,有专利文献1所公开的技术。在该技术中,准备分别具有主计算机(以后简称为主机)和存储装置生产站(production site)和备份站(backup site),将生产站的存储装置所保存的数据镜像到备份站的存储装置中。如果生产站的存储装置发生了故障,则使用备份站的存储装置和主机再次开始因装置停止而停止了的应用程序处理。本技术一般称作远程复制(Remote Copy)或者远程镜像(Remote Mirror)。
专利文献1:日本特开平7-244597号
专利文献2:美国专利7,080,197号
发明内容
在专利文献1的技术中,存储装置的故障停止的结果为,用不同的主机再次开始应用程序,因此,需要进行应用程序的再次起动处理。当然,从应用程序停止到再次起动完毕应用程序无法正常动作,因此可用性方面存在问题。本发明的目的在于提高信息系统的可用性,该信息系统包括:在两台以上的存储装置之间进行远程复制的存储系统和利用该存储系统的主机。
根据本发明的一个方面,提供一种信息系统的数据转发方法,该信息系统具有:主计算机,其具有操作系统和应用程序,所述操作系统具有文件系统和HBA设备驱动程序,所述应用程序通过所述文件系统发送写入请求;第一存储装置,其与所述主计算机连接,并具有第一卷;以及第二存储装置,其与所述第一存储装置和所述主计算机连接,并具有第二卷,其特征在于,所述第一存储装置和所述第二存储装置设定将所述第一卷的数据复制到所述第二卷的远程复制,关于所述主计算机,在所述文件系统进行写入请求处理时,根据与所述远程复制相关的信息,对与所述远程复制相关的信息进行管理的I/O路径管理程序将通过了所述文件系统的来自所述应用程序的写入请求,通过HBA设备管理程序发送到所述第一卷所在的所述第一存储装置,在所述第一存储装置故障的情况下,所述I/O路径管理程序更新与所述远程复制相关的信息,将所述写入请求发送给所述第二卷所在的所述第二存储装置,其中所述操作系统还具有与所述第一存储装置连接的第三存储装置,该第三存储装置与所述第一存储装置和所述第二存储装置连接,由多个HDD、控制器和高速缓冲存储器构成,并且具有由所述多个HDD的一部分区域构成的卷,所述第一存储装置在所述第三存储装置的所述卷中定义实体存在的第一虚拟卷,所述第二存储装置在所述第三存储装置的所述卷中定义实体存在的第二虚拟卷。
根据本发明的另一个方面,提供一种信息系统,其特征在于,包括:第一存储装置,其与主计算机连接,并设有保存从所述主计算机发送的数据的第一卷;第二存储装置,其与所述主计算机和所述第一存储装置连接,并设有保存从所述第一存储装置发送的所述数据的第二卷,在所述第一存储装置发生了故障的情况下,所述主计算机将对所述第一存储装置发送的数据发送给所述第二存储装置;和第三存储装置,该第三存储装置与所述第一存储装置和所述第二存储装置连接,具有多个HDD、控制器和高速缓冲存储器,并且具有由所述多个HDD的一部分区域构成的第三卷,所述第一存储装置在所述第三卷中定义实体存在的第一虚拟卷,所述第二存储装置在所述第三卷中定义实体存在的第二虚拟卷。
根据本发明的另一个方面,提供一种信息系统,其特征在于,包括:第一存储装置,其与主计算机连接,并设有保存从所述主计算机发送的数据的第一卷;第二存储装置,其与所述主计算机和所述第一存储装置连接,并设有保存从所述第一存储装置发送的所述数据的第二卷,在所述第一存储装置发生了故障的情况下,所述主计算机将对所述第一存储装置发送的数据发送给所述第二存储装置;第三存储装置,其与所述第一存储装置连接,具有多个HDD、控制器和高速缓冲存储器,并具有由所述多个HDD的一部分区域构成的第三卷;和第四存储装置,其与所述第二存储装置连接,具有多个HDD、控制器和高速缓冲存储器,并具有由所述多个HDD的一部分区域构成的第四卷,所述第一存储装置在所述第三卷中定义实体存在的第一虚拟卷,并在收到了针对所述第一虚拟卷的数据的写入请求的情况下,向所述第三卷转发所述数据,所述第二存储装置在所述第四卷中定义实体存在的第二虚拟卷,并在收到了针对所述第二虚拟卷的数据的写入请求的情况下,向所述第四卷转发所述数据。
根据本发明的另一个方面,提供一种信息系统,其特征在于,包括:第一存储装置,其与主计算机连接,并具有保存从所述主机算计发送的数据的第一卷;第二存储装置,其与所述主机算计和所述第一存储装置连接,并具有保存从所述第一存储装置发送的所述数据的第二卷,在所述第一存储装置和所述第二存储装置之间的通信发生了故障的情况下,所述第一存储装置向所述主计算机通知所述通信故障,所述主计算机向所述第一存储装置和所述第二存储装置发行写入请求;和第三存储装置,该第三存储装置与所述第一存储装置和所述第二存储装置连接,具有多个HDD、控制器和高速缓冲存储器,并且具有由所述多个HDD的一部分区域构成的第三卷,所述第一存储装置在所述第三卷中定义实体存在的第一虚拟卷,所述第二存储装置在所述第三卷中定义实体存在的第二虚拟卷。
根据本发明的另一个方面,提供一种信息系统,其具有:作为上位装置的主计算机;与所述主计算机连接并具有第一卷的第一存储装置;以及与所述第一存储装置和所述主计算机连接并具有第二卷的第二存储装置,所述第一和第二卷是根据来自所述主计算机的写入请求而动态地分配存储区域的池卷,所述第一存储装置和所述第二存储装置执行将所述第一卷的数据复制到所述第二卷的远程复制,所述主计算机向所述第一卷所在的所述第一存储装置发送写入请求,在所述第一存储装置发生故障的情况下,所述主计算机将所述写入请求发送给所述第二卷所在的所述第二存储装置,其中所述信息系统还具有第三存储装置,其安装有多个HDD,并且提供由所述多个HDD的一部分区域构成的第三卷,所述第一和/或第二存储装置将所述第三存储装置提供的所述第三卷虚拟化,作为所述第一或第二卷提供给所述主计算机,对从所述主计算机给予的针对该第一或第二卷的写入数据进行高速缓冲存储,并将高速缓冲存储后的所述写入数据降级到所述第三卷中。
根据本发明的另一个方面,提供一种信息系统的数据转发方法,所述信息系统具有:作为上位装置的主计算机;与所述主计算机连接并且具有第一卷的第一存储装置;以及与所述第一存储装置和所述主计算机连接并具有第二卷的第二存储装置,其特征在于,所述第一和第二卷是根据来自所述主计算机的写入请求而动态地分配存储区域的池卷,所述第一存储装置和所述第二存储装置执行将所述第一卷的数据复制到所述第二卷中的远程复制,所述主计算机向所述第一卷所在的所述第一存储装置发送写入请求,在所述第一存储装置发生了故障的情况下,所述主计算机将所述写入请求发送到所述第二卷所在的所述第二存储装置中,其中所述信息系统还具有第三存储装置,其安装有多个HDD,并且提供由所述多个HDD的一部分区域构成的第三卷,所述第一和/或第二存储装置将所述第三存储装置提供的所述第三卷虚拟化,作为所述第一或第二卷提供给所述主计算机,对从所述主计算机给予的针对该第一或第二卷的写入数据进行高速缓冲存储,并将高速缓冲存储后的所述写入数据降级到所述第三卷中。
根据本发明,能够提高信息系统的可用性,该信息系统包括在两台以上的存储装置之间进行远程复制的存储系统和利用该存储系统的主机。
附图说明
图1是表示第一实施方式的信息系统的硬件结构的一例的方框图。
图2是表示第一实施方式的概况的第一概念图。
图3是表示第一实施方式的概况的第二概念图。
图4是表示第一实施方式的概况的第三概念图。
图5是表示主机上的软件结构的概念图。
图6是表示虚拟化存储装置和存储装置上的软件结构的方框图。
图7是表示远程复制的对状态和对状态的迁移的概念图。
图8是表示I/O路径管理程序管理的设备关系图表的概念图。
图9是表示I/O路径管理程序进行初始化处理时的流程的流程图。
图10是表示I/O路径管理程序进行写入处理时的流程的流程图。
图11是表示I/O路径管理程序进行读出处理时的流程的流程图。
图12是表示第二实施方式的概况的概念图。
图13是表示第三实施方式的概况的概念图。
图14是表示第四实施方式的概况的概念图。
图15是表示第五实施方式的概况的概念图。
图16是表示第六实施方式的概况的概念图。
图17是表示第七实施方式的概况的概念图。
图18是表示第八实施方式的概况的概念图。
图19是表示第九实施方式的概况的概念图。
图20是表示第十实施方式的概况的概念图。
图21是表示第十一实施方式的概况的概念图。
图22是表示第十二实施方式的概况的概念图。
图23是表示第十三实施方式的概况的概念图。
图24是表示第十四实施方式的概况的概念图。
图25是表示I/O路径管理程序进行写入处理时的其它流程的流程图。
图26是表示I/O路径管理程序进行读出处理时的其它流程的流程图。
图27是表示在I/O路径管理程序进行图25所示的写入处理时,与利用存储装置进行的写入请求对应的对操作的流程图。
图28是表示第十五实施方式的概况的概念图。
图29是表示第十六实施方式的概况的概念图。
图30是表示第十六实施方式的概况的概念图。
图31是表示本实施方式中的虚拟化存储装置和存储装置上的软件结构的方框图。
图32是表示虚拟化存储装置进行写入处理时的流程的流程图。
图33是表示虚拟化存储装置进行读出处理时的流程的流程图。
图34是表示面向AOU进行升级处理的流程的流程图。
图35是用于说明AOU地址变换信息的具体内容的概念图。
图36是用于说明AOU池管理信息的具体内容的概念图。
标号说明
1000、1000L、1000R:虚拟化存储装置;1010:控制器;1011、1101:处理器;1020、1020L、1020R:高速缓冲存储器;1030:HDD;1100、13010、14000:主机;1500、1500L、1500R、15000、15000L、15000R:存储装置;2800L、2800R:虚拟化交换器;3500LB、3500RB、5040、5050:卷;2010、14002:应用程序;5000:I/O路径管理程序;5010:HBA设备驱动程序;5020:文件系统;13001、13002:存储子系统;15002A、15002B:命令设备;15010A、15010B:差分位图;16000:外部存储装置。
具体实施方式
下面参照附图对本发明的实施方式进行说明。
(1)第一实施方式
<1.信息系统的结构>
图1是表示本发明的一个实施方式的信息系统的硬件结构的一例的图。
信息系统例如包括:存储装置1500、主计算机(以下简称为主机)1100、管理主机1200、两台以上的虚拟化存储装置1000。存储装置1500、主计算机(以下简称为主机)1100、管理主机1200的数量分别可以为一个以上。虚拟化存储装置1000和主机1100通过I/O网络1300相互连接。虚拟化存储装置1000和存储装置1500以及管理主机1200通过管理网络(未图示)或者I/O网络1300相互连接。
在主机1100中具有主机内部网络1104,在其网络1104上连接有处理器(在图中简记为Proc)1101、存储器(在图中简记为Mem)1102、I/O端口(在图中简记为I/O P)1103。管理主机1200也可以具有与主机1100相同的硬件结构。另外,有时称将I/O端口追加到主机1100上的扩充卡为HBA(Host Bas Adapter:主机总线适配器)。
管理主机1200具有显示装置,在该显示装置上可以显示虚拟化存储装置1000和存储装置1500的管理用的画面。另外,管理主机1200能够从用户(例如管理主机1200的操作者)接收管理操作请求,并将所收到的管理操作请求发送给虚拟化存储装置1000和存储装置1500。管理操作请求是用于操作虚拟化存储装置1000或存储装置1500的请求,例如有奇偶校验群组(Parity Group)制作请求,内部LU(Logical Unite)制作请求,路径定义请求,以及与虚拟化功能相关的操作。
I/O网络1300第一考虑利用光纤通道进行连接,但除此之外,还可考虑FICON(FIbre CONnection:注册商标)或Ethernet(注册商标)和TCP/IP(Transmission Control Protocol/Internet Protocol)和iSCSI(internetSCSI(Small Computer System Interface))的组合、Ethernet(注册商标)和NFS(Network File System)或CIFS(Common Internet File System)等网络文件系统的组合等。另外,I/O网络1300只要是可转发I/O请求的通信装置,也可以是其它种类。此外,关于连接虚拟化存储装置1000和存储装置500的网络,也是与I/O网络1300一样。
虚拟化存储装置1000具有控制器(在图中标记为CTL)1010、高速缓冲存储器(Cache Memory,在图中标记为CM)1020、和多个HDD1030。作为理想的方式,考虑控制器1010和高速缓冲存储器1020分别由多个组成部分(Component)构成。之所以这样,是因为即使在组成部分单体发生故障而闭塞的情况下,也能够使用其余的组成部分来接管读出或写入所代表的I/O请求。
控制器1010是控制虚拟化存储装置1000的动作的装置(例如电路基板)。在控制器1010中连接有内部网络1017,在该内部网络1017上连接有I/O端口1013、高速缓冲存储端口(在图中标记为CP)1015,管理端口(在图中标记为MP)1016、后台端口(在图中标记为B/EP)1014、处理器(例如CPU(Central Processing Unit:中央处理器))1011以及存储器1012。控制器1010彼此和高速缓冲存储器1020通过存储内部网络1050相互连接。另外,控制器1010和各HDD1030通过多个后台网络1040相互连接。
存储装置1050的硬件结构由和虚拟化存储装置1000相同种类的部件构成。另外,在虚拟化存储装置1000为不具有HDD的虚拟化专用装置或者交换器(Switch)的情况下,存储装置1500可以不由与虚拟化存储装置1000相同种类的部件构成。另外,主机1100和虚拟化存储装置1000的内部网络优选是比I/O端口1013具有的转发频带更宽的频带,另外,也可以全部或者一部分用总线或交换器型的网络代替。另外,在图1中,I/O端口1013在控制器1010中只有一个,但是实际上,也可以是有多个I/O端口存在于控制器1010中。
根据上述的硬件结构,保存在虚拟化存储装置1000或存储装置1500的HDD中的全部或者一部分数据能够由主机1100读出或写入。另外,在下面的说明中,将负责数据保存的系统称为存储群集(StoRAgeCluster)。并且,在通过在存储群集内部包括两个该系统来实现高可用化的子系统中,将包括虚拟化存储装置1000和存储装置1500中的一方或者两方的子系统称为存储子系统。
<2.本实施方式的概况>
在本实施方式中,存储系统包括虚拟化存储装置1000,该虚拟化存储装置1000具有将其它存储装置内的卷等存储区域虚拟化的虚拟化功能,为了提高该存储系统的可用性,采用使用了另外一台虚拟化存储装置1000的双重结构。图2是表示其概况的图。
在本概况中,存储系统包括:虚拟化存储装置1000L、虚拟化存储装置1000R、存储装置1500L、和存储装置1500R。另外,在下文中,为了容易进行说明,使虚拟化存储装置1000L和存储装置1500L发挥正系统(生产系统)的作用,使虚拟化存储装置1000R和存储装置1500R发挥副系统(备份系统)的作用。但是,在各虚拟化存储装置1000L、1000R向主机1100提供的卷在两个以上的情况下,也可以确定卷为单位承担正系统的虚拟化存储装置1000L、1000R来代替以虚拟化存储装置为单位承担正系统和副系统。
各个虚拟化存储装置1000L、1000R将以本身所具有的HDD1030为结构要素的奇偶校验群组(利用RAID技术构成)的一部分或者全部区域作为卷3000LA和卷3000RA提供给主机1100(对应于在图中的圆柱内记为“A”的部分)。并且,虚拟化存储装置1000能够提供利用虚拟化功能而得的虚拟卷3000LB、3000RB(对应的HDD等非易失性存储区域存在于虚拟化存储装置1000L、1000R的外部的卷)作为选项。在本概况中,存储装置1500L、1500R提供的卷3500LB、3500RB的一部分或者全部作为对应的非易失性存储区域来使用。另外,在下面的说明中,写出了“卷的数据”的情况,除了在HDD1030中保存的数据之外,还包括高速缓冲存储器1020中临时保存的数据。另外,关于后述的“虚拟卷的数据”,除了存储装置1500L、1500R的卷3500LB、3500RB中保存的数据之外,包括在虚拟化存储装置1000L、1000R的高速缓冲存储器中临时保存的数据。
另一方面,在主机1100上,应用程序2010、OS、辅助OS的设定和处理的后台程序(Deamon)或管理程序所代表的系统程序进行运行。OS对应用程序2010提供针对在虚拟化存储装置1000L、1000R所提供的卷3000LA、3000LB、3000RA、3000RB内存在的数据的I/O请求用接口,并根据来自应用程序2010的请求,对适当的虚拟化存储装置1000L、1000R和卷3000LA、3000LB、3000RA、3000RB发送I/O请求。在通常状态下,主机1100对虚拟化存储装置1000L的卷3000LA、3000LB发行读出、写入所代表的I/O请求,进行数据的收发。即,在收到了读出请求时,虚拟化存储装置1000L,在请求对象的卷3000LA、3000LB、3500LB与虚拟化存储装置1000L内部的HDD1030对应的情况下,从该HDD1030读出数据,并将其返回给主机1100,或者通过对存储装置1500L发行读出请求,来获得必要的数据,并将给数据(的全部或者一部分)返回给主机1100。
在写入请求时,为了数据的冗余化,收到了写入数据的虚拟化存储装置1000L向作为副系统的虚拟化存储装置1000R发送写入数据,在虚拟化存储装置1000L从虚拟化存储装置1000R收到了写入数据的接收完成消息后,对主机1100返回写入完成消息。另外,对虚拟化存储装置1000L的写入数据、虚拟化存储装置1000R经由虚拟化存储装置1000L接收到的数据都可以临时保持在各虚拟化存储装置1000L、1000R内的高速缓冲存储器1020L、1020R内。另外,作为本实施方式之一,该写入数据的转发通过存储远程复制来进行。
图3表示在通常状态下在虚拟化存储装置1000L发生故障后的信息系统的处理概况。
在正系统的虚拟化存储装置1000L因故障而停止时,主机1100上的系统程序检测到该故障,将I/O请求的发行目的地从正系统的虚拟化存储装置1000L切换到副系统的虚拟户存储装置1000R。其中,在该情况下,应用程序2010不会识别出I/O请求的发行目的地已经切换而能够继续I/O。为此,通常时,作为从应用程序2010或文件系统有I/O请求时所指定的卷识别符,系统程序在OS层(更具体地说是文件系统的下位层)指定虚拟的卷识别符(或者设备文件),OS的下位层管理该识别符和实际分配给卷的识别符的对应。在切换I/O请求的发行目的地的情况下,通过将其对应关系从发给此前的虚拟化存储装置1000L的卷3000LA、卷3000LB切换为发给虚拟化存储装置1000R的卷3000RA和卷3000RB,来对应用程序2010透明地实现切换。
另外,虚拟化存储装置1000R也是能够根据来自主机1100的针对该卷3000RA、3000RB的写入请求的到达或其它明示的故障恢复(fail over)请求,来处理写入处理。作为该变更处理的一例,随着从虚拟化存储装置1000L到虚拟化存储装置1000R的数据复制,在设定了针对虚拟化存储装置1000R的卷3000RA、3000RB的、拒绝来自主机1100的写入请求的情况下,将其解除。另外,在使用远程复制进行写入数据的转发的情况下,可以考虑进行远程复制的复制状态的变更。
图4表示虚拟化存储装置1000L、1000R之间的网络发生故障后的信息系统的处理概况。
检测到了网络故障的虚拟化存储装置1000L向主机1100通知该故障。收到了故障通知的主机1100请求副系统的虚拟化存储装置1000R能够处理写入处理,以后的写入请求通过发行给正系统的虚拟化存储装置1000L和副系统的虚拟化存储装置1000R两者,来使正系统和副系统的数据相同。
<3.通过主机1100执行的程序和信息>
图5是除了在主机1100上执行的软件程序和该软件程序所使用的信息之外,还表示了各软件程序提供的概念(Concept)的图。另外,该软件程序通过存储器1102(图1)和处理器1101(图1)来进行保持和执行,但是也可以将其一部分硬件化来执行。
在主机1100上,除了应用程序2010和远程复制管理程序(RemoteCopy Manger)5030之外,作为OS或者Kernel内部的程序模块,还执行文件系统5020、I/O路径管理程序(Path Manger)5000以及HBA设备驱动程序5010(文件系统5020、I/O路径管理程序5000或者HBA设备驱动程序5010不需要使全部的处理都在Kernel内部执行)。
HBA设备驱动程序5010是通过安装在HBA上的I/O端口1103(图1)来收发I/O请求或与其相伴的数据,或者控制与其它虚拟化存储装置1000L、1000R或存储装置1500L、1500R等的通信的程序。HBA设备驱动程序5010还能够对上位层提供与虚拟化存储装置1000L、1000R提供的卷3000LA、3000LB、3000RA、3000RB对应的识别符,并接收伴有该识别符的I/O请求。卷5040表示其概念,并分别与虚拟化存储装置1000L、1000R所提供的卷3000LA、3000LB、3000RA、3000RB对应。
I/O路径管理程序5000是用于切换应用程序2010的I/O请求发送目的地的模块。该模块对文件系统5020提供与HBA设备驱动程序提供的对应于卷5040对应的识别符同种类的、对应于主机1100内的虚拟卷的识别符和I/O请求用接口。与该主机1100内的虚拟卷对应的识别符与在该模块内HBA设备驱动程序5010提供的对应于卷5040的识别符相对应,设备关系表5001保持该对应关系。卷5050表示该主机1010内的虚拟卷的概念,在本图中,作为其对应关系的一例,与虚拟化存储装置1000L的卷3000LA、3000LAb所对应的识别符相对应(换言之,可以说主机1100内的虚拟卷5050的实体是虚拟化存储装置1000L的卷3000LA、3000LB)。
在此前的层的I/O请求通常以固定长度块存取格式(fixed-lengthblock access format)指定。但是,在主机1100为主体(main frame)的情况下,并不限定于此,可以以CKD(Count Key Data)形式指定。
文件系统5020是这样的模块:通过HBA设备驱动程序5010所提供的卷5040对应的识别符和I/O接口,以及I/O管理程序5000所提供的主机1100内的虚拟卷5050对应的识别符和I/O接口,向虚拟化存储装置1000L、1000R发送I/O请求,或者进行数据的收发。在图5中,作为示例,在文件系统5020内部表示了目录树的结构,该树结构的一部分5052表示I/O路径管理程序5000保存在主机1100内的通过虚拟化而提供的卷5050中的状态(如此前所说明的那样,更准确地说,I/O路径管理程序5000的在主机1100内的虚拟卷5050的提供通过识别符来进行,而且,写为保存在该卷5050中的数据实际上保存于在设备关系表5001中表示的、虚拟化存储装置1000L、1000R所提供的卷3000LA、3000LB、3000RA、3000RB中)。文件系统5020对应用程序2010提供文件I/O的接口。通过I/O接口从应用程序2010调出的文件系统5020,参照目录文件或称为inode的文件系统5020内的结构化信息,将伴随文件名和文件内的数据偏移(data offset)的读出和写入请求,转换为块形式的读出和写入请求,将读出或写入请求交给I/O路径管理程序5000或者HBA设备驱动程序5010。
另外,在Unix系统或Windows(注册商标)系统的OS中,使用文件I/O的接口来提供称为设备文件系统的功能作为用于直接操作卷的数据的接口。通常,设备文件系统在文件空间的“/dev”目录下展开,该目录以下的文件(在图中的示例中为rsda等)的文件名与文件系统5020的下位层(HBA设备驱动程序5010或I/O路径管理程序5000)所提供的卷5040、5050对应。并且,该卷5040、5050中保存的数据能够以是保存在设备文件5070、5080中的数据的方式通过文件I/O用接口进行读出写入。另外,在图5中,作为示例,设备文件5070(rsda、rsdb、rsdc、rsdd)与HBA设备驱动程序5010所识别和提供的卷5040对应,设备文件5080(vsda、vsdb)与I/O路径管理程序所提供的卷5050对应。该设备文件5070、5080在应用程序2010为数据库的情况下,有时是为了实现独自的数据编辑或缓冲管理的目的而被使用。
远程复制管理程序5030是用于获取实现虚拟化存储装置1000L、1000R之间的数据转发的远程复制的状态,或者用于由主机1100或I/O路径管理程序5000进行远程复制的操作的程序,根据使用该程序的程序、用户或I/O路径管理程序5000的请求与虚拟化存储装置1000L、1000R进行通信。
另外,上述说明的HBA设备驱动程序5010或I/O路径管理程序5000优选的是其一部分或者全部的功能能够作为Kernel内部的模块进行安装或者卸载。之所以这样,是因为HBA设备驱动程序5020是控制HBA的程序,因此,多由HBA的制造公司来提供,同样地,可想到I/O路径管理程序5000以虚拟化装置1000L、1000R的处理为前提来确定处理,因此,其一部分或者全部的模块由虚拟化存储装置1000L、1000R的制造公司提供。因此,该程序通过能够安装和卸载,能够基于大范围的HBA和虚拟化存储装置1000L、1000R的组合来构成信息系统。另外,在本发明中,由于相对于应用程序2010透明地进行正系统和副系统的切换,通过在Kernel内部执行处理,能够进行不需要应用程序2010的重新编辑等的透明的切换。此外,I/O路径管理程序5000由于存在于文件系统5020和HBA设备驱动程序5010的中间层,因此不需要对文件系统5020的重新编辑等,并且确保了文件系统透明性。并且,I/O路径管理程序5000能够利用HBA设备驱动程序5010的功能。
另外,在位于Kernel内部的I/O路径管理程序5000调出远程复制管理程序5030的情况下,或作为其相反的通信方法,考虑有以下两种。
(A)
I/O路径管理程序5000制作通信用的虚拟的卷,文件系统5020将该通信用卷作为设备文件制作在文件空间中。远程复制管理程序5030定期地以对设备文件执行了读出系统调用(Read System Call)的状态进行等待。I/O路径管理程序5000接收来自远程复制管理程序5030的I/O请求,并在内部进行保留。并且,在该模块需要对远程复制管理程序5030发送消息时,将包括作为I/O请求的返回值而确定的消息在内的数据通过文件系统5020返回到远程复制管理程序5030。另外,此时远程复制管理程序发行的读出系统调用长时间在Kernel内部等待。在不希望该情况时,I/O路径管理程序5000在经过一定时间之后将意思没有任何消息的数据通过文件系统5020返回给远程复制管理程序5030,接收到了该数据的远程复制管理程序5030只要再次执行读出系统调用即可。
(B)使用Unix(注册商标)域套接口(domain socket)来作为虚拟的网络通信进行处理。具体地讲,由远程复制管理程序5030操作套接口的一端,由I/O路径管理程序5000操作其余端。
另外,在以后的说明中,在I/O管理程序5000进行远程复制的操作或状态参照的情况下,通过利用这样的通信调出远程复制管理程序5030,来进行操作。
<4.在虚拟存储装置1000中执行的程序和信息>
图6是表示虚拟化存储装置1000(1000L、1000R)和存储装置1500(1500L、1500R)中执行的程序,以及由该程序管理的信息的图。另外,该程序由存储器1012(图1)、处理器1011(图1)和高速缓冲存储器1020保持和执行,但是也可以使其一部分通过硬件化来执行。
<4.1.I/O处理程序6020、奇偶校验群组信息6060和卷信息6050>
在奇偶校验群组信息6060中包含对应每个奇偶校验群组的与以下结构相关联的信息。
(1)构成奇偶校验群组的HDD1030的识别符。在奇偶校验群组中由于参加有多个HDD1030,因此该信息对应每个奇偶校验群组而存在有多个。
(2)RAID等级
另外,在卷信息6050中包含对应每个卷的与以下结构相关联的信息。
(1)卷容量
(2)保存对应于卷的数据的奇偶校验群组的识别符和奇偶校验群组内的区域(开始地址和结束地址中的一方或者两方)。
I/O处理程序6020参照卷信息6050或奇偶校验群组信息6060执行与从主机1100接收到的I/O请求相关的以下处理。
(A)升级(staging):将保存在HDD1030中的数据复制到高速缓冲存储器1020中。
(B)降级(destaging):将保存在高速缓冲存储器1020中的数据复制到HDD1030中。另外,作为其前面的处理可以制作基于RAID技术的冗余数据。
(C)读出处理:针对从主机1100接收到的读出请求,判定与该请求对应的数据是否存在于高速缓冲存储器1020上。然后,在与该请求对应的数据不在高速缓冲存储器1020上时,执行升级处理,将该数据复制到高速缓冲存储器1020上,然后将该数据发送给主机1100、另外,在数据存在于高速缓冲存储器1020上时,将该数据发送给主机1100。
(D)写入处理:将从主机1100接收到的写入数据保存在高速缓冲存储器1020上。另外,在该处理时,当高速缓冲存储器1020上没有足够的空区域时,执行降级处理,将适当的数据复制到HDD1030上,然后沿用高速缓冲存储器1020上的该区域。此外,当在写入请求中包含已经保存在高速缓冲存储器1020上的区域时,有时也直接重写(overwrite)到现有的高速缓冲存储器1020上的区域中。
(E)高速缓冲存储算法:根据高速缓冲存储器1020上的数据的参照平度或参照时期等,利用LRU等算法,确定应升级的HDD1030上的数据或应降级的高速缓冲存储器1020上的数据。
<4.2.虚拟化程序6030和虚拟化信息6070>
在虚拟化信息6070中包含对应每个虚拟化卷的与以下结构相关联的信息。
(1)与将存储装置1500内的卷内的区域和该区域作为虚拟卷上的地址空间中的哪个区域提供给主机1100相关的以下信息。在虚拟卷由多个构成的情况下,下述信息也存在多个。
(1-1)构成虚拟卷的存储装置1500的识别符(或者端口的识别符)、卷的识别符、以及卷内的区域(开始地址和结束地址)
(1-2)虚拟卷中的区域(开始地址和结束地址)
(2)虚拟卷的容量
虚拟化程序6030是用于由虚拟化存储装置1000使用存储装置1500提供的卷向主机1100提供卷的程序。另外,作为虚拟化存储装置6030提供的虚拟卷和与其对应的存储装置1500上的卷的对应关系,存在以下模式。
(A)将存储装置1500上的卷整体作为虚拟卷的存储区域使用的情况。在该情况下,虚拟卷的容量与所选择的卷为大致相同的容量(将控制信息或冗余信息保存在存储装置1500上的卷中的情况。在没有该信息等的情况下,为相同容量)
(B)将存储装置1500上的卷的一部分区域作为与虚拟化卷对应的保存区域进行使用的情况。在该情况下,虚拟卷的容量与该利用对象的区域容量大致相同。
(C)将多个存储装置1500上的卷作为虚拟卷的存储区域结合进行使用的情况。在该情况下,虚拟卷的容量与个卷容量的总计值为大致相同容量。另外,作为该结合方式,有条带化(striping)、Concatenate(将多个卷连接起来作为一个卷进行处理的方法)等。
(D)伴随(C)的模式保存奇偶校验信息或镜像数据的情况。在该情况下,虚拟卷的容量为在保存镜像数据时为(C)的一半,在保存奇偶校验时则取决于奇偶校验计算方式。通过在存储装置1500内部与基于RAID的高可靠性进行组合,进一步提高关于保存在虚拟卷中的数据的可靠性。
另外,在任意的模式下,通过I/O请求指定的存储装置识别符(或者端口识别符)和卷识别符(在I/O请求中使用的识别虚拟化存储装置内或端口下属的卷的信息中,有LUN(Logical Unit Number)、CKD形式的CU号码和LDEV(Logical DEVice)号码等)与原来的卷不同。
在成为升级或降级对象的数据与虚拟卷对应的情况下,通过I/O处理程序6020调出虚拟化程序6030,并使用虚拟化信息6070执行以下处理。
(A)升级:根据虚拟化卷与存储装置1500的卷的对应关系,确定应该将存储装置1500的哪个卷中所保存的数据复制到高速缓冲存储器1020上,然后将数据复制到高速缓冲存储器1020上。
(B)降级:根据虚拟化卷与存储装置1500的卷的对应关系,确定应该向存储装置1500的哪个卷中复制高速缓冲存储器1020上的数据,然后将数据复制到存储装置1500的卷中。另外,作为其前面的处理,可以制作基于RAID技术的冗余数据。
<4.3.远程复制程序6010和复制对信息6040>
复制对信息6040按照每个远程复制的复制源卷和复制目的地卷的复制对(有时省略对(Pair))具有以下信息。另外,在本实施方式中,复制源卷和复制目的地卷被指定实现高可用性的对象卷。
(1)具有复制源卷的虚拟化存储装置1000的识别符和卷的识别符
(2)具有复制目的地卷的虚拟化存储装置1000的识别符和卷的识别符
(3)复制对的状态(详细情况将在以后叙述)
远程复制程序6010是将保存在复制源卷中的数据镜像到复制目的地卷中的程序,其参照复制对信息6040进行处理。下面对远程复制(特别是同步远程复制)的处理概况和对状态进行说明。
<4.3.1.同步远程复制的复制处理动作>
所谓同步远程复制,如前所述,是这样的远程复制方法:在复制源的虚拟化存储装置1000从主机1100接收到针对复制源卷的写入请求的情况下,将写入数据发送到复制目的地的虚拟化存储装置1000中,然后将写入请求完成返回给主机1100。
在执行同步远程复制时,为了在管理主机1200上显示复制源卷和复制目的地卷的对之间的远程复制的状况,或者为了操作远程复制的状态,虚拟化存储装置1000的控制器1010管理称为对状态(Simplex(单工)、Initial Copying(初始复制)、Duplex(双工)、Suspend(挂起)以及DuplexPending(双工挂))的信息。在图7中,表示与同步远程复制的对状态相关的状态迁移图。下面,对各对状态进行说明。
<4.3.1.1.Simplex状态>
Simplex状态是在构成对的复制源卷和复制目的地卷之间,没有开始复制的状态。
<4.3.1.2.Duplex状态>
Duplex状态是开始了同步远程复制、后述的初始化复制也已经完成、构成对的复制源卷和复制目的地卷的数据内容相同的状态。在本状态下,除了写入途中的区域,复制源卷的数据和复制目的地卷中的数据的内容为相同的。另外,在Duplex过程中和Duplex Pending以及Initial Copying状态下,从主机1100向复制目的地卷的写入请求被拒绝。
<4.3.1.3.Initial Copying状态>
Initial Copying状态是从Simplex状态向Duplex状态迁移的中间状态,在该期间中,如果需要,则进行从复制源卷向复制目的地卷的初始化复制(将已经保存在复制源卷中的数据复制到复制目的地卷中)。在初始化复制完成、向Duplex状态迁移所需要的处理结束时,对状态为Duplex状态。
<4.3.1.4.Suspend状态>
Suspend状态是针对复制源卷的写入内容不反映在复制目的地卷中的状态。在该状态下,构成对的复制源卷和复制目的地卷的数据的内容是不同的。以来自用户或者主机1100的指示为契机,对状态从其它状态向Suspend状态迁移。除此之外,在由于虚拟化存储装置1000之间的网络故障等原因而无法进行同步远程复制的情况下,可考虑使对状态自动地迁移到Suspend状态。
在以后的说明中,在后者的情况下,即,将由于故障而产生的Suspend状态称为故障Suspend状态。成为故障Suspend状态的代表性原因除了网络故障之外,还可考虑复制源卷或复制目的地卷的故障、控制器1010的故障。
在变成了Suspend状态的情况下,复制源存储装置1000当在变成Suspend状态的时刻以后有针对复制源卷的写入请求时,按照写入请求接收写入数据,并保存在复制源卷中,但是并不向复制目的地的虚拟化存储装置1000发送写入数据。另外,复制源的虚拟化存储装置1000将所写入的写入数据在复制源卷上的写入位置作为差分位图(bit map)等进行存储。
另外,当在变成Suspend状态的时刻以后对复制目的地卷有写入请求时,复制目的地的虚拟化存储装置1000也进行上述的动作。另外,在对状态变成故障Suspend状态之前,在针对该对进行了称为栅栏(Fence)的设定的情况下,当对状态迁移到故障Suspend时,拒绝针对复制源卷的写入。另外,在复制目的地的虚拟化存储装置1000也可以拒绝故障Suspend状态中的针对复制目的地卷的写入请求。
<4.3.1.5.Duplex Pending状态>
Duplex Pending状态是从Suspend状态迁移到Duplex状态的中间状态。在该状态下,为了使复制源卷和复制目的地卷的数据的内容一致,执行从复制源卷到复制目的地卷的数据复制。复制源卷和复制目的地卷的数据内容变成相同之后,对状态变成Duplex。
另外,Duplex Pending状态中的数据的复制利用Suspend状态的期间复制源的虚拟化存储装置1000或者复制目的地的虚拟化存储装置1000所记录的写入位置(例如上述的差分位图等),通过仅复制需要更新的部分(即,复制源卷和复制目的地卷的数据不一致的部分)的差分复制来执行。
另外,在以上的说明中,Initial Copying状态和Duplex Pending装置为不同的状态,但是也可以使他们合起来作为一个状态显示在管理主机1200的画面上、或进行状态迁移。
<4.3.1.6.对操作指示>
对状态通过来自主机1100或管理主机1200的以下指示而迁移向其它状态。
(A)初始化指示:当在Simplex状态下接收到本指示时,向InitialCopying状态迁移。
(B)再同步指示:当在Suspend状态或者故障Suspend状态下接收到本指示时,向Duplex Pending状态迁移。
(C)分割指示:当在Duplex状态下接收到本指示时,则向Suspend状态迁移。
(D)复制方向反转指示:当在Duplex状态、Suspend状态或者故障Suspend状态下接收到本指示时,复制源和复制目的地的关系反转。在Duplex状态的情况下,通过接收到本指示,复制方向也反转。
另外,初始化指示被希望指示复制源的虚拟化存储装置1000和复制源卷、以及复制目的地的虚拟化存储装置1000和复制目的地卷,关于其它指示,由于对关系已经完成,因此只要指示表示该关系的识别符(复制源的虚拟化存储装置1000和复制源卷、复制目的地的虚拟化存储装置1000和复制目的地卷的组合也是该识别符中的一个)即可。
<5.在存储装置1500中执行的程序和信息>
图6表示在存储装置1500中执行的程序和信息,各程序和信息进行与虚拟化存储装置1000相同的动作。
<6.设备关系表5001>
图8是表示设备关系表5001具有的信息的图。设备关系表5001对应于I/O路径管理程序5000提供的主机1100内的虚拟卷(更准确的说是与该卷对应的识别符)的每一个来管理以下信息。
(A)主机1100内的虚拟卷的识别符
(B)关系卷识别符列表:包括能够成为上述主机1100内的虚拟卷的实体的存储装置1500的卷的识别符。另外,各个识别符使用作为I/O路径管理程序5000的下位层的HBA设备驱动程序5010所分配的识别符。在本实施方式中,正系统的虚拟化存储装置1000(1000L)具有的卷和副系统的虚拟化存储装置1000(1000R)具有的卷的识别符被列入列表(如果是通常状态)。
(C)正系统卷:表示在(B)中列入列表的哪一个卷为正系统。
(D)故障状态
(E)对状态
另外,从文件系统5020的角度看,(A)的识别符和(B)的识别符被同样地处理,因此(A)或(B)的识别符不允许彼此重复。并且,在组合了(A)和(B)的情况下,也不允许重复,因此,I/O路径管理程序5000考虑到这一点需要生成(A)的识别符。
<7.初始化处理>
图9是表示I/O路径管理程序5000的初始化处理的流程图。下面,参照该流程图,对该初始化处理进行说明。另外,在下文中,有时将各种处理的处理主体作为“I/O路径管理程序5000”进行说明,但是实际上,当然是主机1100的处理器1101(图1)根据称作“I/O路径管理程序5000”的程序来执行对应的处理。
(S9001)I/O路径管理程序5000从管理主机1200或主机1100的用户接收包括以下信息的的初始化指示。并且,作为双重系统的初始化处理,还指HA(高可用性(High Availability))初始化指示。
(A)正系统的虚拟化存储装置1000和其中的卷
(B)副系统的虚拟化存储装置1000和其中的卷
(S9002)I/O路径管理程序5000与在S9001中指示的虚拟化存储装置1000的两方进行通信,以获得卷是否存在和卷的容量。
(S9003)I/O路径管理程序5000确认在S9001中指定的卷存在,并且为相同容量。在无法确认的情况下,I/O路径管理程序5000向指示发送源返回错误。
(S9004)I/O路径管理程序5000对虚拟化存储装置1000的一方或者两方发送远程复制初始化指示。在该初始化指示中指示出将正系统的卷作为复制源卷,将副系统的卷作为复制目的地卷。根据本指示,虚拟化存储装置1000开始远程复制。
(S9005)I/O路径管理程序5000在设备关系表5001中登录以下信息,然后向初始化指示的发送源返回初始化响应。
(A)在主机1100内的虚拟卷的识别符(=I/O路径管理程序5000制作出的值)
(B)关系卷识别符列表(=与在S9001中指定的虚拟化存储装置1000和卷对应的识别符为两个(正系统和副系统两者))
(C)正系统卷(=在S9001中指定的正系统卷)的识别符
(D)故障状态(=副系统准备过程中)
(E)对状态(=Initial Copying)
(S9006)I/O路径管理程序5000监视远程复制的对状态,在迁移到Duplex状态之后,将设备关系表5001更新为以下信息。
(D)故障状态(=通常状态)
(E)对状态(=Duplex)
根据以上的处理,I/O路径管理程序5000能够根据用户指示来开始包括远程复制的设定的用于实现高可用化的准备。另外,实际上,由于能够在S9005之后I/O路径管理程序5000能够立即提供主机1100内的虚拟卷,因此,希望以文件形式进行访问的用户可通过发出针对该卷的装载(mount)指示等,来开始文件I/O。并且,作为别的方法,I/O路径管理程序5000可以定义与在远程复制设定前应该已经实现了高可用化了的卷对应的主机1100内的虚拟卷,文件系统5020也可以通过由用户指定成为副系统的卷,从装载了该卷的状态来开始上述处理。
<8.写入请求处理流程>
图10是表示I/O路径管理程序5000从文件系统5020接收到了写入请求时的处理流程的图。
(S10001)I/O路径管理程序5000从文件系统5020调出写入请求函数(或者接收消息),该写入请求函数包括成为写入目的地的主机1100内的虚拟卷的识别符、该卷的写入位置以及写入长度。
(S10002)I/O路径管理程序5000确认该虚拟卷的故障状态,如果是远程复制失败状态,则将控制转移到S10020的双写处理(Dual WriteProcessing),如果是除此之外的则执行S10003。
(S10003)I/O路径管理程序5000对正系统卷发行写入请求。另外,该写入请求的发行实际上通过调出下位层的HBA设备驱动程序50110来实现。
(S10004)I/O路径管理程序5000确认写入请求的响应,如果正常结束,则对文件系统5020返回完成响应,如果远程复制失败,则将控制转移到S10020的双写处理,无响应等除此之外的情况下,则将控制转移到S10010的切换处理。
另外,S10020的双些处理通过以下的步骤来执行。
(S10021)通过远程复制的设定,在对正系统或者副系统的卷的写入被拒绝的情况下,I/O路径管理程序5000解除该设定。
(S10022)I/O路径管理程序5000对正系统卷发行写入请求。
(S10023)I/O路径管理程序5000对副系统卷发行写入请求。I/O路径管理程序5000等待来自正系统和副系统两方的写入请求响应的到达,对文件系统5020返回完成响应。
<8.切换处理的流程>
下面对通过继续切换处理所实现的处理进行说明。
(S10011)I/O路径管理程序5000,首先通过参照设备关系表5001的故障状态,来确认副系统卷是否可以使用,在判断为不可以使用的情况下,对文件系统5020返回错误响应,如果可以利用,则执行S10012。另外作为能够判断为不可使用的状态,存在没有副系统(由于故障而导致副系统的虚拟化存储装置1000不起作用的情况、和从开始就没有设定副系统的虚拟化存储装置1000的卷的情况)的状态、和前述的初始化准备过程中的状态。
(S10012)I/O路径管理程序5000对副系统的虚拟化存储装置1000发行远程复制的停止指示,在确认复制对状态变成Suspend状态之后,指示复制方向反转指示。
(S10013)I/O路径管理程序5000对副系统的虚拟化存储装置1000发行远程复制的再同步指示。另外,实际上在再同步完成、对状态迁移到Duplex状态之前,不需要等待。
(S10014)I/O路径管理程序5000将设备关系表5001的正系统卷识别符更新为此前为副系统的卷的识别符,将正系统和副系统交换。然后,对新成为正系统的卷通过HBA设备驱动程序5010发送写入请求。
(S10015)I/O路径管理程序5000确认写入请求的响应,如果正常结束,则对文件系统5020返回完成响应,如果错误,则返回错误响应并结束。
<8.1.1.双写处理中的对写入请求失败的对策>
在S10020的双写处理中,在S 10022的针对正系统卷的写入请求失败而结束的情况下,考虑将控制转移到S10010的切换处理中。并且,在S10023的针对副系统卷的写入请求失败而结束的情况下,将设备关系表5001的故障状态变更为“无副系统”,完成写入。
另外,由于双写处理过程中对状态为故障Suspend状态,因此在虚拟化存储装置1000的卷中通过远程复制的差分位图记录写入位置。但是,通过双写处理写在两卷中的写入数据相同,因此,在通信故障恢复后的再同步处理中,优选能够仅复制差分数据。作为其解决对策,可考虑在双写处理正常地进行的期间,每隔一定时间反复清除正系统和副系统两方的虚拟化存储装置1000的该卷的差分位图。在该方式下,不需要按照每个写入请求发行清除指示,而且在远程复制的再同步中,能够避免对象卷的整个区域复制。之所以这样,是因为最近实施的清除以后进行的双写的写入请求与双写失败的写入请求一起将写入位置记录在差分位图中,但是在双写中记录的数据区域在通过再同步进行了复制的情况下,由于复制目的地的数据内容不变,因此不会产生数据不整合或者复制遗漏区域。
另外,在上述解决对策中,为了清除正系统和副系统两方的差分位图,可以临时停止写入请求的处理。作为其停止方法,考虑这样的方法:I/O路径管理程序5000将从文件系统5020接收到的写入请求在两方的差分位图的清除完成之前,不转发给虚拟化存储装置1000;也可以考虑这样的方法:在正系统的虚拟化存储装置1000中,在两方的差分位图的清除完成之前,保留写入请求的处理。
作为第二回避对策,有分别对正系统和副系统的卷分配两面的差分位图的方式。以下表示其处理内容。
(初始状态)正系统和副系统的虚拟化存储装置1000分别对两面的差分位图的一面记录写入请求的位置。为此,两个虚拟化存储装置1000保持和管理与活动面(指在写入请求到达时记录写入位置的面,另一面的差分位图称为非活动面)相关的信息。并且,非活动面的差分位图优选什么都没有记录的状态。
(步骤1)正系统的虚拟化存储装置1000通过将活动面的管理信息更新为已经变成了非活动面的另一个差分位图,来切换成为写入请求的位置的记录目的地的差分位图,以后的写入请求记录到切换后的差分位图中。副系统的虚拟化存储装置1000也同样地进行切换。另外,该切换处理开始的契机由I/O路径管理程序5000提供给虚拟化存储装置1000。另外,正系统和副系统的切换处理哪一方先执行都可以,也可以并列执行。
(步骤2)I/O路径管理程序5000在等待来自两个虚拟化存储装置1000的切换完成的响应之后,对两个虚拟化存储装置1000发出差分位图的清除指示。接收到了清除指示的虚拟化存储装置1000将成为非活动面的差分位图的写入位置清除,并向I/O路径管理程序5000返回响应。与切换处理同样地,正系统和副系统的清除处理哪一方先执行都可以,也可以并列执行。
(步骤3)I/O路径管理程序5000等待来自两个虚拟化存储装置1000的清除完成的响应,在经过时间后再次从步骤1执行。
在本解决对策的情况下,在通信故障恢复后的再同步处理中,能够通过计算正系统和副系统的位图的四面的逻辑和,来确定在DuplexPending状态中进行差分复制的区域。另外,在本方式中,位图的面数虽然多,但不需要保留写入请求。
作为第三解决对策,有上述第二解决对策的以下两种变形方式。
(初始状态)正系统和副系统的虚拟化存储装置1000分别针对两面的差分位图的两面记录写入请求的位置。另外,两个虚拟化存储装置1000保持和管理与进行了上一次的清除的差分位图面相关的信息。
(步骤1)I/O路径管理程序5000对两个虚拟化存储装置1000发出差分位图的清除指示。接收到了清除指示的虚拟化存储装置1000,清除不是上一次清除过的差分位图的另一个差分位图的写入位置,并将响应返回给I/O路径管理程序。
(步骤3)I/O路径管理程序5000等待来自两个虚拟化存储装置1000的清除完成响应,在经过时间后再次从步骤1执行。
<9.读出请求处理流程>
图11是表示I/O路径管理程序5000从文件系统5020接收到了读出请求时的处理内容的流程图。
(S11001)I/O路径管理程序5000从文件系统5020调出包括成为读出目的地的主机内的虚拟卷的识别符、该卷的写入位置以及写入长度的写入读出请求函数(或者接收消息)。
(S11002)I/O路径管理程序5000确认该虚拟卷的故障状态,在判断为通常状态,而且针对正系统卷的I/O负荷高的情况下(例如超过一定IOPS的情况或者超过一定频带的情况等),则执行S11021,在为除此之外的状态(无副系统、副系统准备过程中、通常状态等)时则执行S11003。
(S11003)I/O路径管理程序5000对正系统卷发行读出请求。
(S11004)I/O路径管理程序5000确认读出请求的响应,如果正常结束,则对文件系统5020返回完成响应,如果是除此之外的情况,则将控制转移到S11010的切换处理。
(S11021)I/O路径管理程序5000对副系统卷发行读出请求。
(S11022)I/O路径管理程序5000确认读出请求的响应,如果正常结束,则对文件系统5020返回完成响应,如果是除此之外的情况,则执行S11023。
(S10023)I/O路径管理程序5000将设备关系表的故障状态更新为“无副系统”,并执行S11003。
<9.1.切换处理的流程>
下面对通过继续切换处理所实现的处理进行说明。
(S11011)I/O路径管理程序5000,首先通过参照设备关系表5001的故障状态,来确认副系统卷是否可以使用,在判断为不可以使用的情况下,对文件系统5020返回错误响应,在判断为可以利用时,则执行S11012。另外作为能够判断为不可使用的状态,存在没有副系统(由于故障而导致副系统的虚拟化存储装置1000不起作用的情况、和从开始就没有设定副系统的虚拟化存储装置1000的卷的情况)的状态、和前述的初始化准备过程中的状态。
(S11012)I/O路径管理程序5000对副系统的虚拟化存储装置1000发行远程复制的停止指示,在确认复制对状态变成Suspend状态之后,指示复制方向反转指示。
(S11013)I/O路径管理程序5000对副系统的虚拟化存储装置1000发行远程复制的再同步指示。另外,实际上在再同步完成、对状态迁移到Duplex状态之前,不需要等待。
(S11014)I/O路径管理程序5000将设备关系表5001的正系统卷识别符更新为此前为副系统的卷的识别符,将正系统和副系统交换。然后,对新成为正系统的卷通过HBA设备驱动程序5010发送读出请求。
(S11015)I/O路径管理程序5000确认读出请求的响应,如果正常结束,则对文件系统5020返回完成响应,如果错误,则返回错误响应并结束。
<10.故障对策处理流程>
在本章中,对I/O路径管理程序5000从检测到故障后到完成恢复之前的处理的流程进行说明,另外,本处理定期地通过后台(Background)执行。
<10.1.虚拟化存储装置1000之间的网络故障>
(步骤1)I/O路径管理程序5000监视远程复制的对状态,其通过发现故障Suspend状态来测知发生了某些故障。
(步骤2)I/O路径管理程序5000对副系统的虚拟化存储装置1000发行远程复制的停止指示,在确认对复制对状态变成Suspend状态之后,反转复制方向,并对隔虚拟化存储装置1000进行状态询问,在确认虚拟化存储装置1000本身没有发生故障、而是网络故障的原因后,将设备关系表5001的故障状态更新为“远程复制失败”。另外,本处理也可以利用存储管理者进行的作业结果。
(步骤3)在该网络恢复之前等待。
(步骤4)I/O路径管理程序5000对正系统的虚拟化存储装置1000发行对的再同步指示。
(步骤5)I/O路径管理程序5000将设备关系表5001的故障状态更新为“副系统准备过程中”。
(步骤6)I/O路径管理程序5000在等到对状状态变为Duplex之后,将设备关系表5001的故障状态更新为“通常状态”。
<10.2正系统的虚拟化存储装置1000的故障停止>
(步骤1)I/O路径管理程序5000通过监视正系统的虚拟化存储装置1000的状态,来测知发生了故障。
(步骤2)I/O路径管理程序5000通过将设备关系表5001的正系统卷的识别符变更为副系统卷的识别符,来将以后的I/O请求目的地切换为副系统的虚拟化存储装置1000,然后将故障状态更新为“没有副系统”。
(步骤3)I/O路径管理程序5000在旧的正系统(在步骤2中切换了,因此为当前的副系统)的虚拟化存储装置1000恢复之前进行等待。
(步骤4)I/O路径管理程序5000对正系统的虚拟化存储装置1000发行对的再同步指示或者初始化指示。
(步骤5)I/O路径管理程序5000将设备关系表5001的故障状态更新为“副系统准备过程中”。
(步骤6)I/O路径管理程序5000在等到对状状态变为Duplex之后,将设备关系表5001的故障状态更新为“通常状态”。
<10.3.副系统的虚拟化存储装置1000的故障停止>
(步骤1)I/O路径管理程序5000通过监视副系统的虚拟化存储装置1000的状态,来测知发生了故障。
(步骤2)I/O路径管理程序5000将设备关系表5001的故障状态更新为“没有副系统”。
(步骤3)I/O路径管理程序5000在副系统的虚拟化存储装置1000恢复之前进行等待。
(步骤4)I/O路径管理程序5000对正系统的虚拟化存储装置1000发行对的再同步指示或者初始化指示。
(步骤5)I/O路径管理程序5000将设备关系表5001的故障状态更新为“副系统准备过程中”。
(步骤6)I/O路径管理程序5000在等到对状态变为Duplex之后,将设备关系表5001的故障状态更新为“通常状态”。
<11.另一个初始化方法>
在此前的说明中,根据发出到I/O路径管理程序5000中的初始化请求来在虚拟化存储装置1000中进行远程复制的设定,但也可以考虑下面的相反的方法。
(步骤1)管理主机1200通过对虚拟化存储装置1000发出远程复制的对初始化请求,来开始远程复制。
(步骤2)I/O路径管理程序5000接收扫描请求。
(步骤3)I/O路径管理程序5000通过HBA设备驱动程序5010来获得针对各卷的远程复制的设定(远程复制的设定的有无、是复制源还是复制目的地、成为对的对象的虚拟化存储装置1000和卷)。另外,作为该获得方法,可考虑在I/O网络上使用SCSI命令,也可以使用除此之外的通信网络来获得信息。
(步骤4)I/O路径管理程序5000根据在上一步骤中获得的信息,制作出设备关系表5001,并开始此前说明过的处理。另外,作为该设备关系表5001的制作示例,有以下的示例。
(A)主机1100内的虚拟卷的识别符=I/O路径管理程序5000所制作的值
(B)关系卷识别符列表=远程复制的复制源卷和复制目的地卷的识别符
(C)正系统卷=远程复制的复制源卷
(D)故障状态=如果从虚拟化存储装置1000获得的对状态为Duplex状态,则为“通常状态”,如果为Initial Copying或者Duplex Pending状态,则为“副系统准备过程中”,如果为Suspend或者故障Suspend状态,则为“远程复制失败”
(E)对状态=从虚拟化存储装置1000获得的对状态
以上,通过上述说明过的硬件和程序的动作在本实施方式中实现高可用性。另外,作为图10和图11等中记载的切换处理需要较长时间的情况的对策,在I/O路径管理程序5000需要再次发送I/O请求的情况下,作为预备处理可以执行所述切换处理的一部分。该情况下,在再次发送的I/O请求以正常响应返回的情况下,只要根据先进行的切换处理返回即可,另一方面,当再次发送的I/O请求以错误响应返回、或者完全没有响应时,只要执行所述切换处理的剩余部分即可。另外,本实施方式的所有卷通过虚拟化存储装置1000虚拟化,实体可以为位于存储装置1500中的虚拟卷,虚拟化存储装置1000可以是虚拟化专用的器具(appliance),并且也可以反过来,所有的卷的实体是位于虚拟化存储装置1000的内部的结构。另外,有时在虚拟化存储装置1000提供的卷中设定除了容量以外的多种属性(例如,有模拟类型(emulation type)或通过CSCI标准确定的Inquer命令可获得的卷识别号码)
这样的属性信息或属性变更还通过远程复制从正系统的虚拟化存储装置转发到副系统的虚拟化存储装置,并通过两方的虚拟化存储装置进行管理。
<12.另一个读出/写入处理>
在图10和图11所记载的写入/读出处理中,I/O路径管理程序5000明确地将远程复制的操作转发给虚拟化存储装置1000。但是,该远程复制的操作有时对应于虚拟化存储装置1000的销售商而不同,因此,有时优选不包括在I/O路径管理程序5000的写入处理或读出处理中。图25~图27表示这样的方式中的处理内容。另外,以下有时将各种处理的主体作为“虚拟化存储装置1000”进行说明,但是实际上,当然是该虚拟化存储装置1000内的处理器1011(图1)根据保存在存储器1012(图1)中的程序来执行对应的处理。
<12.1.I/O路径管理程序的写入处理>
图25是表示通过I/O路径管理程序5000执行的图10的大致处理的流程图。其与图10的不同点如下所述。
(不同点1)远程复制的操作S10012、S10013、S10021被跳过。
(不同点2)不到达远程复制失败时的流程S10020。但是,本不同点仅限于在通常的写入/读出处理中无法识别表示远程复制失败的错误消息的情况。
<12.2.存储装置1000的处理>
图27是表示虚拟化存储装置1000收到写入请求时进行的远程复制的操作的图。
(S27001)虚拟化存储装置1000接收写入请求。
(S27002)虚拟化存储装置1000判断写入请求的对象卷与远程复制是否有关,在没有关系的情况下,执行S27003,在有关系的情况下执行S27004。
(S27003)虚拟化存储装置1000进行通常的写入处理,并将响应返回给主机1100,然后结束。
(S27004)虚拟化存储装置1000判断写入请求的对象卷的远程复制的属性,在为复制源属性的情况下执行S27005,在为复制目的地属性的情况下执行S27011。
(S27005)虚拟化存储装置1000执行同步远程复制处理,并向副系统存储装置转发写入数据,等待响应。
(S27006)虚拟化存储装置1000判断复制是否成功,如果成功,则执行S27008,如果失败,则执行S27007。
(S27007)虚拟化存储装置1000将对象卷为复制源的远程复制对的状态迁移至故障Suspend状态。但是对该卷的写入并不被禁止。
(S27008)虚拟化存储装置1000进行通常的写入处理,并向主机1100返回响应,并结束。
(S27011)虚拟化存储装置1000停止远程复制,将复制源和复制目的地的关系反转。
(S27012)虚拟化存储装置1000开始再同步处理。
(S27013)虚拟化存储装置1000进行通常的写入处理,并向主机1100返回响应,然后结束。
另外,S27012的再同步处理也可以不等到完成。之所以这样,是因为执行S27012的虚拟化存储装置1000为副系统,正系统的虚拟化存储装置1000不仅限于正常动作,并且再同步处理完成之前需要的时间长。另外,这样的情况下通过<10.故障对策处理流程>中叙述的处理来恢复这一点与上述说明相同。
<12.3.I/O路径管理程序的读出处理>
图26是表示I/O路径管理程序5000执行的图11的大体处理的流程图。与图11的不同点如下所述。
(不同点1)远程复制的操作S10012、S10013被跳过。
另外,在图11中根据读出处理反转了远程复制的方向,但是在本处理中使其不反转。之所以这样,是因为关于针对副系统的虚拟化存储装置1000的读出请求,除了时正系统的虚拟化存储装置1000(包括主机=虚拟化存储装置之间的通信故障的原因)不返回响应的情况以外,还有正系统的虚拟化存储装置1000的过负荷成为原因的情况。因此,当副系统的虚拟化存储装置1000以针对复制目的地卷的读出请求为契机进行远程复制的对反转时,偶尔会由于发出给副系统的虚拟化存储装置1000的读出请求而使对反转,然后对通过下一个读出请求再次反转,因此,导致读出性能恶化。
但是,在S11021的执行被抑制的情况下,虚拟化存储装置1000可以在读出处理时进行以下处理,由此来进行远程复制的对的反转。
(步骤1)虚拟化存储装置1000接收读出请求。
(步骤2)虚拟化存储装置1000进行通常的读出处理。
(步骤3)虚拟化存储装置1000判断读出对象的卷是否是远程复制的复制目的地卷,在是的情况下执行步骤4,在不是的情况下结束。
(步骤4)虚拟化存储装置1000停止远程复制,并反转复制源和复制目的地的关系。
(2)第二实施方式
下面对第二实施方式使用图12进行说明。与第一实施方式的不同点在于,存储装置1500L与多个虚拟化存储装置1000L、1000R连接,这些虚拟化存储装置1000L、1000R共享存储装置1500L内的卷,由此,即使在虚拟化存储装置1000L、1000R的一方停止的情况下,也能够以比第一实施方式低的成本继续进行服务。
但是,虚拟化存储装置1000L、1000R由于具有高速缓冲存储器1020L、1020R,因此,在对虚拟化卷写入写入数据之后,正系统的虚拟化存储装置1000L立即因灾害停止的情况下,需要将写入数据还保存到副系统的虚拟化存储装置1000R的高速缓冲存储器1020R中,并且针对两方的虚拟化存储装置1000L、1000R的降级或者升级需要花费时间。
通常状态下的写入请求通过以下步骤处理。
(步骤1)从主机1100接收到了写入请求的正系统的虚拟化存储装置1000L判断:该写入请求是发送给该虚拟化存储装置1000L内部的与HDD1030对应的卷3000LA,还是发送给两个虚拟化存储装置1000L、1000R共享存储装置1500L的卷3500L而提供的虚拟化卷(以后称为共享虚拟化卷)3000LB,亦或发送给通常的虚拟化卷。另外,共享虚拟化卷3000LB以外的处理与第一实施方式为相同的处理。
(步骤2)正系统的虚拟化存储装置1000L将该写入数据保存在自身的高速缓冲存储器1020L中,并且将该写入数据通过远程复制程序保存在副系统的虚拟化存储装置1000R的高速缓冲存储器1020R中,然后,对主机1100返回正常响应。
(步骤3)正系统的虚拟化存储装置1000L的高速缓冲存储算法(caching algorithm)确定应该降级的高速缓冲存储器1020L上的数据,并将该数据降级到存储装置1500L的卷中。
(步骤4)在降级完成后,正系统的虚拟化存储装置1000L指示副系统的虚拟化存储装置1500R废弃降级了的高速缓冲存储器1020L上的数据的地址。另外,接收到了指示的副系统的虚拟化存储装置1000R将收到了指示的数据从高速缓冲存储器1020R废弃。
另外,在本结构中,在虚拟化存储装置1000L、1000R之间的网络被断开的状态下,当在副系统的虚拟化存储装置1000R中进行了I/O请求的切换的情况下,有时虚拟化存储装置1000L、1000R两者作为正系统自立地进行降级。为了避免该情况,两虚拟化存储装置1000L、1000R可以在以自己为正系统进行处理的情况下,先对存储装置1500L内的所述共享化了的卷3500L使用SCSI Reserve等功能进行排他控制。另外,作为其它方式,关于共享虚拟化卷3000LB,可以使虚拟化存储装置1000L的高速缓冲存储无效,在该情况下,该共享虚拟卷3000LB的访问权限变更为只读的访问权限时,根据该变更来使高速缓冲存储有效。
(3)第三实施方式
下面使用图13对第三实施方式进行说明。本实施方式在与此前所述的生产站不同的远程地(备份站)另备此前的实施方式中记载的信息系统,来进行远程复制,由此,在生产站受灾时,可以通过备份站再次开始服务。
另外,在以后的说明中,有时将上述的“虚拟化存储装置”称为存储装置,将“复制源卷”称为正卷,将“复制目的地卷”称为副卷,将“正系统”称为活动侧(active side),将“副系统”称为待机侧(standbyside)。另外,将生产站和备份站的信息系统统称为远程复制系统。
<1.远程复制系统的结构>
在本实施方式中,各站由主机13010、13020和多个存储子系统13001、13002、13003、13004构成。并且,在生产站中,在存储子系统13001、13002彼此之间采用了前述的高可用化结构。另外,在备份站也一样,在存储子系统13003、13004彼此之间也采用该高可用化结构。
另外,在本实施方式中,从生产站的活动侧的存储子系统(具有复制源卷)13001对备份站的活动侧的存储子系统(具有复制目的地卷)13003进行同步或者非同步远程复制。并且,在生产站受灾时,备份站的主机13010对高可用结构的存储子系统13003、13004的某一方活动侧发行I/O请求,由此,再次起动的应用程序2010再次开始处理。
另外,如前所述,所谓存储子系统,其包括不使用虚拟化存储装置1000(图1)的虚拟化功能的结构;和通过虚拟化存储装置1000和存储装置1500(图1)的组合、虚拟化存储装置1000使用虚拟化功能提供虚拟化卷的结构中的某一概念。另外,在本实施方式中,各个存储子系统13001、13002、13003、13004可采用分别独立的内部结构(例如,仅存储子系统13001由虚拟化存储装置1000构成,并且不使用虚拟化功能的情况,或在备份站的存储子系统13003、13004共享存储装置1500(图1),而在生产站侧不进行共享的情况)。
另外,在下文中有时将各种处理的处理主体作为“存储子系统”进行说明,但是实际上当然是该存储子系统内的处理器根据保存在该存储子系统内的存储器中的程序执行对应的处理。
<2.处理>
生产站的主机13010的应用程序2010发行写入请求时,通过OS判断生产站内的活动侧的存储子系统,然后向其转发写入请求。另外,在本图中,存储子系统13001与此对应。
生产站的活动侧的存储子系统13001通过同步远程复制将写入数据转发给生产站内的待机侧的存储子系统(在本图中对应于13002)。并且,活动侧的存储子系统13001向备份站的活动侧的存储子系统(在本图中对应于13003)转发写入数据作为同步或者非同步的远程复制(在本实施方式的高可用结构中,由于仅在活动侧处理写入请求,因此,即使是远程复制,也同样在活动侧进行处理)。接收到了写入数据的备份站内的活动侧的存储子系统13003将收到的写入数据通过同步远程复制转发给站内的待机侧的存储子系统13004。
因此,生产站内的存储子系统13001、13002把握备份站的活动侧存储子系统,备份站的存储子系统13003、13004为了不接收来自设定外的存储子系统的远程复制,也把握生产站的活动侧存储子系统(存储子系统13001)。
通过上述处理,生产站和备份站均实现了站内的高可用性。但是在备份站侧,为了削减成本也可以是不采用高可用结构的结构。
<3.非同步远程复制>
与此前说明的同步远程复制不同,非同步远程复制不是在来自主机13010的写入请求到达的时刻转发写入数据,而是在请求完成响应后进行转发(换言之,非同步远程复制以与向主机13010的请求响应独立的定时转发写入数据)。因此,非同步远程复制在站之间的距离长、通信延迟大的情况下,也能够不降低写入请求的响应时间地进行远程复制。但是,在非同步远程复制中,需要在生产站侧的存储子系统13001中对写入数据进行缓冲。该写入数据的缓冲方式有以下方式。
(1)生产站的存储子系统13001制作包括给复制源卷的写入数据和写入数据的顺序信息在内的日志(journal),将其保存在自身的高速缓冲存储器或者专用卷中,并且,将该日志转发给备份站的存储子系统13003,备份站的存储子系统13003参照日志的顺序信息将写入数据保存在复制目的地卷中。由此,在生产站受灾时,能够在备份站侧提供保持了写入顺序(更准确的说是具有依存关系的写入数据)的数据。
(2)生产站的存储子系统13001将按照某期间写入到复制源卷中的数据分组,保存到自身的高速缓冲存储器或者专用卷中,并非同步地转发给备份站的存储子系统13003,并以该分组为单位将数据保存到备份站的存储子系统13003所具有的复制目的地卷中。
因此,由于这些非同步远程复制,如果被缓冲的写入数据也没有保持在待机侧的存储子系统13002中,则在活动侧存储子系统13001停止时,无法继续非同步远程复制。因此,生产站的活动测的存储子系统13001,不仅是写入数据,还将复制目的地卷的信息、所述的顺序信息、分组化的定时等转发向待机侧的存储子系统13002中,待机侧的存储子系统13002据此制作与活动侧相同的用于非同步远程复制的缓冲数据。
另外,备份站的存储子系统13003也不将从生产站收到的写入数据直接保存到复制目的地卷中,而是进行缓冲,因此,与生产站侧一样,按照活动侧的指示,待机侧也制作同样的缓冲数据,并且需要以同样的定时将写入数据保存在复制目的地卷中。
(4)
第四实施方式
下面使用图14对第四实施方式进行说明。在本实施方式中,在通过两台存储装置、使用先前说明的同步远程复制构成的冗余结构的信息系统中,对控制存储装置提供的功能的接口(功能I/F)的结构进行说明。
另外,在本实施方式到第十四实施方式中,将此前称为虚拟化存储装置1000L、1000R,存储装置1500L、1500R的组成部分分别称为存储装置15000A、15000B,和外部存储装置16000A、16000B。并且,在下文中有时以各种处理的处理主体为“存储装置15000A、15000B”和“外部存储装置16000A、16000B”进行说明,但是实际上,当然是该存储装置15000A、15000B内的未图示的处理器,和外部存储装置16000A、16000B内的处理器,根据该存储装置15000A、15000B或外部存储装置16000A、16000B内的存储器所保存的程序进行对应的处理。
本实施方式表示这样的示例:在来自主机14000的功能控制请求发送到存储装置15000A之后,存储装置15000A将功能控制请求转发至存储装置15000B,存储装置15000A、15000B双方解释并执行该功能控制请求。
命令设备15002A、命令设备15002B分别是存储装置15000A、存储装置15000B提供的逻辑卷,是与控制功能的主机14000的接口。另外,在本实施方式中,命令设备15002A假定为活动侧。
并且,通过同步远程复制,命令设备15002A的内容与命令设备15002B的内容始终一致。命令设备15002A、命令设备15002B通过操作系统14001提供的路径管理功能(相当于I/O路径管理程序5000(图1)提供的功能)作为一个卷14004提供给功能管理程序14003。
逻辑卷15001A、逻辑卷15001B分别是存储装置15000A、存储装置15000B提供的逻辑卷,是功能控制对象的逻辑卷。另外,在本实施方式中,逻辑卷15001A假定为活动侧。
另外,通过同步远程复制,逻辑卷15001A的内容与逻辑卷15001B的内容始终一致。逻辑卷15001A、逻辑卷15001B通过操作系统14001提供的路径管理功能作为一个卷14005提供给应用程序14002。
另外,这里说明的功能控制对象的逻辑卷可以为多个。
功能管理程序14003的功能控制请求处理部14005从用户或者主机14000内的其它程序或者与主机14000不同的主机(管理主机等)内的程序接收功能控制请求。接收到了功能控制请求的功能控制请求处理部14005对卷14004写入/读出针对卷14004的控制请求的内容。在本实施方式中,由于命令设备15002A为活动侧,因此写入/读出被针对命令设备15002A发行。
在起动功能控制时使用对命令设备15002A的写入,为了获得功能控制的结果的输出值而使用对命令设备15002A的读出。
功能控制请求处理部14005接收的控制请求中包括:唯一识别控制对象的存储装置15000A、15000B的信息(也称为装置信息);唯一识别控制对象的逻辑15001A、15001B的信息(也称为卷信息);以及功能控制附带的信息。
存储装置15000A的控制I/F处理部15003A检测是否对命令设备15002A写入了控制请求。控制I/F处理部15003A判定控制请求的装置信息与自存储装置(存储装置15000A)是否一致(判定100)。在本实施方式中,命令设备15002A由于为活动侧,因此判定结果为“一致”。在一致的情况下,控制I/F处理部15003A针对与卷信息对应的逻辑卷15001A调出功能处理部15004A,以执行预定的功能控制。作为具体的示例,有作为存储装置15000A提供的功能之一的本地复制功能(在以后说明)的对状态的参照操作。在该操作针对逻辑卷15001A被调出时,功能处理部15004A参照本地复制功能的管理信息,获取对状态后,通过控制I/F处理部15003A、命令设备15002A、和卷14004对功能控制请求处理部14005发送对状态。
另一方面,存储装置15000B的控制I/F处理部15003B也执行同样的处理,但是在本实施方式中,命令设备15002B为待机侧,因此判定的结果为“不一致”。在该情况下,控制I/F处理部15003B也同样地参照同步远程复制的对管理信息,确定卷信息(对应于逻辑卷15001A)所对应的自存储装置(存储装置15000B)内的逻辑卷(对应于逻辑卷15001B)。然后,控制I/F处理部15003B针对逻辑卷15001B调出功能处理部15004B,以执行预定的功能控制。
通过上述内容,针对存储装置15000A的逻辑卷15001A、存储装置15000B的逻辑卷15001B执行预定的功能。
在本实施方式中,以存储装置15000A、15000B所提供的本地复制功能的对状态的参照操作为例进行了说明,但是对于(1)本地复制功能的其它对操作(对的制作,对的分割等)、(2)存储装置15000A、15000B提供的本地复制功能的各种对操作、(3)针对存储装置15000A、15000B提供的逻辑卷15001A、15001B的安全功能(以后说明的LDEV保护功能)的操作、(4)存储装置15000A、15000B提供的逻辑快照(snapshot)功能(以后说明)的操作等存储装置15000A、15000B提供的各种功能的操作,也能够适用。
另外,作为其它的执行方式,在收到了应该向活动侧和待机侧两方的存储装置15000A、15000B发行的命令的情况下,活动侧的存储装置15000A对收到的命令进行处理,并且,转发给待机侧的存储装置15000B使其进行命令处理,由此,从主机14000通过一次命令开始两方的存储处理。另外,在关于程序的状态取得的命令的情况下,接收到了命令的活动侧的存储装置15000A向待机侧的存储装置15000B转发相同的命令并获取状态,活动侧的存储装置15000A在比较两者的状态后将状态返回给命令发送源。
(5)第五实施方式
在本实施方式中叙述功能I/F的别的结构。使用图15说明本实施方式的结构。
本实施方式的结构与图14大致相同。与图14的不同点在于以下三点。
(1)命令设备15002A、命令设备15002B不是同步远程复制对。
(2)从功能管理程序14003将命令设备15002A、命令设备15002B识别为不同的卷14004A、14004B。
(3)功能控制请求处理部14005将功能控制请求发送给命令设备15002A和命令设备15002B。
在本实施方式中,与第四实施方式一样,在功能控制请求处理部14005收到的控制请求中包括:唯一识别控制对象的存储装置15000A、15000B的信息(也称为装置信息);唯一识别控制对象的逻辑15001A、15001B的信息(也称为卷信息);以及功能控制附带的信息。
在本实施方式中,与第四实施方式不一样,如前所述,从用户或者主机14000内的其它程序或者与主机14000不同的主机内的程序接收到了功能控制请求的功能控制请求处理部14005,将控制请求发送给两个命令设备15002A、15002B。
另外,功能控制请求处理部14005可以判定装置信息,并这样改写控制请求:针对命令设备15002A指定逻辑卷15001A作为卷信息,针对命令设备15002B指定逻辑卷15001B作为卷信息。
另外,也可以是用户或者主机14000内的其它程序或者与主机14000不同的主机内的程序识别存储装置15000A、15000B,并针对存储装置15000A、15000B双重地发出不同的控制请求。即,针对命令设备15002A发出逻辑卷15001A的控制请求,针对命令设备15002B发出逻辑卷15001B的控制请求。
(6)第六实施方式
在本实施方式中叙述功能I/F的别的结构。使用图16说明本实施方式的结构。
第六实施方式与第四实施方式大致相同。与第四实施方式的不同点在于以下几点。
(1)主机14000、存储装置15000A、存储装置15000B彼此通过LAN(Local Area Network)这样的互联网连接。另外,它们可以通过LAN直接连接,也可以经由交换器连接。
(2)是没有命令设备的结构,三者(主机14000、存储装置15000A、存储装置15000B)之间的通信通过LAN进行。
(3)功能控制请求处理部14005通过LAN将控制请求发送给控制I/F处理部15003A。
(4)收到了控制请求的控制I/F处理部15003A通过LAN将控制请求发送给控制I/F处理部15003B。
控制I/F处理部15003A、15003B处理所收到的控制请求这一点与第四实施方式相同,第六实施方式能够提供与第四实施方式同等的功能I/F。
(7)第七实施方式
在本实施方式中叙述功能I/F的其它的结构。使用图17说明本实施方式的结构。
第七实施方式与第六实施方式大致相同。与第六实施方式的不同点在于以下几点。
(1)功能控制请求处理部14005通过LAN将控制请求发送给两个控制I/F处理部15003A、15003B。
(2)控制I/F处理部15003A不对控制I/F处理部1500B发送控制请求。
控制I/F处理部15003A、15003B处理所收到的控制请求这一点与第六实施方式相同,第七实施方式能够提供与第六实施方式同等的功能I/F。
(8)第八实施方式
在本实施方式中,说明针对存储装置内的逻辑卷使用安全功能(LDEV安全功能)的情况的例子。
图18是表示LDEV安全功能的一个实施方式的图。本实施方式的结构与第四实施方式的图14大致相同。与图14的不同点在于追加了逻辑卷安全信息15005A、15005B。逻辑卷安全信息15005A、15005B是为了从主机14000进行对存储装置15000A、15000B内的逻辑卷15001A、15001B的访问控制而使用的。作为访问控制的示例,有为了抑制逻辑卷15001A、15001B内的数据的窜改,而禁止一切对逻辑卷15001A、15001B的写入访问的控制。另外,作为别的示例有如下功能:对于根据法令具有保存一定期间的义务的数据,禁止预定期间的写入的功能。另外,作为其它的示例有如下功能:从保护机密信息的观点等出发禁止来自特定主机的读出/写入访问的功能。
如图18所示,考虑这样的情况:在使用两台存储装置15000A、15000B通过同步远程复制实现冗余化的结构中,也希望使用LDEV安全功能。在该情况下,也能够使用第四实施方式中说明过的功能I/F来控制LDEV安全功能。具体地讲,在功能处理部15004中,在保存针对对象卷的访问信息的逻辑卷安全信息15005A、15005B中,只要设定与LDEV安全有关的参数或者进行参照即可。
(9)第九实施方式
在本实施方式中,说明在存储装置内的逻辑卷中使用了本地复制功能的情况的示例。
所谓本地复制功能,是将由用户指定的卷的复制生成在与复制源卷相同的存储装置内的功能。使用本功能生成的卷的复制为了数据挖掘(data mining)或数据备份而由主机进行访问或者作为备份数据长时间保存。本地复制功能将想要生成复制的卷和复制目的地卷指定为对(复制对),通过由用户对该对进行操作来进行复制。在以后的说明中,有时将复制对象卷称为正卷,将复制目的地卷称为副卷。在本实施方式中,关于该本地复制功能,通过在活动侧的存储装置和待机侧的存储装置中连携,可以提高可用性。
图19是表示本地复制功能的一个实施方式的图。在图19中,主机14000与存储装置15000A和存储装置15000B连接。并且,存储装置15000A与外部存储装置16000A连接,存储装置15000B与外部存储装置16000B连接。另外,本地复制功能和差分位图(表示正卷15006A、15006B与副卷15007A、15007B之间有无差分的信息)由存储装置15000A与存储装置15000B进行执行和管理。
本实施方式中,正卷15006A、15006B位于存储装置15000A、15000B内,副卷15007A、15007B位于外部存储装置16000A、16000B内。正卷15006A和副卷15007A是对,副卷15007A的实体位于外部卷16001A内。同样地,正卷15006B和副卷15007B是对,副卷15007B的实体位于外部卷16001B内。
<Duplex状态下的动作>
所谓Duplex状态是对状态中的一个,是从正卷15006A、15006B向副卷15007A、15007B进行后述的后台复制的状态。
下面对Duplex状态下的读出/写入处理进行叙述。另外,下文中的读出/写入处理的说明的前提为读出/写入处理的对象卷(正卷15006A、15006B)的活动侧为存储装置15000A。
首先,对读出处理进行说明。从应用程序14002收到了读出请求的操作系统14001利用路径管理功能,(关于读出对象的正卷)判断活动侧的存储装置为存储装置15000A和存储装置15000B中的哪一个,并对活动侧的存储装置15000A发行读出请求。接收到了读出请求的存储装置15000A将读出对象数据发送给主机14000。应用程序14002通过操作系统14001接收读出对象数据。由此,完成读出处理。
下面对写入处理进行说明。从应用程序14002收到了写入请求的操作系统14001利用路径管理功能,(关于读出对象的正卷)判断活动侧的存储装置为存储装置15000A和存储装置15000B中的哪一个,并对活动侧的存储装置15000A发行写入请求。接收到了写入请求的存储装置15000A接收写入数据,并将写入数据保存在未图示的高速缓冲存储器中,并且将与写入数据对应的差分位图的位(bit)设定为1(on)。
然后,该写入数据利用远程复制功能从存储装置15000A的高速缓冲存储器复制到存储装置15000B内的正卷15006B中(同步远程复制)。另外,同步远程复制的方法如前所述。通过同步远程复制从存储装置15000A收到了写入数据的存储装置15000B将写入数据保存在未图示的高速缓冲存储器内,并且将与写入数据对应的差分位图的位设定为1(on)。然后,存储装置15000B对存储装置15000A发送写入完成报告,收到了写入完成报告的存储装置15000A对主机14000发送写入完成报告。
另外,写入到存储装置15000A的正卷15006A、存储装置15000B的正卷15000B中的数据与向正卷15006A、15006B中的写入不同步地被复制到副卷15007A、15007B中(以后将本处理称为后台复制处理)。后台复制处理这样进行:定期地监视差分位图,将记录为有差分(即位是on)的区域的数据从正卷15006A、15006B复制到副卷15007A、15007B中,在复制结束后将位清除(设为off或者0)。
另一方面,待机侧的存储装置15000B也通过同步远程复制以写入数据到达的时刻为契机进行同样的处理。
另外,本发明的上述示例以外的结构、例如正卷15006A、15006B可以位于外部存储装置16000A内,也可以位于存储装置15000A、15000B内。副卷15007A、15007B也可以位于外部存储装置16000A内,也可以位于存储装置15000A、15000B内。
在发生某些故障而导致对活动侧的正卷15006A的I/O请求无法处理的情况下,如已经说明的那样,操作系统14001将I/O请求的对象切换为正卷15006B,继续进行访问。即使在该情况下,由于在存储装置15000B内存在本地复制功能的对,因此使用副卷15007B也能够进行前述的备份等处理。
<对Split和Split状态的动作>
Split状态是对状态中的一个,其指副卷的映象(image)确定了状态。在该状态下,正卷和副卷的内容不一致,正卷和副卷之间的差分通过差分位图进行管理。另外,在该状态下,副卷处于静止的状态,因此用户能够进行前述的备份等处理。
主机14000在使本地复制的Duplex状态的对为Split状态时,使此前说明过的后台复制的动作停止(将此称为对Split)。对Split通过第四至第七实施方式所说明的功能I/F实施。
(1)主机14000通过功能I/F向存储装置15000A、15000B发出本地复制的停止命令。通常,在主机侧在该停止命令之前停止I/O请求的发行。
(2)活动侧和待机侧的存储装置15000A、15000B分别使差分位图上为on的区域的后台复制完成。主机14000从活动侧的存储装置15000A、或者两个存储装置15000A、15000B收到识别两个存储装置15000A、15000B的后台复制完成的消息。
(3)主机14000在收到该消息后再次开始I/O发行。
通过到(2)为止的处理,确定了活动侧和待机侧的存储装置15000A、15000B内的对为Split状态。在该时刻,两个存储装置15000A、15000B内的对状态为Split状态。另外,在Split中进行的向正卷或者副卷进行的写入请求的写入位置,为了后面说明的对再同步而被记录在差分位图中。
然后的I/O请求的处理与Duplex状态大致相同。与Duplex的不同点在于后台复制处理不动作。
<对生成>
将正卷和副卷不成对关系的状态称为Simplex状态,用于从Simplex状态迁移到Duplex状态的处理称为对生成。将对状态从Simplex状态迁移到Duplex状态的过渡状态称为Initial Copying状态。
对生成的指示通过在第四至第七实施方式中说明过的功能I/F实施。
(1)主机14000通过功能I/F对存储装置15000A发出对生成指示。该结果为,在活动侧和待机侧的两个存储装置15000A、15000B中开始对生成处理。
(2)两个存储装置15000A、15000B将对状态设定为Initial Copying状态,将差分位图上的位全部设为on,开始后台复制。
(3)当后台复制完成到差分位图的最后之后,存储装置15000A、15000B将对状态设定为Duplex状态。
Initial Copying状态下的读出/写入处理与Duplex状态下的读出/写入处理相同。
<对再同步>
使对状态从Suspend状态迁移到Duplex状态的操作称为对再同步。对状态从Suspend状态迁移到Duplex状态的过渡状态称为DuplexPending状态。
对再同步的指示通过在第四至第七实施方式中说明过的功能I/F实施。
(1)主机14000通过功能I/F对存储装置15000A发出对再同步指示。该结果为,在活动侧和待机侧的两个存储装置15000A、15000B中开始对再同步处理。
(2)两个存储装置15000A、15000B将对状态设定为Duplex Pending状态,开始后台复制。
(3)当后台复制完成到差分位图的最后之后,存储装置15000A、15000B将对状态设定为Duplex状态。
Duplex Pending状态下的读出/写入处理与Duplex状态下的读出/写入处理相同。
(10)第十实施方式
在本实施方式中,对与第九实施方式不同的本地复制的功能的实施方式进行说明。图20表示本实施方式的一个构成例。
首先,本实施方式与第九实施方式的结构的不同点在于,不存在外部存储装置16000B,副卷15007A、15007B的实体均被映射为成为外部存储装置16000A内的外部卷16001A。其它结构与第九实施方式相同。
通过这样的结构,可以减少副卷15007A、15007B所需要的物理的存储装置。
本实施方式与第九实施方式的处理动作的比较大的区别为:待机侧的存储装置15000B不进行对外部卷16001A的后台复制,而是通过与存储装置15000A的通信,仅操作与对有关的信息即对状态和差分位图15010B。
以下对处理动作进行详细说明。
<Duplex状态下的动作>
下面对Duplex状态下的读出/写入处理进行说明。
首先,读出处理与第九实施方式中的读出处理相同。
下面对写入处理进行说明。从应用程序14002收到了写入请求的操作系统14001利用路径管理功能,(关于读出对象的正卷15006A)判断活动侧的存储装置为存储装置15000A和存储装置15000B中的哪一个,并对活动侧的存储装置15000A发行写入请求。接收到了写入请求的存储装置15000A接收写入数据,并将写入数据保存在未图示的高速缓冲存储器中,并且将与写入数据对应的差分位图15010A的位设定为1(on)。
然后,该写入数据利用远程复制功能从存储装置15000A内的正卷15006A复制到存储装置15000B内的正卷15006B中。另外,同步远程复制的方法如前所述。通过同步远程复制功能从存储装置15000A收到了写入数据的存储装置15000B将写入数据保存在未图示的高速缓冲存储器内,并且将与写入数据对应的差分位图15010B的位设定为1(on)。然后,存储装置15000B对存储装置15000A发送写入完成报告,收到了写入完成报告的存储装置15000A对主机14000发送写入完成报告。
另外,写入到存储装置15000A的正卷15006A中的数据与向正卷15006A的写入不同步地后台复制到副卷15007A中。与第九实施方式中的写入处理不同,在存储装置15000B的正卷15006B中写入的数据没有被后台复制。
存储装置15000A中的后台复制处理这样进行:定期地监视差分位图15010A,将记录为有差分(即位是on)的区域的数据从正卷15006A复制到副卷15007A中,在复制结束后将位清除(设为off或者0)。另外,在本实施方式中,与第九实施方式的写入处理不同,在存储装置15000B中不进行后台复制。
然后,与第九实施方式中的写入处理不同,存储装置15000A将清除了的差分位图15010A上的位的位置信息通知给存储装置15000B。收到了通知的存储装置15000B清除与该位对应的存储装置15000B内的差分位图15010B上的位(差分位)。另外,差分位的位置信息的通知通过存储装置15000B内的命令设备来进行。另外,在本实施方式的结构中,通过命令设备进行了通知,但是在存储装置15000A、15000B之间位通过LAN连接的结构的情况下,也可以利用通过LAN的通信来进行通知。以后,存储装置15000A和存储装置15000B之间的、与差分位或对状态等功能的控制信息有关的通信通过命令设备或LAN进行。
在发生某些故障而导致对活动侧的正卷15006A的I/O请求无法处理的情况下,操作系统14001与第九实施方式一样,将I/O请求的对象切换为正卷15006B,继续进行访问。
<对Split和Split状态的动作>
主机14000在使本地复制的Duplex状态的对为Split状态时,与第九实施方式同样地进行对Split。另外,在对Split中,进行后台复制的结束处理,但是在本实施方式中,在存储装置15000B中,后台复制没有进行动作,因此实际上不能进行结束处理。
此后的I/O请求的处理与Duplex状态大致相同。与Duplex的不同点在于在存储装置15000B内后台复制处理不动作。
<对生成>
对生成的指示通过在第四至第七实施方式中说明过的功能I/F实施,这与第九实施方式相同。
(1)主机14000通过功能I/F对存储装置15000A发出对生成指示。该结果为,在活动侧和待机侧的两个存储装置15000A、15000B中开始对生成处理。
(2)两个存储装置15000A、15000B将对状态设定为Initial Copying状态。存储装置15000A将差分位图15010A上的位全部设为on,开始后台复制。与第九实施方式不同,存储装置15000B将差分位图15010B上的位全部设为on,但是不进行后台复制。
(3)存储装置15000A将与完成了后台复制的区域对应的差分位清除的处理和其附带的动作(差分位的位置信息的通知和差分位的清除)与Duplex状态下的动作相同。
(4)与第九实施方式不同,存储装置15000A在后台复制完成到差分位图15010A的最后之后,将对状态设定为Duplex状态,并向存储装置15000B通知对状态已经变成为Duplex状态。收到了通知的存储装置15000B将对状态设定为Duplex状态。
Initial Copying状态下的读出/写入处理与Duplex状态下的读出/写入处理相同。
<对再同步>
对再同步的指示通过在第四至第七实施方式中说明过的功能I/F实施,这一点与第九实施方式相同。
(1)主机14000通过功能I/F对存储装置15000A发出对再同步指示。该结果为,在活动侧和待机侧的两个存储装置15000A、15000B中开始对再同步处理。
(2)存储装置15000A将对状态设定为Duplex Pending状态,开始后台复制。与第九实施方式不同,存储装置15000B中不进行后台复制。
(3)存储装置15000A在后台复制完成到差分位图15010A的最后之后,将对状态设定为Duplex状态。但是,与第九实施方式不同,进行该处理的仅仅是存储装置15000A。然后,存储装置15000A向存储装置15000B通知对状态已经变成为Duplex状态。收到了通知的存储装置15000B将对状态设定为Duplex状态。
Duplex Pending状态下的读出/写入处理与Duplex状态下的读出/写入处理相同。
(11)第十一实施方式
对AOU(Allocation On Use)功能的结构进行说明。AOU功能是仅对由主机使用(写入)了的区域分配实存储区域的功能。
AOU功能由作为实际保存数据的实卷(Real Voume)的集合体的群组、和作为递交给主机的卷的虚拟卷构成。本实施方式中的虚拟卷是虚拟的,表示分配仅进行了写入的部分的实数据(Real Data)。并不是对递交给主机的卷的全部地址空间分配实数据。另外,实卷可以位于外部存储装置内,也可以位于与虚拟卷相同的存储装置内。
图21表示AOU功能的一个实施方式。在图21中,主机1400与存储装置15000A和存储装置15000B连接。另外,存储装置15000A与外部存储装置16000A连接,存储装置15000B与外部存储装置16000B连接。
本实施方式表示实卷16002A位于外部存储装置16000A、16000B内的结构例。虚拟卷15008A内的数据与池16003A的实卷16002A内的数据对应。同样地,虚拟卷15008B内的数据与池16003B的实卷16002B内的数据对应。另外,虚拟卷15008A和虚拟卷15008B通过同步远程复制功能构成为内容一致。同步远程复制的方法与上述相同。
下面对本结构下的读出/写入处理进行叙述。另外,下面的读出/写入处理的前提为读出/写入处理的对象卷的活动侧为存储装置15000A。
首先,对读出处理进行说明。从应用程序14002收到了读出请求的操作系统14001利用路径管理功能,判断活动侧的存储装置为存储装置15000A和存储装置15000B中的哪一个,并对活动侧的存储装置15000A发行读出请求。接收到了读出请求的存储装置15000A参照虚拟地址实地址转换表15009A,判定是否对读出数据分配了池16003A内的实区域。
在上述的判定中,在分配了实区域的情况下,存储装置15000A从该实区域读出读出数据,并发送给主机14000。应用程序14002通过操作系统14001接收读出数据。由此,读出处理完成。
下面对写入处理进行说明。从应用程序14002收到了写入请求的操作系统14001利用路径管理功能,判断活动侧的存储装置为存储装置15000A和存储装置15000B中的哪一个,并对活动侧的存储装置15000A发行写入请求。接收到了写入请求的存储装置15000A参照虚拟地址实地址转换表15009A,判定是否对写入对象数据分配了池16003A内的实区域(判定200)。
在上述的判定中,在分配了实区域的情况下,存储装置15000A从主机14000接收写入数据,并将写入数据保存在与该实区域对应的未图示的高速缓冲存储器内的区域中。并且,利用同步远程复制功能将用于写入数据的写入请求发送给存储装置15000B。从存储装置15000A收到了写入请求的存储装置15000B判定对写入数据是否分配了池16003A内的实区域。这里。虚拟卷15008A的内容和虚拟卷15008B的内容通过同步远程复制功能而一致,因此,判定为分配了实区域。然后,存储装置15000B从存储装置15000A接收写入数据,并将写入数据保存到与该实区域对应的未图示的高速缓冲存储器内的区域中,并向存储装置15000A进行写入完成报告。
在上述的判定(判定200)中,在没有分配实区域的情况下,存储装置15000A将写入数据地址登录到虚拟地址实地址转换表15009A中,确保实区域。然后,存储装置15000A从主机14000接收写入数据,并将写入数据保存到与该实区域对应的未图示的高速缓冲存储器内的区域中。并且,通过同步远程复制功能将用于写入数据的写入请求发送给存储装置15000B。
从存储装置15000A收到了写入请求的存储装置15000B判定对写入数据是否分配了池16003B内的实区域。这里,虚拟卷15008A的内容和虚拟卷15008B的内容通过同步远程复制功能而一致,因此,判定为没有分配实区域。然后,存储装置15000B将写入数据地址登录到虚拟地址实地址转换表15009B中,确保实区域。并且,存储装置15000B从存储装置1500B接收写入数据,并将写入数据保存到与该实区域对应的未图示的高速缓冲存储器内的区域中,然后,向存储装置15000A进行写入完成报告。收到了写入完成报告的存储装置15000A向主机14000进行写入完成报告。主机14000接收写入完成报告,写入处理完成。
另外,保存在高速缓冲存储器中的数据与向高速缓冲存储器的保存非同步地写入到实卷16002A、16002B。
在由于某些故障而导致应用程序14002不能经由存储装置15000A内的虚拟卷15008A进行读出/写入处理的情况下,操作系统14001提供的路径管理功能检测故障,将读出/写入处理访问路径切换为经由存储装置15000B内的虚拟卷15008B。虚拟卷15008A的内容与虚拟卷15008B的内容通过同步远程复制功能而一致,因此,即使切换访问路径,也能够继续正常地进行读出/写入处理。
(12)第十二实施方式
在本实施方式中,对于与AOU功能的第十一实施方式不同的实施方式进行说明。
首先本实施方式与第十一实施方式的结构的不同点在于,不存在外部存储装置16000B,虚拟卷15008A、15008B的实区域均被分配给外部存储装置16000A内的池16003A内的区域。其它结构与第十一实施方式相同。
另外,本实施方式中,存储装置15000A和存储装置15000B,作为共通的池,使用共同的外部存储装置16000A内的实卷16002A,因此与第十一实施方式不同,限定成实卷16002A位于外部存储装置16000A内的结构。
通过这样的结构,可以削减池所需要的物理的存储装置(HDD等)的容量。
本实施方式与第十一实施方式的处理动作的比较大的区别为:待机侧的存储装置15000B不从高速缓冲存储器对外部存储装置16000A内的实卷16002A进行写入,以及,存储装置15000A将对虚拟地址实地址转换表15009A的更新通知给存储装置15000B,接收到了通知的存储装置15000B对虚拟地址实地址转换表15009B进行更新。
以下对处理动作进行详细说明。
首先,读出处理与第十一实施方式的读出处理相同。
下面对写入处理进行说明。从应用程序14002收到了写入请求的操作系统14001利用路径管理功能,判断活动侧的存储装置为存储装置15000A和存储装置15000B中的哪一个,并对活动侧的存储装置15000A发行写入请求。接收到了写入请求的存储装置15000A参照虚拟地址实地址转换表15009A,判定是否对读出数据分配了池16003A内的实区域(判定300)。
在上述的判定中,在分配了实区域的情况下,存储装置15000A从主机14000接收写入数据,并将其保存在与该实区域对应的高速缓冲存储器内的区域中。并且,利用同步远程复制功能将用于写入数据的写入请求发送给存储装置15000B。接着,在本实施方式中,与第十一实施方式不同,从存储装置15000A收到了写入请求的存储装置15000B立即从存储装置15000A接收写入数据,在将该数据保存到高速缓冲存储器中之后,对存储装置15000A进行写入完成报告。从存储装置15000B收到了写入完成报告的存储装置15000A对主机14000发送写入完成报告。
在上述的判定(判定300)中,在没有分配实区域的情况下,存储装置15000A将写入数据地址登录到虚拟地址实地址转换表15009A中,以确保实区域。然后,存储装置15000A从主机14000接收写入数据,并将写入数据保存到与该实区域对应的未图示的高速缓冲存储器内的区域中。并且,存储装置15000A通过同步远程复制功能将用于写入数据的写入请求发送给存储装置15000B。
接下来,在本实施方式中,与第十一实施方式不同,从存储装置15000A收到了写入请求的存储装置15000B,立即从存储装置15000A接收写入对象数据,在将该数据保存到高速缓冲存储器中之后,对存储装置15000A进行写入完成报告。存储装置15000A在从存储装置15000B收到了写入完成报告后,向存储装置15000B发送对虚拟地址实地址转换表15009A的变更内容。
接收到了对虚拟地址实地址转换表15009A的更新内容的存储装置15000B,对虚拟地址实地址转换表15009B进行同样的变更。由此,存储装置15000B内的虚拟卷15008B内的该写入区域的实区域映射为共同的外部存储装置16000A的实卷16002A内的(通过存储装置15000分配了的)实区域。存储装置15000B将更新了虚拟地址实地址转换表15009B的情况通知给存储装置15000A。然后,收到了通知的存储装置15000A对主机14000进行写入完成报告。另外,存储装置15000A可以同时进行(1)同步远程复制的数据发送和(2)虚拟地址实地址转换表15009A的变更内容的发送,并在接收到了(1)和(2)的处理的完成报告后,对主机14000进行写入完成报告。然后,主机14000接收该写入完成报告,写入处理完成。
另外,保存在存储装置15000A内的高速缓冲存储器中的数据与在高速缓冲存储器中的保存非同步地通过存储装置15000A写入(降级)到实卷16002A中。在降级完成后,存储装置15000A将该情况通知存储装置15000B。收到了通知的存储装置15000B废弃与该写入对应的高速缓冲存储器的区域。另外,也可以不废弃而使与该写入对应的高速缓冲存储器的区域的数据的属性为清洁(高速缓冲存储器的内容与存储装置(HDD等)内的数据的内容一致的状态)。
在由于某些故障而导致应用程序14002不能经由存储装置15000A内的虚拟卷15008A进行读出/写入处理的情况下,操作系统14001提供的路径管理功能检测故障,将读出/写入处理访问路径切换为经由存储装置15000B内的虚拟卷15008B。虚拟卷1500gA的内容与虚拟卷15008B的内容通过同步远程复制功能而一致,因此,即使切换访问路径,也能够继续正常地进行读出/写入处理。
(13)第十三实施方式
在本实施方式中,对于存储装置内的卷使用了逻辑快照功能的情况的示例进行说明。
所谓逻辑快照功能是与本地复制相类似的功能,其是将用户的指示时刻的复制数据提供给主机的功能。但是,具有复制数据的副卷是通过使用保存在属于池的实卷的区域中的复制生成指示以后的写入数据和正卷的数据而提供的虚拟存在的卷。虚拟的副卷的实体保持在作为实卷的集合体的池中,有时将正卷和副卷的关系称为快照对或者简称为对。在逻辑快照功能中,内容与静止化点中的正卷的内容相同的逻辑卷并不是实际生成的,副卷是假想的。逻辑快照功能与先前说明过的本地复制功能不同,其不需要尺寸与正卷的尺寸相同的副卷。由此,可以削减保持副卷的内容所需要的存储装置(HDD等)的容量。
在本实施方式中,关于该逻辑快照功能,也通过在活动侧的存储装置和待机侧的存储装置中连接来提高可用性。
图23表示快照功能的一个实施方式。在图23中,主机14000与存储装置15000A和存储装置15000B连接。并且,存储装置15000A与外部存储装置16000A连接,存储装置15000B与外部存储装置16000B连接。另外,快照功能和差分位图(表示静止化点的正卷15006A、15006B与当前时刻的副卷15007A、15007B之间的有无差分的信息)15010A、15010B,和虚拟地址实地址转换表(管理虚拟的副卷15007A、15007B的实体的位置的表)15009A、15009B,由存储装置15000A与存储装置15000B执行和管理。并且存储装置15000A内的正卷15006A和存储装置15000B内的正卷15006B构成为成为远程复制的对。
本实施方式表示正卷15006A、15006B位于存储装置15000A、15000B内,池16003A、16003B位于外部存储装置16000A、16000B内的结构例。另外,池16003A、16003B位于存储装置15000A、15000B内。
<逻辑快照生成指示>
当利用主机14000的用户指示生成逻辑快照时,通过上述实施方式所记载的方式,对活动侧的存储装置15000A和待机侧的存储装置15000B发行生成指示。收到了生成指示的存储装置15000A、15000B接收该指示,准备虚拟的副卷15007A、15007B,并对该副卷15007A、15007B分配所有为零(无差分的意思)的差分位图15010A、15010B和虚拟地址实地址转换表15009A、15009B。
<对正卷的读出处理>
与前述的实施方式相同。
<对正卷的写入处理>
从应用程序14002收到了写入请求的操作系统14001利用路径管理功能,(关于写入对象的正卷)判断活动侧的存储装置为存储装置15000A和存储装置15000B中的哪一个,并对活动侧的存储装置15000A发行写入请求。接收到了写入请求的存储装置15000A检查写入对象地址的差分位图15010A。结果为,如果是1,则作为正卷15006A的写入数据保存在高速缓冲存储器中。另一方面,在为零时,进行用于将正卷15006A的更新前的数据作为副卷15007A用的数据的以下所示的Copying On Write处理。
(步骤1)确保属于池16003A的实卷16002A的存储区域。
(步骤2)在利用高速缓冲存储器的同时从正卷15006A将更新前的数据复制到该存储区域。
(步骤3)将对退避的更新前数据的保存目的地进行管理的池管理信息更新,弄清楚该数据保存在了池16003A内的实卷16002A中的哪个区域中。
(步骤4)将所收到的写入数据作为发给正卷15006A的该地址的数据保存在高速缓冲存储器中,并返回写入完成响应。
与此并行地,该写入数据通过远程复制功能从存储装置15000A内的正卷15006A复制到存储装置15000B的正卷15006B中,进行同样的处理。因此,各存储装置15000A、15000B分别进行虚拟地址实地址转换表15009A、15009B或差分位图15010A、15010B的管理。
<对副卷的读出处理>
从应用程序14002收到了读出请求的操作系统14001利用路径管理功能,(关于读出对象的副卷)判断活动侧的存储装置为存储装置15000A和存储装置15000B中的哪一个,并对活动侧的存储装置15000A发行读出请求。接收到了读出请求的存储装置15000A检查登录在正卷15006A中的差分位图15010A。结果为,如果读出对象地址的位是0,则将保存在正卷15006A的相同地址中的数据返回给主机14000,操作系统14001将该数据返回给应用程序14002。另一方面,在读出对象地址的位为1时,参照虚拟地址实地址转换表15009A,决定与正卷15006A的读出对象地址相关的更新前的数据的场所,开从属于池16003A的实卷16002A将数据返回给主机14000(应用程序14002)。
<对副卷的写入处理>
从应用程序14002收到了写入请求的操作系统14001利用路径管理功能,(关于写入对象的副卷)判断活动侧的存储装置为存储装置15000A和存储装置15000B中的哪一个,并对活动侧的存储装置15000A发行写入请求。接收到了写入请求的存储装置15000A检查分配给正卷15006A的写入对象地址的差分位图15010A。结果为,如果是1,则通过参照虚拟地址实地址转换表15009A,来查找保存有正卷15006A的该地址的更新前数据的、池16003A内的实卷16002A的存储区域,并将写入数据保存到该区域中。另一方面,在为零的情况下,进行以下处理。
(A)确保属于池16003A的实卷16002A的区域。
(B)将写入数据保存到所确保的区域中,通过更新虚拟地址实地址转换表,来弄清楚该写入区域保存在了池16003A内的实卷16002A的哪个区域。
(C)将差分位图15010A的与该地址对应的位更新成1。
与此并行地,该写入数据通过远程复制功能,从存储装置15000A内的正卷15006A复制到存储装置15000B的正卷15006B中,进行同样的处理。因此,各存储装置15000A、15000B分别进行虚拟地址实地址转换表15009A、15009B或差分位图15010A、15010B的管理。
<Copying After Write处理>
存储装置15000A、15000B,也可以执行以下所述的Copying AfterWrite处理,来代替对正卷15006A、15006B的写入时执行的Copying OnWrite处理。
(步骤1)将接收到的写入数据作为发给正卷15006A、15006B的该地址的数据保存在高速缓冲存储器中,返回写入完成响应。其中,该写入数据的降级被抑制。
(步骤2)确保属于池16003A、16003B的实卷16002A、16002B的存储区域。
(步骤3)在利用高速缓冲存储器的同时从正卷15006A、15006B将更新前的数据复制到该存储区域。
(步骤4)将对退避了的更新前数据的保存目的地进行管理的池管理信息更新,弄清楚该数据保存在了池16003A、16003B内的实卷16002A、16002B中的哪个区域中。
(步骤5)允许被抑制了的写入数据的降级。
<故障>
在发生某些故障而导致对活动侧的正卷15006A和副卷15007A的I/O请求无法处理的情况下,如已经说明的那样,操作系统14001能够将I/O请求的对象切换为正卷15006B和副卷15007B,继续进行访问。另外,如前所述,优选的是:快照功能的正卷15006A、15006B和副卷15007A、15007B希望对同一存储装置15000A、15000B发行写入请求,因此在需要对正卷15006A、15006B进行切换的情况下,副卷15007A、15007B也同时进行,相反,在需要对副卷15007A、15007B进行切换的情况下,进行对正卷15006A、15006B也进行切换的连携。
(14)第十四实施方式
在本实施方式中,说明与第十三实施方式不同的逻辑快照功能的实施方式。图24表示本实施方式的一个结构例。
首先,本实施方式与第十三实施方式的结构的不同点在于,不存在外部存储装置16000B,虚拟的副卷15007A、15007B的实区域都分配给外部存储装置16000A内的池16003A内的区域。其它结构与第十三实施方式相同。
另外,本实施方式中,存储装置15000A和存储装置15000B,作为共同的池16003A,使用共同的外部存储装置16000A内的实卷16002A,因此与第十三实施方式不同,限定为实卷16002A位于外部存储装置16000A内的结构。
通过这样的结构,可以削减池16003A所需要的物理的存储装置(HDD等)的容量。
本实施方式与第十三实施方式的处理动作的比较大的区别如下所述。
(A)通常时,代替待机侧的存储装置15000B不从高速缓冲存储器对外部存储装置16000A内的实卷16002A进行写入,活动侧的存储装置15000A在将与正卷15006A、副卷15007A、池16003A内的实卷16002A对应的数据降级时将其转发给待机侧的存储装置15000B,在待机侧的存储装置15000B中由此废弃高速缓冲存储器上的数据。
(B)存储装置15000A将对虚拟地址实地址转换表15009A的更新通知给存储装置15000B,接收到了通知的存储装置15000B对虚拟地址实地址转换表15009B进行更新。
另外,在(A)的处理中,关于与副卷15007A、15007B或者池16003A内的实卷16002A对应的数据,也可以使高速缓冲存储无效化。在该情况下,在所述的Copying On Write处理中的更新前数据退避中,在与正卷15006A、15006B对应的写入完成之前,包括向池16003A内的实卷16002A的退避数据保存,因此虽然性能恶化,但是由于在Copy After Write方式中没有其,因此是合适的。
以上对本发明的几个实施方式进行了说明,但是这些实施方式只不过是本发明的说明的例示,本发明的范围并不仅限定于这下实施方式。本发明在不脱离其主旨的情况下,还能够通过其它实施方式实施。例如,可以代替HDD或者高速缓冲存储器,而使用非易失性的存储器。作为非易失性存储器,例如能够采用闪存(具体地讲例如NAND型闪存)、MRAM(Magnetoresistive Random Access Memory)、PRAM(PaRAmeter RandomAccess Memory)等各种非易失性存储器。
(15)第十五实施方式
与图1对应的部分标以相同标号进行表示的图28是表示使用了具有虚拟化功能的网络交换器(虚拟化交换器)28000L、28000R的情况下的实施方式的概况图。
<1.本实施方式的硬件结构>
虚拟化交换器28000L、28000R具有多个网络端口,网络端口控制用的处理器进行端口的转发控制、故障的检测和后述的虚拟化。另外,在本概况图中虽然没有表示,但是与图1所述的上述第一实施方式一样,虚拟化交换器28000L、28000R与管理主机连接,并能够通过该管理主机进行针对虚拟化交换器28000L、28000R的设定,或者进行虚拟化交换器28000L、28000R之间的设定复制。另外,关于其它组成部分,由于与第一至第十四实施方式相同,因此省略说明。
<2.使用了虚拟化交换器的本实施方式的特征>
虚拟化交换器28000L、28000R提供的虚拟化具有与第一至第十四实施方式不同的以下特征。
(特征1)能够提供虚拟的WWN(或者端口名称)。光纤通道交换器的端口称为F端口或者E端口,具有与通常的主机或者存储装置具有的N端口(意味着成为通信的起点或者终点)不同的属性。因此,当在虚拟化交换器28000L、28000R中进行虚拟化的情况下,如果在虚拟化交换器28000L、28000R两者中生成/提供在内部实际没有连接的虚拟的WWN,则主机1100上的软件不需要明确地切换I/O路径。另外,更具体地讲,光纤通道的通信通过所述的端口名称进行,但是其为光纤通道交换器分配的识别符,在识别符内部包含用于识别选路用的交换器的信息。因此,两个虚拟化交换器28000L、28000R针对主机1100,分配端口名称,进行选路,以便能够以具有虚拟的WWN的N端口经由虚拟的交换器与两个虚拟化交换器28000L、28000R连接的方式进行模拟。
(特征2)不通过交换器进行高速缓冲存储。光纤通道交换器通常仅参照控制标题(head)来确定转发目的地,不进行数据的缓冲,以所谓的直通交换方式(Cut-through)进行转发控制,因此,大多在提供虚拟化功能的情况下也不进行高速缓冲存储。另外,在进行高速缓冲存储的情况下关于本特征所关系到的处理,可以通过与此前的实施方式同样的处理实现。另外不进行高速缓冲存储的情况下的虚拟化交换器28000L、28000R的读出/写入处理可以考虑与下面的写穿(write through)型的控制类似的处理:在收到I/O请求之后,等待向存储装置1500L的请求处理转发以及处理完成,然后向主机1100返回处理完成。
(特征3)本实施方式中的高可用化只要通过在两个虚拟化交换器28000L、28000R中进行相同的虚拟化设定即可。这由于在虚拟化交换器28000L、28000R中没有进行高速缓冲存储而可以实现。另外,当虚拟化交换器28000L、28000R进行远程复制或者本地复制时,在有差分位等存在于交换器内部的信息的情况下,与此前的实施方式相同,需要在正系统和副系统两者中保持内部信息。
另外,此前以虚拟化交换器28000L、28000R为光纤通道交换器进行了说明,但是虚拟化交换器28000L、28000R也可以是使用Ethernet(注册商标)、iSCSI或者TCP/IP的交换器。在该情况下,WWN为MAC地址,端口名称能够与IP地址对应,但是在Ethernet(注册商标)或TCP/IP的情况下,不提供虚拟的交换器,而直接将虚拟的端口和分配给它的IP地址提供给外部,针对该IP地址进行选路即可。
(16)第十六实施方式
下面对第十六实施方式进行说明。本实施方式是关于高可用化结构的虚拟化存储装置提供与第十一实施方式和第十二实施方式说明过的AOU功能的发明。另外,关于在下文中没有说明的功能等具有与第十一至第十五实施方式的信息系统相同的结构。
如前所述,关于AOU功能和虚拟化存储装置利用该功能提供给主机1100的卷(以后称为AOU卷),不是从使用开始时对AOU卷的所有地址分配HDD的存储区域,而是针对由主机1100进行了写入的地址分配HDD的存储区域(更准确地说由HDD构成的卷(称为池卷)的存储区域的一部分或者全部)的功能。AOU功能能够有效地利用HDD。之所以这样,在通过主机1100动作的文件系统的一部分种类中,由于不能够在访问继续过程中进行动态的数据容量扩充,因此主机1100的管理者还将将来可能使用的数据容量包括在内进行卷的容量设定。因此,在现有技术中,在进行了卷的容量设定的时刻不使用,并且必须安装将来未必使用的HDD。
另外,在从HDD容量的有效利用的观点来考虑的情况下,虽然最好是针对向AOU卷发生写入之前的区域没有分配池卷区域的状态,但是,在有其它目的(高性能化)的情况下,并不限定于此。
<1.本实施方式的概要>
与图1对应的部分以相同标号进行表示的图29表示本实施方式的概要。本实施方式的信息系统中,两台的虚拟化存储装置1000L、1000R与共同的存储装置1500L连接。并且高可用化了的两台虚拟化存储装置1000L、1000R具有AOU功能,由此缩短了信息系统的服务停止时间。另外,只要没有特别表示,存储装置1500L处于可以从两个虚拟化存储装置1000L、1000R进行访问的状态,换言之,处于共享的状态,但是也可以存在没有共享的存储装置,将该存储装置内的卷作为AOU的存储区域使用。另外虽然在图29中没有表示,但是在本实施方式的情况下与第一实施方式一样,在虚拟化存储装置1000L、1000R上连接有管理主机1200(图1)。
这里,以与上述说明的实施方式不同的部分为中心进行说明。两台的虚拟化存储装置1000L、1000R使用AOU地址变换信息31030L、31030R生成AOU卷29010L、29010R,并将其提供给主机1100。在AOU地址变换信息31030L、31030R中包含AOU卷29010L、29010R的地址空间与虚拟化存储装置1000L、1000R内的池卷的区域或存储装置1500L内的池卷的区域的对应关系。
当从主机1100对AOU卷29010A发行写入请求时,正系统的虚拟化存储装置1000L判断对请求对象的地址范围是否分配了池卷的区域,在没有分配的情况下,分配虚拟化存储装置1000L或者存储装置1500L所具有的池卷的区域。并且,通过处理写入请求,在正系统的虚拟化存储装置1000L的高速缓冲存储区域中保存写入数据输入。而且,针对AOU卷29010A的写入通过同步远程复制转发给副系统的虚拟化存储装置1000R,与正系统一样地,在高速缓冲存储区域中保存写入数据。
然后,两个虚拟化存储装置1000L、1000R进行降级处理,但是,对于与存储装置1500L对应的写入处理,虚拟化存储装置1000L、1000R中仅一方进行降级。之所以这样,是因为当两个虚拟化存储装置1000L、1000R独立地进行写入数据的降级时,保存在存储装置1500L中的数据会变成不整合状态(例如,最后写入的数据消失、返回到前一次的写入数据等数据消失或者写入顺序的不整合)。因此,在需要降级之前,需要预先确定由哪个虚拟化存储装置1000L、1000R进行降级。在本实施方式中,作为一个例子,对由正系统的虚拟化存储装置1000L进行降级的情况进行了说明,但是也可以由虚拟化存储装置1000R进行降级,或者也可以根据降级对象的地址空间来确定由哪个虚拟化存储装置1000L、1000R来承担该作用。
在读出请求的情况下,正系统的虚拟化存储装置1000L首先判断判断对请求对象的地址范围是否分配了池卷的区域。判断的结果为,对分配了的区域,虚拟化存储装置1000L从该池卷的区域(包括未图示的高速缓冲存储器上的数据)读出数据,转发给主机1100,在没有分配的情况下,返回预先确定的值(例如0)。
图30是表示在正系统的虚拟化存储装置1000L的功能停止后向副系统的虚拟化存储装置1000R切换I/O请求处理后的概况图。如该图所示,副系统的虚拟化存储装置1000R根据AOU地址变换信息31030R使用存储装置1500L或虚拟化存储装置1000L内部的AOU地址变换信息31030R来处理I/O请求。因此,正系统和副系统的虚拟化存储装置1000L、1000R通过在通常时进行通信,将AOU地址变换信息31030L、31030R的与存储装置1500L有关系的部分维持为相同的内容。由此,副系统的虚拟化存储装置1000R能够接管存储装置1500L的分配状况。另外,副系统的虚拟化存储装置1000R只要不是从正系统的虚拟化存储装置1000L内的高速缓冲存储器中降级的数据,就不从高速缓冲存储器中删除保存在该高速缓冲存储器中的数据。由此,在功能停止时,在从正系统的虚拟化存储装置1000L内的高速缓冲存储器挥发出了数据的情况下,也能够使数据消失不发生。
<2.虚拟化存储装置中执行的程序和信息>
与图6相同的部分标以相同的标号的图31表示虚拟化存储装置1000L、1000R上执行的软件程序和该程序使用的信息。
在该图31中,面向AOU的I/O处理程序31010是处理虚拟化存储装置1000L、1000R收到的I/O请求的程序,其一部分包括第一至第十四实施方式中的I/O处理程序6020(图6)的功能。
AOU管理程序31020是用于执行与AOU功能有关的设定或后述的重复删除(Deduplication)处理的程序。另外,AOU地址变换信息31030是关于AOU卷29010L、29010R与池卷的区域的对应关系的信息。另外,AOU池管理信息31040是用于管理AOU功能使用的池卷的集合(池)的信息。
<2.1.AOU地址变换信息>
图35表示AOU地址变换信息31010的具体内容。虚拟化存储装置1000L、1000R,通过提供给主机1100的卷的识别符和切成从开头确定了该卷内的地址空间的大小(段尺寸)的区域(段)的地址,来管理数据的保存区域等。另外,该段尺寸是池定义时设定的值。
在图35中,“AOU卷识别符”和“地址空间”分别表示包括对应的段的AOU卷29010L、29010R的识别符和该AOU卷29010L、29010R内的该段的地址。另外,池ID表示对该AOU卷29010L、29010R分配区域的池的识别符。
“COW(Copy On Write)标记”,是表示在针对该段的写入请求到达时,是否需要将对应的写入数据保存到另外确保了的池卷区域中的标记。本标记在不同的段与相同的池卷的区域对应的情况下,有时为表示需要将写入数据保存到其它池卷中的“ON”。
“池卷区域识别符”是表示实际保存该段应该保存的数据的池卷区域的识别符的信息(识别信息)。该识别信息例如由以下信息构成。
(1)使用虚拟化存储装置1000L、1000R内部的卷的区域的情况下,内部卷的识别符和地址区域。
(2)在使用存储装置1500L内的卷的区域的情况下,端口名称等识别装置或者通信目的地的信息,LUN等识别装置内的卷的信息,以及地址范围。
(3)未分配区域的情况下,空
“接管区域”是表示在对应的“池卷区域识别符”的栏中记载有识别符的池卷是否由正系统和副系统的虚拟化存储装置1000L、1000R两者管理的信息(在由两者管理的情况下为“是”,在不由两者管理的情况下为“否”)。
“AOU卷识别符”保持与通过对应的AOU卷识别符而确定的卷成对的AOU卷29010L、29010R的识别符。作为该识别符,使用将对应的虚拟化存储装置1000L、1000R的识别符和对应的AOU卷29010L、29010R的识别符组合起来的识别符。
另外,如上所述,以段为单位进行AOU的区域管理的理由之一是:如果以块为单位进行管理,则AOU地址变换信息31030等管理信息变得过大,因此导致I/O性能恶化。
<2.2.AOU池管理信息>
图36表示AOU管理信息31040的具体的结构。AOU地址管理信息31040按每个池保持以下信息。
(1)段尺寸
(2)分配给池的卷(池卷)的列表
(3)在池卷的区域中没有分配的区域的列表
(4)空闲容量
(5)表示警告容量不足的警报的临界值
(6)设定了池对的对象的虚拟化存储装置的识别符和该装置那的池ID。另外,对于“池对”将在以后说明。
<3.初始化>
本实施方式的初始化按照以下步骤进行。
1.池的初始化
2.AOU卷的生成
3.AOU卷彼此的关联
4.同步远程复制的设定
下面对详细内容进行说明。另外,在下文中,以一部分处理的处理主体为“管理主机”或“程序”进行说明,但是,关于“管理主机”的部分,当然时该管理主机内的处理器根据保存在该管理主机内的存储器中的对应的程序来执行其处理,关于“程序”的部分,当然是对应的虚拟化存储装置1000L、1000R内的处理器1011根据其程序执行处理。
<3.1.池的初始化>
按照以下步骤进行池的初始化。
(步骤1)根据来自管理主机1200的指示,在虚拟化存储装置1000L、1000R的一方中执行的AOU管理程序31020生成池。此时,该指示中包括段尺寸。另外,在池生成的过程中,AOU管理程序31020生成包括池ID的AOU池管理信息31040的对应条目(entry).
(步骤2)通过与步骤1同样的处理,在虚拟化存储装置1000L、1000R中另一方中也生成池卷。
(步骤3)管理主机1200对虚拟化存储装置1000L、1000R两者发行应该将在步骤1和步骤2中生成的池设定为对的指示。在该指示中包括:构成池对的池的ID与提供该池的虚拟化存储装置1000L、1000R的识别符的组。收到了该指示的AOU管理程序31020与成为池对的对象的虚拟化存储装置1000L、1000R的AOU管理程序31020进行通信,在能够确认设定成两个池的段尺寸相等、两个池都已经没有构成对的时候,将所述池设定成池对。另外,AOU管理程序31020在将所述池设定成对时,将对象的池ID的识别符登录到AOU池管理信息31040中。
(步骤4)管理主机1200对虚拟化存储装置1000L、1000R中的一方发行池卷生成的指示。另外,在该指示中包括在虚拟化存储装置1000L、1000R内部定义的卷的识别符、收到了该指示的虚拟化存储装置1000L、1000R的AOU管理程序31020将所指定的卷的属性变更为池卷,将所指定的卷的识别符追加到AOU管理信息31040的池卷列表中。
(步骤5)管理主机1200向虚拟化存储装置1000L、1000R中的另一方发行与步骤3相同的指示。收到了指示的虚拟化存储装置1000L、1000R中的另一方进行与步骤3相同的处理。
另外,管理者在判断为不将虚拟化存储装置1000内部的卷用于AOU时,可以省略步骤4和步骤5。
(步骤6)管理主机1200对虚拟化存储装置1000L、1000R中的某一方发行将存储装置1500L的卷设定在池卷的指示。另外,为了便于理解,在以后的说明中,使指示发行目的地为虚拟化存储装置1000L,使与指示发行目的地成对的虚拟化存储装置为虚拟化存储装置1000R,但是,也可使该关系反过来。这里,在该指示中,除了识别存储装置1500L和该卷的信息之外,还包括表示与该卷构成池对的对象的虚拟化存储装置1000R接管的信息。收到了指示的虚拟化存储装置1000L的AOU管理程序31020与成对的虚拟化存储装置1000R进行如下所示的连携。
(A)收到了指示的虚拟化存储装置1000L,通过对指示中包括的存储装置1500L发行读出请求(或者写入请求),来确认是否是该存储装置1500L和该卷都存在,而且该卷可以被访问。在存储装置1500L或者卷不存在,或者该卷无法进行访问的情况下,向管理主机1200返回错误,在可以访问的情况下前进到下一步骤。另外,也可以在该错误中增添表示不能对存储装置1500L进行访问的信息,并将该信息显示在管理主机1200中。
(B)收到了指示的虚拟化存储装置1000L对成对的虚拟化存储装置1000R转发池卷生成指示。另外,在该指示中包含识别来自管理主机1200的指示中所包括的对象卷的信息,以及表示该卷由属于池对的两个池管理的信息。另外,池卷生成指示的转发目的地可通过参照AOU池管理细细31040中的“池对的识别信息”来确定。
(C)虚拟化存储装置1000R当收到(B)的指示时,通过进行与(A)同样的处理,来确认存储装置1500L内的该卷是否可以访问。然后,如果该卷可以访问,则在AOU池管理信息31040的池卷列表中追加该卷和表示为共同管理的信息,并向收到了上述指示的虚拟化存储装置1000L返回结果。另一方面,如果确认的结果为该卷不能访问,则添加表示从成对的虚拟化存储装置1000R无法访问存储装置1500L的信息,返回表示失败的结果。
(D)收到了结果的收到了上述指示的虚拟化存储装置1000L在对该卷的访问结果为失败的情况下,将其理由和结果转发给管理主机1200,结束一连串的处理。另一方面,在对该卷的访问结果为成功的情况下,将该结果与表示该卷为应该共同管理的卷的信息一起追加到AOU池管理信息31040的池卷列表中,并且将表示成功的结果转发给管理主机1200,然后结束。
另外,在(C)和(D)中,在将卷追加到了池卷列表中的情况下,AOU管理程序21020对保存在对应的“空闲容量”的栏中的空闲容量更新为加上追加的卷的容量而得的值,将该卷的区域追加到空闲区域列表中。另外,步骤5的处理也可以通过从管理主机1200对虚拟化存储装置1000L、1000R两者分别发行指示来进行。
(步骤7)管理主机1200对虚拟化存储装置1000L、1000R转发容量警告的设定值的设定指示,收到了该指示的虚拟化存储装置1000L、1000R分别将指示中包含的值设定到AOU池管理信息30140中。
<3.2.AOU卷的生成>
AOU卷29010L、29010R的生成通过分别对虚拟化存储装置1000L、1000R发出指示来进行。以下表示其顺序。
(步骤1)管理主机1200向虚拟化存储装置1000L、1000R分别转发卷的容量和伴随池卷ID的AOU卷生成指示。
(步骤2)收到了该指示的虚拟化存储装置1000L生成与新的AOU卷29010L相关的AOU地址变换信息31030L。此时,对于所有的段,将对应的“COW标记”和“接管区域”设定为“否”,将“池卷区域识别符”设定为“空”。然后,虚拟化存储装置1000L返回生成完成响应。
(步骤3)同样地,收到了该指示的虚拟化存储装置1000R生成关于新的AOU卷29010R的AOU地址变换信息31030R。生成的详细内容与步骤2相同。
另外,关于AOU卷29010L、29010R的生成,也可以从管理主机1200向虚拟化存储装置1000L、1000R中的一方发出指示,收到了指示的虚拟化存储装置1000L、1000R对成对的虚拟化存储装置1000R、1000L重新指示。另外,也可以通过使卷生成指示包括端口名称或LUN,来对AOU卷29010L、29010R分配由管理者指定的端口名称下的LUN。另外,也可以在AOU卷29010L、29010R的生成指示后分配端口名称和LUN。
<3.3.AOU卷彼此之间的关联(associate)>
将各个虚拟化存储装置1000L、1000R中生成的AOU卷29010L、29010R之间关联起来。为此,管理主机1200向虚拟化存储装置1000L、1000R转发包含这两个AOU卷29010L、29010R的识别符的关联指示。接收到该指示的虚拟化存储装置1000L、1000R在AOU地址变换信息31030相应的“AOU卷识别符”栏中,登录成对的AOU卷29010L、29010R。通过对各个虚拟化存储装置1000L、1000R进行本指示来进行AOU卷29010L、29010R彼此的关联,但也可以按照其它实施方式所公开的情况以下形式进行实现:虚拟化存储装置1000L、1000R中的一方对虚拟化存储装置1000R、1000L中的另一方转发本指示。
此外,当上述关联的指示时,确认在指示中包含的AOU卷29010L、29010R是否存在,并且从池对的一方的池生成AOU卷29010L、29010R中的一方,从池对的另一方的池生成AOU卷29010L、29010R中的另一方,由此,可以简单地实现池管理。此外,也可以伴随AOU卷29010L、29010R的生成和同步远程复制的设定来进行本关联。
<3.4.同步远程复制的设定>
在至此说明过的同步远程复制中需要在Initial Copying状态下复制卷的所有区域,但是在本实施方式中,按以下所示的步骤来进行形成复制。此外,为了便于理解,在以后的说明中设正系统的虚拟化存储装置1000为虚拟化存储装置1000L、设副系统的虚拟化存储装置1000为虚拟化存储装置1000R来进行说明。
(步骤1)成为复制源(即、相对于该卷为正系统)的虚拟化存储装置1000L向变量i中代入AOU卷29010L的先头段。
(步骤2)复制源虚拟化存储装置1000L分别确认AOU地址变换信息31030中的段i的“接管区域”和“池卷区域识别符”,在各条件下进行以下处理。
(A)当“接管区域”为“否”时,按照通常的形成复制来复制段i的数据。这是由于虚拟化存储装置1000L内部的池卷区域为了确保冗余性而必须要进行复制。
(B)当“接管区域”为“是”时,将与段i有关的该虚拟化存储装置1000L内未图示的高速缓冲存储器上的脏数据(Dirty Data)降级,或通过形成复制向复制目的地(即相对于该卷为副系统)虚拟化存储装置1000R的高速缓冲区域进行复制。由于除高速缓冲存储器上的数据以外数据位于正系统的虚拟化存储装置1000L的外部,所以通过向该虚拟化存储装置1000L的外部移动高速缓冲存储器上的数据即使正系统的虚拟化存储装置1000L功能停止也不会丢失数据。
(c)当“池卷区域识别符”为“空(NULL)”时,由于没有将区域分配给正系统·副系统所以不对段i进行复制。
(步骤3)在段i为最后段时复制源虚拟化存储装置1000L结束形成复制使对状态向Duplex状态转移,当不是最后段时对变量i设定下一段并返回步骤1。
此外,也可以在虚拟化存储装置1000L、1000R间的再同步处理中使用上述处理,还可以在虚拟化存储装置1000L、1000R中的一方功能停止并恢复后的处理中使用上述处理。
<4.关于I/O请求处理>
下面,对本实施方式的I/O请求处理进行说明。
<4.1.请求处理>
图32是表示面向AOU的I/O处理程序31010接收到写入请求时执行的处理内容的流程图。此外,在目前为止的说明中,没有分别对构成写入请求的命令和写入数据使用流程图进行说明,但由于本处理存在写入请求对象的一部分区域为已分配区域而其它区域为未分配区域的情况,所以参照流程图进行详细地说明。
(S32001)面向AOU的I/O处理程序31010接收构成写入请求的写入命令。在该写入命令中包含地址(位置)和数据长度。
(S32100)面向AOU的I/O处理程序31010根据接收到的写入命令执行分配处理。通过执行本处理,面向AOU的I/O处理程序31010检查是否对每一段分配池卷区域,当存在未分配池卷区域的段、或分配有与其它段共享的区域时,对“COW标记”为“ON”的段(在写入时需要写入到共享区域以外区域的段)分配池卷区域。此外,面向AOU的I/O处理程序31010使变换信息31030反映相应的池卷区域的分配结果。
(S32003)面向AOU的I/O处理程序31010确认AOU卷29010R、29010L的属性,当该AOU卷29010R、29010L为复制源卷时执行S32004,当不是复制源时执行S32005。
(S32004)面向AOU的I/O处理程序31010通过调用远程复制程序6010向具有复制目的地卷的虚拟化存储装置(副系统的虚拟化存储装置)1000R转发同步远程复制的命令。
(S32005)面向AOU的I/O处理程序31010接收构成与S32001对应的写入请求的写入数据(一部分或者全部)。
(S32006)面向AOU的I/O处理程序31010确认AOU卷29010R、29010L的属性,当AOU卷29010R、29010L为复制源卷时执行S32007,当不是复制源卷时执行S32008。
(S32007)面向AOU的I/O处理程序31010通过调用远程复制程序6010向具有复制目的地卷的许你还存储装置(副系统的虚拟化存储装置)1000R转发写入数据。
(S32008)面向AOU的I/O处理程序31010根据AOU地址变换信息31030由AOU卷29010R、29010L上的地址来求出实际保存写入数据的池卷区域。然后,在高速缓冲存储器上保存·管理针对所求出的区域的写入数据。
(S32009)面向AOU的I/O处理程序31010判断写入数据接收是否有延续,当有延续时再次执行S32005。
(S32010)面向AOU的I/O处理程序31010向正系统的虚拟化存储装置1000L或主机1100转发写入结束的应答。结束该写入请求处理。
此外,副系统的虚拟化存储装置1000R与从主机1100接收写入命令同样地执行同步远程复制的命令的接收。同样地,虚拟化存储装置1000R与从主机1100接收写入数据同样地执行基于远程复制数据转发的数据接收。由此,可以理解副系统的虚拟化存储装置1000R中的写入请求处理。
<4.1.1.分配处理>
以下对图32的分配处理进行说明。
(S32101)面向AOU的I/O处理程序31010对每一段分割由写入命令指定的写入范围(即写地址和数据长度)。
(S32102)面向AOU的I/O处理程序31010向变量i中代入通过分割而生成的多个段的最初段。
(S32103)面向AOU的I/O处理程序31010判断段i的分配状态和是否需要COW(Copy On Write)。此外,在此时的判断中使用AOU地址变换信息31030。当该判断结果为不需要分配池卷区域时执行S32105,当未分配池卷区域或虽已分配但有COW标记时(例如,共享其它AOU卷29010R、29010L上的段和分配区域时)执行S32104。
(S32104)面向AOU的I/O处理程序31010向段i进行分配,所以从池卷区域中找出未使用的区域。然后,向AOU地址变换信息31030的“池卷区域识别符”登录所找出的区域。此外,当没有找到未使用区域时,转发表示写入命令失败的应答,结束该分配处理。
此外,在转发应答失败时,可以与该应答失败一起转发其原因的错误消息,还可以包含表示该应答失败的原因是池容量不足的信息。并且,在确立有“COW标记”时的区域分配的情况下,面向AOU的I/O处理程序31010也可以在区域分配时从旧区域(共享区域)向分配区域进行数据复制。但是,在段i全部为写入对象时可以省略该数据复制。此外,面向AOU的I/O处理程序31010也可以伴随区域分配,编辑AOU池管理信息的空闲区域列表,并进行空闲容量的削减。
此外,面向AOU的I/O处理程序31010向副系统的虚拟化存储装置1000R转发所分配的池卷上的区域和分配到该区域的AOU卷29010R、29010L的段信息。此外,也可以将该分配信息与同步远程复制命令一起转发。
(S32105)面向AOU的I/O处理程序31010确认下一段是否存在,当存在时执行S32106,当不存在时结束本处理,返回到写入请求处理。
(S32106)面向AOU的I/O处理程序31010向变量i中代入下一段。
通过以上处理,虚拟化存储装置1000L确认每段的分配状况,根据需要向段分配池卷区域。
<4.1.2.副系统的池卷区域分配方法>
副系统的虚拟化存储装置1000R的池卷区域分配步骤(S32104)根据从正系统的虚拟化存储装置1000R接收到的分配信息通过以下方法对段分配区域。
(A)当正系统的虚拟化存储装置1000L从共享的存储装置(即,存储装置1500L)的池卷分配区域时,副系统的虚拟化存储装置1000R将AOU地址变化信息31030中的对应段的“接管区域”设定为“是”,设定在接收到“池卷区域识别符”的区域识别符中。由此,与共享存储装置1500L有关的池卷区域的分配在正系统和副系统中成为相同的对应。
(B)当正系统的虚拟化存储装置1000L从虚拟化存储装置1000R内部的卷分配区域时,副系统的虚拟化存储装置1000R找出内部卷的空闲区域,并分配给相应的段。其结果是,AOU变换信息31030中的该段的“接管区域”设定为“否”,内部卷的区域设定“池卷区域识别符”。由此,正系统的虚拟化存储装置1000L分配了内部卷区域的段,也可以是在副系统的虚拟化存储装置1000R中分配有内部卷。
<4.2.读出请求处理>
图33是表示面向AOU的I/O处理程序31010接收到读出请求时执行的处理内容的流程图。以下参照该流程图对该处理内容进行说明。
(S33001)面向AOU的I/O处理程序31010接收构成读出请求的读出命令。此外,在接收到的读出命令中包含地址(位置)和数据长度。
(S33002)面向AOU的I/O处理程序31010对每一段分割由读出命令指定的读出范围(即写入地址和数据长度)。
(S33003)面向AOU的I/O处理程序31010向变量i代入由分割而生成的多个段的最初段。
(S33004)面向AOU的I/O处理程序31010判断是否向段i分配池卷区域。此外,在判断中使用AOU地址变换信息31030。该判断的结果是当分配池卷区域时执行S33006,当未分配池卷区域时执行S33005。
(S33005)面向AOU的I/O处理程序31010在该虚拟化存储装置1000L、1000R内的高速缓冲存储器上确立向该段的高速缓冲存储区域,用零对所确立的高速缓冲存储区域进行初始化,向主机1100转发零数据。
(S33006)面向AOU的I/O处理程序31010转发所分配的池卷区域中保存的数据。此外,当在高速缓冲存储区域已经存在该池卷区域时(升级完毕时),从该高速缓冲存储区域转发该数据,当高速缓冲存储区域中不存在该池卷时,升级之后进行该数据的转发。
(S33008)面向AOU的I/O处理程序31010判断是否有接下来的段,当有时执行S33009,当没有时执行S33010。
(S33009)面向AOU的I/O处理程序31010向变量i代入接下来的段,再次执行S33004。
(S33010)面向AOU的I/O处理程序31010向主机1100转发读出完成的应答,并结束。
此外,为了处理的简单化,虚拟化存储装置1000L对池卷的某一所定区域保存预定的值(零),也可以通过针对AOU卷29010R、29010L的未分配区域的读出而转发在该区域保存的数据。
<4.3.面向AOU的降级处理>
图34时表示面向AOU的I/O处理程序31010执行的降级处理的处理内容的流程图。以下,对于该降级处理参照该路程图进行说明。
(S34001)面向AOU的I/O处理程序31010通过高速缓冲存储算法决定成为降级对象高速缓冲存储器上的数据。此外,高速缓冲存储算法一般是使用LRU(Less Recently Used)算法将脏数据决定为对象的方法,但也可以决定使用其以外的算法。
(S34002)面向AOU的I/O处理程序31010判断降级对象数据是否对应于共享存储装置(即,存储装置1500L)具有的卷,当对应时执行S34003,当不对应时执行S34004。
(S34003)面向AOU的I/O处理程序31010执行降级处理之后,结束该一连串的处理。此外,可以与其它实施方式一样地进行降级处理。
(S34004)面向AOU的I/O处理程序31010判断存储了降级对象数据的卷的卷属性,当该卷为复制源卷时执行S34005,当该卷为复制目的地卷时执行S34007,除此以外的情况执行S34003。
(S34005)面向AOU的I/O处理程序31010执行降级处理。
(S34006)面向AOU的I/O处理程序31010向副系统的虚拟化存储装置1000R转发降级结束了的数据的RC降级许可指示,并结束处理。
(S34007)面向AOU的I/O处理程序31010确认RC降级许可标记是否为ON,当为OFF时再次执行S34001,重新选择其它的降级对象数据。此外,RC降级许可标记,在通过同步远程复制在高速缓冲存储器上保存或更新写入数据的时刻设定为OFF,在S34006中当接收到所发送的指示时设定为ON。
(S34008)面向AOU的I/O处理程序31010执行降级处理,结束处理。
通过本算法实现以下的高速缓冲存储控制。
(A)不面向共享存储装置的、不需要在正系统和副系统的虚拟化存储装置1000L、1000R中联携降级的高速缓冲存储数据两系统独立地进行降级。
(B)通过在正系统的虚拟化存储装置1000L中的降级处理后发送的消息,进行副系统的虚拟化存储装置1000R的高速缓冲存储数据的降级。
此外,可以与第1~第14实施方式一样地进行降级处理。
<4.3.1RC降级许可指示>
RC降级许可指示的转发也可以非同步地发送指示。但是,正系统和副系统的虚拟化存储装置1000L、1000R也可以以远程复制为契机,在RC降级标记中使未反映的该指示无效化。
<4.4池的空闲区域监视>
AOU管理程序31020定期地监视各池的空闲区域,当降至用户设定的临界值以下时,向管理主机1200发送消息。由此,可以避免容量不足导致的来自主机1100的写入请求的失败。并且,AOU管理程序31020也可以通过共享的存储装置1500L和不共享的存储区域来分别管理空闲区域的监视,当容量不足时分开使用转发的消息。
<5.正系统的虚拟化存储装置故障时的切换>
正系统的虚拟化存储装置1000L由于故障等而停止工作的情况下,通过进行与其它实施方式相同的处理,主机1100能够使应用程序继续动作。
另一方面,主机1100有时以针对复制源卷的写入请求由于容量不足而失败这一情况为契机,将I/O请求目的地切换为副系统的虚拟化存储装置1000R。副系统的虚拟化存储装置1000R具有的池容量多于正系统时,通过该切换在主机1100中能够继续发行I/O请求的应用程序2010(图30)的处理。
另外,该情况下,通过请求目的地的切换,远程复制的方向反转,但是远程复制停止。之所以这样,是因为旧正系统的虚拟化存储装置1000L由于写入请求时的池容量不足而导致该请求失败,因此,即使想要通过同步远程复制来对新正系统(旧副系统)的虚拟化存储装置1000R进行数据写入,也会失败。
但是,由于针对旧正系统的虚拟化存储装置1000L的请求(特别是读出请求)可以继续,因此,本故障与虚拟化存储装置1000L、1000R之间的通信故障不区分,主机1100有可能读出旧正系统的虚拟化存储装置1000L的旧的数据。
为了避免这样的状况,可以在远程复制失败的理由为池容量不足的情况下,抑制从主机1100对旧正系统的虚拟化存储装置1000L的读出请求发行。或者在远程复制失败的理由不确定的期间,抑制从主机1100对副系统的虚拟化存储装置1000R或者1000L的读出,在判明为通信路径故障的时刻解除该抑制。
通过以上的处理,通过本实施方式方式能够提供存储系统具有服务继续性高的AOU功能的存储服务。另外,AOU功能需要按照每个I/O请求来参照/变更AOU地址变换信息31030L、31030R,控制器的符合比通常的存储I/O要高。因此,对于主机1100所需要的卷的一部分(或者一半),可以由虚拟化存储装置1000L、1000R中的一方作为正系统承担读出和写入,对于其余的卷,可以由虚拟化存储装置1000R、1000L中的另一方承担读出和写入。通过采用这样的结构,在维持了存储系统的可用性的同时,能够实现虚拟化存储装置1000L、1000R之间的AOU功能的控制器负荷的均衡化。
<6.关于池卷区域的分配和数据转移>.
如前所述,在本实施方式中,可以使虚拟化存储装置1000L、1000R内部的卷和存储装置1500L的卷的两方为池卷。因此,通过对保存访问频度高的数据的段分配虚拟化存储装置1000L、1000R内部的卷,除了提高访问性能之外,还可以避免虚拟化存储装置1000L、1000R与存储装置1500L之间的通信网络的瓶颈化。
但是,在AOU中,由于通过最初的写入请求来对段分配池卷的区域,因此考虑到访问频度,很难以虚拟化存储装置1000L、1000R单体进行分配。作为解决这样的问题的方法,考虑了以下方法。
<6.1.对AOU卷附加属性的方法>
在生成AOU卷29010L、29010R的时刻,赋予与访问频度有关的属性,在面向AOU的I/O处理程序31010对段进行池卷的区域的分配时,当在某种程度上知道了写入到该段中的数据的访问频度的时候,参照该访问频度属性,对保存了访问频度高的数据的段,分配该虚拟化存储装置1000L、1000R内部的卷,对保存了访问频度低的数据(例如备份数据)的段分配存储装置1500L内的卷的区域。
<6.2.池卷区域的数据转移>
以段为单位(或多个段为单位)测定对AOU卷29010L、290120R的访问频度,使保存在访问频度高的段中的数据移动到虚拟化存储装置1000L、1000R内部的池卷的区域中。在该情况下,伴随数据的转移,需要将AOU卷29010L、29010R中的进行了该数据的转移的段的对应目的地,从存储装置1500L内的卷内的段变更为虚拟化存储装置1000L、1000R中的数据的转移目的地的段,但是在AOU功能中,由于原来在虚拟化存储装置1000L、1000R内进行地址变换,因此,能够相对主机1100透明地进行数据转移。
另外,在本实施方式中,在进行这样的数据转移的情况下,成为对象的段的数据优选保存在正系统和副系统双方的虚拟化存储装置1000L、1000R内部的池卷中。但是,在有其它效果时(列举如下)也考虑:在仅对一个段分配了虚拟化存储装置1000L、1000R内部的池卷区域的方式下,进行数据转移。
(例1)虚拟化存储装置1000L、1000R的某一方先前已经用尽内部的池卷,只有共享的存储装置1500L的情况。
(例2)对复制源的AOU卷29010的读出请求的负荷大、压迫正系统的虚拟化存储装置1000L和存储装置1500L之间的网络性能的情况。
在这样的情况下,正系统的虚拟化存储装置1000L将段的数据从存储装置1500L内部的池卷的区域复制到自身的池卷的区域中,使用复制目的地的区域提供AOU卷29010。作为一方的副系统的虚拟化存储装置1000R能够使用复制源的存储装置1500L的池卷的区域,提供AOU卷29010R。在该情况下,对存储装置1500L的池卷区域的写入数据的反映也可以由副系统的虚拟化存储装置1000R进行。
另外,可以采用这样的结构:作为用于提高包括读出和写入的访问性能的段的数据转移的中间状态,使用仅上述的正系统的虚拟化存储装置1000L内部的池卷区域,副系统的虚拟化存储装置1000R使用存储装置1500L的池卷。
<7.本实施方式的变形>
<7.1.在升级或降级处理中实施地址变换>
在此前所述的本实施方式中,在读出请求处理或写入请求处理中进行地址变换。本方法在收到写入请求的时刻能够返回以池卷的容量不足为契机的失败响应,反过来,由于按照每个请求进行地址变换,因此性能上存在问题。作为解决这样的问题的方法,考虑了在降级处理或升级处理中进行地址变换的方法。但是,在该方法中,在降级的时刻,由于对段进行池卷的区域的分配,因此,会发生与由于HDD1030的双重闭塞等的原因的卷闭塞时相类似的数据消失。因此,在后述的方式中,可以从空闲容量的富余开始变少的时刻开始,进行使请求的处理延迟或者停止等的处理。
另外,具体的处理只要将此前参照图32和图33说明过的处理内容变更成如下内容即可。
(写入和降级)将图32中的S32100的分配处理移动到降级处理S34001之后。
(读出和升级)将在图33的S33004~S33006中进行的伴随地址变换的分配有无的判断和没有分配时的零数据的转发在升级中进行。
另外,为了兼具两者的优点,面向AOU的I/O处理程序31010,可以是:在池卷的空闲容量在临界值以上的情况下,在降级/升级处理中进行变换,在该空闲容量变成临界值以下的情况下,在I/O处理中进行变换。
<7.2.De-Duplication>.
AOU管理程序31010也可以与I/O请求独立地进行称为De-Duplication的以下处理。
(步骤1)AOU管理程序31010扫描各池卷区域的数据,查找重复的段。
(步骤2)AOU管理程序31010在检测到了在池卷区域彼此间保存的数据有重复的情况下,仅留下某一个区域,将其余的区域开放为空闲区域。并且,与AOU地址变换信息31030中的开放了的区域对应的段的“池卷区域识别符”更新为仅留下的一个区域,将“COW标记”设为“ON”。
这里,作为重复检测的方法,可以采用这样的两阶段方式:在计算池卷的每个区域的哈希值(Hash)后,按照每个区域,将该哈希值与其它区域的哈希值进行比较,在为相同值的情况下,再与实际的数据进行比较。另外,哈希值的计算和数据的比较是负荷高的处理,因此,可通过在副系统的虚拟化存储装置1000R中进行处理来分散负荷。

Claims (24)

1.一种信息系统的数据转发方法,该信息系统具有:主计算机,其具有操作系统和应用程序,所述操作系统具有文件系统和HBA设备驱动程序,所述应用程序通过所述文件系统发送写入请求;第一存储装置,其与所述主计算机连接,并具有第一卷;以及第二存储装置,其与所述第一存储装置和所述主计算机连接,并具有第二卷,
其特征在于,
所述第一存储装置和所述第二存储装置设定将所述第一卷的数据复制到所述第二卷的远程复制,
关于所述主计算机,在所述文件系统进行写入请求处理时,根据与所述远程复制相关的信息,对与所述远程复制相关的信息进行管理的I/O路径管理程序将通过了所述文件系统的来自所述应用程序的写入请求,通过HBA设备管理程序发送到所述第一卷所在的所述第一存储装置,
在所述第一存储装置故障的情况下,所述I/O路径管理程序更新与所述远程复制相关的信息,将所述写入请求发送给所述第二卷所在的所述第二存储装置,
其中所述操作系统还具有与所述第一存储装置连接的第三存储装置,该第三存储装置与所述第一存储装置和所述第二存储装置连接,由多个HDD、控制器和高速缓冲存储器构成,并且具有由所述多个HDD的一部分区域构成的卷,所述第一存储装置在所述第三存储装置的所述卷中定义实体存在的第一虚拟卷,所述第二存储装置在所述第三存储装置的所述卷中定义实体存在的第二虚拟卷。
2.根据权利要求1所述的信息系统的数据转发方法,其特征在于,
所述第一存储装置和所述第二存储装置分别具有多个HDD、控制器和高速缓冲存储器。
所述第一卷和所述第二卷分别由所述多个HDD的一部分区域构成。
3.根据权利要求1所述的信息系统的数据转发方法,其特征在于,
所述第一存储装置具有虚拟化功能,并定义成为从所述主计算机访问的对象的虚拟卷。
4.根据权利要求1所述的信息系统的数据转发方法,其特征在于,
尽管所述第一存储装置发生故障,应用程序仍能够继续进行处理。
5.根据权利要求2所述的信息系统的数据转发方法,其特征在于,
所述第一虚拟卷是过去时刻的卷的数据。
6.根据权利要求1所述的信息系统的数据转发方法,其特征在于,
所述第一存储装置和所述第二存储装置联携地执行与所述第一卷和所述第二卷相关的存储程序。
7.根据权利要求6所述的信息系统的数据转发方法,其特征在于,
所述存储程序是进行远程复制处理的程序。
8.根据权利要求6所述的信息系统的数据转发方法,其特征在于,
所述存储程序是进行本地复制处理的程序。
9.根据权利要求6所述的信息系统的数据转发方法,其特征在于,
所述存储程序是进行逻辑快照的程序。
10.根据权利要求6所述的信息系统的数据转发方法,其特征在于,
所述存储程序是与访问控制有关的程序。
11.根据权利要求6所述的信息系统的数据转发方法,其特征在于,
所述存储程序是提供虚拟的卷、并根据需要进行局部地分配HDD的一部分区域的处理的程序。
12.一种信息系统,其特征在于,包括:
第一存储装置,其与主计算机连接,并设有保存从所述主计算机发送的数据的第一卷;
第二存储装置,其与所述主计算机和所述第一存储装置连接,并设有保存从所述第一存储装置发送的所述数据的第二卷,在所述第一存储装置发生了故障的情况下,所述主计算机将对所述第一存储装置发送的数据发送给所述第二存储装置;和
第三存储装置,该第三存储装置与所述第一存储装置和所述第二存储装置连接,具有多个HDD、控制器和高速缓冲存储器,并且具有由所述多个HDD的一部分区域构成的第三卷,所述第一存储装置在所述第三卷中定义实体存在的第一虚拟卷,所述第二存储装置在所述第三卷中定义实体存在的第二虚拟卷。
13.一种信息系统,其特征在于,包括:
第一存储装置,其与主计算机连接,并设有保存从所述主计算机发送的数据的第一卷;
第二存储装置,其与所述主计算机和所述第一存储装置连接,并设有保存从所述第一存储装置发送的所述数据的第二卷,在所述第一存储装置发生了故障的情况下,所述主计算机将对所述第一存储装置发送的数据发送给所述第二存储装置;
第三存储装置,其与所述第一存储装置连接,具有多个HDD、控制器和高速缓冲存储器,并具有由所述多个HDD的一部分区域构成的第三卷;和
第四存储装置,其与所述第二存储装置连接,具有多个HDD、控制器和高速缓冲存储器,并具有由所述多个HDD的一部分区域构成的第四卷,
所述第一存储装置在所述第三卷中定义实体存在的第一虚拟卷,并在收到了针对所述第一虚拟卷的数据的写入请求的情况下,向所述第三卷转发所述数据,
所述第二存储装置在所述第四卷中定义实体存在的第二虚拟卷,并在收到了针对所述第二虚拟卷的数据的写入请求的情况下,向所述第四卷转发所述数据。
14.根据权利要求12或13所述的信息系统,其特征在于,
所述第一存储装置和所述第二存储装置分别具有多个HDD、控制器和高速缓冲存储器,
所述第一卷和所述第二卷分别由所述多个HDD的一部分区域构成。
15.根据权利要求12或13所述的信息系统,其特征在于,
所述第一存储装置具有虚拟化功能,其定义成为从所述主计算机访问的对象的虚拟卷。
16.一种信息系统,其特征在于,包括:
第一存储装置,其与主计算机连接,并具有保存从所述主机算计发送的数据的第一卷;
第二存储装置,其与所述主机算计和所述第一存储装置连接,并具有保存从所述第一存储装置发送的所述数据的第二卷,在所述第一存储装置和所述第二存储装置之间的通信发生了故障的情况下,所述第一存储装置向所述主计算机通知所述通信故障,所述主计算机向所述第一存储装置和所述第二存储装置发行写入请求;和
第三存储装置,该第三存储装置与所述第一存储装置和所述第二存储装置连接,具有多个HDD、控制器和高速缓冲存储器,并且具有由所述多个HDD的一部分区域构成的第三卷,所述第一存储装置在所述第三卷中定义实体存在的第一虚拟卷,所述第二存储装置在所述第三卷中定义实体存在的第二虚拟卷。
17.根据权利要求12、13或16所述的信息系统,其特征在于,
所述主机算计包括:
远程复制管理单元,其指示在所述第二卷中保存所述第一卷的数据;
主机总线适配器管理单元,其控制所述第一存储装置或者所述第二存储装置的通信;和
输入输出路径管理单元,其切换所述第一存储装置或者所述第二存储装置的输入输出目的地。
18.一种信息系统,其具有:作为上位装置的主计算机;与所述主计算机连接并具有第一卷的第一存储装置;以及与所述第一存储装置和所述主计算机连接并具有第二卷的第二存储装置,
所述第一和第二卷是根据来自所述主计算机的写入请求而动态地分配存储区域的池卷,
所述第一存储装置和所述第二存储装置执行将所述第一卷的数据复制到所述第二卷的远程复制,
所述主计算机向所述第一卷所在的所述第一存储装置发送写入请求,在所述第一存储装置发生故障的情况下,所述主计算机将所述写入请求发送给所述第二卷所在的所述第二存储装置,
其中所述信息系统还具有第三存储装置,其安装有多个HDD,并且提供由所述多个HDD的一部分区域构成的第三卷,
所述第一和/或第二存储装置将所述第三存储装置提供的所述第三卷虚拟化,作为所述第一或第二卷提供给所述主计算机,对从所述主计算机给予的针对该第一或第二卷的写入数据进行高速缓冲存储,并将高速缓冲存储后的所述写入数据降级到所述第三卷中。
19.根据权利要求18所述的信息系统,其特征在于,
分别与所述第一和第二存储装置对应地设置独立的所述第三存储装置。
20.根据权利要求18所述的信息系统,其特征在于,
所述第一和第二存储装置共享所述第三存储装置。
21.根据权利要求20所述的信息系统,其特征在于,
所述第一存储装置在该第一存储装置没有发生故障时通过所述第二存储装置抑制来自所述主计算机的所述写入数据向所述第三卷的降级。
22.根据权利要求18所述的信息系统,其特征在于,
所述第一和第二存储装置具有安装有多个HDD、并且具有由该多个HDD的一部分区域构成的第四卷,所述第一和第二存储装置将该第四卷和所述第三卷虚拟化,作为所述第一或者第二卷提供给所述主计算机,并且,对所述第一和第二卷以预先预定的大小的段为单位设定针对访问频度的属性,
根据所设定的所述属性,对所述第一或第二卷的各所述段分配所述第三或第四卷的区域。
23.根据权利要求18所述的信息系统,其特征在于,
所述第一和第二存储装置具有安装有多个HDD、并且具有由该多个HDD的一部分区域构成的第四卷,所述第一和第二存储装置将该第四卷和所述第三卷虚拟化,作为所述第一或者第二卷提供给所述主计算机,
使降级到所述第三卷中的数据中的、访问频度高的数据转移到所述第四卷中。
24.一种信息系统的数据转发方法,所述信息系统具有:作为上位装置的主计算机;与所述主计算机连接并且具有第一卷的第一存储装置;以及与所述第一存储装置和所述主计算机连接并具有第二卷的第二存储装置,
其特征在于,
所述第一和第二卷是根据来自所述主计算机的写入请求而动态地分配存储区域的池卷,
所述第一存储装置和所述第二存储装置执行将所述第一卷的数据复制到所述第二卷中的远程复制,
所述主计算机向所述第一卷所在的所述第一存储装置发送写入请求,在所述第一存储装置发生了故障的情况下,所述主计算机将所述写入请求发送到所述第二卷所在的所述第二存储装置中,
其中所述信息系统还具有第三存储装置,其安装有多个HDD,并且提供由所述多个HDD的一部分区域构成的第三卷,
所述第一和/或第二存储装置将所述第三存储装置提供的所述第三卷虚拟化,作为所述第一或第二卷提供给所述主计算机,对从所述主计算机给予的针对该第一或第二卷的写入数据进行高速缓冲存储,并将高速缓冲存储后的所述写入数据降级到所述第三卷中。
CN 200710166833 2006-10-30 2007-10-22 信息系统及信息系统的数据转发方法 Active CN101174197B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2006293485 2006-10-30
JP2006293485 2006-10-30
JP2006-293485 2006-10-30
JP2007-085680 2007-03-28
JP2007085680A JP5057366B2 (ja) 2006-10-30 2007-03-28 情報システム及び情報システムのデータ転送方法
JP2007085680 2007-03-28

Publications (2)

Publication Number Publication Date
CN101174197A CN101174197A (zh) 2008-05-07
CN101174197B true CN101174197B (zh) 2012-03-21

Family

ID=39074921

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200710166833 Active CN101174197B (zh) 2006-10-30 2007-10-22 信息系统及信息系统的数据转发方法

Country Status (4)

Country Link
US (3) US8595453B2 (zh)
EP (1) EP1918818B1 (zh)
JP (1) JP5057366B2 (zh)
CN (1) CN101174197B (zh)

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7409583B2 (en) * 2002-10-07 2008-08-05 Hitachi, Ltd. Volume and failure management method on a network having a storage device
JP5057366B2 (ja) 2006-10-30 2012-10-24 株式会社日立製作所 情報システム及び情報システムのデータ転送方法
JP4958673B2 (ja) 2007-07-26 2012-06-20 株式会社日立製作所 ストレージシステム及びこれの管理方法
JP4990066B2 (ja) * 2007-08-21 2012-08-01 株式会社日立製作所 論理ボリュームのペアを利用したデータ保存の方式を変更する機能を備えたストレージシステム
US9619171B2 (en) 2007-10-05 2017-04-11 Hitachi, Ltd. Storage system and virtualization method
JP2009093316A (ja) 2007-10-05 2009-04-30 Hitachi Ltd ストレージシステム及び仮想化方法
US8140637B2 (en) * 2007-10-25 2012-03-20 Hewlett-Packard Development Company, L.P. Communicating chunks between devices
GB2466580B (en) * 2007-10-25 2013-01-02 Hewlett Packard Development Co Data processing apparatus and method of processing data
WO2009054834A1 (en) 2007-10-25 2009-04-30 Hewlett-Packard Development Company, L.P. Data processing apparatus and method of processing data
JP4958739B2 (ja) * 2007-11-09 2012-06-20 株式会社日立製作所 障害の発生した記憶装置に記憶されているデータを修復するストレージシステム
US8370833B2 (en) * 2008-02-20 2013-02-05 Hewlett-Packard Development Company, L.P. Method and system for implementing a virtual storage pool in a virtual environment
JP5401041B2 (ja) 2008-02-21 2014-01-29 株式会社日立製作所 ストレージシステム及びコピー方法
US20090240880A1 (en) * 2008-03-21 2009-09-24 Hitachi, Ltd. High availability and low capacity thin provisioning
US8065559B2 (en) * 2008-05-29 2011-11-22 Citrix Systems, Inc. Systems and methods for load balancing via a plurality of virtual servers upon failover using metrics from a backup virtual server
US8204868B1 (en) * 2008-06-30 2012-06-19 Symantec Operating Corporation Method and system for improving performance with single-instance-storage volumes by leveraging data locality
US8019732B2 (en) 2008-08-08 2011-09-13 Amazon Technologies, Inc. Managing access of multiple executing programs to non-local block data storage
JP2010039986A (ja) * 2008-08-08 2010-02-18 Hitachi Ltd データのバックアップを管理する計算機システム及び方法
JP5138530B2 (ja) * 2008-10-08 2013-02-06 株式会社日立製作所 ストレージ容量仮想化技術における障害管理方式
JP5028381B2 (ja) * 2008-10-22 2012-09-19 株式会社日立製作所 ストレージ装置およびキャッシュ制御方法
JP5232602B2 (ja) * 2008-10-30 2013-07-10 株式会社日立製作所 ストレージ装置、及びストレージコントローラ内部ネットワークのデータ経路フェイルオーバー方法
US8041987B2 (en) * 2008-11-10 2011-10-18 International Business Machines Corporation Dynamic physical and virtual multipath I/O
JP2010122964A (ja) * 2008-11-20 2010-06-03 Toshiba Corp ディスクアレイ装置
US20110066801A1 (en) * 2009-01-20 2011-03-17 Takahito Sato Storage system and method for controlling the same
JP4806037B2 (ja) * 2009-01-26 2011-11-02 株式会社東芝 データ記憶システム及び非同期レプリケーション方法
JP2010176185A (ja) * 2009-01-27 2010-08-12 Hitachi Ltd リモートコピーシステム及びパス設定支援方法
JP4740354B2 (ja) 2009-06-19 2011-08-03 富士通株式会社 ディスク制御装置およびディスク制御方法
WO2011039803A1 (ja) * 2009-09-29 2011-04-07 株式会社日立製作所 ストレージシステム及びストレージシステムにおけるデータ複製方法
US8479210B2 (en) * 2009-10-20 2013-07-02 International Business Machines Corporation Evenly distributing workload and providing a predictable failover scenario in a data replication system
JP5589393B2 (ja) * 2010-01-13 2014-09-17 富士通株式会社 データベースシステムおよびデータベース制御方法
US9195500B1 (en) 2010-02-09 2015-11-24 F5 Networks, Inc. Methods for seamless storage importing and devices thereof
US8458421B2 (en) 2010-03-09 2013-06-04 Hitachi, Ltd. Volume management apparatus and storage system
US8392753B1 (en) * 2010-03-30 2013-03-05 Emc Corporation Automatic failover during online data migration
US8874746B1 (en) * 2010-05-24 2014-10-28 Datacore Software Corporation Collaboration between discrete systems and a shared system to consolidate shared storage-related services
US9286298B1 (en) * 2010-10-14 2016-03-15 F5 Networks, Inc. Methods for enhancing management of backup data sets and devices thereof
JP5623239B2 (ja) * 2010-10-28 2014-11-12 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 書込みレコードの重複を排除する記憶装置、及びその書込み方法
US9348515B2 (en) 2011-01-17 2016-05-24 Hitachi, Ltd. Computer system, management computer and storage management method for managing data configuration based on statistical information
US9747300B2 (en) 2011-06-15 2017-08-29 Amazon Technologies, Inc. Local networked storage linked to remote networked storage system
JP5729173B2 (ja) * 2011-06-30 2015-06-03 富士通株式会社 制御装置、制御方法およびストレージ装置
US9020912B1 (en) 2012-02-20 2015-04-28 F5 Networks, Inc. Methods for accessing data in a compressed file system and devices thereof
US20130238852A1 (en) * 2012-03-07 2013-09-12 Hitachi, Ltd. Management interface for multiple storage subsystems virtualization
CN104364774B (zh) * 2012-04-27 2017-10-20 不列颠哥伦比亚大学 去重复虚拟机镜像转移器
WO2014002165A1 (ja) * 2012-06-25 2014-01-03 株式会社日立製作所 計算機システムおよびアプリケーションプログラム実行環境移行方法
JP5752327B2 (ja) * 2012-06-26 2015-07-22 株式会社日立製作所 ストレージシステム、及びストレージシステムの制御方法
US9152552B2 (en) * 2012-09-11 2015-10-06 International Business Machines Corporation Securing sensitive information in a network cloud
US9098466B2 (en) * 2012-10-29 2015-08-04 International Business Machines Corporation Switching between mirrored volumes
WO2014076736A1 (en) * 2012-11-15 2014-05-22 Hitachi, Ltd. Storage system and control method for storage system
US9606910B2 (en) * 2013-01-17 2017-03-28 Hitachi, Ltd. Method and apparatus for data reduction
US9678673B2 (en) 2013-03-28 2017-06-13 Hewlett Packard Enterprise Development Lp Coordinating replication of data stored in a non-volatile memory-based system
JP5990641B2 (ja) 2013-05-08 2016-09-14 株式会社日立製作所 ストレージシステム及びデータ管理方法
JP2014002785A (ja) * 2013-09-04 2014-01-09 Hitachi Ltd 計算機システム、管理計算機およびストレージ管理方法
JP6009095B2 (ja) * 2013-10-09 2016-10-19 株式会社日立製作所 ストレージシステム及び記憶制御方法
WO2015189925A1 (ja) * 2014-06-11 2015-12-17 株式会社日立製作所 ストレージシステム、ストレージ装置及びデータ移行方法
US9218407B1 (en) 2014-06-25 2015-12-22 Pure Storage, Inc. Replication and intermediate read-write state for mediums
GB2540502B (en) 2014-07-29 2021-02-24 Halliburton Energy Services Inc Efficient way of reporting issues associated with reservoir operations to support team
WO2016024994A1 (en) * 2014-08-15 2016-02-18 Hitachi, Ltd. Method and apparatus to virtualize remote copy pair in three data center configuration
US10747440B2 (en) * 2014-09-24 2020-08-18 Hitachi, Ltd. Storage system and storage system management method
US10474372B1 (en) * 2014-11-07 2019-11-12 Amazon Technologies, Inc. Optimizing geometry based on workload characteristics
US10834065B1 (en) 2015-03-31 2020-11-10 F5 Networks, Inc. Methods for SSL protected NTLM re-authentication and devices thereof
US9817729B2 (en) 2015-07-30 2017-11-14 Zerto Ltd. Method for restoring files from a continuous recovery system
US9781681B2 (en) * 2015-08-26 2017-10-03 Hand Held Products, Inc. Fleet power management through information storage sharing
US9942134B2 (en) 2015-09-30 2018-04-10 International Business Machines Corporation Holding of a link in an optical interface by a lower level processor until authorization is received from an upper level processor
CN105430063A (zh) * 2015-11-05 2016-03-23 浪潮(北京)电子信息产业有限公司 一种多控共享存储系统间远程复制方法
CN106560806B (zh) * 2015-12-31 2020-07-14 哈尔滨安天科技集团股份有限公司 基于二维平面成角的文件存储方法及系统
US10404698B1 (en) 2016-01-15 2019-09-03 F5 Networks, Inc. Methods for adaptive organization of web application access points in webtops and devices thereof
US10007671B1 (en) * 2016-03-30 2018-06-26 EMC IP Holding Company LLC Data storage system employing space reclaim approximation
US10169155B2 (en) * 2016-03-30 2019-01-01 EMC IP Holding Company LLC System and method for synchronization in a cluster environment
US9891849B2 (en) * 2016-04-14 2018-02-13 International Business Machines Corporation Accelerated recovery in data replication environments
US10437730B2 (en) 2016-08-22 2019-10-08 International Business Machines Corporation Read cache synchronization in data replication environments
US20180143766A1 (en) * 2016-11-18 2018-05-24 International Business Machines Corporation Failure protection copy management
WO2018158808A1 (ja) * 2017-02-28 2018-09-07 株式会社日立製作所 情報システム、管理プログラム及び情報システムのプログラム交換方法
US10489087B2 (en) 2017-05-24 2019-11-26 International Business Machines Corporation Using a space release data structure to indicate tracks to release for a space release command to release space of tracks in a consistency group being formed
US10528256B2 (en) 2017-05-24 2020-01-07 International Business Machines Corporation Processing a space release command to free release space in a consistency group
CN107168894B (zh) * 2017-06-30 2020-08-25 联想(北京)有限公司 内存共享访问方法及电子设备
WO2019008654A1 (ja) 2017-07-04 2019-01-10 株式会社日立製作所 ストレージシステム、コピー制御方法、及び計算機システム
CN107832014A (zh) * 2017-11-07 2018-03-23 长沙曙通信息科技有限公司 一种远程数据缓冲存储转发实现方法和装置
US10809938B2 (en) * 2018-03-06 2020-10-20 International Business Machines Corporation Synchronized safe data commit scans in multiple data storage systems
JP7043952B2 (ja) * 2018-04-17 2022-03-30 富士通株式会社 ストレージ装置及びストレージ制御プログラム
US10691369B2 (en) * 2018-04-23 2020-06-23 Hewlett Packard Enterprise Development Lp Pool partner based replication
JP7304215B2 (ja) * 2019-06-18 2023-07-06 株式会社日立製作所 ストレージシステムおよび履歴情報管理方法
US11656781B2 (en) * 2019-10-11 2023-05-23 International Business Machines Corporation Distributing sequential read streams across synchronous mirror pairs
US11513684B1 (en) * 2021-06-23 2022-11-29 EMC IP Holding Company LLC Data storage system management techniques and metrics
JP2023103850A (ja) * 2022-01-14 2023-07-27 株式会社日立製作所 ストレージシステム、連携方法、およびプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1690973A (zh) * 2004-04-19 2005-11-02 株式会社日立制作所 远程复制方法及远程复制系统
CN1821974A (zh) * 2005-02-14 2006-08-23 株式会社日立制作所 远程拷贝系统
EP1712998A1 (en) * 2005-04-13 2006-10-18 Hitachi, Ltd. Remote copy system and remote copy method

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
KR0128271B1 (ko) 1994-02-22 1998-04-15 윌리암 티. 엘리스 재해회복을 위한 일관성 그룹 형성방법 및 레코드갱싱의 섀도잉 방법, 주시스템, 원격데이타 섀도잉 시스템과 비동기 원격데이타 복제 시스템
JP3228182B2 (ja) 1997-05-29 2001-11-12 株式会社日立製作所 記憶システム及び記憶システムへのアクセス方法
JP4115060B2 (ja) 2000-02-02 2008-07-09 株式会社日立製作所 情報処理システムのデータ復旧方法及びディスクサブシステム
US7111189B1 (en) * 2000-03-30 2006-09-19 Hewlett-Packard Development Company, L.P. Method for transaction log failover merging during asynchronous operations in a data storage network
US7275100B2 (en) * 2001-01-12 2007-09-25 Hitachi, Ltd. Failure notification method and system using remote mirroring for clustering systems
JP4175788B2 (ja) 2001-07-05 2008-11-05 株式会社日立製作所 ボリューム制御装置
US7421509B2 (en) 2001-09-28 2008-09-02 Emc Corporation Enforcing quality of service in a storage network
US7080197B2 (en) 2002-04-18 2006-07-18 Lsi Logic Corporation System and method of cache management for storage controllers
US7085956B2 (en) 2002-04-29 2006-08-01 International Business Machines Corporation System and method for concurrent logical device swapping
US6973586B2 (en) 2002-04-29 2005-12-06 International Business Machines Corporation System and method for automatic dynamic address switching
JP4100968B2 (ja) 2002-06-06 2008-06-11 株式会社日立製作所 データマッピング管理装置
JP4124331B2 (ja) * 2002-09-17 2008-07-23 株式会社日立製作所 Dbms向け仮想ボリューム作成・管理方法
JP4292882B2 (ja) 2003-03-18 2009-07-08 株式会社日立製作所 複数のスナップショット維持方法及びサーバ装置及びストレージ装置
JP4394467B2 (ja) 2004-01-29 2010-01-06 株式会社日立製作所 ストレージシステム、サーバ装置及び先行コピーデータ生成方法
US7266654B2 (en) 2003-03-18 2007-09-04 Hitachi, Ltd. Storage system, server apparatus, and method for creating a plurality of snapshots
US7120824B2 (en) * 2003-05-09 2006-10-10 International Business Machines Corporation Method, apparatus and program storage device for maintaining data consistency and cache coherency during communications failures between nodes in a remote mirror pair
US7043665B2 (en) * 2003-06-18 2006-05-09 International Business Machines Corporation Method, system, and program for handling a failover to a remote storage location
US7467168B2 (en) * 2003-06-18 2008-12-16 International Business Machines Corporation Method for mirroring data at storage locations
JP4374953B2 (ja) 2003-09-09 2009-12-02 株式会社日立製作所 データ処理システム
JP4598387B2 (ja) 2003-09-17 2010-12-15 株式会社日立製作所 記憶システム
JP4282464B2 (ja) * 2003-12-17 2009-06-24 株式会社日立製作所 リモートコピーシステム
JP4422519B2 (ja) 2004-03-18 2010-02-24 株式会社日立製作所 情報処理システム
US7770059B1 (en) 2004-03-26 2010-08-03 Emc Corporation Failure protection in an environment including virtualization of networked storage resources
JP4476683B2 (ja) 2004-04-28 2010-06-09 株式会社日立製作所 データ処理システム
US7461100B2 (en) * 2004-05-27 2008-12-02 International Business Machines Corporation Method for fast reverse restore
US7131027B2 (en) * 2004-07-09 2006-10-31 Hitachi, Ltd. Method and apparatus for disk array based I/O routing and multi-layered external storage linkage
US7058731B2 (en) 2004-08-03 2006-06-06 Hitachi, Ltd. Failover and data migration using data replication
US7171532B2 (en) * 2004-08-30 2007-01-30 Hitachi, Ltd. Method and system for data lifecycle management in an external storage linkage environment
JP2006293485A (ja) 2005-04-06 2006-10-26 Canon Inc 指標表示方法及び画像表示装置
JP4648751B2 (ja) * 2005-05-02 2011-03-09 株式会社日立製作所 記憶制御システム及び記憶制御方法
JP5057656B2 (ja) 2005-05-24 2012-10-24 株式会社日立製作所 ストレージシステム及びストレージシステムの運用方法
US7779218B2 (en) * 2005-07-22 2010-08-17 Hewlett-Packard Development Company, L.P. Data synchronization management
JP4955996B2 (ja) 2005-09-20 2012-06-20 株式会社日立製作所 ボリューム移行方法およびストレージネットワークシステム
US7702851B2 (en) 2005-09-20 2010-04-20 Hitachi, Ltd. Logical volume transfer method and storage network system
JP4646309B2 (ja) 2005-09-26 2011-03-09 新日本空調株式会社 デシカント式換気装置
US20070234105A1 (en) * 2006-03-31 2007-10-04 Quinn Brett A Failover to asynchronous backup site in connection with triangular asynchronous replication
JP5244332B2 (ja) * 2006-10-30 2013-07-24 株式会社日立製作所 情報システム、データ転送方法及びデータ保護方法
JP5057366B2 (ja) 2006-10-30 2012-10-24 株式会社日立製作所 情報システム及び情報システムのデータ転送方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1690973A (zh) * 2004-04-19 2005-11-02 株式会社日立制作所 远程复制方法及远程复制系统
CN1821974A (zh) * 2005-02-14 2006-08-23 株式会社日立制作所 远程拷贝系统
EP1712998A1 (en) * 2005-04-13 2006-10-18 Hitachi, Ltd. Remote copy system and remote copy method

Also Published As

Publication number Publication date
JP2008134987A (ja) 2008-06-12
CN101174197A (zh) 2008-05-07
EP1918818A2 (en) 2008-05-07
EP1918818B1 (en) 2011-05-25
US20120297157A1 (en) 2012-11-22
US20080104347A1 (en) 2008-05-01
US8832397B2 (en) 2014-09-09
US8595453B2 (en) 2013-11-26
EP1918818A3 (en) 2009-09-30
JP5057366B2 (ja) 2012-10-24
US20140237179A1 (en) 2014-08-21

Similar Documents

Publication Publication Date Title
CN101174197B (zh) 信息系统及信息系统的数据转发方法
US7925914B2 (en) Information system, data transfer method and data protection method
US5889935A (en) Disaster control features for remote data mirroring
US6502205B1 (en) Asynchronous remote data mirroring system
US7130974B2 (en) Multi-site remote-copy system
US7421550B2 (en) Storage system and storage system management method
US7472243B2 (en) Storage system and control method thereof
US7464236B2 (en) Storage system and storage management method
US6052797A (en) Remotely mirrored data storage system with a count indicative of data consistency
US6304980B1 (en) Peer-to-peer backup system with failure-triggered device switching honoring reservation of primary device
CN104956311A (zh) 存储系统以及存储控制方法
CN101571815A (zh) 信息系统及i/o处理方法
US20110167044A1 (en) Computing system and backup method using the same
CN112445652B (zh) 远程复制系统
WO2016084156A1 (ja) ストレージシステム
KR20010011204A (ko) 캐쉬미러링을 통한 레이드 장애극복 방법 및 장치

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