WO2015097737A1 - バックアップシステム - Google Patents

バックアップシステム Download PDF

Info

Publication number
WO2015097737A1
WO2015097737A1 PCT/JP2013/084430 JP2013084430W WO2015097737A1 WO 2015097737 A1 WO2015097737 A1 WO 2015097737A1 JP 2013084430 W JP2013084430 W JP 2013084430W WO 2015097737 A1 WO2015097737 A1 WO 2015097737A1
Authority
WO
WIPO (PCT)
Prior art keywords
storage device
data
mode
journal
vol
Prior art date
Application number
PCT/JP2013/084430
Other languages
English (en)
French (fr)
Inventor
孝 坂口
崇政 佐藤
憲亮 成田
陽介 加藤
Original Assignee
株式会社日立製作所
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 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2013/084430 priority Critical patent/WO2015097737A1/ja
Priority to US14/423,872 priority patent/US9239845B2/en
Publication of WO2015097737A1 publication Critical patent/WO2015097737A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems
    • 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/1451Management of the data involved in backup or backup restore by selection of backup contents
    • 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/2066Optimisation of the communication load
    • 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/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • 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/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/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency
    • 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

Definitions

  • the present invention relates to a backup system for backing up data in a storage device to another storage device.
  • a backup system having a secondary storage device is known for backing up data in preparation for failure of the primary storage device.
  • a data backup method in the backup system for example, a method disclosed in Patent Document 1 is known.
  • the mode for storing the backup data of the primary side data volume in the secondary side data volume includes a synchronous mode (synchronous remote copy) for synchronizing the primary and secondary side data volumes, or a secondary There is an asynchronous mode (asynchronous remote copy) in which the data in the data volume on the side is asynchronously followed by the data on the data volume on the primary side.
  • data transfer is performed mainly by the first storage device in both the synchronous mode and the asynchronous mode.
  • a backup system includes a first storage device connected to a host computer and having a first data volume, and a second storage device having a second data volume.
  • the first storage device stores mode information indicating the mode of backup copy from the first data volume to the second data volume.
  • the mode information indicates a synchronous mode
  • the first storage device synchronizes the write data with the first data.
  • journal data based on the write data is created.
  • the second storage device stores the mode information.
  • the mode information indicates the synchronous mode
  • the write data is received from the first storage device and written to the first data volume.
  • the write request Asynchronously the journal data is acquired from the first storage device, and the journal data is reflected in the second data volume.
  • the second storage device acquires secondary load information indicating its own load status and transmits it to the first storage device, and the first storage device acquires primary load information indicating its own load status, and secondary load information Based on the primary load information and the mode information, the mode switching is determined, and the determination information indicating the determination result is transmitted to the second storage device.
  • the second storage device receives the determination information, and if the determination information indicates switching from the asynchronous mode to the synchronous mode, acquires the journal data from the first storage device and reflects the journal data in the second data volume.
  • data consistency can be achieved even when the mode is switched to the synchronous mode or the asynchronous mode.
  • FIG. 1 shows a configuration of a remote copy system according to a first embodiment.
  • FIG. 3 is a diagram illustrating an overview of remote copy performed by the remote copy system according to the first embodiment.
  • a pair configuration table 300 is shown.
  • a mode switching management table 400 is shown. It is a flowchart of the remote copy control process in the secondary site 1b side. It is a flowchart of the mode switching process by the side of the secondary site 1b. It is a flowchart of a remote copy control process on the primary site 1a side. It is a flowchart of a mode determination process. It is a flowchart of the mode switching process by the side of the primary site 1a.
  • 4 is a flowchart of a write process at the primary site 1a in the first embodiment.
  • FIG. 3 is a diagram illustrating an overview of remote copy performed by the remote copy system according to the first embodiment.
  • a pair configuration table 300 is shown.
  • a mode switching management table 400 is shown. It is a flowchart of the remote
  • the information is described using an expression such as “aaa table”, but the information may be expressed using a data structure other than a table. Therefore, the “aaa table” or the like may be referred to as “aaa information” to indicate that it does not depend on the data structure.
  • program may be used as the subject. However, since the program performs processing defined by being executed by the microprocessor using the memory and the communication interface, the processing of the program as the subject is performed. The description may be made with a microprocessor as the subject. Moreover, it is good also as a process which the apparatus containing the microprocessor performs. Further, part or all of the processing performed by the program may be realized by dedicated hardware.
  • the program may be installed in the computer by a program distribution server or a computer-readable storage medium.
  • FIG. 1 shows a configuration of a remote copy system according to the first embodiment.
  • the remote copy system according to the first embodiment includes a plurality of storage systems 1.
  • Each storage system 1 has a communication network 3 such as a SAN (Storage Area Network) and is connected to a host computer (hereinafter referred to as a host) 2.
  • a communication network 3 such as a SAN (Storage Area Network) and is connected to a host computer (hereinafter referred to as a host) 2.
  • a host computer hereinafter referred to as a host
  • These storage systems 1 are connected to each other by connecting the communication networks 3 included in each storage system 1 to each other.
  • the communication network 3 is not limited to the SAN but may be another network such as the Internet.
  • the plurality of storage systems 1 may be connected via another communication network such as a WAN (Wide Area Network). Data is remotely copied between a plurality of storage systems 1 in the remote copy system.
  • WAN Wide Area Network
  • the remote copy system of this embodiment is assumed to have two storage systems 1.
  • the storage system 1 that is the data copy source is referred to as the primary site 1a
  • the storage system 1 that is the data copy destination is referred to as the secondary site 1b
  • the configuration is basically the same.
  • the configuration of one storage system 1 will be described.
  • the plurality of storage systems constituting the remote copy system may have different configurations.
  • the storage system 1 includes a control device (CTU) 10 and a storage device 20.
  • the control device 10 is connected to the storage device 20 and the host 2.
  • the storage device 20 has a disk unit and a drive.
  • the storage device 20 is made redundant by a plurality of disk units (DKU).
  • the storage device 20 is made redundant by two disk units # 1 and # 2.
  • Each disk unit # 1 (# 2) has a plurality of switches.
  • the switch is an SSW (SAS Switch) 21 having a plurality of expanders 22. There may be one SSW 21 and one expander 22.
  • Each disk unit # 1 (or # 2) is connected to a controller unit # 1 (or # 2) and a drive via an expander 22 inside.
  • the drive is a physical storage device, and is an HDD (Hard Disk Drive) 23 in this embodiment.
  • the HDD 23 may be, for example, a SAS (Serial Attached Small Computer System Interface) -HDD (Hard Disk Drive), a SATA (Serial Advanced Technology Attachment) -HDD, or the like.
  • the drive may be a semiconductor storage device such as an SSD (Solid State Drive) instead of the HDD 23.
  • a RAID (Redundant Arrays of Inexpensive Disks) group may be composed of a plurality of drives 23. Based on one drive 23 or a plurality of drives 23 constituting one RAID group, one or a plurality of volumes (LU: Logical Unit) are provided to the host 2.
  • LU Logical Unit
  • the volume provided to the host 2 may be a virtual volume (for example, a volume according to Thin Provisioning) instead of the volume based on the drive 23.
  • the volumes provided to the host 2 are generically called “data VOL”, the data VOL of the primary site 1a is “primary VOL (P-VOL)”, and the data VOL of the secondary site 1b is “ They are called “secondary VOL (S-VOL)”.
  • a pair of a copy source P-VOL and a copy destination S-VOL in remote copy is referred to as a “pair VOL”.
  • journal VOL volume in which the journal data associated with the data VOL and storing the data to which the control information such as the update order of the data is added.
  • the journal VOL associated with the P-VOL The journal VOL associated with “P-JVOL” and S-VOL will be referred to as “S-JVOL”.
  • the control device 10 is made redundant by two independent controller units # 1 and # 2.
  • Each controller unit # 1 (# 2) has basically the same configuration. Therefore, the following mainly describes the configuration of the controller unit # 1. However, the two controller units # 1 (# 2) may have different configurations.
  • the control device 10 is made redundant by the two controller units # 1 and # 2, but is not limited thereto.
  • the control device 10 may be made redundant with three or more controller units, or may be configured with only one controller unit.
  • the controller unit # 1 includes one or more service processors (SVP) 11, one or more disk adapters (DKA) 12, one or more channel adapters (CHA: Channel Adapter) 13, and one or more.
  • Switch (ESW: PCI-Express Switch Adapter) 14, one or more microprocessors (MPB: Micro Processor Blade) 15, and one or more cache memories (CPC: Cash Path Control Adapter) 16.
  • Each part of the two controller units # 1 and # 2 is connected by a bus via the switch 14 respectively.
  • the cache memory 16 has a battery and stores a program and data for controlling the storage system 1. In the present embodiment, the cache memory 16 has various information such as pair configuration information, mode switching management information, and various programs such as a remote copy control program and a write processing program.
  • the microprocessor 15 controls the storage system 1 according to a program stored in the cache memory 16.
  • the channel adapter 13 performs communication between the host 2 and another storage system 1.
  • the disk adapter 12 in the controller unit # 1 is connected to the expander 22 of the disk unit # 1, and performs communication with the disk unit # 1.
  • the drive 23 can be accessed from any of the controller units # 1 and # 2.
  • the ESW is used as the switch 14 for connecting each part, but the present invention is not limited to this.
  • FIG. 2 is a diagram for explaining the outline of remote copy performed by the remote copy system of the first embodiment.
  • a synchronous mode and an asynchronous mode are adopted as remote copy modes.
  • the synchronous mode is a method in which the primary site 1a notifies the host 2 of the completion of writing after the writing to the P-VOL and S-VOL is completed in response to a write request from the host 2.
  • the data transfer between sites in the synchronous mode is performed by the PUSH type mainly composed of the primary site 1a. Specifically, for example, the following processing is performed. (1) When a write request designating P-VOL # 1 is received from the host 2, the primary site 1a writes the write target data to the P-VOL # 1.
  • the data to be written is hereinafter referred to as write data.
  • the primary site 1a transfers the write data written in the P-VOL # 1 to the secondary site 1b.
  • the secondary site 1b receives the write data and writes it to S-VOL # 1.
  • the secondary site 1b transmits a write completion notification of the write data to the S-VOL # 1 to the primary site 1a.
  • the primary site 1a receives the write completion notification and transmits to the host 2 a notification that the writing of the write data has been completed.
  • a journal volume associated with each data VOL is created in each storage system 1, and in response to a write request from the host 2, the primary site 1a updates the received write data such as its update order.
  • control information is given and stored as journal data in a journal volume.
  • data transfer between sites in the asynchronous mode is performed in a PULL type in which the secondary site 1b is the main. Specifically, for example, the following processing is performed. (1) When a write request designating P-VOL # 1 is received from the host 2, the primary site 1a writes the write data to P-VOL # 1. (2) The primary site 1a notifies the host 2 that writing of the write data has been completed.
  • the primary site 1a gives control information to the write data and writes it as journal data in the journal volume (P-JVOL # 1) associated with P-VOL # 1.
  • the secondary site 1b reads the journal data written in the P-JVOL # 1 by sending a data transfer request to the primary site 1a at a predetermined timing, and is associated with its own S-VOL # 1. Is written to the journal volume S-JVOL # 1.
  • the secondary site 1b updates S-VOL # 1 based on the journal data written to S-JVOL # 1.
  • the primary site 1a switches the mode when performing remote copy between sites.
  • the primary site 1a includes primary load information that is information such as P-VOL load on the primary site side and secondary load information that is information such as S-VOL load on the secondary site side. Based on this, the remote copy mode is switched to “synchronous mode” or “asynchronous mode”.
  • FIG. 3 shows the pair configuration table 300.
  • the pair configuration table 300 is a table for managing a pair VOL at the time of remote copy.
  • the pair configuration table 300 is set by the user via the service processor 11 and stored in the cache memory 16 of the primary site 1a.
  • the pair configuration table 300 has an entry for each P-VOL. Each entry includes a P-VOL # 301 indicating an identification number of the P-VOL, an S-VOL # 303 indicating an identification number of an S-VOL paired with the P-VOL, and a pair including the P-VOL.
  • the P-VOL response time is the time required for completing the processes (1) to (5) in the synchronous mode.
  • the response time of the P-VOL is the S-- that forms a pair with the P-VOL and the P-VOL after the primary site 1a receives a write request from the host 2 for the corresponding P-VOL. The time until the writing of write data to the VOL is completed and a notification that the writing is completed is transmitted to the host 2 is used.
  • the P-VOL response time threshold is set by the user.
  • the P-MPB operating rate threshold is also set by the user.
  • FIG. 4 shows the mode switching management table 400.
  • the mode switching management table 400 is a table for managing information necessary for switching the remote copy mode.
  • the mode switching management table 400 is stored in the cache memory 16 of the primary site 1a.
  • the mode switching management table 400 has an entry for each P-VOL.
  • Each entry includes a P-VOL # 401 indicating the identification number of the P-VOL, a P-MPB operating rate 403 indicating the operating rate of the microprocessor 15 at the primary site 1a, and a pair VOL including the P-VOL.
  • Transfer response time 405 that is the time required for data transfer, transfer rate 407 indicating the data transfer rate between the paired VOLs including the P-VOL, and the load status of the S-VOL paired with the P-VOL
  • a frequency 417 indicating the number of mode switching times within one hour.
  • the transfer response time 405 is the time until the secondary site 1b responds to a request from the primary site 1a in, for example, data transfer from the P-VOL to the SVOL.
  • the transfer rate 407 is a data transfer amount per second from the P-VOL to the SVOL.
  • the S-VOL load 409 is an I / O (Input or Output) processing amount for one second of the S-VOL.
  • the P-MPB operating rate and the transfer response time are assumed to be primary load information acquired at the primary site 1a.
  • the average values of the values periodically measured by the primary site 1a are stored.
  • the transfer rate, S-VOL load, and S-MPB operating rate are used as secondary load information acquired at the secondary site 1b.
  • the transfer rate 407, the S-VOL load 409, and the S-MPB operating rate 411 the average values of the respective values periodically measured by the secondary site 1b are stored.
  • the microprocessor 15 at the primary site 1a estimates the response time of the P-VOL in the synchronous mode in the asynchronous mode based on the information stored in the mode switching management table 400, and sets it as the estimated response time.
  • the estimated response time of the P-VOL in the asynchronous mode is, for example, for each P-VOL, the host response time that is the time from the write request to the P-VOL by the host 2 to the response to the host 2, and the primary site 1a It is calculated by adding the data transfer time to the secondary site 1b and a margin indicating a predetermined time.
  • the data transfer time from the primary site 1a to the secondary site 1b is calculated based on the transfer rate 407, the S-VOL load 409, and the S-MPB operating rate 411, for example.
  • the host response time may be acquired from the host 2 by the primary site 1a.
  • the remote copy control processing of the pair VOL in this embodiment will be described.
  • This processing is performed by the microprocessor 15 at the primary site 1a and the microprocessor 15 at the secondary site 1b executing the remote copy control program stored in the corresponding cache memory 16. This process is repeated periodically or irregularly.
  • the processing on the secondary site 1b side will be described in FIGS. 5 and 6, and the processing on the primary site 1a side will be described in FIGS.
  • the secondary site 1b stores in the cache memory 16 mode information indicating the current mode of remote copy between paired VOLs including its own volume.
  • FIG. 5 is a flowchart of the remote copy control process on the secondary site 1b side.
  • the program selects one S-VOL that the secondary site 1b has.
  • the S-VOL selected here is called the target S-VOL
  • the P-VOL paired with the target S-VOL is the target P-VOL and the target A pair of P-VOL and target S-VOL is called a target pair VOL.
  • the program acquires the secondary load information of the target S-VOL.
  • the secondary load information includes the transfer rate indicating the data transfer rate between the paired VOLs, the S-VOL load indicating the load status of the S-VOL, and the S-MP indicating the operation rate of the microprocessor at the secondary site 1b. It is the utilization rate.
  • the program transmits the secondary load information acquired in S503 to the primary site 1a.
  • the program determines whether or not the mode switching information of the target pair VOL has been received from the primary site 1a.
  • the mode switching information is, for example, information on whether or not mode switching of the target pair VOL is necessary (see FIG. 7). Note that the mode switching information may indicate a mode after mode switching. If the determination result is true (Yes in S507), the program proceeds to S509. On the other hand, if the determination result is false (No in S507), the program repeats this process every predetermined time.
  • the program performs mode determination.
  • the program acquires information necessary for mode switching based on the current mode of the target pair VOL. Specifically, for example, when the current mode of the target pair VOL is the synchronous mode, the program acquires the start position of copying the transferred journal data to the S-JVOL. When the current mode of the target pair VOL is the asynchronous mode, the program acquires the end position of copying the transferred journal data to the S-JVOL.
  • the program determines whether or not mode switching is necessary based on the mode switching information in S507.
  • the program advances the process to S515, executes the mode switching process (S mode switching process) on the secondary site 1b side, and advances the process to S519.
  • the S mode switching process will be described later.
  • the program proceeds to S513, and determines whether the current mode is the synchronous mode based on the mode switching information in S507.
  • the program proceeds to S519. On the other hand, if the determination result is false (No in S513), the program proceeds to S517 and executes journal copy processing.
  • the program copies to the S-JVOL associated with the target S-VOL by transmitting a P-JVOL data transfer request associated with the target P-VOL to the primary site 1a. At this time, the copy start position from P-JVOL to S-JVOL is the position determined in S509.
  • the program determines whether or not the processing in S501 to 517 has been completed for all S-VOLs in the secondary site 1b. When the result of the determination is true (Yes in S519), the program ends the process. On the other hand, if the determination result is false (No in S519), the program returns the process to S501.
  • the primary site 1a can acquire information (secondary load information) about each S-VOL of the secondary site 1b. Thereby, the primary site 1a can determine whether mode switching is required.
  • the secondary site can execute the S mode switching process based on this information by acquiring information on whether or not mode switching is required from the primary site 1a.
  • journal data can be acquired from the P-JVOL and copied to its own S-JVOL.
  • FIG. 6 is a flowchart of the S mode switching process in which the secondary site 1b side performs mode switching. This process is the process of S515 in FIG.
  • the program determines whether the mode switching of the target pair VOL is switching from the asynchronous mode to the synchronous mode. When the result of the determination is true (Yes in S601), the program advances the process to S605. On the other hand, if the determination result is false (No in S601), the program advances the process to S603.
  • the program creates an S-JVOL corresponding to the target S-VOL and ends the process.
  • the program transmits a data transfer request for journal data stored in the P-JVOL corresponding to the target P-VOL to the primary site 1a.
  • the program determines whether or not the transfer of journal data in the P-JVOL based on the data transfer request in S605 has been completed. Specifically, the program determines whether or not a journal data transfer completion notification in the P-JVOL has been received from the primary site 1a. When the result of the determination is true (Yes in S607), the program advances the process to S609. On the other hand, if the determination result is false (No in S607), the program repeats this process. The transferred journal data is stored in the S-JVOL corresponding to the target S-VOL.
  • the program reflects the journal data in the S-JVOL in the target S-VOL.
  • FIG. 7 is a flowchart of remote copy control processing on the primary site 1a side.
  • the program receives the secondary load information of the target S-VOL from the secondary site 1b and stores it in the mode switching management table 400.
  • the secondary load information is information transmitted from the secondary site 1b in S505 of FIG.
  • the program refers to the pair configuration table 300 and acquires the P-VOL (target P-VOL) that forms a pair with the target S-VOL.
  • the program acquires primary load information of the target P-VOL and stores it in the mode switching management table 400.
  • the primary load information includes the P-MP operation rate indicating the operation rate of the microprocessor 15 at the primary site 1a, the transfer response time between the pair volumes, and the like.
  • the program executes mode determination processing.
  • the mode determination process will be described later.
  • mode switching information indicating whether or not mode switching of the target pair VOL is necessary is acquired.
  • the program transmits the mode switching information of the target pair VOL to the secondary site 1b.
  • the mode switching information is, for example, information on whether or not mode switching of the target pair VOL is necessary.
  • the program determines whether mode switching is necessary based on the mode switching information in S709. If the result of the determination is true (Yes in S711), the program proceeds to S713. On the other hand, when the result of the determination is false (No in S711), the program ends the process.
  • the program executes the mode switching process (P mode switching process) on the primary site 1a side and ends the process.
  • P mode switching process will be described later.
  • the primary site 1a can acquire information (secondary load information) about each S-VOL of the secondary site 1b. Thereby, the primary site 1a can determine whether mode switching is required.
  • information on whether or not mode switching from the primary site 1a is necessary can be transmitted to the secondary site 1b. Based on this information, the secondary site 1b can execute the mode switching process.
  • FIG. 8 is a flowchart of the mode determination process. This process is the process of S707 in FIG.
  • the program determines whether the current mode of the target pair VOL is a synchronous mode based on the mode switching management table 400. When the result of the determination is true (Yes in S801), the program advances the process to S813. On the other hand, if the determination result is false (No in S801), the program advances the process to S803.
  • the program calculates the estimated response time of the target P-VOL.
  • the estimated response time of the target P-VOL is calculated by adding, for example, the host response time, the data transfer time from the primary site 1a to the secondary site 1b, and the margin.
  • the program determines whether or not the value (calculated value) calculated in S803 exceeds the threshold for the estimated response time of the target P-VOL.
  • the threshold here is the response time threshold 307 corresponding to the corresponding P-VOL in the pair configuration table 300.
  • the program determines whether or not the operation rate of the microprocessor 15 at the primary site 1a is less than the threshold for the target P-VOL.
  • the threshold here is the P-MPB operating rate threshold 309 corresponding to the target P-VOL in the pair configuration table 300.
  • the actual measured value of the operating rate of the microprocessor 15 at the primary site 1a is the P-MPB operating rate 403 corresponding to the target P-VOL in the mode switching management table 400. If the result of the determination is true (Yes in S807), the program ends the process. On the other hand, when the result of the determination is false (No in S807), the program advances the process to S809.
  • the program determines whether or not the mode switching frequency and elapsed time satisfy the condition.
  • the frequency of mode switching is, for example, the frequency 417 corresponding to the target P-VOL in the mode switching management table 400.
  • the elapsed time of mode switching is, for example, the elapsed time from the previous switching time 415 corresponding to the target P-VOL in the mode switching management table 400 to the current time.
  • the conditions of frequency and elapsed time are that the frequency is below a predetermined frequency threshold and that the elapsed time is above a predetermined elapsed time threshold.
  • the program determines that mode switching of the target pair VOL is necessary (mode switching “necessary”).
  • the program refers to the pair configuration table 300 and determines whether or not the response time of the target P-VOL has exceeded the response time threshold value 307.
  • the response time of the target P-VOL is the same as that for the target P-VOL and the target S-VOL after the primary site 1a receives a write request from the host 2 for the target P-VOL in the synchronous mode. This is the time from the completion of the writing of the write data until the notification that the writing is completed is transmitted to the host 2. If the determination result is true (Yes in S813), the program advances the process to S811. On the other hand, when the result of the determination is false (No in S813), the program ends the process.
  • the P-VOL response time can be guaranteed by performing appropriate mode switching. Moreover, based on the primary load information measured on the primary site 1a side and the secondary load information measured on the secondary site 1b side, it is possible to appropriately determine a pair VOL that requires mode switching. Specifically, it is as follows.
  • the primary site 1a can appropriately switch from the synchronous mode to the asynchronous mode based on the measured value of the response time of the P-VOL in the synchronous mode. As a result, when copying between paired VOLs, it is possible to reduce the load on the primary site 1a and the secondary site 1b.
  • the primary site 1a can appropriately switch from the asynchronous mode to the synchronous mode by estimating the response time (estimated response time) of the P-VOL in the synchronous mode in the asynchronous mode. Specifically, based on the secondary load information, that is, the transfer rate 407, the S-VOL load 409, and the S-MPB operation rate 411 in the mode switching management table 400, the response time of the P-VOL is obtained even in the asynchronous mode. Can be estimated.
  • the primary site 1a can appropriately switch from the asynchronous mode to the synchronous mode based on the operating rate of the microprocessor 15 on the primary site 1a side.
  • the primary site 1a can appropriately switch from the asynchronous mode to the synchronous mode in consideration of the frequency and time of mode switching.
  • FIG. 9 is a flowchart of the P mode switching process on the primary site 1a side. This process is the process of S713 in FIG.
  • the program determines whether the mode switching of the target pair VOL is switching from the asynchronous mode to the synchronous mode. When the result of the determination is true (Yes in S901), the program advances the process to S905. On the other hand, when the result of the determination is false (No in S901), the program advances the process to S903.
  • the program creates a P-JVOL corresponding to the target P-VOL.
  • the program determines whether or not a data transfer request for P-JVOL journal data corresponding to the target P-VOL has been received from the secondary site 1b.
  • the program advances the process to S907.
  • the determination result is false (No in S905), this process is repeated.
  • the program transfers the journal data in the target P-JVOL to the secondary site 1b. Then, after the transfer of journal data in the target P-JVOL is completed, the program transmits a transfer completion notification to the secondary site 1b.
  • the program updates the mode switching management table 400. Specifically, the program changes the mode 413 of the mode switching management table 400 to a mode different from the current mode for the target P-VOL.
  • FIG. 10 is a flowchart of the write process of the primary site 1a in the first embodiment.
  • This processing is processing at the primary site 1a when a write request designating P-VOL is transmitted from the host 2. This processing is performed by the microprocessor 15 included in the control device 10 at the primary site 1a executing the write processing program.
  • the program receives a write request and write data specifying P-VOL from the host 2.
  • this P-VOL is hereinafter referred to as a target P-VOL.
  • the program writes write data in accordance with the write request to the target P-VOL.
  • the program confirms the current remote copy mode of the target P-VOL. Specifically, for example, the program refers to the mode switching management table 400 on the cache memory 16 and acquires the mode 413 corresponding to the target P-VOL.
  • the program determines whether or not the mode acquired in S1005 is “synchronous mode”.
  • the program transfers write data in the target P-VOL to the S-VOL paired with the target P-VOL (target S-VOL).
  • the process proceeds to S1017.
  • the program refers to the pair configuration table 300 on the cache memory 16, acquires the S-VOL # 303 of the target S-VOL, designates the target S-VOL, and transfers write data.
  • the program advances the process to S1011.
  • the program creates journal data based on the write request and write data, stores the journal data in the P-JVOL corresponding to the target P-VOL, and in S1013, whether or not the P mode switching process is being executed. Determine whether. If the result of the determination is true (Yes in S1013), the program proceeds to S1015, waits for a predetermined time, and then returns to S1013. On the other hand, when the result of the determination is false (No in S1013), the program advances the process to S1017.
  • the program transmits a response to the write request to the host 2 and ends the process.
  • the write process can be executed according to the synchronous mode or asynchronous mode. Further, when the mode switching process is being executed in the asynchronous mode, no response is made to the host 2 in response to the write request. Thus, until the copy of the journal data from the P-JVOL to the S-JVOL for switching from the asynchronous mode to the synchronous mode is completed, the secondary site 1b writes the write data in the synchronous mode to the S-VOL. Since (synchronous data) is not received, the consistency of data in the S-VOL can be maintained.
  • Example 2 will be described. At that time, differences from the first embodiment will be mainly described, and description of common points with the first embodiment will be omitted or simplified.
  • the remote copy system of this embodiment has a temporary site 1c in addition to the primary site 1a and the secondary site 1b.
  • the configuration of the temporary site 1c is the same as the configuration of the primary site 1a.
  • Remote copy is performed from P-VOL # 1 of the primary site 1a to S-VOL # 1 of the secondary site 1b.
  • Remote copy in the synchronous mode is basically the same as that in the first embodiment (see FIG. 2).
  • the primary site 1a In response to the write request from the host 2, the primary site 1a notifies the host 2 of the completion of writing after the writing to the P-VOL # 1 and S-VOL # 1 is completed.
  • the temporary site # 1 does not have to perform an operation.
  • FIG. 11 is a diagram for explaining remote copy in the asynchronous mode in the remote copy system according to the second embodiment.
  • the primary site 1a When the remote copy between the P-VOL # 1 of the primary site 1a and the S-VOL # 1 of the secondary site 1b is in the asynchronous mode, the primary site 1a has a journal volume associated with the P-VOL # 1. Synchronous copy from P-JVOL # 1 to the temporary site. This will be specifically described below. (1) When a write request designating P-VOL # 1 is received from the host 2, the primary site 1a writes the write data to the P-VOL # 1 and gives control information to the write data as journal data. Write to the journal volume P-JVOL # 1 associated with P-VOL # 1. (2) The primary site 1a transfers the journal data written in the P-JVOL # 1 to the temporary site 1c.
  • the temporary site 1c writes the received journal data to the journal volume T-JVOL # 1.
  • the temporary site 1c transmits a notice of completion of writing journal data to the T-JVOL # 1 to the primary site 1a.
  • the primary site 1a receives the write completion notification and transmits to the host 2 a notification that the writing of the write data has been completed.
  • the secondary site 1b reads the journal data written in P-JVOL # 1 by sending a data transfer request to the primary site 1a at a predetermined timing, and is associated with its own S-VOL # 1. Is written to the journal volume S-JVOL # 1.
  • the secondary site 1b updates S-VOL # 1 based on the journal data written to S-JVOL # 1.
  • FIG. 12 is a flowchart of the write process of the primary site 1a in the second embodiment.
  • This processing is processing at the primary site 1a when a write request designating P-VOL is transmitted from the host 2. This processing is performed by the microprocessor 15 included in the control device 10 at the primary site 1a executing the write processing program.
  • the program receives from the host 2 a write request and write data specifying P-VOL.
  • the P-VOL is hereinafter referred to as target P-VOL
  • the write data is referred to as target write data.
  • the program writes the target write data to the target P-VOL.
  • the program acquires the current mode of the target P-VOL. Specifically, for example, the program refers to the mode switching management table 400 on the cache memory 16 and acquires the mode 413 corresponding to the target P-VOL.
  • the program determines whether or not the mode acquired in S1205 is “synchronous mode”.
  • the program transfers the write data in the target P-VOL to the S-VOL paired with the target P-VOL (target S-VOL).
  • the process proceeds to S1211.
  • the program refers to the pair configuration table 300 on the cache memory 16, acquires the S-VOL # 303 of the target S-VOL, and transfers the target write data by specifying the target S-VOL. To do.
  • the program creates journal data based on the target write data and stores the journal data in the P-JVOL corresponding to the target P-VOL. .
  • the program transfers the journal data in the target P-JVOL to the journal volume (T-JVOL) of the temporary site 1c corresponding to the target P-JVOL.
  • the program determines whether or not the mode switching process is being executed. If the result of the determination is true (Yes in S1217), the program proceeds to S1219, waits for a predetermined time, and then returns to S1217. On the other hand, when the result of the determination is false (No in S1217), the program advances the process to S1211.
  • the program transmits a response to the write request to the host 2 and ends the process.
  • the write process can be executed according to the synchronous mode or asynchronous mode.
  • the journal data based on the write data is stored in the target P-JVOL and transmitted to the T-JVOL at the temporary site 1c.
  • the temporary site 1c can create a T-JVOL that is a volume having the same contents as the target P-JVOL.
  • the temporary site 1c may create the journal volume T-JVOL when the first journal data is transmitted from the primary site 1a, such as when switching from the synchronous mode to the asynchronous mode.
  • the temporary site 1c stores journal data in the T-JVOL every time journal data is transmitted from the primary site 1a.
  • the P-VOL response time can be guaranteed by switching the appropriate mode. Further, based on the primary load information measured on the primary site 1a side and the secondary load information measured on the secondary site 1b side, it is possible to appropriately determine a pair VOL that requires mode switching.
  • the remote copy system has a temporary site 1c, and when the remote copy mode of the pair VOL is switched from the synchronous mode to the asynchronous mode, the temporary site 1c has the P of the primary site 1a.
  • the T-JVOL journal data is converted to the S-JVOL.
  • the S-VOL can be updated to the latest state. For this reason, it is possible to switch from the failed primary site 1a to the secondary site 1b.
  • the S-VOL can be synchronized by the P-JVOL of the primary site 1a. Therefore, in this case, the T-JVOL can be discarded.
  • T-JVOL data is reflected in order to bring the target S-VOL to the latest state.
  • this S-VOL is referred to as a target S-VOL.
  • FIG. 13 is a flowchart of the update process of the S-VOL to the latest state. This processing is performed by the microprocessor 15 included in the control device 10 of the temporary site 1c executing the update processing program.
  • the program determines whether the target S-VOL is in the latest state or necessary. Information about whether or not the S-VOL is in the latest state may be notified, for example, directly from the secondary site 1b or through the primary site 1a.
  • the program repeats the process of S1301.
  • the program advances the process to S1303.
  • the program designates the target S-VOL and transfers the journal data in the T-JVOL to the secondary site 1b. Then, the program reflects the transferred journal data in S-JVOL.
  • the program determines whether or not the transfer of journal data has been completed. When the result of the determination is true (Yes in S1305), the program repeats the process in S1301 after a predetermined time has elapsed. On the other hand, if the determination result is false (No in S1305), the program returns the process to S1303.
  • the target S-VOL can be updated to the latest state by reflecting the journal data in the T-JVOL in the S-JVOL.
  • the secondary site 1b can be operated as the main site instead of the primary site 1a where the failure has occurred.
  • Example 3 will be described. At that time, differences from the first embodiment will be mainly described, and description of common points with the first embodiment will be omitted or simplified.
  • remote copy is performed from P-VOL # 1 of the primary site 1a to S-VOL # 1 of the secondary site 1b.
  • each of the primary site 1a and the secondary site 1b creates a journal volume even in the synchronous mode.
  • FIG. 14 is a diagram for explaining remote copy in the synchronous mode at the remote site of the third embodiment.
  • the primary site 1a and the secondary site 1b correspond to P-JVOL # 1 and S-VOL # 1 corresponding to P-VOL # 1, respectively.
  • the primary site 1a stores write data in P-VOL # 1 and journal data in P-JVOL # 1 in accordance with a write request from the host 2. This will be specifically described below.
  • the primary site 1a transfers the write data written in the P-VOL # 1 to the secondary site 1b.
  • the secondary site 1b receives the write data and writes it to S-VOL # 1.
  • the secondary site 1b transmits a write completion notification of the write data to the S-VOL # 1 to the primary site 1a.
  • the primary site 1a receives the write completion notification and transmits to the host 2 a notification that the writing of the write data has been completed.
  • the secondary site 1b reads the journal data written in the P-JVOL # 1 by sending a data transfer request to the primary site 1a at a predetermined timing, and is associated with its own S-VOL # 1. Is written to the journal volume S-JVOL # 1.
  • the secondary site 1b updates S-VOL # 1 based on the journal data written to S-JVOL # 1.
  • FIG. 15 is a flowchart of the write process of the primary site 1a in the third embodiment.
  • This processing is processing at the primary site 1a when a write request designating P-VOL is transmitted from the host 2. This processing is performed by the microprocessor 15 included in the control device 10 at the primary site 1a executing the write processing program.
  • the program receives a write request and write data specifying P-VOL from the host 2.
  • this P-VOL is hereinafter referred to as target P-VOL, and this write data is referred to as target write data.
  • the program writes the target write data to the target P-VOL.
  • the program creates journal data based on the target write data, and stores the journal data in the P-JVOL corresponding to the target P-VOL.
  • the program acquires the current remote copy mode of the target P-VOL. Specifically, for example, the program refers to the mode switching management table 400 on the cache memory 16 and acquires the mode 413 corresponding to the target P-VOL.
  • the program determines whether or not the mode acquired in S1507 is “synchronous mode”.
  • the program transfers the write data in the target P-VOL to the S-VOL paired with the target P-VOL (target S-VOL). , The process proceeds to S1513. Specifically, for example, the program refers to the pair configuration table 300 on the cache memory 16, acquires the S-VOL # 303 of the target S-VOL, and transfers the target write data by specifying the target S-VOL. To do.
  • step S1515 determines whether the mode switching process is being executed. If the determination result is true (Yes in S1515), the program proceeds to S1517, waits for a predetermined time, and then returns to S1515. On the other hand, if the determination result is false (No in S1515), the program advances the process to S1513.
  • the program transmits a response to the write request to the host 2 and ends the process.
  • the write process can be executed according to the synchronous mode or asynchronous mode.
  • I / O can be switched immediately when switching from the synchronous mode to the asynchronous mode.
  • the storage system 1 is connected to the primary site 1a in addition to the secondary site 1b, it can function as a remote site in the asynchronous mode.
  • the remote copy system may further include temporary sites 1c connected to the primary site 1a and the secondary site 1b, respectively.
  • the temporary site 1c creates T-JVOL # 1 and 2 as backup volumes corresponding to P-JVOL.
  • the primary site 1a uses the synchronous site to store journal data in the asynchronous mode in the P-VOL in the temporary mode 1c. Send to. Further, the primary site 1a transmits the journal data in the synchronous mode in the P-VOL to the temporary site 1c in the asynchronous mode.
  • the temporary site 1c stores journal data in the synchronous mode in T-JVOL # 1, and stores journal data in the asynchronous mode in T-JVOL # 2.
  • the temporary site 1c can replace the secondary site 1b with the temporary site 1c by creating an S-VOL based on T-JVOL # 1 and T-JVOL # 2.
  • the remote copy mode is set for each pair VOL of the P-VOL that the primary site has and the S-VOL that the secondary site has, but this is not restrictive.
  • the remote copy mode may be set for each VOL group composed of a plurality of P-VOLs and a plurality of S-VOLs.
  • the first storage device corresponds to the primary site 1a
  • the second storage device corresponds to the secondary site 1b
  • the third storage device corresponds to the temporary site 1c.
  • the first data volume corresponds to P-VOL # 1
  • the second data volume corresponds to S-VOL # 1.
  • the first journal volume corresponds to P-JVOL # 1
  • the second journal volume corresponds to S-JVOL # 1
  • the third journal volume corresponds to T-JVOL # 1.
  • 1 storage system
  • 1a primary site
  • 1b secondary site
  • 1c temporary site
  • 10 control device
  • 20 storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

 第一データボリュームから第二データボリュームへのバックアップコピーは、ライト要求に同期してライトデータを第一データボリュームから第二データボリュームへコピーする同期モード、ライト要求に非同期で、第一ストレージ装置のジャーナルデータを第二データボリュームに反映する非同期モードのいずれかで行われる。第二ストレージ装置は、自身の負荷状況を示すセカンダリ負荷情報を取得し、第一ストレージ装置に送信する。第一ストレージ装置は、自身の負荷状況を示すプライマリ負荷情報を取得し、セカンダリ負荷情報、プライマリ負荷情報、及び、モード情報に基づき、モードの切替えを判定し、判定の結果を示す判定情報を第二ストレージ装置に送信する。第二ストレージ装置は、判定情報が非同期モードから同期モードへの切り替えを示す場合、ジャーナルデータを第一ストレージ装置から取得し、ジャーナルデータを第二データボリュームに反映する。

Description

バックアップシステム
 本発明は、ストレージ装置のデータを、他のストレージ装置にバックアップするためのバックアップシステムに関する。
 プライマリストレージ装置の障害等に備え、データをバックアップするために、セカンダリストレージ装置を有するバックアップシステムが知られている。バックアップシステムにおける、データのバックアップ方法として、例えば特許文献1に開示の方法が知られている。
 このバックアップ方法において、プライマリ側のデータボリュームのバックアップデータを、セカンダリ側のデータボリュームへ格納する際のモードには、プライマリ及びセカンダリ側のデータボリュームを同期させる同期モード(同期リモートコピー)、又は、セカンダリ側のデータボリュームのデータを非同期でプライマリ側のデータボリュームのデータに追従させる非同期モード(非同期リモートコピー)がある。このバックアップ方法では、同期モード及び非同期モードのいずれのモードにおいても、第一のストレージ装置が主体となってデータの転送が行われている。
特開2009-122873号公報
 一方、同期モード又は非同期モードの各モードによってデータを転送する主体が異なる場合、各モードへの切替えが行われたときにデータの転送順序などの整合性をとれなくなるおそれがあった。
 上記課題を解決するために、本発明の一態様であるバックアップシステムは、ホスト計算機に接続され、第一データボリュームを有する第一ストレージ装置と、第二データボリュームを有する第二ストレージ装置と、を備える。第一ストレージ装置は、第一データボリュームから第二データボリュームへのバックアップコピーのモードを示すモード情報を記憶し、モード情報が同期モードを示す場合、ライト要求に同期してライトデータを第一データボリュームから第二データボリュームへコピーし、モード情報が非同期モードを示す場合、ライトデータに基づくジャーナルデータを作成する。第二ストレージ装置は、モード情報を記憶し、モード情報が同期モードを示す場合、第一ストレージ装置からライトデータを受信して第一データボリュームへ書き込み、モード情報が非同期モードを示す場合、ライト要求に非同期で、ジャーナルデータを第一ストレージ装置から取得し、ジャーナルデータを第二データボリュームに反映する。第二ストレージ装置は、自身の負荷状況を示すセカンダリ負荷情報を取得し、第一のストレージ装置に送信し、第一ストレージ装置は、自身の負荷状況を示すプライマリ負荷情報を取得し、セカンダリ負荷情報、プライマリ負荷情報、及び、モード情報に基づき、モードの切替えを判定し、判定の結果を示す判定情報を第二ストレージ装置に送信する。第二ストレージ装置は、判定情報を受信し、判定情報が非同期モードから同期モードへの切り替えを示す場合、ジャーナルデータを第一ストレージ装置から取得し、ジャーナルデータを第二データボリュームに反映する。
 本発明の一態様によれば、同期モード又は非同期モードへの切替えがあった場合であっても、データの整合性をとることができる。
実施例1のリモートコピーシステムの構成を示す。 実施例1のリモートコピーシステムが行うリモートコピーの概要を説明する図である。 ペア構成テーブル300を示す。 モード切替え管理テーブル400を示す。 セカンダリサイト1b側における、リモートコピー制御処理のフローチャートである。 セカンダリサイト1b側のモード切替え処理のフローチャートである。 プライマリサイト1a側における、リモートコピー制御処理のフローチャートである。 モード決定処理のフローチャートである。 プライマリサイト1a側のモード切替え処理のフローチャートである。 実施例1における、プライマリサイト1aのライト処理のフローチャートである。 実施例2のリモートコピーシステムにおける、非同期モード時のリモートコピーを説明する図である。 実施例2における、プライマリサイト1aのライト処理のフローチャートである。 S-VOLの回復処理のフローチャートである。 実施例3のリモートコピーシステムにおける、同期モード時のリモートコピーを説明する図である。 実施例3における、プライマリサイト1aのライト処理のフローチャートである。
 なお、以後の説明では「aaaテーブル」等の表現にて情報を説明するが、これら情報はテーブル等のデータ構造以外で表現されていてもよい。そのため、データ構造に依存しないことを示すために「aaaテーブル」等について「aaa情報」と呼ぶことがある。
 さらに、各情報の内容を説明する際に、「情報」、「識別子」、「ID」という表現を用いるが、これらについてはお互いに置換が可能である。
 以後の説明では「プログラム」を主語として説明を行う場合があるが、プログラムはマイクロプロセッサによって実行されることで定められた処理をメモリ及び通信インタフェースを用いながら行うため、プログラムを主語とした処理の説明はマイクロプロセッサを主語とした説明としてもよい。また、そのマイクロプロセッサを含む装置が行う処理としてもよい。また、プログラムが行う処理の一部または全ては専用ハードウェアによって実現されてもよい。また、プログラムは、プログラム配布サーバや、計算機が読み取り可能な記憶メディアによって計算機にインストールされてもよい。
 各図において共通の要素については、同一の参照番号を付して説明する。また、共通の要素に関し、各要素を識別する場合には、数字の最後に1a、1b、1A、2B等の個別の番号等を付して説明する。ただし、必要に応じて番号等を省略して説明する場合がある。
 以下、図面等を用いて、本発明の幾つかの実施例について説明する。以下の幾つかの実施例は本発明の内容の具体例を示すものであり、本発明がこれらの実施例に限定されるものではなく、本明細書に開示される技術的思想の範囲内において当業者による様々な変更および修正が可能である。以下では、本発明のバックアップシステムの実施例として、遠隔地に設置された複数のストレージシステムで構成されるリモートコピーシステムについて説明し、これらストレージシステム間のデータのバックアップコピーをリモートコピーとして説明する。しかし、これらストレージシステムが遠隔地に設置される必要はない。
 以下、実施例1のリモートコピーシステムの構成について説明する。
 図1は、実施例1のリモートコピーシステムの構成を示す。
実施例1のリモートコピーシステムは、複数のストレージシステム1を有する。各ストレージシステム1は、SAN(Storage Area Network)等の通信ネットワーク3を有し、ホスト計算機(以下、ホストという)2に接続される。これらストレージシステム1は、各ストレージシステム1が備える通信ネットワーク3が互いに接続されることにより、互いに接続される。なお、通信ネットワーク3は、SANだけに限られず、例えばインターネット等の他のネットワークでもよい。また、複数のストレージシステム1は、SANの他にWAN(Wide Area Network)などの別の通信ネットワークを介して接続されていても良い。リモートコピーシステムにおける、複数のストレージシステム1間において、データのリモートコピーが行われる。本実施例のリモートコピーシステムは、2つのストレージシステム1を有するものとする。以下では、データのコピー元となるストレージシステム1を、プライマリサイト1aと呼び、データのコピー先となるストレージシステム1をセカンダリサイト1bと呼ぶが、その構成は基本的に同じである。以下では、1つのストレージシステム1の構成を説明する。しかし、リモートコピーシステムを構成する複数のストレージシステムは、別々の構成であってもよい。
 ストレージシステム1は、制御装置(CTU)10と、記憶装置20と、を有する。制御装置10が、記憶装置20及びホスト2に接続される。
 記憶装置20は、ディスクユニットと、ドライブとを有する。記憶装置20は、複数のディスクユニット(DKU)により冗長化される。本実施例では、記憶装置20は、2つのディスクユニット#1、2により冗長化されている。各ディスクユニット#1(#2)は、それぞれ複数のスイッチを有する。スイッチは、本実施例では、複数のエクスパンダ22を備えたSSW(SAS Switch)21である。SSW21及びエクスパンダ22は1つでもよい。各ディスクユニット#1(又は#2)は、その内部のエクスパンダ22を介して、コントローラユニット#1(又は#2)及びドライブに接続される。ドライブは、物理記憶デバイスであり、本実施例ではHDD(Hard Disk Drive)23である。HDD23としては、例えば、SAS(Serial Attached Small Computer System Interface)-HDD(Hard Disk Drive)、SATA(Serial Advanced Technology Attachment)-HDD等であってよい。また、ドライブは、HDD23に代えてSSD(Solid State Drive)等の半導体記憶デバイスであってもよい。RAID(Redundant Arrays of Inexpensive Disks)グループが、複数のドライブ23で構成されてもよい。1つのドライブ23又は1つのRAIDグループを構成する複数のドライブ23に基づき、1つ又は複数のボリューム(LU:Logical Unit)がホスト2に提供される。ホスト2に提供されるボリュームは、ドライブ23に基づくボリュームに代えて、仮想的なボリューム(例えばThin Provisioningに従うボリューム)であってもよい。本実施例では、ホスト2に提供されるボリュームを総称して「データVOL」と呼び、プライマリサイト1aが有するデータVOLを「プライマリVOL(P-VOL)」、セカンダリサイト1bが有するデータVOLを「セカンダリVOL(S-VOL)」とそれぞれ呼ぶ。また、リモートコピーにおけるコピー元のP-VOLとコピー先のS-VOLの組を「ペアVOL」と呼ぶ。さらに、データVOLに関連づけられ、データに、そのデータの更新順序等の制御情報を付与したジャーナルデータが格納されるボリュームを総称して「ジャーナルVOL」と呼び、P-VOLに関連づけられるジャーナルVOLを「P-JVOL」、S-VOLに関連づけられるジャーナルVOLを「S―JVOL」とそれぞれ呼ぶ。
 制御装置10は、それぞれ独立した2つのコントローラユニット#1、#2により冗長化される。各コントローラユニット#1(#2)は、基本的に同一の構成である。このため、以下は、コントローラユニット#1の構成を主に説明する。しかし、2つのコントローラユニット#1(#2)は、別々の構成であってもよい。また、本実施例では、制御装置10は、2つのコントローラユニット#1、#2により冗長化されているが、これに限られない。制御装置10は、3つ以上のコントローラユニットで冗長化されてもよいし、1つのコントローラユニットのみで構成されてもよい。
 コントローラユニット#1は、1以上のサービスプロセッサ(SVP:Service Processor)11と、1以上のディスクアダプタ(DKA:Disk Adapter)12と、1以上のチャネルアダプタ(CHA:Channel Adapter)13と、1以上のスイッチ(ESW:PCI-Express Switch Adapter)14と、1以上のマイクロプロセッサ(MPB:Micro Processor Blade)15と、1以上のキャッシュメモリ(CPC:Cash Path Control Adapter)16と、を有する。2つのコントローラユニット#1、#2の各部は、それぞれ、スイッチ14を介してバスで接続される。キャッシュメモリ16は、バッテリを有しており、ストレージシステム1を制御するためのプログラム及びデータを格納する。本実施例においては、キャッシュメモリ16は、ペア構成情報、モード切替え管理情報等の各種情報、リモートコピー制御プログラム、ライト処理プログラム等の各種プログラムを有する。マイクロプロセッサ15は、キャッシュメモリ16に格納されたプログラムに従ってストレージシステム1を制御する。チャネルアダプタ13は、ホスト2及び他のストレージシステム1との間の通信を行う。コントローラユニット#1内のディスクアダプタ12は、ディスクユニット#1のエクスパンダ22に接続され、ディスクユニット#1との間の通信を行う。いずれのコントローラユニット#1、#2からもドライブ23にアクセス可能である。なお、本実施例では、各部の接続にスイッチ14としてESWを用いていたが、これに限定されない。
 図2は、実施例1のリモートコピーシステムが行うリモートコピーの概要を説明する図である。
 プライマリサイト1aが有するP-VOL#1から、セカンダリサイト1bが有するS-VOL#1に、リモートコピーを行う場合を説明する。
 本実施例のリモートコピーシステムでは、リモートコピーのモードとして、同期モードと、非同期モードが採用される。同期モードは、プライマリサイト1aが、ホスト2からのライト要求に対し、P-VOL及びS-VOLへの書込みが完了した後、ホスト2に書込みの完了を通知する方式である。本実施例においては、同期モードにおけるサイト間のデータ転送は、プライマリサイト1aが主体となるPUSH型で行われる。具体的には、例えば、以下の処理が行われる。
(1)ホスト2からP-VOL#1を指定したライト要求を受信した場合、プライマリサイト1aは、ライト対象のデータをP-VOL#1に書き込む。ライト対象のデータを、以下ライトデータという。
(2)プライマリサイト1aは、P-VOL#1に書き込んだライトデータを、セカンダリサイト1bに転送する。
(3)セカンダリサイト1bは、ライトデータを受信し、S-VOL#1に書き込む。
(4)セカンダリサイト1bは、ライトデータのS-VOL#1への書込み完了通知を、プライマリサイト1aに送信する。
(5)プライマリサイト1aは、書込み完了通知を受信し、ライトデータの書込みが完了した旨の通知をホスト2へ送信する。
 一方、非同期モードは、各ストレージシステム1に、各データVOLに関連づけられたジャーナルボリュームが作成され、ホスト2からのライト要求に対し、プライマリサイト1aが、受信したライトデータに、その更新順序等の制御情報を付与し、ジャーナルデータとしてジャーナルボリュームに記憶する方式である。本実施例では、非同期モードにおけるサイト間のデータ転送は、セカンダリサイト1bが主体となるPULL型で行われる。具体的には、例えば、以下の処理が行われる。
(1)ホスト2からP-VOL#1を指定したライト要求を受信した場合、プライマリサイト1aは、ライトデータをP-VOL#1に書き込む。
(2)プライマリサイト1aは、ライトデータの書込みが完了した旨を、ホスト2に通知する。
(3)プライマリサイト1aが、ライトデータに制御情報を付与しジャーナルデータとして、P-VOL#1に関連づけられたジャーナルボリューム(P-JVOL#1)へ書き込む。
(4)その後、セカンダリサイト1bは、所定のタイミングでデータ転送要求をプライマリサイト1aへ送信することによりP-JVOL#1に書き込まれたジャーナルデータを読み出し、自身のS-VOL#1に関連づけられたジャーナルボリュームS-JVOL#1に書き込む。
(5)セカンダリサイト1bは、S-JVOL#1に書き込まれたジャーナルデータに基づき、S-VOL#1を更新する。
 本実施例においては、サイト間のリモートコピーに際し、プライマリサイト1aが、そのモードを切り替える。具体的には、例えば、プライマリサイト1aは、プライマリサイト側におけるP-VOLの負荷などの情報であるプライマリ負荷情報と、セカンダリサイト側におけるS-VOLの負荷などの情報であるセカンダリ負荷情報とに基づき、リモートコピーのモードを、「同期モード」または「非同期モード」に切り替える。
 図3は、ペア構成テーブル300を示す。
 ペア構成テーブル300は、リモートコピーの際の、ペアVOLを管理するテーブルである。ペア構成テーブル300は、例えば、サービスプロセッサ11を介してユーザにより設定され、プライマリサイト1aのキャッシュメモリ16に記憶される。ペア構成テーブル300は、P-VOL毎のエントリを有する。各エントリは、当該P-VOLの識別番号を示すP-VOL#301と、当該P-VOLとペアをなすS-VOLの識別番号を示すS-VOL#303と、当該P-VOLを含むペアVOLの識別番号を示すペアID305と、当該P-VOLの応答時間の閾値である応答時間閾値307と、プライマリサイト1aが有するマイクロプロセッサ15の稼働率の閾値であるP-MPB稼働率閾値309とを有する。なお、ここでいう、P-VOLの応答時間とは、同期モードにおける、処理(1)~(5)が完了するまでの時間である。つまり、P-VOLの応答時間は、プライマリサイト1aが、該当のP-VOLに対するホスト2からのライト要求を受信してから、そのP-VOL、及び、P-VOLとペアを構成するS-VOLへのライトデータの書き込みが完了し、書込みが完了した旨の通知をホスト2へ送信するまでの時間とする。P-VOLの応答時間閾値は、ユーザにより設定される。また、P-MPB稼働率閾値も、ユーザにより設定される。
 図4は、モード切替え管理テーブル400を示す。
 モード切替え管理テーブル400は、リモートコピーのモードを切替える際に必要な情報を管理するテーブルである。モード切替え管理テーブル400は、例えば、プライマリサイト1aのキャッシュメモリ16に記憶される。モード切替え管理テーブル400は、P-VOL毎のエントリを有する。各エントリは、当該P-VOLの識別番号を示すP-VOL#401と、プライマリサイトの1aのマイクロプロセッサ15の稼働率を示すP-MPB稼働率403と、当該P-VOLを含むペアVOL間のデータ転送に要する時間である転送応答時間405と、当該P-VOLを含むペアVOL間のデータ転送速度を示す転送速度407と、当該P-VOLとペアをなすS-VOLの負荷状況を示すS-VOL負荷409と、セカンダリサイト1bのマイクロプロセッサ15の稼働率を示すS-MPB稼働率411と、現在のリモートコピーのモード情報を示すモード413と、最後にモードの切替えを行った時刻を示す前回切替え時刻415と、1時間のうちのモード切替えの回数を示す頻度417とを有する。なお、ここで、転送応答時間405は、例えば、P-VOLからSVOLへのデータ転送において、プライマリサイト1aからの要求に対し、セカンダリサイト1bの応答があるまでの時間である。また、例えば、転送速度407は、P-VOLからSVOLへの1秒辺りのデータ転送量である。また、例えば、S-VOL負荷409は、S-VOLの1秒間のI/O(Input or Output)処理量である。
 ここで、P-MPB稼働率及び転送応答時間を、プライマリサイト1aにおいて取得されるプライマリ負荷情報とする。これらP-MPB稼働率403及び転送応答時間405のフィールドには、プライマリサイト1aにより定期的に測定された各値の平均値がそれぞれ記憶される。
 また、転送速度、S-VOL負荷、及び、S-MPB稼働率を、セカンダリサイト1bにおいて取得されるセカンダリ負荷情報とする。これら転送速度407、S-VOL負荷409、及び、S-MPB稼働率411のフィールドには、セカンダリサイト1bにより定期的に測定された各値の平均値がそれぞれ記憶される。
 プライマリサイト1aのマイクロプロセッサ15は、モード切替え管理テーブル400が有する情報に基づき、非同期モードにおいて、同期モードにおけるP-VOLの応答時間を推定して推定応答時間とする。非同期モードにおけるP-VOLの推定応答時間は、例えば、P-VOL毎に、ホスト2によるP-VOLへのライト要求からホスト2への応答までの時間であるホスト応答時間と、プライマリサイト1aからセカンダリサイト1bへのデータ転送時間と所定時間を示すマージンとを加えて算出される。具体的には、例えば、プライマリサイト1aからセカンダリサイト1bへのデータ転送時間は、例えば、転送速度407、S-VOL負荷409、S-MPB稼働率411に基づき算出される。なお、ホスト応答時間については、プライマリサイト1aがホスト2から取得するようにしてもよい。
 以下、本実施例における、ペアVOLのリモートコピー制御処理を説明する。この処理は、プライマリサイト1aのマイクロプロセッサ15及びセカンダリサイト1bのマイクロプロセッサ15が、対応するキャッシュメモリ16に記憶されたリモートコピー制御プログラムを実行することにより行われる。この処理は、定期的又は不定期に繰り返し実行される。以下、図5、6においては、セカンダリサイト1b側の処理を説明し、図7~9においては、プライマリサイト1a側の処理を説明する。なお、セカンダリサイト1bは、自身のボリュームを含むペアVOL間のリモートコピーの現在のモードを示すモード情報をキャッシュメモリ16に記憶している。
 図5は、セカンダリサイト1b側における、リモートコピー制御処理のフローチャートである。
 S501で、プログラムは、セカンダリサイト1bが有するS-VOLを1つ選択する。なお、リモートコピー制御処理の説明では(図5~9)、ここで選択されたS-VOLを対象S-VOLといい、対象S-VOLとペアとなるP-VOLを対象P-VOL、対象P-VOLと対象S-VOLのペアを対象ペアVOLという。
 S503で、プログラムは、対象S-VOLのセカンダリ負荷情報を取得する。前述の通り、セカンダリ負荷情報は、ペアVOL間のデータ転送速度を示す転送速度と、S-VOLの負荷状況を示すS-VOL負荷と、セカンダリサイト1bのマイクロプロセッサの稼働率を示すS-MP稼働率等である。
 S505で、プログラムは、S503で取得したセカンダリ負荷情報を、プライマリサイト1aに送信する。
 S507で、プログラムは、プライマリサイト1aから、対象ペアVOLのモード切替え情報を受信したか否かを判定する。ここで、モード切替え情報は、例えば、対象ペアVOLの、モード切替えが必要か否かの情報である(図7参照)。なお、モード切替え情報は、モード切替後のモードを示していても良い。判定の結果が真の場合(S507で、Yes)、プログラムは、S509に処理を進める。一方、判定の結果が偽の場合(S507で、No)、プログラムは、所定時間おきに、この処理を繰り返す。
 S509で、プログラムは、モード判定を行う。ここで、プログラムは、対象ペアVOLの現在のモードに基づいて、モード切替えに必要な情報を取得する。具体的には、例えば、対象ペアVOLの現在のモードが同期モードの場合には、プログラムは、転送されるジャーナルデータのS-JVOLへのコピーの開始位置を取得する。また、対象ペアVOLの現在のモードが非同期モードの場合には、プログラムは、転送されるジャーナルデータのS-JVOLへのコピーの終了位置を取得する。
 S511で、プログラムは、S507のモード切替え情報に基づき、モード切替えが必要か否かを判定する。
 判定の結果が真の場合(S511で、Yes)、プログラムは、S515に処理を進め、セカンダリサイト1b側のモード切替え処理(Sモード切替え処理)を実行し、処理をS519に進める。Sモード切替え処理については、後述する。一方、判定の結果が偽の場合(S511で、No)、プログラムは、S513に処理を進め、S507のモード切替え情報に基づき、現在のモードが同期モードか否かを判定する。
 判定の結果が真の場合(S513で、Yes)、プログラムは、S519に処理を進める。一方、判定の結果が偽の場合(S513で、No)、プログラムは、S517に処理を進め、ジャーナルコピー処理を実行する。ジャーナルコピー処理においては、プログラムは、対象P-VOLに関連づけられたP-JVOLのデータ転送要求をプライマリサイト1aへ送信することにより、対象S-VOLに関連づけられたS-JVOLにコピーする。この際、P-JVOLからS-JVOLへのコピーの開始位置は、S509で判定された位置となる。
 S519で、プログラムは、セカンダリサイト1bのすべてのS-VOLについて、S501~517の処理が完了したか否かを判定する。判定の結果が真の場合(S519で、Yes)、プログラムは、処理を終了する。一方、判定の結果が偽の場合(S519で、No)、プログラムは、S501に処理を戻す。
 上記処理により、セカンダリサイト1bが有する各S-VOLについての情報(セカンダリ負荷情報)を、プライマリサイト1aが取得できる。これにより、プライマリサイト1aは、モード切替えが必要か否かを判定できる。
 また、セカンダリサイトは、プライマリサイト1aからのモード切替えが必要か否かの情報を取得することで、この情報に基づき、Sモード切替え処理を実行することができる。
 さらに、モード切替えが不要の場合であって、非同期モードのときには、P-JVOLからジャーナルデータを取得し、自身のS-JVOLにコピーを行うことができる。
 図6は、セカンダリサイト1b側がモード切替えを行うSモード切替え処理のフローチャートである。この処理は、図5のS515の処理である。
 S601で、プログラムは、対象ペアVOLのモード切替えが、非同期モードから同期モードへの切替えか否かを判定する。判定の結果が真の場合(S601で、Yes)、プログラムは、S605に処理を進める。一方、判定の結果が偽の場合(S601で、No)、プログラムは、S603に処理を進める。
 S603で、プログラムは、対象S-VOLに対応するS-JVOLを作成し、処理を終了する。
 S605で、プログラムは、プライマリサイト1aに対し、対象P-VOLに対応するP-JVOLに格納されたジャーナルデータのデータ転送要求を送信する。
 S607で、プログラムは、S605のデータ転送要求に基づくP-JVOL内のジャーナルデータの転送が、完了したか否かを判定する。具体的には、プログラムは、プライマリサイト1aから、P-JVOL内のジャーナルデータの転送完了通知を受信したか否かを判定する。判定の結果が真の場合(S607で、Yes)、プログラムは、S609に処理を進める。一方、判定の結果が偽の場合(S607で、No)、プログラムは、この処理を繰り返す。なお、転送されたジャーナルデータは、対象S-VOLに対応するS-JVOLに格納される。
 S609で、プログラムは、S-JVOL内のジャーナルデータを対象S-VOLに反映する。
 上記処理により、同期モードから非同期モードへの切替えの場合は、S-VOLに対応するS-JVOLを作成することができる。また、非同期モードから同期モードへの切替えの場合は、P-JVOLに残されたデータをすべてS-JVOLにコピーした後、S-JVOLのジャーナルデータをS-VOLに反映することができる。これにより、ペアを構成するP-VOLとS-VOLの内容が一致し、同期モードへの切替えが可能となる。
 図7は、プライマリサイト1a側における、リモートコピー制御処理のフローチャートである。
 S701で、プログラムは、セカンダリサイト1bから、対象S-VOLのセカンダリ負荷情報を受信してモード切替え管理テーブル400に保存する。具体的には、例えば、このセカンダリ負荷情報は、図5のS505において、セカンダリサイト1bから送信された情報である。
 S703で、プログラムは、ペア構成テーブル300を参照し、対象S-VOLとペアを構成するP-VOL(対象P-VOL)を取得する。
 S705で、プログラムは、対象P-VOLのプライマリ負荷情報を取得してモード切替え管理テーブル400に保存する。前述の通り、プライマリ負荷情報は、プライマリサイトの1aのマイクロプロセッサ15の稼働率を示すP-MP稼働率と、ペアボリューム間の転送応答時間等である。
 S707で、プログラムは、モード決定処理を実行する。モード決定処理については、後述する。モード決定処理において、対象ペアVOLのモード切替えが必要か否かを示すモード切替え情報が取得される。
 S709で、プログラムは、対象ペアVOLのモード切替え情報を、セカンダリサイト1bに送信する。なお、前述の通り、モード切替え情報は、例えば、対象ペアVOLの、モード切替えが必要か否かの情報である。
 S711で、プログラムは、S709のモード切替え情報に基づき、モード切替えが必要か否かを判定する。判定の結果が真の場合(S711で、Yes)、プログラムは、S713に処理を進める。一方、判定の結果が偽の場合(S711で、No)、プログラムは、処理を終了する。
 S713で、プログラムは、プライマリサイト1a側のモード切替え処理(Pモード切替処理)を実行し、処理を終了する。Pモード切替え処理については、後述する。
 上記処理により、セカンダリサイト1bが有する各S-VOLについての情報(セカンダリ負荷情報)を、プライマリサイト1aが取得できる。これにより、プライマリサイト1aは、モード切替えが必要か否かを判定できる。
 また、セカンダリサイト1bに対し、プライマリサイト1aからのモード切替えが必要か否かの情報を送信できる。この情報に基づき、セカンダリサイト1bは、モード切替え処理を実行することができる。
 図8は、モード決定処理のフローチャートである。この処理は、図7のS707の処理である。
 S801で、プログラムは、モード切替え管理テーブル400に基づいて、対象ペアVOLの現在のモードが、同期モードか否かを判定する。判定の結果が真の場合(S801で、Yes)、プログラムは、S813に処理を進める。一方、判定の結果が偽の場合(S801で、No)、プログラムは、S803に処理を進める。
 S803で、プログラムは、対象P-VOLの推定応答時間を算出する。なお、対象P-VOLの推定応答時間は、前述したように、例えば、ホスト応答時間と、プライマリサイト1aからセカンダリサイト1bへのデータ転送時間と、マージンとを加えて算出される。
 S805で、プログラムは、対象P-VOLの推定応答時間について、S803で算出した値(算出値)が閾値を超えているか否かを判定する。ここでの閾値は、ペア構成テーブル300の該当P-VOLに対応する応答時間閾値307である。判定の結果が真の場合(S805で、Yes)、プログラムは、S807に処理を進める。一方、判定の結果が偽の場合(S805で、No)、プログラムは、処理を終了する。
 S807で、プログラムは、対象P-VOLについて、プライマリサイト1aのマイクロプロセッサ15の稼働率が閾値未満か否かを判定する。ここでの閾値は、ペア構成テーブル300の対象P-VOLに対応するP-MPB稼働率閾値309である。また、プライマリサイト1aのマイクロプロセッサ15の稼働率の実測値は、モード切替え管理テーブル400の対象P-VOLに対応するP-MPB稼働率403である。判定の結果が真の場合(S807で、Yes)、プログラムは、処理を終了する。一方、判定の結果が偽の場合(S807で、No)、プログラムは、S809に処理を進める。
 S809で、プログラムは、モード切替えの頻度及び経過時間が、条件を満たすか否かを判定する。モード切替えの頻度は、例えば、モード切替え管理テーブル400の対象P-VOLに対応する頻度417である。また、モード切替えの経過時間は、例えば、モード切替え管理テーブル400の対象P-VOLに対応する前回切替え時刻415から現在の時刻までの経過時間である。ここで、頻度および経過時間の条件は、頻度が所定の頻度閾値を下回り、且つ経過時間が所定の経過時間閾値を上回ることである。
 S811で、プログラムは、対象ペアVOLのモード切替えが必要であると判断する(モード切替え"要”)。
 S813で、プログラムは、ペア構成テーブル300を参照し、対象P-VOLの応答時間が、応答時間閾値307を超えたか否かを判定する。前述の通り、対象P-VOLの応答時間は、同期モード時において、プライマリサイト1aが、対象P-VOLに対するホスト2からのライト要求を受信してから、対象P-VOL及び対象S-VOLへのライトデータの書き込みが完了し、書込みが完了した旨の通知をホスト2へ送信するまでの時間である。判定の結果が真の場合(S813で、Yes)、プログラムは、S811に処理を進める。一方、判定の結果が偽の場合(S813で、No)、プログラムは、処理を終了する。
 上記処理により、本実施例のリモートコピーシステムにおいては、適切なモード切替えを行うことにより、P-VOLの応答時間を保証することができる。また、プライマリサイト1a側で測定されるプライマリ負荷情報と、セカンダリサイト1b側で測定されるセカンダリ負荷情報とに基づき、モード切替えが必要なペアVOLを適切に判断できる。具体的には、以下の通りである。
 プライマリサイト1aは、同期モードにおけるP-VOLの応答時間の実測値に基づき、同期モードから非同期モードへの切替えを、適切に行うことができる。これにより、ペアVOL間のコピーに際して、プライマリサイト1a及びセカンダリサイト1bにかかる負荷の低減を図ることができる。
 また、プライマリサイト1aは、非同期モードにおいて、同期モードにおけるP-VOLの応答時間(推定応答時間)を推定することにより、非同期モードから同期モードへの切替えを、適切に行うことができる。具体的には、セカンダリ負荷情報、つまり、モード切替え管理テーブル400の、転送速度407、S-VOL負荷409及びS-MPB稼働率411に基づき、非同期モードであってもP-VOLの応答時間を推定できる。
 また、プライマリサイト1aは、プライマリサイト1a側のマイクロプロセッサ15の稼働率に基づき、非同期モードから同期モードへの切替えを、適切に行うことができる。
 また、プライマリサイト1aは、モード切替えの頻度及び時間を考慮して、非同期モードから同期モードへの切替えを、適切に行うことができる。
 図9は、プライマリサイト1a側のPモード切替え処理のフローチャートである。この処理は、図8のS713の処理である。
 S901で、プログラムは、対象ペアVOLのモード切替えが、非同期モードから同期モードへの切替えか否かを判定する。判定の結果が真の場合(S901で、Yes)、プログラムは、S905に処理を進める。一方、判定の結果が偽の場合(S901で、No)、プログラムは、S903に処理を進める。
 S903で、プログラムは、対象P-VOLに対応するP-JVOLを作成する。
 S905で、プログラムは、セカンダリサイト1bから、対象P-VOLに対応するP-JVOLのジャーナルデータのデータ転送要求を受信したか否かを判定する。判定の結果が真の場合(S905で、Yes)、プログラムは、S907に処理を進める。一方、判定の結果が偽の場合(S905で、No)、この処理を繰り返す。
 S907で、プログラムは、対象P-JVOL内のジャーナルデータをセカンダリサイト1bに転送する。そして、対象P-JVOL内のジャーナルデータの転送が完了したあと、プログラムは、転送完了通知をセカンダリサイト1bに送信する。
 S909で、プログラムは、モード切替え管理テーブル400を更新する。具体的には、プログラムは、対象P-VOLについて、モード切替え管理テーブル400のモード413を現在のモードと異なるモードへ変更する。
 上記処理により、同期モードから非同期モードへの切替えの場合は、P-VOLに対応するP-JVOLを作成することができる。また、非同期モードから同期モードへの切替えの場合は、P-JVOLに残されたジャーナルデータをすべてS-JVOLに送信できる。
 図10は、実施例1における、プライマリサイト1aのライト処理のフローチャートである。
 この処理は、ホスト2からP-VOLを指定したライト要求が送信された場合のプライマリサイト1aでの処理である。この処理は、プライマリサイト1aの制御装置10が有するマイクロプロセッサ15がライト処理プログラムを実行することにより行われる。
 S1001で、プログラムは、P-VOLを指定したライト要求及びライトデータをホスト2から受信する。本図の説明においては、以下、このP-VOLを対象P-VOLという。
 S1003で、プログラムは、対象P-VOLに、ライト要求に従うライトデータを書き込む。
 S1005で、プログラムは、対象P-VOLの現在のリモートコピーのモードを確認する。具体的には、例えば、プログラムは、キャッシュメモリ16上のモード切替え管理テーブル400を参照し、対象P-VOLに対応するモード413を取得する。
 S1007で、プログラムは、S1005で取得したモードが「同期モード」であるか否かを判定する。
 S1007で判定の結果が真の場合(Yes)、S1009で、プログラムは、対象P-VOLとペアとなるS-VOL(対象S-VOL)に対し、対象P-VOL内のライトデータを転送し、S1017に処理を進める。具体的には、例えば、プログラムは、キャッシュメモリ16上のペア構成テーブル300を参照し、対象S-VOLのS-VOL#303を取得し、対象S-VOLを指定してライトデータを転送する。一方、S1007で判定の結果が偽の場合(No)、プログラムは、S1011に処理を進める。
 S1011で、プログラムは、ライト要求及びライトデータに基づくジャーナルデータを作成し、そのジャーナルデータを、対象P-VOLに対応するP-JVOLに格納し、S1013で、Pモード切替え処理が実行中か否かを判定する。判定の結果が真の場合(S1013で、Yes)、プログラムは、S1015に処理を進め、所定時間待った後、S1013に処理を戻す。一方、判定の結果が偽の場合(S1013で、No)、プログラムは、S1017に処理を進める。
 S1017で、プログラムは、ホスト2に対してライト要求に対する応答を送信し、処理を終了する。
 上記処理により、同期モード又は非同期モードに合わせたライト処理を実行できる。また、非同期モードにおいて、モード切替え処理が実行されている場合には、ライト要求に対するホスト2への応答を行わない。これにより、非同期モードから同期モードへの切替えのための、P-JVOLからS-JVOLへのジャーナルデータのコピーが完了するまでは、セカンダリサイト1bが、S-VOLに対する、同期モード時のライトデータ(同期データ)を受信することがなくなるため、S-VOL内のデータの整合性を保つことができる。
 以下、実施例2を説明する。その際、実施例1との相違点を主に説明し、実施例1との共通点については説明を省略或いは簡略する。
 実施例2のリモートコピーシステムが行うリモートコピーの概要を説明する。本実施例のリモートコピーシステムは、プライマリサイト1a及びセカンダリサイト1bの他に、テンポラリサイト1cを有する。テンポラリサイト1cの構成は、プライマリサイト1aの構成と同様である。プライマリサイト1aのP-VOL#1からセカンダリサイト1bのS-VOL#1に、リモートコピーを行う。
 同期モードでのリモートコピーは、基本的に実施例1と同様である(図2参照)。プライマリサイト1aは、ホスト2からのライト要求に対し、P-VOL#1及びS-VOL#1への書込みが完了した後、ホスト2に書込みの完了を通知する。なお、プリマリサイト1a及びセカンダリサイト1bとのリモートコピーが同期モードの場合は、テンポラリサイト#1は、動作を行わなくてよい。
 図11は、実施例2のリモートコピーシステムにおける、非同期モード時のリモートコピーを説明する図である。
 プライマリサイト1aのP-VOL#1と、セカンダリサイト1bのS-VOL#1との間のリモートコピーが、非同期モードである場合、プライマリサイト1aは、P-VOL#1に関連づけられたジャーナルボリュームP-JVOL#1からテンポラリサイトへの同期コピーを行う。以下、具体的に説明する。
(1)ホスト2からP-VOL#1を指定したライト要求を受信した場合、プライマリサイト1aは、ライトデータをP-VOL#1に書き込むとともに、ライトデータに制御情報を付与しジャーナルデータとして、P-VOL#1に関連づけられたジャーナルボリュームP-JVOL#1へ書き込む。
(2)プライマリサイト1aは、P-JVOL#1に書き込んだジャーナルデータを、テンポラリサイト1cに転送する。
(3)テンポラリサイト1cは、受信したジャーナルデータをジャーナルボリュームT-JVOL#1に書き込む。
(4)テンポラリサイト1cは、ジャーナルデータのT-JVOL#1への書込み完了通知を、プライマリサイト1aに送信する。
(5)プライマリサイト1aは、書込み完了通知を受信し、ライトデータの書込みが完了した旨の通知をホスト2へ送信する。
(6)一方、セカンダリサイト1bは、所定のタイミングでデータ転送要求をプライマリサイト1aへ送信することによりP-JVOL#1に書き込まれたジャーナルデータを読み出し、自身のS-VOL#1に関連づけられたジャーナルボリュームS-JVOL#1に書き込む。
(7)セカンダリサイト1bは、S-JVOL#1に書き込まれたジャーナルデータに基づき、S-VOL#1を更新する。
 図12は、実施例2における、プライマリサイト1aのライト処理のフローチャートである。
 この処理は、ホスト2からP-VOLを指定したライト要求が送信された場合のプライマリサイト1aでの処理である。この処理は、プライマリサイト1aの制御装置10が有するマイクロプロセッサ15がライト処理プログラムを実行することにより行われる。
 S1201で、プログラムは、P-VOLを指定したライト要求及びライトデータをホスト2から受信する。本図の説明においては、以下、このP-VOLを対象P-VOL、このライトデータを対象ライトデータという。
 S1203で、プログラムは、対象P-VOLに、対象ライトデータを書き込む。
 S1205で、プログラムは、対象P-VOLの現在のモードを取得する。具体的には、例えば、プログラムは、キャッシュメモリ16上のモード切替え管理テーブル400を参照し、対象P-VOLに対応するモード413を取得する。
 S1207で、プログラムは、S1205で取得したモードが「同期モード」であるか否かを判定する。
 S1207で判定の結果が真の場合(Yes)、S1209で、プログラムは、対象P-VOLとペアとなるS-VOL(対象S-VOL)に対し、対象P-VOL内のライトデータを転送し、S1211に処理を進める。具体的には、例えば、プログラムは、キャッシュメモリ16上のペア構成テーブル300を参照し、対象S-VOLのS-VOL#303を取得し、対象S-VOLを指定して対象ライトデータを転送する。
 一方、S1207で判定の結果が偽の場合(No)、S1213で、プログラムは、対象ライトデータに基づくジャーナルデータを作成し、そのジャーナルデータを、対象P-VOLに対応するP-JVOLに格納する。
 S1215で、プログラムは、対象P-JVOLに対応するテンポラリサイト1cのジャーナルボリューム(T-JVOL)に対し、対象P-JVOL内のジャーナルデータを転送する。
 S1217で、プログラムは、モード切替え処理が実行中か否かを判定する。判定の結果が真の場合(S1217で、Yes)、プログラムは、S1219に処理を進め、所定時間待った後、S1217に処理を戻す。一方、判定の結果が偽の場合(S1217で、No)、プログラムは、S1211に処理を進める。
 S1211で、プログラムは、ホスト2に対してライト要求に対する応答を送信し、処理を終了する。
 上記処理により、同期モード又は非同期モードに合わせたライト処理を実行できる。また、非同期モードにおいては、ライトデータに基づくジャーナルデータを、対象P-JVOLに格納するとともに、テンポラリサイト1cのT-JVOLに送信する。これにより、テンポラリサイト1cでは、対象P-JVOLと同じ内容のボリュームであるT-JVOLを作成できる。
 なお、同期モードから非同期モードに切替わった場合など、テンポラリサイト1cは、プライマリサイト1aから最初のジャーナルデータが送信されたときに、ジャーナルボリュームT-JVOLを作成しても良い。そして、テンポラリサイト1cは、プライマリサイト1aからジャーナルデータが送信される毎に、T-JVOLにジャーナルデータを格納していく。
 本実施例のリモートサイトにおいては、適切なモードの切替えを行うことにより、P-VOLの応答時間を保証することができる。また、プライマリサイト1a側で測定されるプライマリ負荷情報と、セカンダリサイト1b側で測定されるセカンダリ負荷情報とに基づき、モードの切替えが必要なペアVOLを適切に判断できる。
 さらに、本実施例では、リモートコピーシステムは、テンポラリサイト1cを有し、ペアVOLのリモートコピーのモードが、同期モードから非同期モードに切替わった場合に、テンポラリサイト1cに、プライマリサイト1aのP-JVOLと同期させたT-JVOLを作成する。これにより、例えば、プライマリサイト1aに障害が発生した場合等であって、P-JVOLのジャーナルデータが、S-JVOLに反映され得ない場合であっても、T-JVOLのジャーナルデータをS-JVOLに反映することにより、S-VOLを最新の状態に更新できる。このため、障害のあったプライマリサイト1aからセカンダリサイト1bへ切替えることができる。
 なお、ペアVOLのモードが、非同期モードから同期モードに戻った場合には、プライマリサイト1aのP-JVOLにより、S-VOLを同期できる。従って、この場合、T-JVOLは、破棄可能となる。
 以下では、例えば、プライマリサイト1aに障害が発生した場合であって、プライマリサイト1aからセカンダリサイト1bにメインとなるサイトを切替える場合を想定する。この場合、対象となるS-VOLを最新の状態にするために、T-JVOLのデータを反映させる。以下の説明では、このS-VOLを対象S-VOLという。
 図13は、S-VOLの最新状態への更新処理のフローチャートである。この処理は、テンポラリサイト1cの制御装置10が有するマイクロプロセッサ15が更新処理プログラムを実行することにより行われる。
 S1301で、プログラムは、対象S-VOLについて、最新の状態か必要か否かを判定する。S-VOLが最新の状態か必要か否かの情報は、例えば、セカンダリサイト1bから直接又はプライマリサイト1aを通じて通知されてよい。判定の結果が真の場合(S1301で、Yes)、プログラムは、S1301の処理を繰り返す。一方、判定の結果が偽の場合(S1301で、No)、プログラムは、S1303に処理を進める。
 S1303で、プログラムは、対象S-VOLを指定して、T-JVOL内のジャーナルデータをセカンダリサイト1bに転送する。そして、プログラムは、転送されたジャーナルデータをS-JVOLに反映する。
 S1305で、プログラムは、ジャーナルデータの転送が完了したか否かを判定する。判定の結果が真の場合(S1305で、Yes)、プログラムは、所定時間経過の後、S1301の処理を繰り返す。一方、判定の結果が偽の場合(S1305で、No)、プログラムは、S1303に処理を戻す。
 上記処理により、T-JVOL内のジャーナルデータをS-JVOLに反映することにより、対象S-VOLを最新の状態に更新できる。そして、障害が発生したプライマリサイト1aに替えて、セカンダリサイト1bをメインのサイトとして稼働させることができる。
 以下、実施例3を説明する。その際、実施例1との相違点を主に説明し、実施例1との共通点については説明を省略或いは簡略する。
 実施例3のリモートサイトが行うリモートコピーの概要を説明する。本実施例では、プライマリサイト1aのP-VOL#1からセカンダリサイト1bのS-VOL#1に、リモートコピーを行う。この際、プライマリサイト1a及びセカンダリサイト1bのそれぞれは、同期モードの場合であっても、ジャーナルボリュームを作成する。
 図14は、実施例3のリモートサイトにおける、同期モード時のリモートコピーを説明する図である。
 本実施例では、同期モードでのリモートコピーの際に、プライマリサイト1a及びセカンダリサイト1bは、それぞれ、P-VOL#1に対応するP-JVOL#1、及び、S-VOL#1に対応するS-JVOL#1を作成する。そして、プライマリサイト1aは、ホスト2からのライト要求に従い、P-VOL#1にライトデータを格納すると共に、P-JVOL#1にジャーナルデータを格納する。
以下、具体的に説明する。
(1)ホスト2からP-VOL#1を指定したライト要求を受信した場合、プライマリサイト1aは、ライトデータをP-VOL#1に書き込むとともに、ライトデータに制御情報を付与しジャーナルデータとして、P-VOL#1に関連づけられたジャーナルボリュームP-JVOL#1へ書き込む。
(2)プライマリサイト1aは、P-VOL#1に書き込んだライトデータを、セカンダリサイト1bに転送する。
(3)セカンダリサイト1bは、ライトデータを受信し、S-VOL#1に書き込む。
(4)セカンダリサイト1bは、ライトデータのS-VOL#1への書込み完了通知を、プライマリサイト1aに送信する。
(5)プライマリサイト1aは、書込み完了通知を受信し、ライトデータの書込みが完了した旨の通知をホスト2へ送信する。
(6)その後、セカンダリサイト1bは、所定のタイミングでデータ転送要求をプライマリサイト1aへ送信することによりP-JVOL#1に書き込まれたジャーナルデータを読み出し、自身のS-VOL#1に関連づけられたジャーナルボリュームS-JVOL#1に書き込む。
(7)セカンダリサイト1bは、S-JVOL#1に書き込まれたジャーナルデータに基づき、S-VOL#1を更新する。
 図15は、実施例3における、プライマリサイト1aのライト処理のフローチャートである。
 この処理は、ホスト2からP-VOLを指定したライト要求が送信された場合のプライマリサイト1aでの処理である。この処理は、プライマリサイト1aの制御装置10が有するマイクロプロセッサ15がライト処理プログラムを実行することにより行われる。
 S1501で、プログラムは、P-VOLを指定したライト要求及びライトデータをホスト2から受信する。本図の説明においては、以下、このP-VOLを対象P-VOLといい、このライトデータを対象ライトデータという。
 S1503で、プログラムは、対象P-VOLに、対象ライトデータを書き込む。
 S1505で、プログラムは、対象ライトデータに基づくジャーナルデータを作成し、そのジャーナルデータを、対象P-VOLに対応するP-JVOLに格納する。
 S1507で、プログラムは、対象P-VOLの現在のリモートコピーのモードを取得する。具体的には、例えば、プログラムは、キャッシュメモリ16上のモード切替え管理テーブル400を参照し、対象P-VOLに対応するモード413を取得する。
 S1509で、プログラムは、S1507で取得したモードが「同期モード」であるか否かを判定する。
 S1509で判定の結果が真の場合(Yes)、S1511で、プログラムは、対象P-VOLとペアとなるS-VOL(対象S-VOL)に対し、対象P-VOL内のライトデータを転送し、S1513に処理を進める。具体的には、例えば、プログラムは、キャッシュメモリ16上のペア構成テーブル300を参照し、対象S-VOLのS-VOL#303を取得し、対象S-VOLを指定して対象ライトデータを転送する。
 一方、S1509で判定の結果が偽の場合(No)、S1515で、プログラムは、モード切替え処理が実行中か否かを判定する。判定の結果が真の場合(S1515で、Yes)、プログラムは、S1517に処理を進め、所定時間待った後、S1515に処理を戻す。一方、判定の結果が偽の場合(S1515で、No)、プログラムは、S1513に処理を進める。
 S1513で、プログラムは、ホスト2に対してライト要求に対する応答を送信し、処理を終了する。
 上記処理により、同期モード又は非同期モードに合わせたライト処理を実行できる。加えて、同期モードの際にもP-JVOLにジャーナルデータを格納することにより、同期モードから非同期モードに切替わったときに、すぐにI/Oの切替えができる。また、プライマリサイト1aに、セカンダリサイト1bの他にストレージシステム1が接続されている場合であっても、非同期モードのリモートサイトとして、機能させることができる。
 なお、本実施例では、例えば、リモートコピーシステムは、プライマリサイト1a、セカンダリサイト1bにそれぞれ接続されるテンポラリサイト1cをさらに備えてもよい。例えば、同期モードから非同期モードに切替わったときに、テンポラリサイト1cは、P-JVOLに対応するバックアップボリュームとして、T-JVOL#1及び2を作成する。本実施例では、同期モード、非同期モードに関わらず、P-JVOLが作成されているため、例えば、プライマリサイト1aは、P-VOLのうち非同期モード中のジャーナルデータを、同期モードでテンポラリサイト1cに送信する。また、プライマリサイト1aは、P-VOLのうち同期モード中のジャーナルデータを、非同期モードでテンポラリサイト1cに送信する。テンポラリサイト1cは、例えば、同期モード中のジャーナルデータを、T-JVOL#1に格納し、非同期モード中のジャーナルデータを、T-JVOL#2に格納する。これにより、セカンダリサイト1bが故障した場合、テンポラリサイト1cはT-JVOL#1及びT-JVOL#2に基づいてS-VOLを作成することにより、セカンダリサイト1bをテンポラリサイト1cで代替できる。
 以上、幾つかの実施例を説明したが、本発明は、それらの実施例に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
 例えば、上記幾つかの実施例では、プライマリサイトが有するP-VOLと、セカンダリサイトが有するS-VOLとのペアVOL毎に、リモートコピーのモードを設定していたが、これに限られない。例えば、複数のP-VOLと、複数のS-VOLとで構成されるVOLグループ毎にリモートコピーのモードを設定してもよい。
 上記幾つかの実施例において、第一ストレージ装置、プライマリサイト1a等に対応し、第二ストレージ装置は、セカンダリサイト1bに対応し、第三ストレージ装置は、テンポラリサイト1c等に対応する。また、第一データボリュームは、P-VOL#1に対応し、第二データボリュームは、S-VOL#1に対応する。また、第一ジャーナルボリュームは、P-JVOL#1、第二ジャーナルボリュームは、S-JVOL#1、第三ジャーナルボリュームは、T-JVOL#1に対応する。
 1:ストレージシステム、1a:プライマリサイト、1b:セカンダリサイト、1c:テンポラリサイト、10:制御装置、 20:記憶装置、

Claims (13)

  1.  ホスト計算機に接続され、第一データボリュームを有する第一ストレージ装置と、
     前記第一ストレージ装置に接続され、第二データボリュームを有する第二ストレージ装置と、
    を備え、
     前記第一ストレージ装置は、前記第一データボリュームから前記第二データボリュームへのバックアップコピーのモードを示すモード情報を記憶し、前記モード情報が同期モードを示す場合、前記ライト要求に同期して前記ライトデータを前記第一データボリュームから前記第二データボリュームへコピーし、前記モード情報が非同期モードを示す場合、前記ライトデータに基づくジャーナルデータを作成し、
     前記第二ストレージ装置は、前記モード情報を記憶し、前記モード情報が同期モードを示す場合、前記第一ストレージ装置から前記ライトデータを受信して前記第一データボリュームへ書き込み、前記モード情報が非同期モードを示す場合、前記ライト要求に非同期で、前記ジャーナルデータを前記第一ストレージ装置から取得し、前記ジャーナルデータを前記第二データボリュームに反映し、
     前記第二ストレージ装置は、
      自身の負荷状況を示すセカンダリ負荷情報を取得し、前記第一ストレージ装置に送信し、
     前記第一ストレージ装置は、
      自身の負荷状況を示すプライマリ負荷情報を取得し、
      前記セカンダリ負荷情報、前記プライマリ負荷情報、及び、前記モード情報に基づき、前記モードの切替えを判定し、
      前記判定の結果を示す判定情報を前記第二ストレージ装置に送信し、
     前記第二ストレージ装置は、
      前記判定情報を受信し、前記判定情報が非同期モードから同期モードへの切り替えを示す場合、前記ジャーナルデータを前記第一ストレージ装置から取得し、前記ジャーナルデータを前記第二データボリュームに反映する、
    バックアップシステム。
  2.  前記モード情報が同期モードを示す場合、
      前記第一ストレージ装置が、前記ライト要求に応じて、前記ライトデータを前記第一データボリュームに書き込み、前記第一データボリュームの前記ライトデータを前記第二データボリュームに送信し、前記第二ストレージ装置が前記ライトデータを第二データボリュームに書き込んだ後、前記ホスト計算機に対し、前記ライトデータの書き込みが完了した旨を通知し、
     前記モード情報が非同期モードを示す場合、
      前記第一ストレージ装置が、前記ライトデータを前記第一データボリュームに書き込むとともに、前記ライトデータに更新情報を付与したジャーナルデータを、前記第一データボリュームに関連づけた第一ジャーナルボリュームに書き込んだ後、前記ホスト計算機に対し、前記ライトデータの書き込み完了した旨を通知し、
      前記第二ストレージ装置が、前記ライト要求に非同期で、前記ジャーナルデータを前記第一ストレージ装置から取得し、前記ジャーナルデータを前記第二データボリュームに反映する、
    請求項1に記載のバックアップシステム。
  3.  前記判定情報が非同期モードから同期モードへの切り替えを示す場合、
      前記第二ストレージ装置は、前記第一ストレージ装置に対してジャーナルデータの転送要求を送信し、
      前記第一ストレージ装置は、前記転送要求に応じて、前記第一ジャーナルボリューム内のジャーナルデータを、前記第二ストレージ装置に送信し、
      前記第二ストレージ装置は、送信されたジャーナルデータを前記第二データボリュームに反映し、
      前記第一ストレージ装置は、前記モード情報を同期モードに変更する、
    請求項2に記載のバックアップシステム。
  4.  前記第一ストレージ装置は、
      前記第一データボリュームを指定したライト要求を前記ホスト計算機から受信し且つ前記モード情報が非同期モードを示す場合、前記ライト要求に従うライトデータを前記第一データボリュームに格納するとともに、前記ライトデータに更新情報を付与したジャーナルデータを、前記第一データボリュームに関連づけた第一ジャーナルボリュームに格納し、
      非同期モードから同期モードへ切替えると判定された後で前記モード情報が同期モードに変更されていない場合、前記モード情報が同期モードに変更された後、前記ホスト計算機に対し、前記ライトデータの書き込みが完了した旨を通知する、
    請求項3に記載のバックアップシステム。
  5.  前記プライマリ負荷情報は、前記同期モードにおけるライト要求から前記ホスト計算機への応答までの時間である、第一応答時間を含み、
     前記第一ストレージ装置は、
      前記第一応答時間を測定し、
      前記第一応答時間が所定の閾値を超えた場合、前記同期モードから前記非同期モードに切替えると判定する、
    請求項4に記載のバックアップシステム。
  6.  前記第一ストレージ装置は、
      非同期モードにおける前記セカンダリ負荷情報に基づき、前記同期モードと仮定した場合のライト要求から前記ホスト計算機への応答までの時間である第二応答時間を推定し、
      前記第二応答時間が所定の閾値未満であった場合、前記非同期モードから前記同期モードに切替えると判定する、
    請求項5に記載のバックアップシステム。
  7.  前記第二負荷情報は、前記第一ストレージ装置から前記第二ストレージ装置へのデータ転送時間である、
    請求項6に記載のバックアップシステム。
  8.  前記第一ストレージ装置は、
      第一プロセッサを有し、
      前記第一プロセッサの稼働率が所定の閾値未満であった場合、前記非同期モードから前記同期モードに切替えると判定する、
    請求項7に記載のバックアップシステム。
  9.  前記第一ストレージ装置は、
      非同期モードにおいて、最後にモードを切り替えたときからの経過時間が所定の閾値未満であった場合、前記非同期モードから前記同期モードに切替えると判定する、
    請求項8に記載のバックアップシステム。
  10.  前記第二ストレージ装置は、
      第二プロセッサを有し、
      前記第一データボリュームから前記第二データボリュームへのデータ転送量と、前記第二データボリュームのI/O(Input or Output)頻度と、前記第二プロセッサの稼働率とを測定し、
      前記データ転送量、前記I/O頻度及び、前記第二プロセッサの稼働率に基づき、前記データ転送時間を算出する、
    請求項9に記載のバックアップシステム。
  11.  前記バックアップシステムは、さらに、前記第一ストレージ装置に接続された第三ストレージ装置を備え、
     前記第三ストレージ装置は、第一ジャーナルボリュームに対応する、第三ジャーナルボリュームを生成し、
     前記第一ストレージ装置は、前記ライト要求に対し、前記ライトデータを前記第一ボリュームに格納するとともに、前記ライトデータに更新情報を付したジャーナルデータを、前記第一ジャーナルボリュームに格納すると共に前記第三ストレージ装置へ送信し、
     前記第三ストレージ装置は、前記第一ストレージ装置からジャーナルデータを受信し、前記受信したジャーナルデータを前記第三ジャーナルボリュームへ書き込む、
    請求項2に記載のバックアップシステム。
  12.  前記第一ストレージ装置は、
      前記同期モードの場合に、前記ライト要求に従う前記ライトデータを、前記第一データボリュームに格納し、前記ライトデータに更新情報を付してジャーナルデータを第一ジャーナルボリュームに書き込むとともに、前記ライトデータを前記第二データボリュームに送信し、
      非同期モードの場合に、前記ライトデータを前記第二データボリュームに送信する、
    請求項2に記載のバックアップシステム。
  13.  ホスト計算機に接続され、第一データボリュームを有する第一ストレージ装置と、前記第一ストレージ装置に接続され、第二データボリュームを有する第二ストレージ装置とを含む、バックアップシステムにより実行されるデータのバックアップ方法であって、
     前記第一ストレージ装置により、前記第一データボリュームから前記第二データボリュームへのバックアップコピーのモードを示すモード情報を記憶し、前記第二ストレージ装置により、前記モード情報を記憶し、
     前記モード情報が同期モードを示す場合、前記第一ストレージ装置により、前記ライト要求に同期して前記ライトデータを前記第一データボリュームから前記第二データボリュームへコピーし、前記第二ストレージ装置により、前記第一ストレージ装置から前記ライトデータを受信して前記第一データボリュームへ書き込み、
     前記モード情報が非同期モードを示す場合、前記第一ストレージ装置により、前記ライトデータに基づくジャーナルデータを作成し、前記第二ストレージ装置により、前記ライト要求に非同期で、前記ジャーナルデータを前記第一ストレージ装置から取得し、前記ジャーナルデータを前記第二データボリュームに反映し、
     前記第二ストレージ装置により、自身の負荷状況を示すセカンダリ負荷情報を取得し、前記第一ストレージ装置に送信し、
     前記第一ストレージ装置により、自身の負荷状況を示すプライマリ負荷情報を取得し、
     前記第一ストレージ装置により、前記セカンダリ負荷情報、前記プライマリ負荷情報、及び、前記モード情報に基づき、前記モードの切替えを判定し、
     前記第一ストレージ装置により、前記判定の結果を示す判定情報を前記第二ストレージ装置に送信し、
     前記第二ストレージ装置により、前記判定情報を受信し、前記判定情報が非同期モードから同期モードへの切り替えを示す場合、前記ジャーナルデータを前記第一ストレージ装置から取得し、
     前記第二ストレージ装置により、前記ジャーナルデータを前記第二データボリュームに反映する、
    ことを備えるバックアップ方法。

     
     
PCT/JP2013/084430 2013-12-24 2013-12-24 バックアップシステム WO2015097737A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2013/084430 WO2015097737A1 (ja) 2013-12-24 2013-12-24 バックアップシステム
US14/423,872 US9239845B2 (en) 2013-12-24 2013-12-24 Backup system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/084430 WO2015097737A1 (ja) 2013-12-24 2013-12-24 バックアップシステム

Publications (1)

Publication Number Publication Date
WO2015097737A1 true WO2015097737A1 (ja) 2015-07-02

Family

ID=53477681

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/084430 WO2015097737A1 (ja) 2013-12-24 2013-12-24 バックアップシステム

Country Status (2)

Country Link
US (1) US9239845B2 (ja)
WO (1) WO2015097737A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10248511B2 (en) * 2014-11-26 2019-04-02 Hitachi, Ltd. Storage system having multiple local and remote volumes and multiple journal volumes using dummy journals for sequence control
US10534547B2 (en) * 2015-12-29 2020-01-14 EMC IP Holding Company LLC Consistent transition from asynchronous to synchronous replication in hash-based storage systems
CN105487944B (zh) * 2015-12-31 2018-11-30 成都华为技术有限公司 数据备份系统中复制模式转换的方法及装置
US10423500B2 (en) * 2016-06-01 2019-09-24 Seagate Technology Llc Technologies for limiting performance variation in a storage device
US10360118B2 (en) * 2016-10-17 2019-07-23 Cboe Exchange, Inc. Low latency system having high availability computer architecture
US11068351B2 (en) * 2018-11-19 2021-07-20 International Business Machines Corporation Data consistency when switching from primary to backup data storage
US11281548B2 (en) * 2019-10-03 2022-03-22 EMC IP Holding Company LLC 2-phase sync replication recovery to optimize recovery point objective (RPO)
US11656782B2 (en) * 2019-10-30 2023-05-23 Dell Products L.P. Global deadline driven local synchronous replication I/O handling and recover

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004259079A (ja) * 2003-02-27 2004-09-16 Hitachi Ltd データ処理システム
JP2006236019A (ja) * 2005-02-25 2006-09-07 Hitachi Ltd データコピー方式の切替方法
JP2006338064A (ja) * 2005-05-31 2006-12-14 Hitachi Ltd ディザスタリカバリ方法およびシステム
JP2007293652A (ja) * 2006-04-26 2007-11-08 Hitachi Ltd 計算機システム及び計算機システムの制御方法
JP2008250695A (ja) * 2007-03-30 2008-10-16 Nec Corp ディスクアレイコントローラ及びこれを備えたディスクアレイシステム
JP2009122873A (ja) * 2007-11-13 2009-06-04 Hitachi Ltd ストレージシステム間でのリモートコピーを管理する装置
JP2010015301A (ja) * 2008-07-02 2010-01-21 Hitachi Ltd ストレージシステム及びリモートコピー復旧方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6446175B1 (en) * 1999-07-28 2002-09-03 Storage Technology Corporation Storing and retrieving data on tape backup system located at remote storage system site
JP5244332B2 (ja) * 2006-10-30 2013-07-24 株式会社日立製作所 情報システム、データ転送方法及びデータ保護方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004259079A (ja) * 2003-02-27 2004-09-16 Hitachi Ltd データ処理システム
JP2006236019A (ja) * 2005-02-25 2006-09-07 Hitachi Ltd データコピー方式の切替方法
JP2006338064A (ja) * 2005-05-31 2006-12-14 Hitachi Ltd ディザスタリカバリ方法およびシステム
JP2007293652A (ja) * 2006-04-26 2007-11-08 Hitachi Ltd 計算機システム及び計算機システムの制御方法
JP2008250695A (ja) * 2007-03-30 2008-10-16 Nec Corp ディスクアレイコントローラ及びこれを備えたディスクアレイシステム
JP2009122873A (ja) * 2007-11-13 2009-06-04 Hitachi Ltd ストレージシステム間でのリモートコピーを管理する装置
JP2010015301A (ja) * 2008-07-02 2010-01-21 Hitachi Ltd ストレージシステム及びリモートコピー復旧方法

Also Published As

Publication number Publication date
US20150234860A1 (en) 2015-08-20
US9239845B2 (en) 2016-01-19

Similar Documents

Publication Publication Date Title
WO2015097737A1 (ja) バックアップシステム
EP3420455B1 (en) Enabling data integrity checking and faster application recovery in synchronous replicated datasets
JP4319017B2 (ja) ストレージシステムの制御方法、ストレージシステム、及び記憶装置
US8788771B2 (en) Remote copy system
CN103793271B (zh) 用于在镜像卷之间进行切换的方法和系统
JP6199508B2 (ja) 情報記憶システム
JP5968554B2 (ja) ディザスタリカバリ仮想化の方法及び装置
JP5564494B2 (ja) 計算機システム、及び、それを用いたバックアップ方法
CN100552637C (zh) 在不同地点间建立数据镜像的方法和系统
JP5286212B2 (ja) ストレージクラスタ環境でのリモートコピー制御方法及びシステム
JP2005228217A (ja) ディスクアレイ装置及びディスクアレイ装置の制御方法
US7069400B2 (en) Data processing system
JP2008186142A (ja) リモートバックアップ方法及びストレージシステム
WO2013076872A1 (ja) 計算機システム
US9846555B2 (en) Storage system and method of creating backup of storage system
JP2011505033A (ja) ストレージ・コピー・サービス・システムを管理する装置および方法
WO2015145680A1 (ja) 管理計算機、及び計算機システム
US8583884B2 (en) Computing system and backup method
JP4434838B2 (ja) 分散データ等価方法とシステム、およびプログラム
WO2016084156A1 (ja) ストレージシステム
JP6318902B2 (ja) 冗長システムおよび冗長化方法
CN107590024B (zh) 一种数据存储方法和数据存储系统
JP2013250948A (ja) ファイル格納システム及びファイル格納方法
JP4177419B2 (ja) ストレージシステムの制御方法、ストレージシステム、及びストレージ装置
JP2019191801A (ja) ストレージシステムおよび制御装置

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 14423872

Country of ref document: US

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13900021

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13900021

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP