CN107924353B - 存储系统和存储系统的控制方法 - Google Patents

存储系统和存储系统的控制方法 Download PDF

Info

Publication number
CN107924353B
CN107924353B CN201580082646.1A CN201580082646A CN107924353B CN 107924353 B CN107924353 B CN 107924353B CN 201580082646 A CN201580082646 A CN 201580082646A CN 107924353 B CN107924353 B CN 107924353B
Authority
CN
China
Prior art keywords
volume
log
data
storage
storage device
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
CN201580082646.1A
Other languages
English (en)
Other versions
CN107924353A (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 CN107924353A publication Critical patent/CN107924353A/zh
Application granted granted Critical
Publication of CN107924353B publication Critical patent/CN107924353B/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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2064Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring while ensuring consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/273Asynchronous replication or reconciliation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1453Management of the data involved in backup or backup restore using de-duplication of the data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/855Details of asynchronous mirroring using a journal to transfer not-yet-mirrored changes

Abstract

本发明提供一种存储系统和存储系统的控制方法,能够在抑制卷更新的响应时间的同时,在其它站点生成该卷的特定时刻的备份。第一存储装置和第二存储装置将第一日志卷内的日志传输到第二存储装置,第二存储装置将传输来的日志写入第二日志卷,第二存储装置按更新的顺序读取第二日志卷内的日志,第二存储装置将读取出的日志反映到第二数据卷,第一存储装置在特定条件成立时,在第一日志卷内生成包含标记的日志,第二存储装置在从读取出的日志中检测到标记时,生成第二数据卷的快照。

Description

存储系统和存储系统的控制方法
技术领域
本发明涉及存储系统。
背景技术
作为存储装置的备份操作,可采取在存储装置本机内生成拷贝的方法,和将其拷贝备份到位于存储装置外部的磁带装置上的方法。在前者所述的将拷贝生成于同一存储装置本机内的情况下,若本机发生故障,业务的恢复操作是非常困难的。
已知一种远程拷贝(远程复制)功能,其中为了预防发生地震和火灾等灾害的情况下出现数据丢失,由分别配置在多个站点的多个存储装置将数据保持多份。
远程拷贝功能大致分为“同步远程拷贝(同步远程复制)”和“异步远程拷贝(异步远程复制)”这两种,在同步远程拷贝下,与来自主机的写入命令同步地,存储装置将数据传输至拷贝目标的存储装置,而在异步远程拷贝下,存储装置在对来自主机的写入命令发出完成响应之后,再将数据传输至拷贝目标的存储装置。
无论使用哪一种远程拷贝功能,都会在主站点发生灾害时将主机和存储装置双方的业务切换到副站点。由此,在站点发生灾害的情况下也能够将数据丢失和业务停止的可能降低到最小。另外,近年来这样的操作也受到了关注,即,为了在发生台风和海啸这样的可预测灾害的情况下避免灾害,在灾害发生前切换至副站点运行以事先防止数据丢失和业务停止。
另外,同步远程拷贝具有拷贝源和拷贝目标的数据始终是同步的这一优点,但在对来自主机的写入命令发出响应前需要耗费时间,所以通常在长距离的站点之间使用异步远程拷贝。
专利文献1公开了一种使用日志(journal)进行异步远程拷贝的技术。在主站点的拷贝源存储装置中,在接收到写入命令时将数据写入到数据写入用的卷,并在日志卷写入日志数据,向主机返回响应。在副站点的拷贝目标存储装置中,与写入命令异步地从拷贝源存储装置的日志卷读取日志数据保存到自身的日志卷。然后,拷贝目标存储装置基于所保存的日志数据,将数据反映到拷贝目标的数据写入用卷。
另外,专利文献2公开了这样一种技术。其中在主站点的拷贝源卷与副站点的拷贝目标卷之间进行同步远程拷贝来使数据双重化。并且,通过将拷贝源卷和拷贝目标卷双方都作为具有相同标识符的卷提供给主机,在通常时由主站点接受访问,在发生故障时将访问切换至副站点,从而对于主机能够透明地使用副站点,能够不间断地继续提供业务。
现有技术文献
专利文献
专利文献1:美国专利申请公开第2005/0033827号说明书
专利文献2:美国专利申请公开第2009/0271582号说明书
发明内容
发明要解决的技术问题
对于异步远程拷贝来说,写入到主站点的数据是异步拷贝到副站点的,所以难以在副站点生成主站点的特定时刻的备份。
解决问题的技术手段
为了解决上述问题,本发明的一个技术方案提供一种存储系统,包括与主机连接的第一存储装置和与所述第一存储装置连接的第二存储装置。所述第一存储装置在所述第一存储装置内生成第一数据卷和第一日志卷,所述第一存储装置将所述第一数据卷提供给所述主机,所述第二存储装置在所述第二存储装置内生成第二数据卷和第二日志卷,所述第一存储装置响应于所述第一数据卷的更新,在所述第一日志卷内生成表示所述更新的日志,所述第一存储装置和所述第二存储装置将所述第一日志卷内的日志传输到所述第二存储装置,所述第二存储装置将所述传输来的日志写入所述第二日志卷,所述第二存储装置按所述更新的顺序读取所述第二日志卷内的日志,所述第二存储装置将所述读取出的日志反映到所述第二数据卷,所述第一存储装置在特定条件成立时,在所述第一日志卷内生成包含标记的日志,所述第二存储装置在从所述读取出的日志中检测到所述标记时,生成所述第二数据卷的快照。
发明的效果
能够在抑制卷更新的响应时间的同时,在其它站点生成该卷的特定时刻的备份。
附图说明
图1表示实施例的存储系统的硬件结构。
图2表示存储区域的层结构。
图3表示保存在共享存储器中的控制信息和控制程序。
图4表示远程拷贝配对卷管理信息。
图5表示快照配对卷管理信息。
图6表示一致性组管理信息。
图7表示远程拷贝数据。
图8表示日志卷管理信息。
图9表示数据卷管理信息。
图10表示日志数据与日志元数据的关系。
图11表示日志元数据。
图12表示日志处理的概要。
图13表示日志处理的细节。
图14表示去重处理。
图15表示发出了快照获取指示的情况下的日志处理。
图16表示快照生成时的RCSVOL与SSVOL的关系。
图17表示快照生成时的RCSVOL与SSVOL的关系的变形例。
图18表示快照生成后的RCSVOL与SSVOL的关系。
图19表示第一还原处理的概要。
图20表示第一还原处理中的存储装置30B的动作的细节。
图21表示第二还原处理。
图22表示RCPVOL生成处理。
图23表示RCSVOL生成处理。
图24表示RCPVOL侧日志VOL生成处理。
图25表示快照卷生成处理。
具体实施方式
以下说明中,有时会用“×××表”这样的表述来对信息进行说明,但信息也可以用任意的数据结构表述。即,为了明确信息不依赖于数据结构,可将“×××表”称为“×××信息”。另外,以下说明中的各表的结构均为一例,1个表可以分割为2个以上的表,而2个以上的表的全部或一部分可以构成为1个表。
此外,以下说明中,使用ID作为组件的标识信息,但也可以代替ID或除此之外使用其它种类的标识信息。
另外,以下说明中,在不区分同类组件进行说明的情况下,使用附图标记或附图标记中的共用编号,在区分同类组件进行说明的情况下,使用该组件的附图标记或代替附图标记使用对该组件分配的ID。
另外,以下说明中,I/O(Input/Output)请求是写请求或读请求,也可以称为访问请求。
另外,以下说明中,存在以“程序”作为主语对处理进行说明的情况,但程序是通过由处理器(例如CPU(Central Processing Unit,中央处理单元))执行而适当使用存储资源(例如memory)和/或接口设备(例如通信端口)等来进行规定的处理的,所以也可以将处理的主语改为处理器。以程序作为主语说明的处理,可以视为由处理器或具有该处理器的装置进行的处理或系统。另外,处理器可以包括进行处理的一部分或全部的硬件电路。程序可以从程序源安装到计算机这样的装置中。程序源例如可以是程序分发服务器或者计算机可读存储介质。在程序源是程序分发服务器的情况下,程序分发服务器可以包括处理器(例如CPU)和存储资源,存储资源进而存储分发程序和作为分发对象的程序。接着,程序分发服务器的处理器可以通过执行分发程序来将分发对象的程序分发给其它计算机。另外,以下说明中,2个以上的程序可以实现为1个程序,1个程序也可以实现为2个以上的程序。
另外,以下说明中,管理系统可以包括一台以上的计算机。具体而言,例如在由管理计算机显示信息的情况下(具体而言,例如管理计算机在自身的显示设备上显示信息,或者管理计算机将显示用信息发送给远程的显示用计算机的情况),管理计算机即为管理系统。在例如由多台计算机实现与管理计算机相同的功能的情况下,该多台计算机(在由显示用计算机进行显示的情况下也可以包括显示用计算机)即为管理系统。管理计算机(例如管理系统)可以包括与包含显示系统在内的I/O系统连接的接口设备、存储资源(例如memory)和与接口设备、存储资源连接的处理器。显示系统可以是管理计算机所具有的显示设备,也可以是与管理计算机连接的显示用计算机。I/O系统可以是管理计算机所具有的I/O设备(例如键盘和指示设备、触摸面板),也可以是与管理计算机连接的显示用计算机或其它计算机。所谓管理计算机“显示显示用信息”,指的是将显示用信息显示在显示系统上,这可以是在管理计算机所具有的显示设备上显示显示用信息,也可以是管理计算机将显示用信息发送给显示用计算机(后者的情况下由显示用计算机显示显示用信息)。另外,所谓管理计算机进行信息的输入输出,可以是在管理计算机所具有的I/O设备之间进行信息的输入输出,也可以是在与管理计算机连接的远程的计算机(例如显示用计算机)之间进行信息的输入输出。信息的输出可以是信息的显示。
此外,有时会将读处理记作读取处理。有时将写处理记作写入处理或更新处理。并且有时还会将它们统一记作访问处理。
以下参考附图说明本发明的实施例。
<存储系统的结构>
图1表示实施例的存储系统的硬件结构。
因为要构成远程拷贝,所以存在2个以上的站点,例如主站点100A和辅助站点100B。以下为了使说明便于理解,主站点100A所具有的组件的标记(附图标记)是父编号与子标记“A”的组合,辅助站点100B所具有的组件的标记是父编号与子标记“B”的组合。另外,在不需要区分主站点100A与辅助站点100B时,标记仅为父编号。远程拷贝结构的主站点和辅助站点使用同一机型的存储装置构建的情况较多,但本实施例目的在于提供备份解决方案,作为其手段之一使用了远程拷贝功能,所以不需要使构成远程拷贝结构的存储装置的机型一致。另外,辅助站点100B一侧可以不存在主机。
主站点100A包括主机10和存储装置30A。辅助站点100B包括存储装置30B。存储装置30A与存储装置30B彼此连接。主机10能够访问存储装置30的逻辑存储区域。存储装置30在设定于物理存储设备34中的存储区域中保存数据。主机10可以有多台。另外,存储装置30也可称作存储系统或者存储子系统。还可以设置有经管理网络108与存储装置30A、30B连接的管理装置,不过此处未给出图示。管理装置管理存储装置30的存储区域的结构,例如具有输入设备、输出设备、CPU、存储器、网络适配器和存储设备。
主站点100A和辅助站点100B执行远程拷贝。此处,远程拷贝是将保存在存储装置中的数据拷贝到其它存储装置的技术。将保存源称为主站点或本地站点,将保存拷贝的目的地称为辅助站点或副站点、远程站点。
主机10例如包括输入设备、输出设备、CPU、存储器、磁盘适配器、网络适配器和存储设备(未图示)。在主机10中,由主机10内的CPU执行供用户使用的应用和进行与存储装置间的接口控制的存储装置控制程序。主机10具体而言是工作站、个人计算机、大型机等。
存储装置30包括控制器31、至少1个缓存32、至少1个共享存储器33和物理存储设备34。本实施例中,这些硬件被冗余配置。
控制器31至少包括处理器176,本实施例中还包括主机适配器171、网络适配器172、远程拷贝(RC)适配器175、存储适配器177和共享存储器适配器178。
主机适配器171经存储网络121在其与主机10之间收发数据。网络适配器172经管理网络108对主机10(或者与管理装置之间)发送系统管理上必要的数据(管理信息)。
处理器176将保存在非易失性存储器等中的程序读取到共享存储器33,执行由该程序规定的处理。另外,处理器176基于来自主机10的访问请求,执行对物理存储设备34的输入输出处理。
存储适配器177在其与物理存储设备34和缓存32之间收发数据。共享存储器适配器178在其与共享存储器33之间收发数据。
缓存32例如是RAM(Random Access Memory,随机访问存储器),临时保存对物理存储设备34读写的数据。
共享存储器33是硬盘或闪存、RAM等,用于保存在控制器31中运行的程序和结构信息等。
缓存32和共享存储器33也可以设置在控制器31的内部。
物理存储设备34包括多个存储设备。存储设备例如是硬盘驱动器,主要保存用户数据。作为存储设备也可以是包括闪存等半导体存储器的驱动器。存储设备基于RAID(Redundant Array of Independent Disks,独立磁盘冗余阵列)结构构成RAID组。在物理存储设备34中,基于RAID组生成一个以上的逻辑存储区域(逻辑卷)。逻辑卷与物理存储设备34所具有的物理存储区域建立关联。这些逻辑卷根据用户的指定被用作PVOL和SVOL等数据卷和日志卷267。
以下,将作为数据拷贝的拷贝源的主站点100A侧的存储装置30A所具有的数据卷称为“PVOL(primary volume,主卷)”或者“RCPVOL”。另外,将作为PVOL中保存的数据的拷贝目标的辅助站点侧的存储装置30B所具有的数据卷称为“SVOL(secondary volume,辅助站点侧(S)卷)”或者“RCSVOL”。
接着,说明本实施例的存储系统的远程拷贝结构部分。本实施例如上所述,主站点100A和辅助站点100B的硬件结构和硬件性能、数量可以相同,也可以存在不同之处。
主站点100A的存储装置30A与辅助站点100B的存储装置30B经通信线路连接,构成远程拷贝。
远程拷贝适配器175经存储装置间网络160与其它存储装置30连接。从灾害恢复的观点出发,存储装置间网络160大多采用公共线路等全局网络,但在存储装置位于同一房间中、同一建筑中、邻近建筑中的情况下也可以采用本地网络。不过,本发明并不限定于这样的网络的形式。
本实施例的远程拷贝是异步远程拷贝。
也可以设置网络适配器172之外的网络适配器,经第二网络对存储装置30连接外部存储装置。第二网络例如能够使用存储区域网络(SAN:Storage Area Network)。外部存储装置可以与存储装置30相同或者是光盘库等。外部存储装置不直接通过网络与主机10连接,而是经存储装置30进行访问。从主机10不能识别外部存储装置。外部存储装置的存储区域被虚拟化为存储装置30的存储区域提供给主机10。
对本实施例的存储系统进行的备份之概要进行说明。
一般而言,企业级存储装置要求具有高性能和高可靠性,包括先进功能的程序,例如异步远程拷贝功能、快照功能、去重功能(Deduplication)等。本实施例的存储系统在具有这些功能的存储装置30A、30B之间构建备份解决方案。存储系统在站点之间构建远程拷贝结构,在远程拷贝的主站点100A接受访问请求而更新了数据之后,将更新的差异(differential)传输给辅助站点100B。存储装置30B通过从辅助站点100B侧的远程拷贝卷获取快照,来高速地生成完整备份映像。快照是获取存储装置30内的数据的快照数据的功能。
对快照数据的获取之一例进行说明。为了获取快照数据,存储装置30B生成以逻辑卷为主卷、以虚拟卷为辅助卷的配对(pair,对)。将该快照对分割(静态)可取得快照数据。存储装置30B在更新主卷的数据时,仅将要被更新的部分的数据作为更新前快照的数据拷贝至存储池中。另外,存储装置30B在将更新前快照的数据保存在存储池中时,也可以在去重后保存。
在存储系统中,作为还原处理,对于远程拷贝卷与快照的差异数据,从辅助站点100B向主站点100A高速地实施一致性组的还原。
图2表示存储区域的层结构。
下面从下级的层起依次说明存储区域。
存在RAID组308。RAID组308如上所述,是多个同类且同一通信接口的PDEV34,包括跨该多个PDEV34的条带307。
存在EDEV305。EDEV305是外部设备的简称,是基于未图示的外部存储装置内的存储资源构成的逻辑存储设备。外部存储装置内的存储资源例如是RAID组或VOL。在对EDEV305进行数据的输入输出的情况下,对构成EDEV305的外部存储装置内的存储资源进行该数据的输入输出。
在RAID组308和EDEV305的上级,存在VDEV303。VDEV303是基于RAID组308或EDEV305构成的虚拟的存储资源。通过对VDEV303的存储空间进行划分,在VDEV303中形成多个LDEV306。VDEV303也可以为1个LDEV306。以下有时将基于RAID组308构成的VDEV称为“第一类VDEV”,将基于EDEV305构成的VDEV称为“第二类VDEV”。另外,作为不基于RAID组308和EDEV305中的任意一方的虚拟存储资源,也可以存在第三类VDEV。
在VDEV303的上级存在存储池125。存储池125包括多个存储池VOL61。存储池VOL61与某一个LDEV关联。存储池VOL61是离线VOL,所以不与由主机10指定的目标设备关联。存储池VOL61与第一类VDEV内的LDEV或第二类VDEV内的LDEV关联。存储池VOL61包括多个实际页161。本实施例中,实际页161与条带307一一对应。实际页161中保存的数据被保存在与该实际页161对应的条带307中。也可以是多个条带307与1个实际页161对应。对TPVOL312也可以不分配LDEV。
在VDEV303和存储池125的上级,存在能够从主机10访问的在线VOL。作为在线VOL,例如有RVOL311和TPVOL312。RVOL311是基于第一类VDEV(#0)内的LDEV(#01)而构成的VOL。TPVOL312是不基于VDEV303的虚拟VOL。
在在线VOL的上级存在目标设备402。主机适配器171所具有的通信端口403上关联有1个以上的目标设备402。目标设备402与在线VOL关联。
对TPVOL312的虚拟页142,分配与该TPVOL312对应的存储池125内的空白页。
主机10对存储装置30A发送指定了目标设备的I/O命令(写命令或读命令)。如上所述,目标设备与RVOL311或TPVOL312关联。存储装置30A在接收到指定了与TPVOL312关联的目标设备的写命令的情况下,从存储池125中选择空白的页264,将选中的页分配至写目标虚拟页(写命令中指定的地址所属于的页)142。存储装置30A在所分配的页264中写入写对象的数据。由于实际页161被分配给该页,而具有实际页161的存储池VOL#5与LDEV#02关联,故在页264中写入数据指的是在LDEV#02中写入数据。LDEV#02是第一类VDEV内的LDEV,所以写入LDEV#02的数据实际上被写入到RAID组308的与实际页161对应的条带307中。
以下将要描述的远程拷贝卷、日志卷、快照卷作为以上描述的TPVOL进行说明。TPVOL称为精简配置卷(thin provisioning volume)或容量虚拟化卷。
图3表示保存在共享存储器中的控制信息和控制程序。
在共享存储器33中,作为控制信息保存日志卷管理信息401、一致性组管理信息502、数据卷管理信息501、SVOL写差异比特图250、日志登记完成比特图240。在共享存储器33中,还作为控制程序保存远程拷贝控制程序260、IO处理程序261、快照控制程序262、日志处理管理程序221、日志传输程序222、日志获取程序223、日志反映程序224、去重程序225。另外,也可以在共享存储器33中保存其它未图示的程序。也可以没有去重程序225。
远程拷贝控制程序260进行远程拷贝结构的构建、远程拷贝对的形成、从主站点100A到辅助站点100B的拷贝动作的控制等。
IO处理程序261响应于来自主机10的访问请求,进行对数据卷的读写处理的控制等。
日志处理管理程序221对各存储装置30执行的日志处理(包括日志获取处理、日志传输处理、日志反映处理)进行管理。另外,日志处理中在各日志处理管理程序221之间随时进行通信,交换日志处理所需的管理信息。
日志获取程序223和日志反映程序224是使处理器176执行日志的获取和日志的反映的程序。也可以是1个程序,该1个程序包括日志获取程序223和日志反映程序224。
此处,日志(journal)指的是更新历史信息,包括更新中使用的数据的拷贝(日志数据)和日志数据的管理数据即日志元数据。
基于上述更新历史信息更新数据卷指的是,使用日志更新为最新的数据。作为其它的表述,有时使用数据的反映、日志的反映(使用日志的反映动作)、日志的复原等。
在SVOL写差异比特图250等差异比特图中,对于比特图内的各比特使其与预先决定的数据长度的区域的数据对应。例如,在使1比特对应于64KB的数据的情况下,64KB中即使1B发生了更新,也将比特设为‘1’,将内容反映至拷贝目标。其它比特图与差异比特图具有同样的结构。
日志登记完成比特图240是表示数据卷内的区域中的已将日志登记到日志卷中的区域的比特图。
远程拷贝下的数据发送是这样进行的,即,从主机10对作为远程拷贝源的存储装置30A发出写请求,之后,与该写请求异步地,从存储装置30A向存储装置30B发送数据。具体而言,在异步远程拷贝中,在从主机10对存储装置30A发出了数据的写请求时,存储装置30A向主机10返回写完成信号,并将数据临时累积。之后,在规定的时机,存储装置30A原则上按来自主机10的写请求的顺序将数据发送到存储装置30B。通常,通信线路并行地存在多个,根据各通信线路的通信状况等的不同,存储装置30B接收数据的顺序不一定与主机10的写请求顺序一致。但是,如果在数据发送时对数据赋予可以得知存储装置30A侧的写顺序的信息,例如此处为顺序号(流水号),则能够在存储装置30B侧将数据重新排序为原本的顺序。在数据的接收侧即辅助站点,通过将从较小的顺序号起至数据齐全为止的数据反映至存储装置30B,能够与发送侧的数据发送顺序实现一致。
将存储装置30B的数据是存储装置30A的某一时刻的数据的情况称为“具有一致性”。例如,在将数据库的数据保存在卷中的情况下,保存日志数据(log data)的卷和保存表数据的卷可能会被分为不同的卷。若多个卷的数据是存储装置30A中的彼此不同的时刻的数据,则会发生即使使用存储装置30B的数据也不能正常启动数据库的情况。为了保障多个数据整体的一致性,需要生成卷的集合。将其称为一致性组。
对于本实施例中使用的数据结构进行说明。
<数据结构>
图4表示远程拷贝配对(remote duplicate pair)卷管理信息。
远程拷贝配对卷管理信息301是管理远程拷贝对的信息。远程拷贝配对卷管理信息301是按每个远程拷贝的成对卷具有的信息,至少保存在存储装置30A侧。
远程拷贝配对卷管理信息301中,包括用于标识远程拷贝对的远程拷贝对ID(RC对ID)340、作为远程拷贝数据的拷贝源的RCPVOL信息310、作为远程拷贝数据的拷贝目标的RCSVOL信息320和表示对的状态的对信息330。
RCPVOL表示作为远程拷贝的拷贝源的PVOL。RCPVOL信息310包括存储装置ID311和卷ID312。RCSVOL表示作为远程拷贝的拷贝目标的SVOL。RCSVOL信息320包括存储装置ID321和卷ID322。
存储装置ID311和存储装置ID321是该卷所位于的各存储装置30的标识符。卷ID312、322是各存储装置30中的该卷的标识符。利用这些ID可唯一地确定该卷。
对信息330包括对状态332和差异比特图334。
对状态332是“PAIR”、“COPY”和“SUSPEND”中的任一个,其中,“PAIR”表示构造拷贝(初始拷贝),“COPY”表示差异拷贝,“SUSPEND”表示因卷或路径中断等导致拷贝处理停止而处于挂起状态。构造拷贝是卷的整体拷贝。差异拷贝是卷中的差异数据的拷贝。
对差异拷贝进行说明。根据差异比特图将发送侧和接收侧的卷划分为多个区域。然后,发送侧在发送侧的卷的某一区域发生了数据更新的情况下,生成更新后的数据的日志。之后,发送侧仅将发生了擦写的区域的日志发送到接收侧。将此称为差异拷贝。差异拷贝在同一区域的擦写较多等情况下,与通常的拷贝相比具有可以减少发送量的优点。
差异比特图334是在使用上述差异拷贝的情况下,表示RCPVOL和RCSVOL的数据中存在差异的区域,即RCPVOL中发生了擦写的区域的比特图信息。在SUSPEND期间中RCPVOL发生了更新的情况下,将表示发生了更新的区域的差异比特设为ON(‘1’)。然后,在SUSPEND之后,对RCPVOL的差异比特图334与RCSVOL的差异比特图求OR(逻辑或),基于得到的比特图仅拷贝比特为ON的区域(差异拷贝),由此能够使对状态恢复为拷贝状态。通过差异拷贝能够减少拷贝传输量。
其中,对RCPVOL的差异比特图334与RCSVOL的差异比特图求逻辑或的动作,是在与主站点100A无关地由RCSVOL在辅助站点100B内进行擦写等情况下必要的动作,在不必要的情况下可以省略。存储装置30A在差异拷贝中对于拷贝完成的区域将差异比特设为OFF(‘0’)。全部差异比特成为OFF时表示差异拷贝完成,RCPVOL与RCSVOL已经同步。
另外,存储装置30A通过在生成卷的配对(pair)时将差异比特图334全部设为ON来进行差异拷贝(进行构造拷贝),能够将RCPVOL的全部区域拷贝至RCSVOL。
接着,说明构造拷贝下RCPVOL接收到来自主机10的写请求的情况下的处理。在存储装置30A从主机10接收到对RCPVOL的写请求,且差异比特图334中写请求对象的区域的差异比特为ON的情况下,表示该区域的构造拷贝尚未结束。因为该区域的数据稍后会因构造拷贝而被拷贝,所以存储装置30A对RCPVOL进行写入但不生成日志。在存储装置30A从主机10接收到对RCPVOL的写请求,且差异比特图334中写请求对象的区域的差异比特为OFF的情况下,表示该区域的构造拷贝已结束。因此,存储装置30A对RCPVOL进行写入,并与差异拷贝同样地生成该区域的日志,传输给存储装置30B。
图5表示快照配对(snapshot pair)卷管理信息。
快照配对卷管理信息351与远程拷贝配对卷管理信息301相同。例如,对信息380与上述对信息330相同。对状态382、差异比特图384分别与上述对状态332、差异比特图334相同。
不过,代替RCPVOL信息310使用了快照PVOL卷ID360,代替RCSVOL信息320使用了快照SVOL卷ID370。快照PVOL是快照的拷贝源的PVOL,本实施例中是RCPSVOL。快照SVOL是快照的拷贝目标的SVOL,本实施例中称为SSVOL。在SSVOL是虚拟卷的情况下,快照配对卷管理信息351也可以包括与SSVOL对应的存储池ID。
另外,在快照配对卷管理信息351中,可以设定也可以不设定快照SVOL卷ID。不设定的情况下,存储装置30B仅将在快照存储池内保存数据的区域的地址作为快照的拷贝目标的信息与快照PVOL即RCSVOL关联地管理。例如,若快照PVOL按页管理数据,该页用#0~100表示,则快照配对卷管理信息351对于各页,将保存快照PVOL侧的数据的地址信息与保存各快照对ID(或世代)的快照SVOL侧的数据的快照存储池的地址信息关联地管理。
这样,SSVOL不具有卷ID,所以即使快照的世代数增加,也不会消耗卷ID。卷ID具有预先决定的上限数,超过上限的情况下需要重新设定,所以会导致操作上的负载增大。另外,卷ID增加时管理信息增大,所以需要确保保存管理信息的存储器量。在无需消耗卷ID就能增加可获取快照的世代数这一点上,该方法是有效的。
作为快照对的状态,有“PAIR”状态和“SPLIT”状态(有时也称为“分割”状态)等,其中“PAIR”状态表示快照对的各卷中保存的数据已同步,各自保存的数据的内容一致的状态,“SPLIT”状态表示快照对之间数据未同步。
存储装置30B例如在特定时刻将处于PAIR状态的对变更为SPLIT状态。此时,SSVOL中保存的是特定时刻下保存的数据。将这样的处理称为“获取快照”。之后,主机10从SSVOL读取数据写入到其它存储装置(例如磁带装置等),由此能够得到在获取快照的时刻下保存的数据的备份。另外,存储装置30B也可以将获取快照后的SSVOL本身作为数据的备份保存。
存储装置30B也可以使用快照的多个对的集合即快照组。该情况下,存储装置30B能够对快照组内的多个对执行相同的操作。
图6表示一致性组管理信息。
一致性组管理信息502是用于管理一致性组的信息。一致性组管理信息502至少保存在存储装置30A中。
一致性组管理信息502包括一致性组ID511、对状态512、最新顺序号530、未传输顺序号540、已正式化顺序号550、配对卷信息560、主站点侧(P)日志卷信息570和辅助站点侧(S)日志卷信息580。
对于由一致性组内的主站点侧(P)卷从主机10接收到写请求的数据,在保持着一致性组内的写请求顺序的状态下,拷贝到与各主站点侧(P)卷构成远程拷贝对的辅助站点侧(S)卷。为了保持写顺序,对各远程拷贝数据赋予后述的顺序号610。
存储装置30B中,能够将顺序号610齐全的远程拷贝数据反映至RCSVOL266。发生了较小的顺序号610缺失的远程拷贝数据不予反映。对于该存储装置30B判断为可反映的远程拷贝数据,将该远程拷贝数据反映至RCSVOL266,该处理称为“正式化”。
一致性组ID511是唯一确定一致性组的标识符。
对状态512是“PAIR”、“COPY”、“SUSPEND”和“SUSPEND-E”中的某一种状态,其中“PAIR”表示该一致性组内的全部配对卷都处于拷贝状态,“COPY”表示该一致性组内的一个以上的配对卷处于差异拷贝中,“SUSPEND”表示该一致性组内的全部配对卷都处于挂起状态(在该一致性组内具有一致性的状态),“SUSPEND-E”表示该一致性组内的一个以上的配对卷处于挂起状态(在该一致性组内不具有一致性的状态)。
最新顺序号530是存储装置30A对该一致性组的远程拷贝数据赋予的顺序号610中最新赋予的编号。
未传输顺序号540是尚未从存储装置30A向存储装置30B传输的远程拷贝数据的顺序号610中最早的顺序号610。存储装置30A从未传输的远程拷贝数据中具有较早的顺序号610的远程拷贝数据起顺序传输。
已正式化顺序号550是存储装置30B已完成正式化的远程拷贝数据的顺序号610中最新的顺序号610。
配对卷信息560包括该一致性组中包括的各个对的远程拷贝配对卷管理信息301。
主站点侧日志卷信息570包括关于主站点100A侧的存储装置ID571,给出了该一致性组中包括的各日志卷的日志卷管理信息401。辅助站点侧日志卷信息580包括关于辅助站点100B侧的存储装置ID581,给出了该一致性组中包括的各日志卷的日志卷管理信息401。存储装置ID571、581是包括日志卷的各存储装置30的标识符。
图7表示远程拷贝数据。
远程拷贝数据601是从存储装置30A对存储装置30B传输的数据。远程拷贝数据601包括一致性组ID511、顺序号610、时间戳620和拷贝数据信息630。
一致性组ID511是如上所述用于标识一致性组的ID。顺序号610如上所述是为了在一致性组内保持写顺序而赋予的流水号。
时间戳620是表示存储装置30A中从主机10接收到数据的写请求的时刻的信息。时间戳620用于获知存储装置30B的数据是存储装置30A的哪个时刻的数据。
拷贝数据信息630对于各拷贝数据包括保存数据卷ID631、数据保存地址632、数据长度633、数据634。保存数据卷ID631是表示存储装置30B中的RCSVOL的标识符。数据保存地址632表示写数据在RCSVOL中的写入位置。数据长度633表示写数据的长度。数据634是写入到RCPVOL中的数据的拷贝,RCSVOL也与RCPVOL同样地进行写更新。
拷贝数据可以是一个,也可以是多个。在对主机10到RCPVOL的每一个写操作生成远程拷贝数据601的情况下,拷贝数据是一个。在某一时间间隔内(例如10秒间隔等)将存储装置30A从主机10接收到的写请求合并生成远程拷贝数据601的情况下,拷贝数据是多个。该情况下,拷贝数据可以与来自主机10的写数据相同。另外,存储装置30A可以将从主机10发生了更新的区域作为差异区域保存,将差异区域的数据作为拷贝数据。在同一区域存在来自主机10的多个写请求的情况下,将差异区域的数据作为拷贝数据能够削减拷贝数据量。
图8表示日志卷管理信息。
日志卷管理信息401是对保存远程拷贝的日志的卷(日志卷)进行管理的信息。日志和日志数据指的是保存在存储装置30A中的数据的更新历史,例如是在远程拷贝数据上附加了写请求时刻等得到的。日志卷管理信息401是按每个日志卷具有的信息,保存在存储装置30A的共享存储器33A和存储装置30B的共享存储器33A中。
日志卷管理信息401包括存储装置ID410、卷ID420和日志信息430。存储装置ID410是用于标识各存储装置30的ID,卷ID420是在各存储装置30内标识日志卷的ID。在该日志卷为虚拟卷的情况下,日志卷管理信息401也可以包括与该日志卷对应的存储池的存储池ID。
在日志信息430中,针对保存在日志卷中的各日志包括顺序号431和日志元数据指针432。日志元数据指针432是表示日志元数据的位置的指针。顺序号431和日志元数据的细节将在后文描述。
图9表示数据卷管理信息。
数据卷管理信息501是用于管理数据卷的信息,包括用于在存储装置30内标识数据卷的卷ID510、该数据卷的卷属性530、与该数据卷对应的存储池ID524、该数据卷的长度536和与该数据卷成对的数据卷的信息即配对卷信息520。
配对卷信息520包括该配对卷所处的存储装置的标识符即存储装置ID521、用于标识该配对卷的数据卷ID522、表示该对的状态的对状态523。通过组合存储装置ID521和数据卷ID522,能够唯一地确定数据卷。
对状态523给出“PAIR”、“COPY”和“SUSPEND”中的某一种状态,其中“PAIR”表示数据卷处于拷贝状态(卷内具有数据一致性的状态),“COPY”表示正在进行差异拷贝,“SUSPEND”表示因卷或路径的中断等导致拷贝处理停止而处于挂起状态。
卷属性530是表示逻辑卷的属性的标识符的信息。在该数据卷是RVOL311的情况下保存表示RVOL的标识符(即如果是“实际卷”则为其标识符),在该数据卷是TPVOL312的情况下保存表示TPVOL的标识符(即如果是“精简配置卷=容量虚拟化卷”则为其标识符)。另外,在该数据卷被设定于存储池中的情况下,保存表示存储池属性的标识符。对于外部卷等,卷属性530也同样地保存对应的标识符。
在该数据卷被设定于存储池中的情况下,存储池ID524保存该数据卷所属的存储池的标识符。在该数据卷被设定为虚拟卷的情况下,存储池ID524是保存数据时分配存储区域的存储池的存储池ID。
长度526表示对该数据卷设定的容量。
除此以外,数据卷管理信息501还管理构成该数据卷的物理硬盘编号组、由该物理硬盘构成卷的RAID级别、LU号、物理端口号等信息,不过这些并未图示。
图10表示日志数据与日志元数据的关系。
此处,日志包括数据的拷贝即日志数据821和日志数据的管理信息即日志元数据701。
一般而言,RCPVOL265、RCSVOL266和日志卷267A、267B分别按预先决定的逻辑块单位管理(例如512KB)。逻辑块分别被赋予逻辑块地址。
主站点100A的日志卷267A具有日志元数据区域810A和日志数据区域820A。日志数据区域820A保存日志数据821A,即通过写命令在RCPVOL265中写入的数据831A的拷贝。日志元数据区域810A保存关于日志数据821A的日志元数据701A。
辅助站点100B的日志卷267B也与日志卷267A同样地,具有日志元数据区域810B和日志数据区域820B。日志元数据区域810B保存从日志卷的日志元数据区域810A传输的日志元数据701B。日志数据区域820B保存从日志卷267A的日志数据区域820A传输来的日志数据821B。
图11表示日志元数据。
日志元数据701是用于将数据与日志数据关联的管理信息,包括数据卷信息710和日志信息720。
数据卷信息710包括表示数据被更新的时刻的更新时刻711、用于标识保存更新后的数据的数据卷的数据卷标识符712和表示保存数据的数据卷上的起始地址的数据保存地址713。
日志信息720包括表示保存日志数据的日志卷上的起始地址的日志数据保存地址721、日志数据的数据长度722和获取日志时分配的一致性组内的该日志的流水号即日志顺序号723。
在上述日志与数据的关系中,日志元数据701B具有RCPVOL265中进行的数据更新的信息,其日志信息720B表示对应的日志数据821B的地址、数据长度、顺序号。存储装置30B将日志数据821B从日志卷267B内的日志数据区域820B拷贝到RCSVOL266的与数据保存地址713B对应的地址上,由此能够将RCPVOL265中的更新反映至RCSVOL266。
各地址可以用卷上的逻辑块地址(Logical Block Address:LBA)表示。数据长度可以用逻辑块数表示。另外,保存数据的位置可以用保存数据的区域(日志数据区域或日志元数据区域)相对于基地址(起始LBA)的差(偏移量)表示。本实施例中,日志元数据701的数据长度是固定的(例如64字节),但日志数据的数据长度依赖于通过写命令更新的数据,所以不是固定的。
在定义一致性组时,各存储装置30对所设定的日志卷267进行日志元数据区域810和日志数据区域820的设定。具体而言,设定各区域的起始LBA和块数。
存储装置30对日志卷按顺序号从存储区域的开头起使用,使用至末尾后返回开头循环地使用。主站点100A的日志在已传输至辅助站点100B或者在辅助站点100B中完成反映该日志时被清除,依次释放日志的区域。辅助站点100B的日志也同样地,在完成反映至RCSVOL266时被清除,依次释放日志的区域。另外,这里存储装置30将日志保存在日志卷中,但也可以保存在缓存32或专门设置的硬盘或闪存、RAM等中。
主机10或者与存储装置30连接的维护终端(或者管理装置)具有的GUI(GraphicalUser Interface)等对存储装置30发出对(pair)生成命令,将拷贝源即存储装置30A所具有的RCPVOL265与保存在RCPVOL265中的数据的拷贝目标——存储装置30B所具有的RCSVOL266关联为对,由此构建远程拷贝结构。进而,存储装置30使用各自的日志处理管理程序221,在RCPVOL265和RCSVOL266中分配保存对应的日志的日志卷,形成一致性组(数据卷的对(pair)和日志卷的对)。
首先,执行从RCPVOL265将数据拷贝至RCSVOL266的构造拷贝(初始拷贝)处理。拷贝时,从RCPVOL265的卷开头区域开始传输直到末尾。
<备份处理动作>
以下说明RCPVOL265的备份的动作。
图12表示日志处理的概要。
此处,说明通常操作时的由主站点100A的存储装置30A接受访问的情况下的日志处理。
存储装置30A和30B分别执行日志处理管理程序221,控制日志处理。
通过执行日志获取程序223A,存储装置30A将写入到RCPVOL265中的数据的拷贝作为日志数据保存在日志卷267A中。并且,存储装置30A也将日志元数据作为日志的一部分保存在日志卷267A中。这些处理是日志获取处理。
另一方面,存储装置30B执行日志反映程序224B进行日志反映处理。日志反映程序224B基于保存在日志卷267B中的日志将数据反映至RCSVOL266,从而将RCPVOL265中更新的数据反映至RCSVOL266。
图13表示日志处理的细节。
在存储装置30A中,当IO处理程序261从主机10接收到对RCPVOL265的写请求时(S1110),将从主机10接收到的数据写入至RCPVOL265。日志获取程序223生成日志,并将生成的日志保存在日志卷267A中(S1112)。此处,日志获取程序223参考保存在存储装置30A的共享存储器33上的一致性组管理信息502,决定日志保存目标,并获取最新顺序号530的下一个编号作为顺序号,生成日志元数据701。具体而言,日志获取程序223根据日志数据即所写入的数据的拷贝和所生成的日志元数据701来生成日志,将日志保存在日志卷267B中。存储装置30A在数据完成了存储装置30A中的写入的时刻,对主机10发出写入完成响应。从存储装置30A到存储装置30B的日志的传输是与写请求异步地进行的。
存储装置30B在规定的时机——例如每一定周期——获取存储装置30A的日志的信息。在存储装置30B中,日志处理管理程序221B对存储装置30A发送用于从存储装置30A获取关于日志生成状况的信息的请求(S1114)。关于日志生成状况的信息例如是日志卷内的日志的容量、日志的最早的时刻等。日志处理管理程序221A按照请求将关于日志生成状况的信息传输给存储装置30B(S1115)。日志处理管理程序221B利用该取得的信息生成日志传输请求。
接着,说明从存储装置30A对存储装置30B传输日志的处理。在存储装置30B中,当按照用户经GUI输入的指示或预先决定的计划,发生了日志传输指示时,日志处理管理程序221B对存储装置30A的日志传输程序222A发出日志传输请求(S1116)。上述计划例如指的是,当存储装置30A中有一定量的日志被保存至日志卷267A时,或每隔一定期间等。
日志传输请求中包括用于指定要拷贝的日志(可以是多个)、保存该日志的日志卷267A、具有该日志卷的存储装置30A的信息,和用于指定保存所拷贝的日志的日志卷267B的信息。日志处理管理程序221B根据从共享存储器33上的一致性组管理信息502获取的信息,生成日志传输请求。
接收到日志传输请求的日志传输程序222B对存储装置30A发出针对日志传输请求中指定的日志的读命令(S1118)。接收到该读命令的存储装置30A的日志处理管理程序221A将读命令中指定的日志发送给存储装置30B(S1120)。接收到日志的存储装置30B的日志处理管理程序221B将接收到的日志保存在日志传输请求中指定的日志卷267B中(S1121)。
之后,存储装置30B的日志处理管理程序221B对存储装置30B的日志反映程序224B发出日志反映请求(S1122)。接收到日志反映请求的日志反映程序224B按照日志卷267B的日志的顺序号将日志数据写入至RCSVOL266,由此在RCSVOL266中反映RCPVOL265的数据(S1124)。接着,日志反映程序224B将保存了反映中使用的日志的区域清除(S1125)。由此,该区域能够用于保存新的日志。
并且,日志反映程序224B将数据已反映到RCSVOL266中的日志的顺序号通知给存储装置30A的日志处理管理程序221A。由此,日志处理管理程序221A将存储装置30A的日志卷267A中的、保存已反映到RCSVOL266中的日志的区域释放(S1126)。该区域能够用于保存新的日志。另外,没有必要在接收到通知后立刻进行日志的清除。可以定期地进行日志的清除,也可以按照用户的指示进行清除。
根据以上日志处理,通过进行从RCPVOL265到RCSVOL266的异步远程拷贝,在主机10对RCPVOL265的访问中,与进行同步远程拷贝的情况相比能够减小响应时间。存储装置30A在快照生成条件成立时生成标记,存储装置30B根据检测出标记而生成RCSVOL266的快照,由此能够在辅助站点100B生成RCPVOL265的特定时刻的快照。从而,在主站点100A故障时,使用辅助站点100B进行恢复将变得容易。并且通过使RCSVOL266为TPVOL,RCSVOL266的容量的管理等将变得容易。
对日志处理的变形例进行说明。
在变形例的日志处理中,存储装置30A不像上述日志处理那样等待来自存储装置30B的读命令,而是通过从存储装置30A对存储装置30B发出写入数据的写命令,来进行日志的传输。
变形例的日志处理中,代替S1116,存储装置30A的日志处理管理程序221A对日志传输程序222A发出日志传输请求。日志传输请求中包括用于指定保存有要对存储装置30B发送的日志的日志卷267A、存储装置30B的信息,和用于指定要在存储装置30B中保存该日志的日志卷267B的信息等。日志处理管理程序221A从保存在共享存储器33上的一致性组管理信息502A获取这些信息。
代替S1118,接收到日志传输请求的日志传输程序222A对存储装置30B发出写命令,将指定的日志发送给存储装置30B。存储装置30B将从存储装置30A作为写命令接收到的日志保存在该命令所指定的日志卷267B的区域中。
作为保存日志的方法,有在物理卷中保存日志的方法,和以精简配置卷生成日志卷,将日志保存在存储池268中的方法等。
接着说明在存储装置30B中将日志反映至RCSVOL的处理的细节。
存储装置30B将RCSVOL266和日志卷267B设定为容量虚拟化(精简配置)卷。存储装置30B将从存储装置30A传输来的远程拷贝数据保存在远程拷贝用存储池中。具体而言,存储装置30B将从存储装置30A传输来的日志保存在存储池268B中。存储装置30B根据日志元数据求出RCSVOL266内的更新对象页。如果更新对象页中已保存了数据,则存储装置30B在更新对象页上覆盖写入数据。如果更新对象页中没有保存数据,则存储装置30B将保存了日志数据的存储池268B内的页的地址存储在对更新对象页进行管理的数据保存地址中。存储装置30B通过像这样进行映射变换,能够将存储池268B内的页分配至RCSVOL266。
另外,存储装置30A侧的RCPVOL265也可以是容量虚拟化卷。
存储装置30B的去重程序225也可以对从存储装置30A传输来的日志执行去重处理。
图14表示去重处理。
去重程序225判断从存储装置30A传输到存储装置30B的日志内的日志数据是否与保存在存储池268B中的(反映到RCSVOL266前的)日志数据相同。在判断为相同的情况下,去重程序225将与保存在存储池268B中的日志数据821B对应的日志元数据701B内的日志数据保存地址721B的值,保存到与传输来的日志数据对应的日志元数据701Bb内的日志数据保存地址721Bb中。该情况下,去重程序225不将传输来的日志数据写入至存储池268B。从而,存储装置30B能够防止保存重复的数据,能够削减存储池268B的使用量。在判断为不相同的情况下,去重程序225从存储池268B对日志卷267B分配空白区域,保存传输来的日志数据。在任一情况下,传输来的日志元数据701Bb的条目都是必要的。去重程序225也可以计算并保存传输来的日志数据的散列值,对两个散列值进行比较,由此判断两个日志数据是否相同。
另外,去重程序225也可以判断从存储装置30A传输到存储装置30B的日志内的日志数据是否与存储池268B内的数据相同。
另外,去重程序225也可以对要反映到RCSVOL266的数据进行去重再保存到存储池268B中。
接着说明快照获取条件成立的情况下的动作。
本实施例的存储系统在快照获取条件成立时,在存储装置30B内生成RCPVOL265的快照。例如,快照获取条件是存储装置30A从主机10接收到生成快照的指示即快照获取指示。另外,也可以例如从主机10对存储装置30A设定获取快照的时刻,从而快照获取条件为达到该时刻。
本实施例的存储系统执行异步远程拷贝,所以在存储装置30A的异步远程拷贝的主卷(RCPVOL265)与存储装置30B的异步远程拷贝的副卷(RCSVOL266)之间,会发生RCPVOL265与RCSVOL266不一致的状态。在这样RCPVOL265与RCSVOL266不一致的状态下,即使获取快照,也无法得到想要获取的瞬间的RCPVOL265的快照。为了获取快照,需要使存储装置30A与存储装置30B为相同的状态,即达到静态化状态。
存储装置30B依次读取日志,在将日志反映到RCSVOL266的作业中,若在日志内发现了标记,能够在SSVOL中获取RCSVOL266的快照。标记是表示在生成RCPVOL265的快照时一致性组内实现了一致性的信息。标记例如可以是预先设定的数据模式,也可以包括表示预先设定的地址的日志元数据。
由此,存储系统能够在辅助站点100B中生成对主站点100A指示的时刻的RCPVOL265的快照。
另外,主机10也可以对存储装置30A发出快照获取指示。主机10可以在发出快照获取指示的同时停止I/O请求。该情况下,存储装置30B在生成快照时通知存储装置30A,并且存储装置30B向主机10返回快照获取指示的响应。相应地,主机10重新开始I/O请求。
可以由管理装置对存储装置30A发出快照获取指示,或对存储装置30A预先设定获取快照的时刻。
为了积极地生成RCPVOL265的静态化状态,存储装置30A可以响应于快照获取指示而停止I/O。
若存储装置30B生成基于精简配置的容量虚拟化卷作为日志卷267B,则日志的实体是保存在存储池268B中的。以下说明中,对多个日志卷使用同一个存储池268B的情况进行说明。在将日志保存在存储池268B中的情况下,S1120的日志的传输处理是从存储池268A向存储池268B传输日志。页是用于管理存储池的存储区域的存储单位。页长度例如是8MB、数十MB等。
可以采用这样的方式,即,在存储装置30A接收到RCPVOL265的快照获取指示时,将该指示保存在日志中并将日志传输至存储装置30B,存储装置30B在检测出日志内的快照获取指示时获取快照。即,通过使用快照获取指示作为上述标记来使RCPVOL265静态化,只要传输了该时刻为止的日志,则在获取快照时,RCPVOL265与RCSVOL266为相同的状态。
图15表示发出了快照获取指示的情况下的日志处理。
首先说明存储装置30A的处理。在被指示要获取快照时,日志处理管理程序221A在RCPVOL265的日志卷267A的当时保存的顺序为最后的日志中加入标记(S1010)。标记表示该日志是快照获取前的最后的日志。
RCPVOL265的日志基于预先决定的条件按预先决定的数量被异步地传输至存储装置30B。日志按照生成的时刻的顺序反映到RCSVOL266。在条件满足时,日志处理管理程序221A判断RCPVOL265的日志卷267A中是否残留有未传输给RCSVOL266的日志(S1012)。有残留的情况下(S1012为“是”),日志传输程序222A将日志传输给存储装置30B(S1014)。传输的日志被保存在日志卷267B中。在直到快照获取指示的全部日志已被传输(即标记的传输已完成)的情况下(S1012为“否”),控制器31A结束处理。
另外,此处由日志处理管理程序221A判断是否已完成日志的传输,但也可以由存储装置30B的远程拷贝控制程序260B判断是否已从日志卷267A获取了直到快照获取指示的全部日志(是否已传输标记),并在未取得的情况下,由日志传输程序222B对存储装置30A发送日志读请求,由日志传输程序222A响应该请求而传输日志。
接着说明存储装置30B的日志处理。日志反映程序224B判断日志卷267B中是否存在未反映到RCSVOL266的日志(S1018)。如果不存在未反映的日志(S1018为“否”),则日志反映程序224B待机至从存储装置30A发送来日志。如果存在未反映的日志(S1018为“是”),则日志反映程序224B选择未反映的日志中顺序号在开头的日志(S1022),判断选中的日志是否为标记(S1024)。
如果不是标记(S1024为“否”),则因为选中的日志是未反映的日志,所以日志反映程序224B检索该日志带来的更新对应于RCSVOL266的哪个位置,并在SVOL写差异比特图250中判断与该位置对应的比特是否为‘1’(S1026)。具体而言,日志反映程序224B根据保存在日志元数据701内的、表示保存有对应的日志数据的地址的信息,参考RCSVOL266内的位置(地址)。SVOL写差异比特图250将预先决定的单位的长度的数据与比特图内的1比特对应着管理。从数据卷内的区域的开头起按上述长度单位对应地使用各比特。例如,在与SVOL写差异比特图250内的比特#10对应的RCSVOL266内的地址为#001~#100,而与日志数据对应的数据保存地址713为#003的情况下,SVOL写差异比特图250内的对应的比特为比特#10。这样,日志反映程序224B能够根据RCSVOL266内的地址确定SVOL写差异比特图250内的比特。
日志反映程序224B确定与日志数据对应的比特,如果该比特是‘1’(S1026为“是”),则判断为RCSVOL266中的数据不是最新的数据,即存在与RCPVOL265的数据不一致的可能,将日志数据反映到RCSVOL266(S1028),并将日志数据从日志卷267B删除(S1030)。如果存在下一个日志,则日志反映程序224B反复同样的处理。
在下一个日志是标记的情况下(S1024为“是”),日志反映程序224B识别为全部未反映的日志已完成反映。即,达到RCPVOL265和RCSVOL266中保存了相同数据的状态。之后,快照控制程序262B从RCSVOL266获取快照(S1034)。此处,快照控制程序262B在快照对中的拷贝目标即快照SVOL(SSVOL)271中生成快照对中的拷贝源即RCSVOL266的拷贝。此处的SSVOL271是虚拟卷。快照控制程序262B将保存有RCSVOL266的实体的存储池268B内的页映射至SSVOL271。
在存储装置30A于构造拷贝(初始拷贝)尚未结束的状态下接收到快照获取指示,并在之后接收到对构造拷贝前(尚未被构造拷贝)的位置的写入请求的情况下,由于需要将更新前的状态保存在存储装置30B的RCSVOL266中,所以该情况下将该位置的更新前的数据登记为日志。存储装置30B将标记之前的日志和经构造拷贝的数据反映至RCSVOL266,然后再生成快照。之后,存储装置30B在构造拷贝处理完成之后,将标记之后的日志反映至RCSVOL266。
下面对快照生成(S1034)的细节进行说明。
图16表示快照生成时的RCSVOL与SSVOL的关系。
通过进行上述的日志处理,从存储装置30A传输到存储装置30B的日志被保存在日志卷267B中。日志卷267B内的页251的实体的日志数据被保存在存储池268B内的页252中。日志元数据701内的数据保存地址表示页252的地址(S2210)。
存储装置30B从日志卷267B按顺序号依次取出日志反映至RCSVOL266。在反映页251的日志数据时,将RCSVOL266内的页253映射至存储池268B内的实体的页252(S2212)。即,RCSVOL266内的页253被映射至页251的实体的页252。在RCSVOL266内的页253已保存有数据的情况下,存储装置30B在实体的页252上覆盖写入。
在该状态下,若存储装置30B在从日志卷267B取出的日志中检测出标记,则进行快照(S1034)。此处,存储装置30B并不在与RCSVOL266内的页253对应的SSVOL271内的页255中保存实体的数据,而是映射RCSVOL266内的页253的地址(S2214)。
图17表示快照生成时的RCSVOL与SSVOL的数据的关系的变形例。
如果分配给RCSVOL266和SSVOL271的存储池是同一个存储池268B,则也可以直接将存储池268B内的页252映射至SSVOL271内的页255。通过使RCSVOL266和SSVOL271使用同一个存储池268B,能够抑制存储池268B的管理上的作业成本。
图18表示快照生成后的RCSVOL与SSVOL的关系。
在快照生成后因表示RCSVOL266的更新的日志而要对存储池268B内的页252反映日志数据的情况下,在反映前将存储池268B内的页252的数据传输(备份)至SSVOL271用的存储池272内的页254(S2216),将SSVOL271内的页255的映射目标变更为存储池272内的页254(S2218),再利用日志数据更新存储池268B内的页252(S2220)。
如上所述,通过对存储装置30B传输异步远程拷贝的差异,并组合快照,能够高速地生成完整备份映像。
这样,存储装置30B在对RCSVOL266反映标记(快照生成)后的日志时,将反映前的数据写入至SSVOL271用的存储池272内的页254,并将反映后的数据写入至存储池268B内的页252。由此,存储装置30B能够仅将快照获取指示后的RCPVOL265的更新前的数据写入至存储池272。另外,存储装置30B也可以在对RCSVOL266反映标记后的日志时,将反映前的数据维持在存储池268B内的页252中,将反映后的数据写入其它页或其它存储池。
另外,如上所述,在不将SSVOL271作为卷管理的情况下,可以不对SSVOL271赋予卷ID。该情况下,存储装置30B具有快照配对卷管理信息351之外的其它表。该表只要能够对RCSVOL的地址管理所备份的数据保存在何处即可。
如上所述,存储装置30B通过将RCSVOL266内的页253或存储池268B内的页252分配至SSVOL271内的页255,能够高速地生成RCSVOL266的快照。在反映快照生成后的日志时,仅将反映前的数据拷贝至存储池272,由此存储池272中保存的数据仅为SSVOL271与RCSVOL266的差异。从而,能够抑制存储池272的使用量。
另外,通过使用快照用的存储池272,能够使存储池268B的管理和存储池272的增设等变得容易。通过对日志卷267B和RCSVOL266分配同一个存储池268B内的页252,从RCPVOL265到RCSVOL266的日志的反映和从RCSVOL266到RCPVOL265的日志的生成变得高速,并且能够抑制物理存储设备的使用量。
以下说明还原(复原)处理。
作为还原的方法例如有以下第一还原处理~第三还原处理。
(1)第一还原处理:传输异步远程拷贝的差异的一致性组的还原
(2)第二还原处理:从外部连接快照卷,通过复制来进行的卷还原
(3)第三还原处理:从外部连接快照卷,通过主机10进行超精细度的还原
图19表示第一还原处理的概要。
第一还原处理进行与上述日志处理反向的从存储装置30B到存储装置30A的异步远程拷贝。第一还原处理进行差异拷贝,即进行使用日志将发生了变更的位置的数据从存储装置30B传输到存储装置30A的处理。
主机10对存储装置30A发出表示要还原的快照时刻的还原指示(S2110)。主机10在开始还原时,将访问RCPVOL的应用停止(S2112)。主机10通过进行用于将异步远程拷贝的操作从存储装置30A切换至存储装置30B的处理,切换主和副的地位(S2114)。在该切换之后,拷贝处理的方向成为从存储装置30B拷贝至存储装置30A。存储装置30A对存储装置30B通知该指示。
存储装置30B将主机10指定的快照的数据从SSVOL复原至RCSVOL(S2120)。
图20表示第一还原处理中的存储装置30B的动作的细节。
具体而言,存储装置30B从RCSVOL的起始地址起依次按数据的管理单位选择对象地址(S2121)。存储装置30B基于快照配对卷管理信息351,判断存储池272内是否存在与对象地址对应的快照数据(S2122)。
在存在与对象地址对应的快照数据的情况下,因为快照数据是要复原的数据,所以存储装置30B将快照数据覆盖写入到RCSVOL的数据上(S2123)。然后,存储装置30B生成用于对快照数据进行异步远程拷贝的日志(S2124),将日志登记到日志卷267B(S2130)。存储装置30B判断日志卷267B中是否存在与上述地址对应的日志(S2125)。如果存在日志,则存储装置30B删除该日志(S2126),结束该流程。
在S2122判断为不存在与对象地址对应的快照数据的情况下,RCSVOL中保存的数据就是要复原至RCPVOL的数据。因此,存储装置30B判断日志卷267B中是否存在与上述地址对应的日志(S2127)。如果存在该日志,则存储装置30B删除该日志(S2128)。然后,存储装置30B根据保存在RCSVOL中的数据生成日志(S2129),将日志登记到日志卷267B(S2130),结束该流程。如果不存在该日志,则存储装置30B结束该流程。
存储装置30B对每个对象地址反复该流程。
存储装置30B在对RCSVOL内的全部地址执行了该流程之后,将保存在日志卷267B中的日志传输到存储装置30A(S2132)。存储装置30A将传输来的日志保存在日志卷267A中(S2134)。存储装置30A基于日志消除异步远程拷贝结构的差异,使RCPVOL与RCSVOL同步。即,存储装置30A通过在与日志所示的地址对应的RCPVOL的地址的日志数据上覆盖写入,而将快照时刻的数据复原(S2136)。
在RCPVOL与RCSVOL实现同步后,主机10启动应用。
在如上所述的不是卷形式的SSVOL的管理方法的情况下,存储装置30B可以在快照数据还原(S2130)之后,将快照对分割,对SSVOL赋予卷ID,进行将SSVOL作为卷形式保留的处理。
通过以上第一还原处理,能够利用辅助站点100B中生成的SSVOL271复原主站点100A的RCPVOL265的特定时刻的数据。另外,存储装置30B生成还原指示的时刻下的、SSVOL271中的标记之后的日志反映前的数据(SSVOL271与RCSVOL266的差异)的日志和RCSVOL266中的未反映的日志反映前的数据(RCSVOL266与RCPVOL265的差异)的日志,而不需要将SSVOL271内的全部数据传输给存储装置30A,能够高速地还原。
图21表示第二还原处理。
作为第二还原处理,存在使快照本身直接对主机10可见的方法。此处说明快照数据如上所述不以卷形式管理的情况。当存储装置30A从主机10接收到还原指示时(S2210),存储装置30B设置用于将快照数据作为卷管理的虚拟卷(VVOL)258,将SSVOL269映射至虚拟卷258(S2212)。由此,存储装置30A能够使用虚拟卷258内的地址来参考快照数据。
存储装置30A能够使用外部连接功能——可将外部存储装置内的卷作为内部的卷访问的功能——访问虚拟卷258。存储装置30A设置外部卷(EVOL)257,对于外部卷257将存储装置30B内的虚拟卷258映射至外部卷257(S2214)。存储装置30A从外部卷257对RCPVOL265执行复制处理(replication process),向主机10发出响应(S2216)。主机10根据该响应通过访问RCPVOL265来实施业务。在从主机10进行访问的期间,复制处理也将外部卷257内的数据拷贝至RCPVOL265。在复制处理中,在主机10发出了对RCPVOL265的读请求,但读请求的对象页尚未完成从外部卷257拷贝的情况下,存储装置30A将对象页的数据从外部卷257拷贝至RCPVOL265,将该数据响应给主机10。
由此,主机10能够高速地访问并未与其直接连接的存储装置30B中保存的快照数据。
接着说明第三还原处理。
第三还原处理在上述第二还原处理的S2214为止都执行相同的处理。之后,主机10利用OS和/或应用从外部卷257中选择还原对象数据,将其拷贝到RCPVOL265。
由此,能够对主机10提供精细度比卷更精细的还原对象数据。
<环境构建>
存储系统为了进行以上处理,需要进行事先的环境构建的作业。对事先的环境构建的流程进行说明。
设备引进后,系统用户(管理员)实施网络的设定、存储装置30的设定、主机10的设定、主机10上运行的应用的设定。在存储装置30的设定中,进行存储池生成、命令设备生成、端口设定、远程路径/外部路径(用于与外部存储装置连接的路径)设定。在主机10的设定中,在主机10中安装各组件,设定存储系统的管理程序,编写备份设定文件。管理程序通过从主机10对存储装置30发出命令,来操作存储装置30中保存的拷贝类的程序。作为管理程序的设定,生成结构文件。备份设定文件被保存在主机10内。备份设定文件例如定义了存储池ID、RCPVOL侧和RCSVOL侧的端口号、日志卷的容量和对状态转移时的监视超时值等。此处定义的值在此后的设定作业时使用。
图22表示RCPVOL生成处理。
存储装置30A根据来自主机10的指示生成RCPVOL。
系统用户指定卷容量,从主机10对存储装置30A发出卷的生成指示(S1210)。例如,主机10执行卷生成脚本。主机10读取备份设定文件,获取存储池ID(S1212)。为了在存储装置30A中生成卷,主机10从存储装置30A获取尚未生成的逻辑卷的逻辑卷编号的信息(S1214)。主机10从取得的逻辑卷编号中选择1个(S1216)。主机10对存储装置30A发出生成选中的编号的逻辑卷的指示,存储装置30A生成逻辑卷(S1218)。此时,主机10将取得的存储池ID的信息也传输给存储装置30A。卷的容量为由系统用户指定的容量,卷的属性标记为异步远程拷贝卷的RCPVOL。存储装置30A对于生成的逻辑卷生成LU(Logical Unit,逻辑单元)路径(S1220)。存储装置30A将存储池ID、长度等信息保存在与取得的逻辑卷的编号对应的数据卷管理信息501的位置。存储装置30A在生成LU路径后回复主机10。
在卷生成后,在上述数据卷管理信息501中登记卷属性530、存储池ID524、长度536。在设定为远程拷贝卷时,还登记配对卷信息520。进而,在构成远程拷贝时,该信息被登记至远程拷贝配对卷管理信息301。
图23表示RCSVOL生成处理。
存储装置30B根据来自主机10的指示生成RCSVOL。
系统用户从主机10对存储装置30B发出一致性组生成指示(S1310)。具体而言,主机10执行一致性组生成脚本。主机10的一致性组生成程序读取备份设定文件,获取存储池ID(S1312)。
为了在存储装置30B中生成卷,主机10从存储装置30B获取尚未生成逻辑卷的逻辑卷编号的信息(S1314)。主机10从取得的逻辑卷编号中选择1个(S1316)。主机10对存储装置30A指定作为RCPVOL的卷编号,获取RCPVOL的信息(S1318)。主机10从取得的信息中提取RCPVOL的容量等信息(S1320)。主机10指定提取出的容量,对存储装置30B发出生成RCSVOL的指示,存储装置30B生成RCSVOL(S1322)。此时,主机10将取得的存储池ID的信息也一起传输。卷的容量为由系统用户指定的容量,卷的属性标记为异步远程拷贝卷的SVOL。存储装置30B对生成的逻辑卷生成LU路径(S1324)。存储装置30B在生成LU路径后回复主机10。
对于第2个及之后的RCSVOL的生成,反复S1314~S1324的处理。
与登记RCPVOL信息时同样地,存储装置30B在数据卷管理信息501中登记RCSVOL信息。
图24表示RCPVOL侧日志VOL生成处理。
日志VOL是不需要被发出访问请求的上级主机10识别的卷(离线卷),所以用日志卷管理信息401来管理。主机10获取日志卷管理信息401本身或者可获知日志卷是在使用中还是空闲的信息(S1330),从其中选择1个空闲日志卷ID(S1332)。主机10对存储装置30A发出生成RCPVOL侧日志VOL的指示,存储装置30A生成RCPVOL侧日志VOL(S1334)。
之后,存储装置30A在RCPVOL侧日志VOL中生成RCPVOL的日志(S1340)。
对于生成的日志卷,存储装置30A在日志卷管理信息401中登记卷ID、存储池ID。另外,在后述的一致性组生成处理中,存储装置30A在一致性组的一致性组管理信息502中登记日志卷的卷ID。
与RCPVOL侧日志VOL生成处理同样地,主机10和存储装置30B进行RCSVOL侧日志VOL生成处理。
在RCSVOL侧日志VOL生成处理中,对存储装置30B进行RCPVOL侧日志VOL生成处理中对存储装置30A进行的处理。
存储装置30管理各日志VOL与哪一个RCPVOL或RCSVOL成对。
接着说明一致性组生成处理。
主机10指定卷ID和一致性组ID,对存储装置30A、30B发出生成一致性组的指示。存储装置30A、30B分别将生成的RCPVOL和RCSVOL作为分组到同一个一致性组的异步远程拷贝对的信息登记到一致性组管理信息502中。另外,存储装置30A、30B分别将对应的日志VOL登记到一致性组管理信息502内的P日志卷信息570和S日志卷信息580中。在上述一致性组管理信息502的例子中,RCPVOL和RCSVOL记载在配对卷信息560内的配对卷管理信息301中。
接着说明异步远程拷贝对生成处理。
主机10对存储装置30A、30B发出指定RCPVOL的卷编号和RCSVOL的卷编号的异步远程拷贝对生成指示。由此,存储装置30A、30B生成异步远程拷贝对。存储装置30A、30B将所指定的RCPVOL和RCSVOL分别登记到远程配对卷管理信息301内的RCPVOL信息310、RCSVOL信息320中。存储装置30A、30B将远程配对卷管理信息301的地址登记到一致性组管理信息502内的配对卷管理信息#n中。
图25表示快照卷生成处理。
与上述卷生成处理的S121至S1220同样地,主机10和存储装置30B生成卷(S1370至S1376)。因为拷贝源是RCSVOL,所以存储装置30B生成管理信息区域,确保用于获取RCSVOL的快照的快照配对卷管理信息351(S1374)。
主机10在从备份卷(SSVOL)进行还原时,在存储装置30A中生成用于识别备份卷的外部卷。如上所述,外部卷是将位于外部存储器内的逻辑卷虚拟化为自身的内部卷的方法。
为此,主机10从存储装置30A获取External端口的信息(S1378),从该信息中提取External端口的WWN(S1380)。主机10从存储装置30A获取表示外部卷组的外部卷组信息(S1382),从该信息中提取空闲外部卷编号(S1384)。主机10指定提取出的WWN、空闲外部卷编号,将新的外部卷的信息发送给存储装置30A,生成表示外部卷的外部卷组信息(S1386)。
进而,与上述卷生成处理的S121至S1220同样地,主机10和存储装置30A对存储装置30A发出生成引用SSVOL的外部卷的指示,存储装置30A生成外部卷。
以下说明本实施例的效果。
随着近年来大数据时代下的数据量的急剧增大,备份的作业时间增加,用于保存备份数据的存储容量增加,备份/还原的应用、管理成本增加。
现有的备份系统中,若将卷单位的全部数据还原,还原将会耗费时间。而根据本实施例,指示还原后至主机10访问RCPVOL265的时间得到缩短。
现有的备份系统中,随着作为备份对象的数据量增加,为了保存数据而确保的存储容量持续增加。而根据本实施例,能够削减存储装置30B中保存的数据量,能够削减存储装置30B的存储容量。
现有的备份系统中,需要使用控制存储装置的专用的备份服务器等,要花费引进成本。另外,为了备份作业,需要进行备份服务器与存储装置之间的管理程序的设定等,要花费成本。本实施例不需要引进备份服务器。
对本发明的表述用语进行说明。第一存储装置可以是存储装置30A。第二存储装置可以是存储装置30B。第一数据卷可以是RCPVOL265。第二数据卷可以是RCSVOL266。第一日志卷可以是日志卷267A。第二日志卷可以是日志卷267B。快照可以是SSVOL271。特定条件可以是快照生成条件。第二数据卷内的存储区域可以是页253,也可以是页252。快照内的虚拟存储区域可以是页255。第一存储池可以是存储池268B。第一存储区域可以是页252。第二存储区域可以是页254。第二存储池可以是存储池272。
以上说明了本发明的实施方式,但这只是用于说明本发明的示例,并不将本发明的范围限定于上述结构。本发明能够用其它各种方式实施。
附图标记说明
10、10A……主机,30、30A、30B……存储装置,31……控制器,32……缓存,33……共享存储器,34……物理存储设备,100A……主站点,100B……辅助站点,108……管理网络,121……存储网络,160……存储装置间网络,171……主机适配器,172……网络适配器,175……远程拷贝适配器,176……处理器,177……存储适配器,178……共享存储器适配器。

Claims (8)

1.一种存储系统,其特征在于,包括:
与主机连接的第一存储装置;和
与所述第一存储装置连接的第二存储装置,
所述第一存储装置在所述第一存储装置内生成第一数据卷和第一日志卷,
所述第一存储装置将所述第一数据卷提供给所述主机,
所述第二存储装置在所述第二存储装置内生成第二数据卷和第二日志卷,
所述第一存储装置响应于所述第一数据卷的更新,在所述第一日志卷内生成表示所述更新的日志,
所述第一存储装置和所述第二存储装置将所述第一日志卷内的日志传输到所述第二存储装置,
所述第二存储装置将所述传输来的日志写入所述第二日志卷,
所述第二存储装置按所述更新的顺序读取所述第二日志卷内的日志,
所述第二存储装置将所述读取出的日志反映到所述第二数据卷,
所述第一存储装置在特定条件成立时,在所述第一日志卷内生成包含标记的日志,
所述第二存储装置在从所述读取出的日志中检测到所述标记时,生成所述第二数据卷的快照,
所述第二存储装置通过将所述第二数据卷内的存储区域分配给所述快照内的虚拟存储区域来生成所述快照,
所述第二存储装置生成第一存储池,
所述第二存储装置将所述第一存储池内的存储区域分配给所述第二数据卷内的虚拟存储区域,
所述第二存储装置从所述第二日志卷读取在包含所述标记的日志之后生成的日志即后续日志,在所述第二数据卷内的作为所述后续日志的反映目标的第一存储区域中保存有反映前的第一数据的情况下,将所述第一数据写入与所述第一存储区域不同的第二存储区域,并将所述第二存储区域分配给所述快照内的与所述第一存储区域对应的虚拟存储区域,再将所述后续日志中所含的第二数据写入所述第一存储区域,
所述日志包括日志数据和日志元数据,其中所述日志数据是通过所述更新而写入所述第一数据卷的数据,所述日志元数据表示所述更新的顺序和所述日志数据的存储区域,
所述第二存储装置判断所述第二日志卷中是否保存有与所述传输来的日志内的日志数据相同的数据,
在判断为所述第二日志卷中保存有所述相同的数据的情况下,所述第二存储装置将表示所述相同的数据的存储区域的日志元数据写入所述第二日志卷,
在判断为所述第二日志卷中未保存有所述相同的数据的情况下,所述第二存储装置将所述传输来的日志内的日志数据写入所述第二日志卷,并将表示所述写入的日志数据的存储区域的日志元数据写入所述第二日志卷。
2.如权利要求1所述的存储系统,其特征在于:
所述特定条件是所述第一存储装置接收到生成所述快照的指示,和到达预先设定的时刻这两个条件之一。
3.如权利要求2所述的存储系统,其特征在于:
所述第二存储装置将所述第一存储池内的存储区域分配给所述第二日志卷内的虚拟存储区域。
4.如权利要求3所述的存储系统,其特征在于:
所述第二存储装置生成第二存储池,
所述第二存储装置从所述第一存储池中选择所述第一存储区域,
所述第二存储装置从所述第二存储池中选择所述第二存储区域。
5.如权利要求4所述的存储系统,其特征在于:
所述第二存储装置响应于还原指示,将所述快照中的、所述后续日志反映前的数据拷贝到所述第二数据卷,并在所述第二日志卷内生成表示所述拷贝的数据的日志,
所述第二存储装置在所述第二日志卷内生成表示所述第二数据卷中的、从所述第一存储装置传输来的日志反映前的数据的日志,
所述第一存储装置和所述第二存储装置将所述第二日志卷内的日志传输到所述第一存储装置,
所述第一存储装置将从所述第二存储装置传输来的日志写入所述第一日志卷,
所述第一存储装置将所述第一日志卷内的日志反映到所述第一数据卷。
6.如权利要求4所述的存储系统,其特征在于:
所述第二存储装置响应于还原指示生成第一虚拟卷,
所述第二存储装置将所述快照内的虚拟存储区域分配给所述虚拟卷内的虚拟存储区域,
所述第一存储装置生成第二虚拟卷,
所述第一存储装置将所述第一虚拟卷内的虚拟存储区域分配给所述第二虚拟卷内的虚拟存储区域,
所述第一存储装置通过执行从所述第二虚拟卷到所述第一数据卷的复制,来从被分配给所述第二虚拟卷内的虚拟存储区域的所述第一虚拟卷内的虚拟存储区域读取数据,将所述读取出的数据拷贝到所述第一数据卷,
所述第一存储装置,在所述复制的期间从所述主机接收到对所述第一数据卷的读请求,且所述读请求的对象数据尚未从所述第二虚拟卷拷贝到所述第一数据卷的情况下,将所述对象数据从所述第二虚拟卷拷贝到所述第一数据卷。
7.如权利要求3所述的存储系统,其特征在于:
所述第二存储装置从所述第一存储池中选择所述第一存储区域和所述第二存储区域。
8.一种存储系统的控制方法,所述存储系统包括与主机连接的第一存储装置和与所述第一存储装置连接的第二存储装置,该控制方法的特征在于,包括以下步骤:
在所述第一存储装置内生成第一数据卷和第一日志卷,
将所述第一数据卷提供给所述主机,
在所述第二存储装置内生成第二数据卷和第二日志卷,
响应于所述第一数据卷的更新,在所述第一日志卷内生成表示所述更新的日志,
将所述第一日志卷内的日志传输到所述第二存储装置,
将所述传输来的日志写入所述第二日志卷,
按所述更新的顺序读取所述第二日志卷内的日志,
将所述读取出的日志反映到所述第二数据卷,
在快照生成条件成立时,在所述第一日志卷内生成包含标记的日志,
在从所述读取出的日志中检测到所述标记时,生成所述第二数据卷的快照,
通过将所述第二数据卷内的存储区域分配给所述快照内的虚拟存储区域来生成所述快照,
生成第一存储池,
将所述第一存储池内的存储区域分配给所述第二数据卷内的虚拟存储区域,
从所述第二日志卷读取在包含所述标记的日志之后生成的日志即后续日志,在所述第二数据卷内的作为所述后续日志的反映目标的第一存储区域中保存有反映前的第一数据的情况下,将所述第一数据写入与所述第一存储区域不同的第二存储区域,并将所述第二存储区域分配给所述快照内的与所述第一存储区域对应的虚拟存储区域,再将所述后续日志中所含的第二数据写入所述第一存储区域,
所述日志包括日志数据和日志元数据,其中所述日志数据是通过所述更新而写入所述第一数据卷的数据,所述日志元数据表示所述更新的顺序和所述日志数据的存储区域,
判断所述第二日志卷中是否保存有与所述传输来的日志内的日志数据相同的数据,
在判断为所述第二日志卷中保存有所述相同的数据的情况下,将表示所述相同的数据的存储区域的日志元数据写入所述第二日志卷,
在判断为所述第二日志卷中未保存有所述相同的数据的情况下,将所述传输来的日志内的日志数据写入所述第二日志卷,并将表示所述写入的日志数据的存储区域的日志元数据写入所述第二日志卷。
CN201580082646.1A 2015-10-14 2015-10-14 存储系统和存储系统的控制方法 Active CN107924353B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/079051 WO2017064770A1 (ja) 2015-10-14 2015-10-14 ストレージシステムおよびストレージシステムの制御方法

Publications (2)

Publication Number Publication Date
CN107924353A CN107924353A (zh) 2018-04-17
CN107924353B true CN107924353B (zh) 2021-03-09

Family

ID=58517458

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580082646.1A Active CN107924353B (zh) 2015-10-14 2015-10-14 存储系统和存储系统的控制方法

Country Status (3)

Country Link
US (1) US10747624B2 (zh)
CN (1) CN107924353B (zh)
WO (1) WO2017064770A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6643524B2 (ja) * 2017-06-30 2020-02-12 株式会社日立製作所 ストレージシステム及び記憶制御方法
CN111143112B (zh) * 2018-11-02 2023-08-25 伊姆西Ip控股有限责任公司 用于恢复元数据的方法、设备和计算机可读存储介质
CN109213738B (zh) * 2018-11-20 2022-01-25 武汉理工光科股份有限公司 一种云存储文件级重复数据删除检索系统及方法
JP2021033782A (ja) * 2019-08-27 2021-03-01 株式会社日立製作所 リモートコピーシステム
JP7117338B2 (ja) * 2020-02-04 2022-08-12 株式会社日立製作所 リモートコピーシステム及びリモートコピー管理方法
US11803518B2 (en) * 2020-10-01 2023-10-31 Hewlett Packard Enterprise Development Lp Journals to record metadata changes in a storage system
CN112486735A (zh) * 2020-12-21 2021-03-12 上海英方软件股份有限公司 一种保障应用层数据一致性的数据复制系统及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7599951B1 (en) * 2004-03-25 2009-10-06 Emc Corporation Continuous data backup
US7747830B2 (en) * 2007-01-05 2010-06-29 Hitachi, Ltd. Backup system with continuous data protection
CN102177508A (zh) * 2008-08-08 2011-09-07 亚马逊技术有限公司 向执行中的程序提供对非本地块数据存储装置的可靠访问
CN103559107A (zh) * 2009-01-23 2014-02-05 普安科技股份有限公司 非同步资料卷复制的方法及其储存系统
CN104866435A (zh) * 2015-06-06 2015-08-26 成都云祺科技有限公司 一种连续数据保护方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7065589B2 (en) 2003-06-23 2006-06-20 Hitachi, Ltd. Three data center remote copy system with journaling
JP4828917B2 (ja) * 2005-11-07 2011-11-30 株式会社日立製作所 ストレージシステム、計算機システム、ホスト計算機及びデータ複製方法
JP5207637B2 (ja) * 2007-02-23 2013-06-12 株式会社日立製作所 一以上のセカンダリストレージシステムで複数のバックアップを取得するバックアップ制御方法
JP5222617B2 (ja) 2008-04-28 2013-06-26 株式会社日立製作所 情報システム及びi/o処理方法
US9367457B1 (en) * 2012-12-19 2016-06-14 Veritas Technologies, LLC Systems and methods for enabling write-back caching and replication at different abstraction layers

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7599951B1 (en) * 2004-03-25 2009-10-06 Emc Corporation Continuous data backup
US7747830B2 (en) * 2007-01-05 2010-06-29 Hitachi, Ltd. Backup system with continuous data protection
CN102177508A (zh) * 2008-08-08 2011-09-07 亚马逊技术有限公司 向执行中的程序提供对非本地块数据存储装置的可靠访问
CN103559107A (zh) * 2009-01-23 2014-02-05 普安科技股份有限公司 非同步资料卷复制的方法及其储存系统
CN104866435A (zh) * 2015-06-06 2015-08-26 成都云祺科技有限公司 一种连续数据保护方法

Also Published As

Publication number Publication date
US20180232286A1 (en) 2018-08-16
WO2017064770A1 (ja) 2017-04-20
US10747624B2 (en) 2020-08-18
CN107924353A (zh) 2018-04-17

Similar Documents

Publication Publication Date Title
CN107924353B (zh) 存储系统和存储系统的控制方法
US10621060B2 (en) Storage system and control software deployment method
US8984221B2 (en) Method for assigning storage area and computer system using the same
JP4800031B2 (ja) ストレージシステム及びスナップショット管理方法
US7594137B2 (en) Storage system and data restoration method thereof
US8448167B2 (en) Storage system, and remote copy control method therefor
US8078581B2 (en) Storage system and remote copy control method
JP5124551B2 (ja) ボリューム割り当てを管理する計算機システム及びボリューム割り当て管理方法
US20140281306A1 (en) Method and apparatus of non-disruptive storage migration
US20090292870A1 (en) Storage apparatus and control method thereof
GB2539829A (en) Storage system
WO2015162684A1 (ja) ストレージシステムのデータ移行方法
JP2008065525A (ja) 計算機システム、データ管理方法及び管理計算機
JP2008305288A (ja) 情報システム、および、情報システムの情報保存方法
JP2020080130A (ja) ボリューム管理装置、ボリューム管理方法、及びボリューム管理プログラム
US10761767B2 (en) Computer system and method for controlling storage apparatus that has replication direction from first logical device (in first storage) to second logical device (in second storage) and from said second logical device to third logical device (in said second storage), wherein said replication direction is reversed when second computer takes over for first computer
US8583884B2 (en) Computing system and backup method
US20210389898A1 (en) Storage device and data migration method
JP2019124983A (ja) ストレージシステム及び記憶制御方法
US9052839B2 (en) Virtual storage apparatus providing a plurality of real storage apparatuses
WO2018055686A1 (ja) 情報処理システム
WO2017085792A1 (ja) ストレージシステム、及びストレージシステムの制御方法
US10846012B2 (en) Storage system for minimizing required storage capacity during remote volume replication pair duplication
JP2021033782A (ja) リモートコピーシステム
JP2021149773A (ja) ハイブリッドクラウドにおけるデータを保護する方法

Legal Events

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