WO2013076872A1 - 計算機システム - Google Patents

計算機システム Download PDF

Info

Publication number
WO2013076872A1
WO2013076872A1 PCT/JP2011/077228 JP2011077228W WO2013076872A1 WO 2013076872 A1 WO2013076872 A1 WO 2013076872A1 JP 2011077228 W JP2011077228 W JP 2011077228W WO 2013076872 A1 WO2013076872 A1 WO 2013076872A1
Authority
WO
WIPO (PCT)
Prior art keywords
storage system
journal
primary
write
time
Prior art date
Application number
PCT/JP2011/077228
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 US13/387,815 priority Critical patent/US20130138903A1/en
Priority to PCT/JP2011/077228 priority patent/WO2013076872A1/ja
Publication of WO2013076872A1 publication Critical patent/WO2013076872A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Definitions

  • the present invention relates to a computer system including a storage system, and more particularly to control of remote copy between storage systems.
  • remote copy systems that back up data using remote copy technology are provided.
  • This system stores the same data in two storage systems installed at sufficiently separated primary and secondary sites.
  • the update is reflected synchronously or asynchronously to the secondary storage system volume (secondary volume) by remote copy. Thereby, the identity of the data of the two storage systems is ensured.
  • RPO recovery point target
  • the RPO indicates to what point in time data recovery is required when the system is shut down due to a disaster, accident or failure.
  • the RPO indicates the maximum allowable range of data loss and is an important index when considering a backup plan.
  • the time at which the latest data is written to the primary volume on the basis of the write time of the latest data in the secondary volume to the secondary volume is referred to as the data recoverable time.
  • the time required for the data written to the primer volume to be written to the secondary volume is called the write delay time.
  • Patent Document 1 Japanese Patent Application Laid-Open No. 2010-146198
  • the management computer in this system periodically acquires the latest sequence number and the number of data of data staying in the buffer of the primary storage system, stores them in association with the acquisition time, and can recover data by the stored information Estimate time.
  • the administrator who can grasp the above situation can adjust the write delay time of each copy group to meet the request by adjusting the work workload, for example.
  • the administrator cannot grasp the above situation. Therefore, the administrator has to consider increasing the line capacity. Increasing the line capacity is expensive and the investment may be wasted. Therefore, a method for appropriately monitoring the write delay time in a system that performs asynchronous remote copy is desired.
  • the computer system includes one or more secondary storages that store a primary storage system having one or more primary volumes and copy data of the one or more primary volumes received from the primary storage system via a network.
  • a secondary storage system having a volume; and a management system for managing the primary storage system.
  • the primary storage system manages a write time of write data of the one or more primary volumes.
  • the primary storage system sequentially transmits a journal including write data of the one or more primary volumes and a value indicating a write order to the one or more primary volumes to the secondary storage system.
  • the secondary storage system sequentially stores the write data included in the journal received from the primary storage system in the one or more secondary volumes according to a value indicating the write order.
  • the secondary storage system transmits identification information of the latest write data of the one or more secondary volumes to the primary storage system.
  • the primary storage system indicates a delay time between the write time of the write data indicated by the identification information and the write time of the latest write data of the one or more primary volumes when the identification information is received. Information is transmitted to the management system.
  • the remote copy control program of the management computer is an example of an image presented on the image output apparatus. It is a figure which shows the calculation method of the recovery possible time and write delay time of this embodiment.
  • FIG. 1 schematically shows a configuration example of a computer system of this embodiment.
  • the computer system includes a computer system at the primary site 10 and a computer system at the secondary site 20.
  • the primary site 10 is a site where a computer system that operates a business program is installed.
  • the secondary site 20 is physically located away from the primary site 10 and is provided with a computer system that takes over work when the primary site 10 is damaged.
  • the computer system in the primary site 10 includes a business computer 100, a storage system (primary storage system) 120 accessed by the business computer 100, and a management computer (primary management computer) 140 that manages the business computer 100 and the primary storage system 120. .
  • the number of computers and storage systems depends on the design.
  • the business computer 100 and the storage system 120 are connected by a data network 161.
  • the data network 161 is a data communication network, and is a SAN (Storage Area Network) in this configuration.
  • the data network 161 may be a network other than a SAN as long as it is a data communication network, for example, an IP network.
  • the business computer 100, the storage system 120, and the management computer 140 are connected by a management network 162.
  • the management network 162 is an IP network in this configuration.
  • the management network 162 may be a network other than the IP network, for example, a SAN, as long as it is a network for management data communication.
  • the data network 161 and the management network 162 may be the same network.
  • a business computer 200 a storage system (secondary storage system) 220 accessed by the business computer 200, and a management computer (secondary management computer) 240 managing the business computer 200 and the primary storage system 220 are installed.
  • a storage system secondary storage system
  • a management computer secondary management computer
  • the business computer 200 and the storage system 220 are connected by a data network 261.
  • the business computer 200, the storage system 220, and the management computer 240 are connected by a management network 262. These networks 261 and 262 are the same as the primary site 100.
  • the business computer and the management computer at one site cannot communicate with the storage system at the other site, but they may be connected to be communicable.
  • the primary storage system 120 includes three data volumes (primary volumes) 121A to 121C and a primary journal management volume 122.
  • the secondary storage system 220 includes three data volumes (secondary volumes) 221A to 221C and a secondary journal management volume 222.
  • the data volume is a logical volume and is a logical storage area in units that can be recognized by the business computers 100 and 200 and the management computers 140 and 240.
  • the journal volume is a logical volume and is a logical storage area for storing an update history of writing to the data volume.
  • the primary storage system 120 and the secondary storage system 220 are communicably connected via an inter-storage network 163.
  • the primary storage system 120 and the secondary storage system 220 execute volume remote copy.
  • the computer system of this embodiment executes asynchronous remote copy.
  • Asynchronous remote copy notifies the business computer of I / O success after writing data to the cache or primary volume and before completing writing to the secondary volume.
  • the primary storage system 120 stores the write data received from the business computer 100 in one of the primary volumes 121A to 121C and the primary journal management volume 122.
  • the entry stored in the primary journal management volume 122 is called a journal.
  • the journal includes, in addition to user data, a sequential number that is an identifier thereof and write time information. This point will be described later.
  • the primary storage system 120 transfers the journal of the primary journal management volume 122 to the secondary storage system 220.
  • the secondary storage system 220 stores the journal received from the primary storage system 120 in the secondary journal management volume 222.
  • the secondary storage system 220 stores the user data of the journal stored in the secondary journal management volume 222 in one of the secondary volumes 221A to 221C.
  • the data of the primary volumes 121A to 121C can be copied to the secondary volumes 221A to 221C.
  • the primary volume 121A constitutes a copy pair with the secondary volume 221A
  • the primary volume 121B constitutes a copy pair with the secondary volume 221B
  • the primary volume 121C constitutes a copy pair with the secondary volume 221C.
  • the primary volumes 121A to 121C constitute a consistency group
  • the secondary volumes 221A to 221C constitute a consistency group.
  • Asynchronous remote copy makes the copy order to the secondary volume coincide with the data write order (data update order) to the primary volume.
  • Order matching is maintained in the consistency group. That is, the primary volume data write order of the consistency group in the primary storage system 120 matches the write order (copy order) in the consistency group in the corresponding secondary storage system 220.
  • the order of writing all data to the primary volumes 121A to 121C matches the order of writing all data to the secondary volumes 221A to 221C.
  • the system according to the present embodiment assigns a sequential number indicating the order of writing to the primary volumes 121A to 121C, which is unique to the consistency group to the journal.
  • the storage systems 120 and 220 and the management computers 140 and 240 can know the order of the journals in the consistency group by referring to the sequential numbers of the journals.
  • FIG. 2 is a diagram schematically showing the configuration of the business computers 100 and 200.
  • Each of the business computers 100 and 200 includes a processor 101, a memory 102, a nonvolatile secondary storage device 103, a storage I / F 104, a management I / F 105, and a timer 106, which are connected to each other.
  • the processor 101 operates according to a program stored in the memory 102. Programs and data stored in the secondary storage device 103 are loaded into the memory 102.
  • the storage I / F 104 is a network interface connected to the data network 161 or 261.
  • the storage I / F 104 transmits and receives data and control commands to and from the storage system 120 or 220 via the data network 161 or 261.
  • Management I / F 105 is a network interface connected to the management network 162 or 262.
  • the management I / F 105 transmits / receives management data and control commands to / from the storage system 120 or 220 via the management network 162 or 262.
  • the management I / F 105 further transmits / receives management data and control commands to / from the management computer 140 or 240 via the management network 162 or 262.
  • the memory 102 stores a business program 107.
  • the business program 107 reads and writes data from and to the data volumes 121A to 121C or the data volumes 221A to 221C, and performs business.
  • the platforms of the business computers 100 and 200 are open systems or mainframes.
  • FIG. 3 is a diagram schematically showing the configuration of the management computers 140 and 240.
  • a program for managing the storage systems 120 and 220 operates.
  • the management computers 140 and 240 can issue commands to copy the volumes to another storage system to the connected storage systems 120 and 240, respectively.
  • the management computers 140 and 240 each include a processor 301, a memory 302, a secondary storage device 303, a management I / F 304, an image output device 305, and an input device 306, which are connected to each other.
  • the image output device 405 is typically a liquid crystal display device
  • the input device 306 is typically a keyboard and a mouse. The administrator can acquire necessary information in the image output device 405 and can input necessary information through the input device 306.
  • Management I / F 304 is a network interface connected to the management network 162 or 262.
  • the management I / F 304 transmits / receives management data and control commands to / from the storage system 120 or 220 via the management network 162 or 262.
  • the management I / F 304 transmits / receives management data and control commands to / from the business computer 100 or 200 via the management network 162 or 262.
  • the processor 301 operates according to a program stored in the memory 302. Programs and data stored in the secondary storage device 303 are loaded into the memory 302. In FIG. 3, the memory 302 stores a remote copy control program 310 and a copy group management table 311.
  • the remote copy control program 310 manages the storage system 120 or 220.
  • the remote copy control program 310 provides some functions to the administrator of the storage systems 120 and 220 and external programs. Specifically, the remote copy control program 310 is entered in the management computer (management computer 140 or 240) in which the remote copy control program 310 is operated by an input from a user of the management computer (management computer 140 or 240) or an external program.
  • a copy group management table 311 is constructed.
  • the remote copy control program 310 issuance of a command related to data volume copying between the storage systems 120 and 220 and the storage in response to a user operation of the operating management computer (management computer 140 or 240) or a call from an external program. Collect information about the status of the system 120 or 220.
  • the remote copy control program 310 presents information collected from the storage system 120 or 220 and other information.
  • the copy group management table 311 is a control table used when the remote copy control program 310 instructs the storage system 120 or 220 to perform an operation. Details of the copy group management table 311 will be described later.
  • FIG. 4 is a diagram schematically showing the configuration of the storage systems 120 and 220.
  • the storage systems 120 and 220 store data handled by the business computers 100 and 200.
  • Each of the storage systems 120 and 220 includes a disk drive group 401 and a storage controller 410.
  • the disk drive group 401 includes a plurality of volumes, and stores data requested to be written to the business computers 100 and 200.
  • the storage controller 410 controls processing of the storage system 120 or 200.
  • the storage controller 410 includes a host I / F 411, a management I / F 412, a disk I / F 413, a memory 414, a processor 415, and a timer 416.
  • the host I / F 411 is a network interface that connects the storage controller 410 to the data network 161 or 261.
  • the host I / F 411 transmits / receives data and control commands to / from the business computer 100 or 200 via the data network 161 or 261.
  • Management I / F 412 is a network interface that connects the storage controller 410 to the management network 162 or 262.
  • the management I / F 412 transmits / receives data and control commands to / from the management computer 140 or 240 via the management network 162 or 262.
  • the disk I / F 413 is an interface that connects the storage controller 410 to the disk drive group 401.
  • the processor 415 executes a program stored in the memory 414.
  • the memory 414 stores an input / output control program 421, a copy control program 422, a journal request program 423, a journal transfer program 424, a secondary volume reflection program 425, and a recovery point target calculation program 426. Further, the memory 414 stores a consistency group management table 431 and a copy pair management table 432.
  • the input / output control program 421 reads / writes data from / to the data volume in response to the read command and write command from the business computer 100 or 200.
  • the input / output control program 421 generates a journal from the write command and the write data, and stores the journal in the journal management volume 122 or 222.
  • the copy control program 422 performs volume copy control upon receiving a command regarding volume copy from the management computers 140 and 240 or the business computers 100 and 200.
  • the volume copy is an asynchronous remote copy by transferring a journal from the primary storage system 120 to the secondary storage system 220.
  • the journal request program 423 is a program that operates on the secondary storage system 220 for remote copy.
  • the journal request program 423 requests the primary storage system 120 to transfer the journal in the journal management volume 122 to the secondary storage system 220.
  • the journal request program 423 operates asynchronously with the input / output control program 421 and the secondary volume reflection program 425.
  • One storage system can function as a primary storage system and a secondary storage system. Therefore, in the present embodiment, each storage system will be described as having a program that operates on both types of storage systems.
  • a storage system that functions only as one type of storage system of the primary storage system or the secondary storage system may have only programs and information required by the one type of storage system.
  • the journal transfer program 424 is a program that runs on the primary storage system 120 for remote copy.
  • a journal transfer command is received from the journal request program 423 operating in the secondary storage system 220, and the journal of the primary storage system 120 is returned as a response.
  • the secondary volume reflection program 425 is a program that runs on the secondary storage system 220 for remote copy.
  • the journal request program 423 reflects (stores) the user data of the journal received from the primary storage system 120 to the secondary volume based on the information included in the journal.
  • the recovery point target calculation program 426 determines the estimated value of the recoverable time and the estimated value of the write delay time.
  • the recoverable time is a time in a state (data) that can be recovered by data copied to the secondary storage system 220 when a failure of the primary storage system 120 occurs.
  • the write delay time is the time from when the write data is stored in the primary volume until it is copied (stored) in the secondary volume.
  • the recovery point target calculation program 426 of this embodiment estimates the recoverable time and the write delay time with reference to the time information included in the journal.
  • the journal includes write time information in the primary storage system 120.
  • the write time is a time determined by the business computers 100, 200 or the primary storage system 120.
  • the business computers 100 and 200 transmit the write command including information on the time measured by the timer 106.
  • the journal includes this time information as write time information.
  • the storage controller 410 of the primary storage system 120 includes information on the time measured by the timer 416 in the journal.
  • the storage controller 410 includes, for example, journal write time information with the write command and write data received time or the write data storage time in the primary volume as the write time.
  • the consistency group management table 431 is a table for managing consistency groups. As described above, the consistency group is a group that guarantees the write order of the remote copy.
  • the copy pair management table 432 is a table for managing a pair of a remote volume primary volume and a secondary volume. Details of these tables will be described later.
  • the program is executed by the processor to perform a predetermined process using the storage device and the interface. Therefore, in the present embodiment and other embodiments, the description with the program as the subject may be the description with the processor as the subject. Or the process which a program performs is a process which the apparatus and system which the program operate
  • the processor operates as a functional unit (means) that realizes a predetermined function by operating according to a program. Further, the processor also operates as a functional unit (means) that realizes each of a plurality of processes executed by each program.
  • the processor of the storage system functions as a copy control unit and a recovery point target calculation unit.
  • An apparatus and a system including a processor are an apparatus and a system including these functional units (means).
  • the information used by the system may be expressed in any data structure without depending on the data structure.
  • a data structure appropriately selected from a table, list, database or queue can store the information.
  • Information used by the system is stored in a storage area in the data storage device.
  • expressions such as identification information, identifiers, names, IDs, numbers, etc. are used, which can be replaced with each other.
  • FIG. 5 is a diagram showing the state transition of the copy pair.
  • the copy pair statuses are Duplex status, Suspend status, Failure status, and Simplex status.
  • the Duplex state the update of the primary volume is reflected on the secondary volume.
  • the Suspend state the copy process is temporarily stopped.
  • the Failure state remote copy is impossible due to a communication failure or the like.
  • the Simplex state no pair is set.
  • the copy control program 422 performs copy pair control processing. Examples of processing executed in the copy control by the copy control program 422 are creation, suspension, resync, pair deletion, and status acquisition.
  • the business computers 100 and 200 or the management computers 140 and 240 can request the copy control program 422 for any of the above processing.
  • the copy control program 422 creates a new copy pair. The copy pair changes from the Simplex state to the Duplex state.
  • the temporary stop processing temporarily stops data copying from the primary volume to the secondary volume.
  • the copy pair changes from the Duplex state to the Suspend state.
  • the copy control program 422 does not reflect the data change of the primary volume to the secondary volume thereafter. In one example, the copy control program 422 stops the data copy between the two volumes after copying the latest update of the primary volume to the secondary volume.
  • the resync process indicates a process of synchronizing the primary volume data and the secondary volume data by synchronizing the primary volume and the secondary volume.
  • the copy pair changes from the Failure state or the Suspend state to the Duplex state.
  • the copy control program 422 matches the two volume data and then restarts the copy process between them.
  • the pair deletion process is to cancel the pair created by the creation process.
  • the copy pair changes from a state other than the Simplex state to the Simplex state.
  • the copy control program 422 transmits copy pair status information to the request source.
  • the status information of the volumes constituting the copy pair is included in the copy pair management table 432.
  • the copy control program 422 updates the copy pair management table 432 when executing the creation process, the resync process, and the primary stop process. Further, the copy pair status information as the processing result may be sent to the management computer 140 or 240.
  • the primary storage system 120 receives a write command and write data (user data) from the business computer 100 via the network 161.
  • the primary storage system 120 stores user data in the primary volume 121 A, and further creates a journal including the user data and stores it in the primary journal management volume 122.
  • the primary journal management volume 122 stores a primary journal management table 601.
  • the journal is stored in the primary journal management table 601. Details of the primary journal management table 601 will be described later.
  • the secondary storage system 220 transmits a journal read command to the primary storage system 120 via the network 163.
  • the primary storage system 120 transmits the journal in the primary journal management table 601 to the secondary storage system 220.
  • the secondary storage system 220 receives the journal transferred via the network 163 and stores it in the secondary journal management table 602 in the secondary journal management volume 222. Thereafter, the secondary storage system 220 stores the user data of the journal in the secondary journal management table 602 in the secondary volume 221A (reflection to the secondary volume).
  • FIG. 7 shows a configuration example of the consistency group management table 431 in the storage system.
  • the consistency group management table 431 includes a consistency group ID column 701, a sequential number column 702, a plurality of logical volume ID columns 703, a partner storage system ID column 704, a partner consistency group ID column 705, and a host system time management table column 706. And a partner system time management table column 707.
  • the consistency group management table 431 manages the list of primary volumes or secondary volumes included in each consistency group, the corresponding counterpart consistency group, and information of the counterpart storage system that stores it.
  • the consistency group management table 431 includes, for each consistency group in the own storage system, the ID, the ID of the volume included in the consistency group, the ID of the counterpart storage system, and the ID of the consistency group in the counterpart storage system. .
  • the primary storage system 120 and the secondary storage system 220 are each other's partner storage system (partner system).
  • Each field of the sequential number column 702 indicates the sequence number of the latest journal in the consistency group.
  • the storage systems 120 and 220 assign sequence numbers to the journals.
  • the sequential number is an identifier of each journal, and is information indicating the order of the journals stored in the journal management tables 601 and 602.
  • the sequential number indicates the order of journals in the consistency group.
  • a sequential number column 702 indicates a sequential number assigned to the latest journal in the journal management tables 601 and 602 in the consistency group.
  • the own system time management table column 706 and the partner system time management table column 707 store the own system time management table and the partner system time management table of each consistency group, respectively.
  • the time management table will be described later.
  • FIG. 8 shows a configuration example of the copy pair management table 432 in the storage system.
  • the copy pair management table 432 includes a logical volume ID column 801, a counterpart storage system ID column 802, a counterpart logical volume ID column 803, a pair status column 804, and a pair type column 805.
  • the logical volume ID column 801 stores the ID of the logical volume of the own storage system.
  • the partner logical volume ID column 803 stores the ID of the logical volume of the partner storage system that forms a copy pair with the logical volume of the own storage system, and the partner storage system ID column 802 stores the ID of the partner storage system.
  • the pair status column 804 and the pair type column 805 store information indicating the status of the copy pair and whether the logical volume of the own storage system is a primary volume or a secondary volume, respectively.
  • FIG. 9 shows a configuration example of the primary journal management table 601.
  • the primary journal management table 601 includes a consistency group ID column 901, a write data column 902, an address column 903, a sequential number column 904, and a write time column 905.
  • the record is a journal in the primary journal management table 601.
  • the input / output control program 421 adds a new journal to the primary journal management table 601.
  • the consistency group ID column 901 stores the ID of the consistency group to which the volume storing journal write data (user data) belongs.
  • a consistency group is a group defined in the primary storage system 120.
  • the write data column 902 stores journal write data
  • the address column 903 stores the address.
  • the sequential number column 904 stores a sequential number assigned to the journal.
  • the write time column 905 stores the write time of the write data in the journal. As described above, the write time is given by the business computer 100 or the primary storage system 120.
  • FIG. 10 shows a configuration example of the secondary journal management table 602.
  • the secondary journal management table 602 stores the journal transferred from the primary storage system 120.
  • the record is a journal in the secondary journal management table 602.
  • the journal request program 423 adds the journal received from the primary storage system 120 to the secondary journal management table 602.
  • the secondary journal management table 602 includes a consistency group ID column 1001, a write data column 1002, an address column 1003, a sequential number column 1004, and a write time column 1005.
  • the journal information stored in the secondary journal management table 602 is the same as the primary journal management table 601.
  • the consistency group ID column 1001 stores the ID of the consistency group to which the secondary volume in which journal data is stored belongs. For each journal, information stored in each of the write data column 1002, address column 1003, sequential number column 1004, and write time column 1005 is the write data column 902, address column 903, sequential number column 904 in the primary journal management table 601, This is the same as the information stored in the write time column 905.
  • the primary storage system 120 may transfer only a part of journal information to the secondary storage system 220.
  • the primary storage system 120 transfers a journal including information other than the consistency ID to the secondary storage system 220.
  • the secondary storage system 220 may add another information to the received journal or change a part (for example, consistency ID) and store the changed information in the secondary journal management table 602.
  • FIG. 11 shows a configuration example of the own system time management table 1100.
  • the own system time management table 1100 is included in the consistency group management table 431, and one own system time management table is assigned to one consistency group.
  • the own system time management table 1100 manages the time information of the latest journal (the last written journal) written to the volume in each consistency group in the own storage system.
  • the own system time management table 1100 has a consistency group ID column 1101, a sequential number column 1102, and a write time column 1103.
  • the consistency group ID column 1101 stores the consistency group ID in the local system.
  • the sequential number column 1102 stores a sequence number of a journal including the latest data (data written last in the consistency group) written in the primary volume of the consistency group.
  • the sequential number column 1102 stores the sequence number of the journal containing the latest data written (reflected) in the secondary volume of the consistency group.
  • the write time column 1103 stores write time information included in the journal specified by the sequential number.
  • FIG. 12 shows a configuration example of the partner system time management table 1200.
  • the counterpart system time management table 1200 is included in the consistency group management table 431, and one counterpart system time management table is assigned to one consistency group.
  • the counterpart system time management table 1200 manages the time information of the latest journal written to the volume (the journal written last) in each consistency group in the counterpart storage system.
  • the counterpart system time management table 1200 includes a consistency group ID column 1201, a sequential number column 1202, and a write time column 1203.
  • the consistency group ID column 1201 stores the consistency group ID in the partner system.
  • the sequential number column 1202 stores the sequence number of the journal including the latest data (data written last in the consistency group) written in the secondary volume of the consistency group.
  • the primary storage system 120 receives the sequential number of the latest journal from the secondary storage system 220 and stores it in the sequential number column 1202.
  • journal request program 423 of the secondary storage system 220 transmits a journal transfer command (read command) to the primary storage system 120.
  • This journal transfer command includes the sequential number of the latest journal written to the consistency group requesting a new journal.
  • the journal transfer program 424 of the primary storage system 120 stores the sequential number of the latest journal included in the received journal transfer command in the field of the sequential number column 1202 of the corresponding consistency group.
  • the sequential number column 1202 stores the sequence number of the journal including the latest data written to the primary volume of the consistency group.
  • the secondary storage system 220 receives the sequential number of the latest journal from the primary storage system 120 and stores it in the sequential number column 1202.
  • journal transfer program 424 of the primary storage system 120 transmits a return value including a journal in response to a journal transfer command (journal read command) from the secondary storage system 220.
  • This return value includes the sequence number of the journal containing the latest data written in the consistency group including the journal and the write time.
  • the journal request program 423 of the second storage system 220 obtains the sequence number and write time of the latest journal from the return value, and stores them in the fields of the sequential number column 1202 and write time column 1203 of the corresponding consistency group.
  • the write time column 1203 stores write time information included in the return value (response) of the journal transfer command.
  • FIG. 13 shows a configuration example of the copy group management table 311 that each of the management computers 140 and 240 has.
  • the administrator operates the management computers 140 and 240 to generate the copy group management table 311.
  • the copy group is a set of copy pairs viewed from the administrator.
  • the administrator sets data in the copy group management table 311.
  • the copy group management table 311 manages information on the copy group specified by each ID in the copy group ID column 1301.
  • the copy group management table 311 has a consistency group ID column 1311, a storage system ID column 1312, and a logical volume ID column 1313 for the primary storage system.
  • the copy group management table 311 has a consistency group ID column 1321, a storage system ID column 1322, and a logical volume ID column 1323 for the secondary storage system.
  • FIG. 14 shows a configuration example of the journal transfer command 1400.
  • the journal transfer command 1400 is a command for transferring the journal of the primary storage system 120 to the secondary storage system 220.
  • the journal request program 423 of the secondary storage system 220 creates a journal transfer command 1400 and issues it to the primary storage system 120.
  • the journal transfer command 1400 includes an instruction code section 1401, a consistency ID section 1402 of the own system, a consistency ID section 1403 of the partner system, a sequential number section 1404 of the journal reflected in the secondary volume, and a received sequential number. Section 1405 is included.
  • the instruction code section 1401 stores the command type of the command, that is, data indicating a journal transfer command.
  • the consistency ID field 1402 of the own system stores the consistency ID in the secondary storage system 220 of the journal requested to be transferred, that is, the consistency ID of the secondary volume in which the data of the journal requested to be transferred is stored. .
  • the destination system consistency ID section 1403 stores the consistency ID of the journal requested to be transferred in the primary storage system 120, that is, the consistency ID of the primary volume in which the data of the journal requested to be transferred is stored. .
  • the primary storage system 120 is a counterpart storage system from which the secondary storage system 220 requests journal transfer.
  • the journal request program 423 can know the counterpart system consistency ID by referring to the consistency group management table 431.
  • the section 1404 stores the last written journal, that is, the sequential number of the latest reflected journal in the consistency group in the secondary storage system (own system) 220 to which the journal requested to be transferred belongs.
  • the received sequential number section 1405 is the sequential number of the journal last received by the secondary storage system 220 in the consistency group in the secondary storage system (own system) 220 to which the transfer requested journal belongs. That is, the sequential number of the latest journal stored in the secondary journal management table 602.
  • FIG. 15 shows a configuration example of a return value (response) 1500 for the journal transfer command.
  • the journal transfer program 424 of the primary storage system 120 transmits a return value 1500 to the secondary storage system 220 as a response to the journal transfer command.
  • the return value 1500 includes an end status section 1501, a local system consistency ID section 1502, a remote system consistency ID section 1503, a journal section 1504, a latest sequential number section 1505, and a latest write time section 1506. Have.
  • the end status section 1501 stores data indicating whether the response to the command is successful or unsuccessful.
  • the consistency ID section 1502 of the own system and the consistency ID section 1503 of the partner system are respectively the consistency group ID of the requested journal in the primary storage system 120 and the requested journal of the secondary storage system 220. Stores the consistency group ID.
  • Journal section 1504 includes one or more journals that are transferred in response to a journal transfer request command. In the example of FIG. 15, three journals are included.
  • the latest sequential number section 1505 is a sequential number of the latest journal in the consistency group identified by its own system consistency ID.
  • the latest journal is the sequential number of the journal stored last in the primary journal management 601 when the journal request command is received.
  • the latest write time section 1506 stores journal write time information of the latest sequential number.
  • FIG. 16 shows a flow of processing performed by the copy control program 422 when the primary storage system 120 receives a copy pair formation command from the management computer 140.
  • the administrator uses the remote copy control program 310 of the management computer 140 to add one or more copy pairs to the copy group management table 311.
  • the remote copy control program 310 of the management computer 140 transmits a copy pair formation command to the primary storage system 120 in response to the administrator input, and the copy control program 422 receives the command (S101).
  • the copy pair creation command designates one or a plurality of copy pair logical volumes formed by the primary storage system 120 and the secondary storage system 220 and their consistency groups.
  • the copy pair creation command includes a system ID, a logical volume ID, and a consistency group ID for each of the primary storage system 120 and the secondary storage system 220.
  • the copy control program 422 of the primary storage system 120 refers to the received copy pair formation command and adds the information of the designated copy pair to the consistency group management table 431 (S102). The copy control program 422 further adds the designated copy pair to the copy pair management table 432.
  • the copy control program 422 of the primary storage system 120 initializes the own system time management table 1100 of the newly added consistency group in the consistency group management table 431 and sets an initial value (S104). Furthermore, in the consistency group management table 431, the newly added partner system time management table 1200 of the consistency group is initialized and an initial value is set (S105).
  • the copy control program 422 of the primary storage system 120 sends a command for initial copy to the secondary storage system 220 specified by the copy pair formation command.
  • the command includes information included in the copy pair formation command from the management computer 140.
  • the copy control program 422 of the secondary storage system 220 adds a new entry to the consistency group management table 431 and the copy pair management table 432, and sets initial values.
  • the copy control program 422 of the primary storage system 120 and the secondary storage system 220 executes an initial copy of the volume (S106).
  • the copy pair changes from the Simplex state to the Duplicate state.
  • the administrator may use the management computer 240 at the secondary site, or may send a copy pair formation command from the management computer 240 to the secondary storage system 220.
  • the processing performed by the storage system at each site is the same as in the above example.
  • Write data is stored in the primary volume, and updates in the primary volume are reflected in the secondary volume.
  • This processing includes writing write data to the primary volume, transferring a journal between the secondary storage system 220 and the primary storage system 120, and reflecting the journal in the secondary storage system 220 to the secondary volume.
  • the remote copy of this system is asynchronous, and the above three steps are executed asynchronously.
  • the input / output control program 421 of the primary storage system 120 creates a journal based on the write command and adds the journal to the primary journal management table 601.
  • the input / output control program 421 updates the own system time management table 1100 with the write I / O time and sequential number (FIG. 17).
  • journal request program 423 of the secondary storage system 220 issues a journal transfer command to the primary storage system 120 and requests that the generated journal be transferred to the secondary storage system 220 (FIG. 18).
  • the journal transfer command 1400 includes the sequential number of the journal last reflected in the secondary volume in addition to the sequential number of the journal received last by the secondary storage system 220. Yes.
  • journal transfer program 424 of the primary storage system 120 that has received the journal transfer command transmits the journal and the information (write time and sequential number) of the own system time management table 1100 to the secondary storage system 220.
  • journal transfer program 424 searches the primary journal management table 601 for the journal time that matches the sequential number (see section 1404 in FIG. 14) that has been reflected in the secondary volume included in the journal transfer command.
  • the write time and sequential number in the counterpart system time management table 120 are updated (FIG. 19).
  • the journal request program 423 of the secondary storage system 220 adds the journal included in the response from the primary storage system 120 to the secondary journal management table 602. Further, the journal request program 423 sets the sequential number and write time of the return value 1500 of the journal transfer command in the counterpart system time management table 1200 of the secondary storage system 220 (FIG. 18).
  • the secondary volume reflection program 425 of the secondary storage system reflects the journals in the secondary journal management table 602 to the secondary volumes in the order of sequential numbers.
  • the secondary volume reflection program 425 updates the own system time management table 1100 with the journal write time and sequential number reflected in the secondary volume (FIG. 20).
  • the input / output control program 421 writes the write data received from the business program 107 to the data volume of the designated address, for example, the primary volume 121A (S201).
  • the input / output control program 421 refers to the consistency group management table 431, and determines whether the volume specified by the ride command belongs to any consistency group (S202).
  • the volume is not included in any consistency group (S202: NO), the volume is not a volume to be copied, and the input / output control program 421 ends the flow. If the volume is included in any consistency group (S202: YES), the I / O control program 421 obtains the consistency group ID and sequential number of the volume (address) specified by the write command from the consistency group management table 431. Obtain (S203).
  • the input / output control program 421 increments the sequential number of the consistency group to which the volume specified by the write command belongs in the consistency group management table 431 (S204).
  • the input / output control program 421 determines whether or not the received write command includes a write time (S205). If the received write command does not include the write time, the input / output control program 421 acquires the time from the timer 416 (S206). When the write command includes a write time, the input / output control program 421 uses the write time.
  • the input / output control program 421 generates a journal including the consistency group ID and sequential number acquired from the consistency group management table 431, the write time acquired from the timer 416 or the write command, the address acquired from the write command, and the write data. (S207), the journal is added to the primary journal management table 601 (S208).
  • the input / output control program 421 further updates the own system time management table 1100 of the consistency group of the write data (S209). Specifically, the input / output control program 421 updates the value of the sequential number column 1102 and the value of the write time column 1103 to the acquired sequential number and write time in the entry of the consistency group.
  • journal transfer command 1400 includes a consistency ID between the own system and the partner system, a sequential number of the own system, and a received sequential number.
  • the journal request program 423 receives a return value for the transmitted journal transfer command from the primary storage system 120 (S302).
  • the return value 1500 has the configuration shown in FIG.
  • the journal request program 423 refers to the end status section 1501 of the return value 1500 and determines whether or not the end status is “SUCCESS” (S303).
  • journal request program 423 If the end status is not “SUCCESS” (S303: NO), the journal request program 423 ends this flow. When the end status is “SUCCESS” (S303: YES), the journal request program 423 adds the journal of the return value of the journal transfer command to the secondary journal management table 602 (S304).
  • the journal request program 423 further updates the counterpart system time management table 1200 with the received journal data (S305). Specifically, the journal request program 423 returns the values of the sequential number column 1202 and the write time column 1203 to the return value of the journal transfer command in the consistency group entry to which each received journal belongs in the counterpart system time management table 1200. Update to the latest sequential number and latest write time.
  • journal transfer program 424 updates the counterpart system time management table 1200 with the data included in the journal transfer command (S401).
  • journal transfer program 424 acquires the value of the section 1404 of the sequential number of the journal that has been reflected in the secondary volume in the journal transfer command 1400, and further, the consistency indicated by the section 1403 of the partner system consistency group ID.
  • the write time value of the sequential number journal in the tensiency group is acquired from the primary journal management table 601.
  • the journal transfer program 424 updates the values of the sequential number column 1202 and the write time column 1203 with the acquired values in the consistency group entry indicated by the journal transfer command 1400 of the partner system time management table 1200.
  • journal transfer program 424 in the consistency group indicated by the section 1403 of the consistency group ID of the partner system, has a journal having a sequence number smaller than the sequence number indicated by the section 1404 of the sequential number of the journal already reflected in the secondary volume. Delete from the primary journal management table 601 (S402). These journals are already reflected in the secondary volume, reducing the required capacity. The journal transfer program 424 may not delete the journal.
  • the journal transfer program 424 generates a return value (response) for the journal transfer command (S403, S404) and transmits it to the primary storage system (S405). Specifically, the journal transfer program 424 sets the value of the sequential number column 1102 of the corresponding consistency group in the own system time management table 1100 in the latest sequential number section 1505 of the return value 1500 and writes it in the latest write time section 1506. The value of the time column 1103 is set (S403).
  • the journal transfer program 424 sets the consistency group ID value specified by the journal transfer command 1400 in the consistency ID section 1502 of the own system having the return value 1500 and the consistency group ID section 1503 of the partner system.
  • the journal transfer program 424 further sets “SUCCESS” in the end status section 1501 and stores the journal to be transferred to the journal section 1504 (S404).
  • the journal transfer program 424 transmits the generated return value 1500 to the secondary storage (S405).
  • the secondary volume reflection program 425 determines whether a journal exists in the secondary journal management table 602 (S501).
  • the secondary volume reflection program 425 ends this flow.
  • the journal exists S501: YES
  • the secondary volume reflection program 425 reflects the write data of the journal to the secondary volume (S502).
  • the secondary volume reflection program 425 in its own system time management table 1200, reflects the values of the sequential number column 1102 and the write time column 1103 in the entry of the consistency group of the journal reflected in the secondary volume and the sequential number of the reflected journal. Update with the value of the write time (S503).
  • the secondary volume reflection program 425 deletes the journal reflected in the secondary volume from the secondary journal management table 602 (S504).
  • FIG. 21 is an example of an image presented by the remote copy control program 310 of the management computer 140 or 240 on the image output device 305.
  • the administrator uses the input device 306 to input a value in the copy group ID field 2101 and presses the update button 2104.
  • the remote copy control program 310 acquires the recoverable time and write delay time of the consistency group specified by the input copy group ID, and displays the values in the recoverable time field 2102 and the write delay time field 2103. To do.
  • the administrator presses an OK button 2105 using the input device 306 to end the display.
  • FIG. 22 shows a flow of the recovery point target calculation program 426 when the primary storage system 120 or the secondary storage system 220 receives an inquiry command of the recovery time and write delay time from the management computer 140 or 240. .
  • the remote copy control program 310 of the management computer 140 or 240 refers to the copy group management table 311 for the consistency group ID corresponding to the copy group ID input by the administrator when the update button 2104 is pressed. To identify.
  • the remote copy control program 310 transmits a command including the identified consistency group ID, its own ID, and the destination storage system ID to the primary storage system 120 or the secondary storage system 220.
  • the recovery point target calculation program 426 starts the flow shown in FIG. 22 for the consistency group ID included in the received command.
  • the recovery time target calculation program 426 refers to the consistency group management table 431, and determines whether or not the write time is set for the designated consistency group ID (S601). If the write time is not set (S601: NO), a value of “invalid” is returned to the management computer 140 or 240 as the inquiry source (S602).
  • the recovery point target calculation program 426 determines whether the inquired consistency group ID is the consistency group ID of the primary volume or the consistency group of the secondary volume. It is determined whether or not the ID is (S603). This is because a storage system can have the functions of both a primary storage system and a secondary storage system, and can have both a primary volume and a secondary volume.
  • the recovery point target calculation program 426 refers to the consistency group management table 432 and identifies the IDs of logical volumes included in the consistency group specified by the command. Further, with reference to the copy pair management table 432, it is specified whether the logical volume ID is a primary volume ID or a secondary volume ID.
  • the recovery point target calculation program 426 calculates the recoverable time and the write delay time by the following calculation method. . Further, the recovery point target calculation program 426 transmits a return value including the calculated recovery possible time and write delay time value to the remote copy control program 310 of the management computer 140 or 240 (S604).
  • the recoverable time is the value in the write time column 1203 of the inquired consistency group ID entry in the counterpart system time management table 1200.
  • the write delay time includes the value of the write time column 1103 of the entry of the inquired consistency group ID in the own system time management table 1100 and the write time column of the entry of the same consistency group ID in the partner system time management table 1200. It is a difference from the value of 1203.
  • the recovery time target calculation program 426 calculates the recoverable time and the write delay time by the following calculation method. . Further, the recovery point target calculation program 426 transmits a return value including the calculated recovery possible time and write delay time values to the remote copy control program 310 of the management computer 140 or 240 (S605).
  • the recoverable time is the value in the write time column 1103 of the entry of the inquired consistency group ID in the own system time management table 1100.
  • the write delay time is the value of the write time column 1203 of the entry of the consistency group ID inquired in the partner system time management table 1200 and the write time column 1103 of the entry of the same consistency group ID in the own system time management table 1100. The difference from the value of.
  • the program may be realized by dedicated hardware.
  • the program can be installed in each computer by a program distribution server or a non-transitory computer-readable medium, and can be stored in a nonvolatile external storage device of each computer.
  • the computer system can acquire the information of the recoverable time and the write delay time from both the primary storage system and the secondary storage system, but may be configured to acquire the information from only one of them.
  • the system only needs to transfer the latest write data information in either the journal transfer command or its return value.
  • the computer system may transfer the sequential number of the latest journal of the secondary volume in a frame different from the journal transfer command and transfer it from the secondary storage system to the primary storage system.
  • the system may include the sequential number of the latest journal of the primary volume in a frame different from the return value for the journal transfer command and transfer it to the secondary storage system.
  • the return value of the journal transfer command does not need to include information specifying the journal or write data as long as it includes the write time information.
  • the computer system may use identification information different from the sequential number in order to specify the journal or write data for calculating the write delay time.
  • the primary storage system may manage the write time of the write data separately from the journal without including the write time information in the journal.
  • the management system may perform part of the processing performed by the storage system.
  • the storage system calculates the recoverable time and write delay time, but the management system may perform those computers.
  • the management system acquires information for calculating these values from the storage system via the network.
  • the recoverable time, the write delay time, and the information for calculating these are information for indicating the recoverable time and the write delay time.

Abstract

 本発明の一態様において、プライマリストレージシステム(Pシステム)は、1以上のプライマリボリューム(Pボリューム)のライトデータのライト時刻を管理する。Pシステムは、1以上のPボリュームのライトデータと、1以上のPボリュームへのライト順序を示す値と、を含むジャーナルを、セカンダリストレージシステム(Sシステム)に順次送信する。Sシステムは、Pシステムから受信したジャーナル含まれるライトデータを、上記値に従って、1以上のセカンダリボリューム(Sボリューム)に順次格納する。Sシステムは、1以上のSボリュームの最新ライトデータの識別情報をPシステムに送信する。Pシステムは、識別情報が示すライトデータのライト時刻と、識別情報を受信した時における1以上のPボリュームの最新ライトデータのライト時刻と、の間の遅延時間を示すための情報を管理システムに送信する。

Description

計算機システム
 本発明は、ストレージシステムを含む計算機システムに関し、特に、ストレージシステム間のリモートコピーの制御に関する。
 社会基盤を担う公共又は企業の基盤システムにおいて、高い可用性が求められている。そのため、データストレージ市場では、大量のデータを格納したストレージシステムが災害等で破壊されてもデータを喪失しない、いわゆるディザスタリカバリシステムが要求されている。
 このような市場の要求に応える技術の一つとして、リモートコピー技術を利用してデータをバックアップするリモートコピーシステムが提供されている。このシステムは、十分に離れたプライマリサイトとセカンダリサイトに設置された二つのストレージシステムに、同一のデータを格納する。
 プライマリストレージシステムのボリューム(プライマリボリューム)のデータが更新されると、その更新は、リモートコピーによって、セカンダリストレージシステムのボリューム(セカンダリボリューム)に同期的若しくは非同期的に反映される。これにより、二つのストレージシステムのデータの同一性が確保される。
 バックアップ/リストア作業やディザスタリカバリにおける重要な指標として、RPO(復旧時点目標)が使用されている。RPOは、災害、事故、障害の発生によるシステム停止時に、どの時点までさかのぼってデータを回復させることが要求されているかを示す。RPOは、データ損失の最大許容範囲を示し、バックアップ計画を考えるうえで重要な指標である。
 非同期リモートコピーにおいて、プライマリボリュームへのデータ書き込みとセカンダボリュームへデータ書き込みとの間には、時刻のずれがある。非同期リモートコピーにおいては、このずれの時間がRPOの要求する時間内であるように、システムの設計及び運用を行うことが重要である。
 以下において、セカンダリボリュームにおける最新データの当該セカンダリボリュームへのライト時刻を基準として、その最新データがプライマリボリュームに書き込まれた時刻を、データ復旧可能時刻と呼ぶ。プライマボリュームに書き込まれたデータが、セカンダリボリュームに書き込まれるまでに要する時間を、書き込み遅延時間と呼ぶ。
 データ復旧可能時刻及び書き込み遅延時間がRPOの要求を満たすように、システムの設計及び運用を行うことが重要である。非同期リモートコピーにおけるデータ復旧可能時刻を監視する技術は、例えば、特開2010-146198号公報(特許文献1)に開示されている。このシステムにおける管理計算機は、プライマリストレージシステムのバッファに滞留しているデータの最新シーケンス番号とデータ数を定期的に取得し、それらを取得時刻と関連付けて記憶し、その記憶した情報によってデータ復旧可能時刻を推定する。
特開2010-146198号公報
 非同期リモートコピーを行うシステムの設計又は運用において、正確に書き込み遅延時間を監視することができることが重要である。例えば、業務ホストやボリュームの性能とサイト間の回線容量のバランス次第で、特定業務のコピーグループ(1以上のコピーペアのグループ)だけ書き込み遅延時間が長くなるケースがあり得る。
 例えば、3業務(業務A、B、C)を運用しているシステムにおいて、業務ホストAが使用するボリュームのライト頻度が他の業務より高く、サイト間の回線容量が小さい場合、業務AのコピーグループAにおける書き込み遅延時間は、他の業務B、Cのコピーグループに比べて相対的に長くなる。
 上記状況を把握できる管理者は、例えば、業務のワークロードを調整することで、各コピーグループの書き込み遅延時間を要求に合うようにすることができる。しかし、正確な書き込み遅延時間を得ることができない場合、管理者は、上記の状況を把握することができない。そのため、管理者は、回線容量を増強することを検討せざるを得ない。回線容量の増強は高コストであり、その投資は無駄となる恐れもある。したがって、非同期リモートコピーを行うシステムにおいて、適切に書き込み遅延時間を監視するための手法が望まれる。
 本発明の一態様の計算機システムは、1以上のプライマリボリュームを有するプライマリストレージシステムと、前記プライマリストレージシステムからネットワークを介して受信した前記1以上のプライマリボリュームのコピーデータ、を格納する1以上のセカンダリボリュームを有する、セカンダリストレージシステムと、前記プライマリストレージシステムを管理する管理システムと、を含む。前記プライマリストレージシステムは、前記1以上のプライマリボリュームのライトデータのライト時刻を管理する。前記プライマリストレージシステムは、前記1以上のプライマリボリュームのライトデータと、前記1以上のプライマリボリュームへのライト順序を示す値と、を含むジャーナルを、前記セカンダリストレージシステムに順次送信する。前記セカンダリストレージシステムは、前記プライマリストレージシステムから受信した前記ジャーナルに含まれるライトデータを、前記ライト順序を示す値に従って、前記1以上のセカンダリボリュームに順次格納する。前記セカンダリストレージシステムは、前記1以上のセカンダリボリュームの最新ライトデータの識別情報を前記プライマリストレージシステムに送信する。前記プライマリストレージシステムは、前記識別情報が示すライトデータのライト時刻と、前記識別情報を受信した時における前記1以上のプライマリボリュームの最新ライトデータのライト時刻と、の間の遅延時間を示すための情報を、前記管理システムに送信する。
 本発明の一態様によれば、非同期リモートコピーを行うシステムにおいてより適切に書き込み遅延時間を監視することができる。
本実施形態における計算機システムの構成を模式的に示す図である。 本実施形態における業務計算機の構成を模式的に示す図である。 本実施形態における管理計算機の構成を模式的に示す図である。 本実施形態におけるストレージシステムの構成を模式的に示す図である。 本実施形態において、コピーペアの状態遷移を示す図である。 本実施形態において、非同期リモートコピーがプライマリボリュームへの書き込みをセカンダリボリュームに反映する流れを説明する図である。 本実施形態におけるコンシステンシグループ管理テーブルの構成例を示す図である。 本実施形態におけるコピーペア管理テーブルの構成例を示す図である。 本実施形態におけるプライマリジャーナル管理テーブルの構成例を示す図である。 本実施形態におけるセカンダリジャーナル管理テーブルの構成例を示す図である。 本実施形態における自システム時刻管理テーブルの構成例を示す図である。 本実施形態における相手システム時刻管理テーブルの構成例を示す図である。 本実施形態におけるコピーグループ管理テーブルの構成例を示す図である。 本実施形態におけるジャーナル転送コマンドの構成例を示す図である。 本実施形態におけるジャーナル転送コマンドに対する返り値の構成例を示す図である。 本実施形態において、プライマリストレージシステムが管理計算機からコピーペア形成のコマンドを受信した場合にコピー制御プログラムが行う処理のフローを示す図である。 本実施形態において、プライマリストレージシステムの入出力制御プログラムが、業務計算機からライトコマンドを受信した時のフローを示す図である。 本実施形態において、セカンダリストレージシステムのジャーナル要求プログラムがジャーナル転送コマンドを発行し、ジャーナルを収集するフローを示す図である。 本実施形態において、プライマリストレージシステムのジャーナル転送プログラムによる、ジャーナル転送コマンドに応答した処理フローを示す図である。 本実施形態において、セカンダリストレージシステムのセカンダリボリューム反映プログラムがジャーナルをセカンダリボリュームに反映するフローを示す図である。 本実施形態において、管理計算機のリモートコピー制御プログラムが画像出力装置において提示する画像の例である。 本実施形態の復旧可能時刻及び書き込み遅延時間の算出方法を示す図である。
 以下において、本発明の実施の形態を説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。又、説明の明確化のため、必要に応じて重複説明は省略されている。
 図1は、本実施形態の計算機システムの構成例を模式的に示している。本計算機システムは、プライマリサイト10の計算機システムとセカンダリサイト20の計算機システムとを含む。プライマリサイト10は、業務プログラムが稼働する計算機システムが設置されたサイトである。セカンダリサイト20は、プライマリサイト10から物理的に離れた位置にあり、プライマリサイト10が被災した場合に業務を引き継ぐ計算機システムが設置されている。
 プライマリサイト10における計算機システムは、業務計算機100と、業務計算機100がアクセスするストレージシステム(プライマリストレージシステム)120と、業務計算機100及びプライマリストレージシステム120を管理する管理計算機(プライマリ管理計算機)140を含む。計算機及びストレージシステムの数は、設計に依存する。
 業務計算機100とストレージシステム120とは、データ・ネットワーク161により接続されている。データ・ネットワーク161は、データ通信用ネットワークであって、本構成においては、SAN(Storage Area Network)である。データ・ネットワーク161は、データ通信用のネットワークであればSAN以外のネットワークでもよく、例えばIPネットワークでもよい。
 業務計算機100、ストレージシステム120及び管理計算機140は、管理ネットワーク162で接続されている。管理ネットワーク162は、本構成においては、IPネットワークである。管理ネットワーク162は、管理データ通信用のネットワークであればIPネットワーク以外のネットワークでもよく、例えばSANでもよい。データ・ネットワーク161及び管理ネットワーク162は、同一のネットワークであってもよい。
 同様に、セカンダリサイト20において、業務計算機200と、業務計算機200がアクセスするストレージシステム(セカンダリストレージシステム)220と、業務計算機200及びプライマリストレージシステム220を管理する管理計算機(セカンダリ管理計算機)240が設置されている。
 業務計算機200とストレージシステム220とは、データ・ネットワーク261により接続されている。業務計算機200、ストレージシステム220及び管理計算機240は、管理ネットワーク262で接続されている。これらネットワーク261、262については、プライマリサイト100と同様である。本例において、一方のサイトの業務計算機及び管理計算機は他方サイトのストレージシステムと通信不能であるが、これらは、通信可能に接続されていてもよい。
 図1の構成例において、プライマリストレージシステム120は、三つのデータボリューム(プライマリボリューム)121A~121Cと、プライマリジャーナル管理ボリューム122を有する。セカンダリストレージシステム220は、三つのデータボリューム(セカンダリボリューム)221A~221Cと、セカンダリジャーナル管理ボリューム222を有する。データボリュームは論理ボリュームであって、業務計算機100、200及び管理計算機140、240が認識できる単位の論理的な記憶領域である。ジャーナルボリュームは論理ボリュームであって、データボリュームへの書き込みの更新履歴を格納する論理的な記憶領域である。
 プライマリストレージシステム120とセカンダリストレージシステム220とは、ストレージ間ネットワーク163により通信可能に接続している。プライマリストレージシステム120とセカンダリストレージシステム220とは、ボリュームのリモートコピーを実行する。本実施形態の計算機システムは、非同期のリモートコピーを実行する。非同期リモートコピーは、キャッシュ又はプライマリボリュームへのデータ書き込み後、セカンダリボリュームへの書き込み完了前にI/O成功を業務計算機に通知する。
 プライマリストレージシステム120は、業務計算機100から受信したライトデータを、プライマリボリューム121A~121Cの一つと、プライマリジャーナル管理ボリューム122に格納する。プライマリジャーナル管理ボリューム122格納されるエントリをジャーナルと呼ぶ。ジャーナルは、ユーザデータに加え、その識別子であるシーケンシャル番号及びライト時刻情報を含む。この点は後述する。プライマリストレージシステム120は、プライマリジャーナル管理ボリューム122のジャーナルを、セカンダリストレージシステム220に転送する。
 セカンダリストレージシステム220は、プライマリストレージシステム120から受信したジャーナルをセカンダリジャーナル管理ボリューム222に格納する。セカンダリストレージシステム220は、セカンダリジャーナル管理ボリューム222に格納されているジャーナルのユーザデータを、セカンダリボリューム221A~221Cの一つに格納する。これにより、プライマリボリューム121A~121Cのデータを、セカンダリボリューム221A~221Cにコピーすることができる。
 リモートコピーは、コピーペアを構成するデータボリューム間で行われる。例えば、プライマリボリューム121Aはセカンダリボリューム221Aとコピーペアを構成し、プライマリボリューム121Bはセカンダリボリューム221Bとコピーペアを構成し、ライマリボリューム121Cはセカンダリボリューム221Cとコピーペアを構成する。図1の例において、プライマリボリューム121A~121Cはコンシステンシグループを構成し、セカンダリボリューム221A~221Cはコンシステンシグループを構成する。
 非同期リモートコピーは、セカンダリボリュームへのコピー順序を、プライマリボリュームへのデータ書き込み順序(データ更新順序)に一致させる。順序の一致は、コンシステンシグループにおいて維持される。つまり、プライマリストレージシステム120におけるコンシステンシグループのプライマリボリュームデータ書き込み順序が、対応するセカンダリストレージシステム220におけるコンシステンシグループでの書き込み順序(コピー順序)に一致する。
 図1の例において、プライマリボリューム121A~121Cへの全てのデータの書き込み順序は、セカンダリボリューム221A~221Cへの全てのデータの書き込み順序と一致する。本実施形態のシステムは、ジャーナルに、コンシステンシグループにおいて一意であり、プライマリボリューム121A~121Cへの書き込み順序を示すシーケンシャル番号を付与する。ストレージシステム120、220及び管理計算機140、240は、ジャーナルのシーケンシャル番号を参照することで、コンシステンシグループ内でのそのジャーナルの順番を知ることができる。
 図2は、業務計算機100、200の構成を模式的に示す図である。業務計算機100、200は、それぞれ、プロセッサ101、メモリ102、不揮発性の二次記憶装置103、ストレージI/F104、管理I/F105、タイマ106を備え、各々が接続されている。プロセッサ101は、メモリ102に格納されたプログラムに従って動作する。二次記憶装置103に格納されているプログラム及びデータが、メモリ102にロードされる。
 ストレージI/F104は、データ・ネットワーク161又は261に接続するネットワーク・インターフェースである。ストレージI/F104は、データ・ネットワーク161又は261を介してストレージシステム120又は220とデータ及び制御命令を送受信する。
 管理I/F105は、管理ネットワーク162又は262に接続するネットワーク・インターフェースである。管理I/F105は、管理ネットワーク162又は262を介してストレージシステム120又は220と管理データ及び制御命令を送受信する。管理I/F105は、さらに、管理ネットワーク162又は262を介して管理計算機140又は240と、管理データ及び制御命令を送受信する。
 メモリ102は、業務プログラム107を格納する。業務プログラム107は、データボリューム121A~121C又はデータボリューム221A~221Cへデータの読み書きを行い、業務を遂行する。なお、業務計算機100、200のプラットフォームはオープンシステム又はメインフレームである。
 図3は、管理計算機140、240の構成を模式的に示す図である。管理計算機140、240において、ストレージシステム120、220を管理するプログラムが稼働する。管理計算機140、240は、それぞれ、接続されているストレージシステム120、240に対して、そのボリュームを別のストレージシステムへコピーするコマンドを発行することができる。
 管理計算機140、240は、それぞれ、プロセッサ301、メモリ302、二次記憶装置303、管理I/F304、画像出力装置305、入力装置306を備え、各々が接続されている。画像出力装置405は、典型的には液晶表示装置であり、入力装置306は典型的にはキーボード及びマウスである。管理者は、画像出力装置405において必要な情報を取得し、入力装置306により必要な情報を入力できる。
 管理I/F304は、管理ネットワーク162又は262に接続するネットワーク・インターフェースである。管理I/F304は、管理ネットワーク162又は262を介してストレージシステム120又は220と管理データ及び制御命令を送受信する。管理I/F304は、管理ネットワーク162又は262を介して業務計算機100又は200と管理データ及び制御命令を送受信する。
 プロセッサ301は、メモリ302に格納されたプログラムに従って動作する。二次記憶装置303に格納されたプログラム及びデータがメモリ302にロードされる。図3において、メモリ302は、リモートコピー制御プログラム310及びコピーグループ管理テーブル311を格納している。
 リモートコピー制御プログラム310は、ストレージシステム120又は220を管理する。リモートコピー制御プログラム310は、ストレージシステム120、220の管理者及び外部プログラムにいくつかの機能を提供する。具体的には、リモートコピー制御プログラム310は、動作する管理計算機(管理計算機140又は240)の使用者や外部プログラムからの入力により、それが動作する管理計算機(管理計算機140又は240)内に、コピーグループ管理テーブル311を構築する。
 リモートコピー制御プログラム310は、動作する管理計算機(管理計算機140又は240)の使用者の操作や外部プログラムからの呼び出しを契機に、ストレージシステム120、220間のデータボリュームのコピーに関するコマンドの発行とストレージシステム120又は220の状態についての情報を収集する。リモートコピー制御プログラム310は、ストレージシステム120又は220から収集した情報やその他の情報を提示する。
 コピーグループ管理テーブル311は、リモートコピー制御プログラム310が、ストレージシステム120又は220へ操作を指示するときに使用する制御テーブルである。コピーグループ管理テーブル311の詳細は後述する。
 図4は、ストレージシステム120、220の構成を模式的に示す図である。ストレージシステム120、220は、業務計算機100、200が扱うデータを格納する。ストレージシステム120、220は、それぞれ、ディスクドライブ群401及びストレージコントローラ410を備える。ディスクドライブ群401は複数のボリュームを含み、業務計算機100、200に書き込み要求されたデータを格納する。ストレージコントローラ410は、ストレージシステム120又は200の処理を制御する。
 ストレージコントローラ410は、ホストI/F411、管理I/F412、ディスクI/F413、メモリ414及びプロセッサ415及びタイマ416を備える。ホストI/F411は、ストレージコントローラ410をデータ・ネットワーク161又は261に接続するネットワーク・インターフェースである。ホストI/F411は、データ・ネットワーク161又は261を介して、業務計算機100又は200とデータ及び制御命令を送受信する。
 管理I/F412は、ストレージコントローラ410を管理ネットワーク162又は262に接続するネットワーク・インターフェースである。管理I/F412は、管理ネットワーク162又は262を介して、管理計算機140又は240とデータ及び制御命令を送受信する。ディスクI/F413は、ストレージコントローラ410をディスクドライブ群401に接続するインタフェースである。
 プロセッサ415は、メモリ414に格納されているプログラムを実行する。図4において、メモリ414は、入出力制御プログラム421、コピー制御プログラム422、ジャーナル要求プログラム423、ジャーナル転送プログラム424、セカンダリボリューム反映プログラム425、復旧時点目標計算プログラム426を格納している。さらに、メモリ414は、コンシステンシグループ管理テーブル431及びコピーペア管理テーブル432を格納している。
 入出力制御プログラム421は、業務計算機100又は200からのリードコマンド、ライトコマンドに応答して、データボリュームへデータの読み書きを実行する。入出力制御プログラム421は、ライトコマンド及びライトデータからジャーナルを生成し、そのジャーナルをジャーナル管理ボリューム122又は222へ格納する。
 コピー制御プログラム422は、管理計算機140、240又は業務計算機100、200からのボリュームコピーに関する命令受信を契機に、ボリュームコピーの制御を行う。上述のように、ボリュームコピーは、プライマリストレージシステム120からセカンダリストレージシステム220へのジャーナルの転送による非同期リモートコピーである。
 ジャーナル要求プログラム423は、リモートコピーのセカンダリストレージシステム220で稼働するプログラムである。ジャーナル要求プログラム423は、プライマリストレージシステム120に対して、ジャーナル管理ボリューム122内のジャーナルを、セカンダリストレージシステム220へ転送要求する。ジャーナル要求プログラム423は、入出力制御プログラム421及びセカンダリボリューム反映プログラム425とは、非同期に動作する。
 一つのストレージシステムは、プライマリストレージシステム及びセカンダリストレージシステムとして機能し得る。そのため、本実施形態においては、各ストレージシステムは、双方の種類のストレージシステムで稼働するプログラムを有しているとして説明する。プライマリストレージシステム又はセカンダリストレージシステムの一方種類のストレージシステムとしてのみ機能するストレージシステムは、その一方種類のストレージシステムが必要とするプログラム及び情報のみを有していてもよい。
 ジャーナル転送プログラム424は、リモートコピーのプライマリストレージシステム120で稼働するプログラムである。セカンダリストレージシステム220で稼働するジャーナル要求プログラム423からのジャーナル転送コマンドを受信し、プライマリストレージシステム120のジャーナルを応答する。
 セカンダリボリューム反映プログラム425は、リモートコピーのセカンダリストレージシステム220で稼働するプログラムである。ジャーナル要求プログラム423がプライマリストレージシステム120から受信したジャーナルのユーザデータを、ジャーナルに含まれる情報に基づいて、セカンダリボリュームへ反映(格納)する。
 復旧時点目標計算プログラム426は、復旧可能時刻の推定値と書き込み遅延時間の推定値と決定する。復旧可能時刻は、プライマリストレージシステム120の障害発生時に、セカンダリストレージシステム220にコピーされているデータにより回復することができる状態(データ)の時刻である。書き込み遅延時間は、ライトデータが、プライマリボリュームに格納されてから、セカンダリボリュームにコピー(格納)されるまでの時間である。
 本実施形態の復旧時点目標計算プログラム426は、ジャーナルに含まれる時刻情報を参照して、復旧可能時刻及び書き込み遅延時間を推定する。
 後述するように、ジャーナルは、プライマリストレージシステム120でのライト時刻の情報を含む。ライト時刻は、業務計算機100、200又はプライマリストレージシステム120により決定される時刻である。例えば、メインフレームシステムにおいて、業務計算機100、200は、ライトコマンドにタイマ106で測定している時刻の情報を含めて送信する。ジャーナルは、この時刻の情報をライト時刻の情報として含む。
 オープンシステムにおいては、プライマリストレージシステム120のストレージコントローラ410は、タイマ416により計測している時刻の情報を、ジャーナルに含める。ストレージコントローラ410は、例えば、ライトコマンド及びライトデータを受信した時刻又はライトデータのプライマリボリュームへの格納時刻をライト時刻としてジャーナルのライト時刻情報を含める。
 コンシステンシグループ管理テーブル431は、コンシステンシグループを管理するテーブルである。上述のように、コンシステンシグループは、リモートコピーのライト順序を保証するグループである。コピーペア管理テーブル432は、リモートコピーのプライマリボリュームとセカンダリボリュームのペアを管理するテーブルである。これらテーブルの詳細は後述する。
 上記の説明において、プログラムはプロセッサによって実行されることで、定められた処理を記憶装置及びインタフェースを用いて行う。従って、本実施形態及び他の実施形態においてプログラムを主語とする説明は、プロセッサを主語とした説明でもよい。若しくは、プログラムが実行する処理は、そのプログラムが動作する装置及びシステムが行う処理である。
 プロセッサは、プログラムに従って動作することによって、所定の機能を実現する機能部(手段)として動作する。さらに、プロセッサは、各プログラムが実行する複数の処理のそれぞれを実現する機能部(手段)としても動作する。例えば、ストレージシステムのプロセッサは、コピー制御部や復旧時点目標計算部として機能する。プロセッサを含む装置及びシステムは、これらの機能部(手段)を含む装置及びシステムである。
 本実施形態及び他の実施形態において、システムが使用する情報は、データ構造に依存せずどのようなデータ構造で表現されていてもよい。例えば、テーブル、リスト、データベース又はキューから適切に選択したデータ構造体が、情報を格納することができる。システムが使用する情報は、データ記憶装置における記憶領域に格納される。さらに、各情報の内容を説明する際に、識別情報、識別子、名、ID、番号等の表現を用いるが、これらについてはお互いに置換が可能である。
 図5は、コピーペアの状態遷移を示す図である。本例において、コピーペアの状態は、Duplex状態、Suspend状態、Failure状態、Simplex状態であるである。Duplex状態において、プライマリボリュームの更新がセカンダリボリュームに反映される状態である。Suspend状態において、コピー処理が一時停止されている。Failure状態において、通信障害等でリモートコピー不能である。Simplex状態において、ペアが設定されていない。
 コピー制御プログラム422は、コピーペアの制御処理を行う。コピー制御プログラム422は、によるコピー制御において実行される処理例は、作成、一時停止、リシンク、ペア削除及び状態取得である。業務計算機100、200又は管理計算機140、240は、上記処理のいずれかを、コピー制御プログラム422に要求することができる。コピーペアの作成処理において、コピー制御プログラム422は、コピーペアを新たに作成する。コピーペアは、Simplex状態からDuplex状態に変化する。
 一時停止処理は、プライマリボリュームからセカンダリボリュームへのデータ・コピーを一時停止する。コピーペアは、Duplex状態からSuspend状態に変化する。一時停止処理の指示を受けると、コピー制御プログラム422は、その後、プライマリボリュームのデータ変更を、セカンダリボリュームに反映しない。一例において、コピー制御プログラム422は、プライマリボリュームの最新の更新をセカンダリボリュームにコピーした後に、二つのボリューム間のデータ・コピーを停止する。
 リシンク処理は、プライマリボリュームとセカンダリボリュームを同期させ、プライマリボリュームのデータとセカンダリボリュームのデータとを一致させる処理を示す。コピーペアは、Failure状態又はSuspend状態から、Duplex状態に変化する。リシンク処理の一例において、コピー制御プログラム422は、二つのボリューム・データを一致させた後、それらの間のコピー処理を再開する。
 ペア削除処理は、作成処理で作成したペアを解除する。コピーペアは、Simplex状態以外の状態から、Simplex状態に変化する。コピー制御プログラム422は、状態取得処理の要求を受けると、コピーペアの状態情報を要求の送信元に送信する。ストレージシステム120、220に備わるボリュームのうち、コピーペアを構成するボリュームの状態情報は、コピーペア管理テーブル432に含まれている。コピー制御プログラム422は、作成処理、リシンク処理及び一次停止処理を実行すると、コピーペア管理テーブル432を更新する。また、それらの処理結果としてのコピーペア状態の情報を、管理計算機140又は240に送ってもよい。
 図6を参照して、非同期リモートコピーが、プライマリボリュームへの書き込みをセカンダリボリュームに反映する流れを説明する。プライマリストレージシステム120は、業務計算機100から、ネットワーク161を介して、ライトコマンド及びライトデータ(ユーザデータ)を受信する。プライマリストレージシステム120は、ユーザデータをプライマリボリューム121Aに格納し、さらに、ユーザデータを含むジャーナルを作成してプライマリジャーナル管理ボリューム122に格納する。
 プライマリジャーナル管理ボリューム122は、プライマリジャーナル管理テーブル601を格納している。ジャーナルは、プライマリジャーナル管理テーブル601に格納される。プライマリジャーナル管理テーブル601の詳細は後述する。
 セカンダリストレージシステム220は、ネットワーク163を介して、ジャーナルのリードコマンドをプライマリストレージシステム120に送信する。プライマリストレージシステム120は、そのジャーナルリードコマンドに応答して、プライマリジャーナル管理テーブル601におけるジャーナルを、セカンダリストレージシステム220に送信する。
 セカンダリストレージシステム220は、ネットワーク163を介して転送されたジャーナルを受信し、セカンダリジャーナル管理ボリューム222におけるセカンダリジャーナル管理テーブル602に格納する。その後、セカンダリストレージシステム220は、セカンダリジャーナル管理テーブル602におけるジャーナルのユーザデータを、セカンダリボリューム221Aに格納する(セカンダリボリュームへの反映)。
 図7は、ストレージシステムにおけるコンシステンシグループ管理テーブル431の構成例を示している。コンシステンシグループ管理テーブル431は、コンシステンシグループIDカラム701、シーケンシャル番号カラム702、複数の論理ボリュームIDカラム703、相手ストレージシステムIDカラム704、相手コンシステンシグループIDカラム705、自システム時刻管理テーブルカラム706、相手システム時刻管理テーブルカラム707を有する。
 コンシステンシグループ管理テーブル431は、各コンシステンシグループに含まれるプライマリボリューム又はセカンダリボリュームの一覧及び対応する相手コンシステンシグループ及びそれを格納する相手ストレージシステムの情報を管理する。
 コンシステンシグループ管理テーブル431は、自ストレージシステム内の各コンシステンシグループについて、そのID、それに含まれるボリュームのID、その相手ストレージシステムのID及びその相手ストレージシステムにおけるコンシステンシグループのIDの情報を含む。プライマリストレージシステム120及びセカンダリストレージシステム220は、互いの相手ストレージシステム(相手システム)である。
 シーケンシャル番号カラム702のそれぞれのフィールドは、コンシステンシグループにおける最新ジャーナルのシーケンス番号を示す。ストレージシステム120、220は、ジャーナルに対してシーケンス番号付与する。シーケンシャル番号は各ジャーナルの識別子であり、さらに、ジャーナル管理テーブル601、602に格納されているジャーナルの順序を示す情報である。
 本例において、シーケンシャル番号は、コンシステンシグループ内でのジャーナルの順序を示す。シーケンシャル番号カラム702は、コンシステンシグループにおいて、ジャーナル管理テーブル601、602における最新のジャーナルに付与されているシーケンシャル番号を示す。
 自システム時刻管理テーブルカラム706及び相手システム時刻管理テーブルカラム707は、それぞれ、各コンシステンシグループの自システム時刻管理テーブルと相手システム時刻管理テーブルとを格納する。時刻管理テーブルについては後述する。
 図8は、ストレージシステムにおけるコピーペア管理テーブル432の構成例を示す。コピーペア管理テーブル432は、論理ボリュームIDカラム801、相手ストレージシステムIDカラム802、相手論理ボリュームIDカラム803、ペア状態カラム804、そしてペア種別カラム805を有する。
 論理ボリュームIDカラム801は、自ストレージシステムの論理ボリュームのIDを格納する。相手論理ボリュームIDカラム803は、自ストレージシステムの論理ボリュームとコピーペアを構成する相手ストレージシステムの論理ボリュームのIDを格納し、相手ストレージシステムIDカラム802は、その相手ストレージシステムのIDを格納する。さらに、ペア状態カラム804及びペア種別カラム805は、それぞれ、コピーペアの状態と自ストレージシステムの論理ボリュームがプライマリボリュームであるかセカンダリボリュームであるかを示す情報を格納する。
 図9は、プライマリジャーナル管理テーブル601の構成例を示す。プライマリジャーナル管理テーブル601は、コンシステンシグループIDカラム901、ライトデータカラム902、アドレスカラム903、シーケンシャル番号カラム904、ライト時刻カラム905を含む。レコードが、プライマリジャーナル管理テーブル601におけるジャーナルである。プライマリストレージシステム120がライトI/O(ライトコマンド及びライトデータ)を受信すると、入出力制御プログラム421は、新たなジャーナルをプライマリジャーナル管理テーブル601に追加する。
 コンシステンシグループIDカラム901は、ジャーナルのライトデータ(ユーザデータ)が格納されるボリュームが属するコンシステンシグループのIDを格納する。コンシステンシグループは、プライマリストレージシステム120内で定義されているグループである。ライトデータカラム902はジャーナルのライトデータを格納し、アドレスカラム903はそのアドレスを格納する。
 シーケンシャル番号カラム904は、ジャーナルに付与されるシーケンシャル番号を格納する。ライト時刻カラム905は、ジャーナル内のライトデータのライト時刻を格納する。上述のように、ライト時刻は、業務計算機100又はプライマリストレージシステム120によって付与される。
 図10は、セカンダリジャーナル管理テーブル602の構成例を示す。セカンダリジャーナル管理テーブル602は、プライマリストレージシステム120から転送されたジャーナルを格納する。レコードが、セカンダリジャーナル管理テーブル602におけるジャーナルである。ジャーナル要求プログラム423は、プライマリストレージシステム120から受信したジャーナルをセカンダリジャーナル管理テーブル602に追加する。
 セカンダリジャーナル管理テーブル602は、コンシステンシグループIDカラム1001、ライトデータカラム1002、アドレスカラム1003、シーケンシャル番号カラム1004、ライト時刻カラム1005を含む。本例において、セカンダリジャーナル管理テーブル602が格納するジャーナルの情報は、プライマリジャーナル管理テーブル601と同じである。
 コンシステンシグループIDカラム1001は、ジャーナルのデータが格納されるセカンダリボリュームが属するコンシステンシグループのIDを格納する。各ジャーナルについて、ライトデータカラム1002、アドレスカラム1003、シーケンシャル番号カラム1004、ライト時刻カラム1005のそれぞれが格納する情報は、プライマリジャーナル管理テーブル601におけるライトデータカラム902、アドレスカラム903、シーケンシャル番号カラム904、ライト時刻カラム905が格納する情報と同じである。
 プライマリストレージシステム120は、ジャーナルの一部の情報のみをセカンダリストレージシステム220に転送してもよい。例えば、プライマリストレージシステム120は、コンシステンシID以外の情報を含むジャーナルを、セカンダリストレージシステム220に転送する。セカンダリストレージシステム220は、受信したジャーナルに別の情報を追加する又は一部(例えばコンシステンシID)を変更してセカンダリジャーナル管理テーブル602に格納してもよい。
 図11は、自システム時刻管理テーブル1100の構成例を示す。自システム時刻管理テーブル1100は、コンシステンシグループ管理テーブル431に含まれ、一つのコンシステンシグループに一つの自システム時刻管理テーブルが割り当てられている。自システム時刻管理テーブル1100は、自ストレージシステムでの各コンシステンシグループにおいて、ボリュームへ書き込まれた最新ジャーナル(最後に書き込まれたジャーナル)の時刻情報を管理する。
 具体的には、自システム時刻管理テーブル1100は、コンシステンシグループIDカラム1101、シーケンシャル番号カラム1102、ライト時刻カラム1103を有する。コンシステンシグループIDカラム1101は、自システム内のコンシステンシグループのIDを格納する。
 プライマリストレージシステム120において、シーケンシャル番号カラム1102は、コンシステンシグループのプライマリボリュームに書き込まれた最新のデータ(コンシステンシグループに最後に書き込まれたデータ)を含むジャーナルのシーケンス番号を格納する。
 セカンダリストレージシステム220において、シーケンシャル番号カラム1102は、コンシステンシグループのセカンダリボリュームに書き込まれた(反映された)最新のデータを含むジャーナルのシーケンス番号を格納する。
 ライト時刻カラム1103は、シーケンシャル番号で特定されるジャーナルに含まれるライト時刻の情報を格納する。
 図12は、相手システム時刻管理テーブル1200の構成例を示す。相手システム時刻管理テーブル1200は、コンシステンシグループ管理テーブル431に含まれ、一つのコンシステンシグループに一つの相手システム時刻管理テーブルが割り当てられている。相手システム時刻管理テーブル1200は、相手ストレージシステムでの各コンシステンシグループにおいて、ボリュームへ書き込まれた最新ジャーナル(最後に書き込まれたジャーナル)の時刻情報を管理する。
 具体的には、相手システム時刻管理テーブル1200は、コンシステンシグループIDカラム1201、シーケンシャル番号カラム1202、ライト時刻カラム1203を有する。コンシステンシグループIDカラム1201は、相手システム内のコンシステンシグループのIDを格納する。
 プライマリストレージシステム120において、シーケンシャル番号カラム1202は、コンシステンシグループのセカンダリボリュームに書き込まれた最新のデータ(コンシステンシグループに最後に書き込まれたデータ)を含むジャーナルのシーケンス番号を格納する。プライマリストレージシステム120は、セカンダリストレージシステム220から、最新ジャーナルのシーケンシャル番号を受信し、それをシーケンシャル番号カラム1202に格納する。
 後述するように、セカンダリストレージシステム220のジャーナル要求プログラム423は、プライマリストレージシステム120にジャーナル転送コマンド(リードコマンド)を送信する。このジャーナル転送コマンドは、新たなジャーナルを要求するコンシステンシグループに書き込まれた最新のジャーナルのシーケンシャル番号を含む。
 プライマリストレージシステム120のジャーナル転送プログラム424は、受信したジャーナル転送コマンドに含まれる最新ジャーナルのシーケンシャル番号を、対応するコンシステンシグループのシーケンシャル番号カラム1202のフィールドに格納する。
 セカンダリストレージシステム220において、シーケンシャル番号カラム1202は、コンシステンシグループのプライマリボリュームに書き込まれた最新のデータを含むジャーナルのシーケンス番号を格納する。セカンダリストレージシステム220は、プライマリストレージシステム120から、最新ジャーナルのシーケンシャル番号を受信し、それをシーケンシャル番号カラム1202に格納する。
 後述するように、プライマリストレージシステム120のジャーナル転送プログラム424は、セカンダリストレージシステム220からのジャーナル転送コマンド(ジャーナルリードコマンド)に応答して、ジャーナルを含む返り値を送信する。この返り値(応答)は、当該ジャーナルが含まれるコンシステンシグループに書き込まれた最新のデータを含むジャーナルのシーケンス番号とライト時刻とを含む。セカンダストレージシステム220のジャーナル要求プログラム423は、返り値から最新ジャーナルのシーケンス番号とライト時刻とを取得し、対応コンシステンシグループのシーケンシャル番号カラム1202及びライト時刻カラム1203のフィールドに格納する。
 ライト時刻カラム1203は、ジャーナル転送コマンドの返り値(応答)に含まれるライト時刻の情報を格納する。
 図13は、管理計算機140、240のそれぞれが有するコピーグループ管理テーブル311の構成例を示している。管理者は、管理計算機140、240を操作して、コピーグループ管理テーブル311を生成する。コピーグループは、管理者から見たコピーペアの集合である。管理者は、コピーグループ管理テーブル311のデータを設定する。
 コピーグループ管理テーブル311は、コピーグループIDカラム1301における各IDにより特定されるコピーグループの情報を管理する。コピーグループ管理テーブル311は、プライマリストレージシステムについて、コンシステンシグループIDカラム1311、ストレージシステムIDカラム1312、論理ボリュームIDカラム1313を有する。コピーグループ管理テーブル311は、セカンダリストレージシステムについて、コンシステンシグループIDカラム1321、ストレージシステムIDカラム1322、論理ボリュームIDカラム1323を有する。
 図14は、ジャーナル転送コマンド1400の構成例を示している。ジャーナル転送コマンド1400は、プライマリストレージシステム120のジャーナルをセカンダリストレージシステム220へ転送するためのコマンドである。セカンダリストレージシステム220のジャーナル要求プログラム423はジャーナル転送コマンド1400を作成し、プライマリストレージシステム120へ発行する。
 ジャーナル転送コマンド1400は、命令コードセクション1401、自システムのコンシステンシIDのセクション1402、相手システムのコンシステンシIDのセクション1403、セカンダリボリュームへの反映済みジャーナルのシーケンシャル番号のセクション1404、受信済みシーケンシャル番号のセクション1405を有する。
 命令コードのセクション1401は、コマンドの命令種別、つまり、ジャーナル転送コマンドであることを示すデータを格納する。自システムのコンシステンシIDのフィールド1402は、転送を要求されるジャーナルのセカンダリストレージシステム220におけるコンシステンシID、つまり、転送を要求されるジャーナルのデータが格納されるセカンダリボリュームのコンシステンシIDを格納する。
 相手システムのコンシステンシIDのセクション1403は、プライマリストレージシステム120における転送を要求されるジャーナルのコンシステンシID、つまり、転送を要求されるジャーナルのデータが格納されるプライマリボリュームのコンシステンシIDを格納する。プライマリストレージシステム120は、セカンダリストレージシステム220がジャーナル転送を要求する相手ストレージシステムである。ジャーナル要求プログラム423は、コンシステンシグループ管理テーブル431を参照して、相手システムコンシステンシIDを知ることができる。
 セクション1404は、転送要求されるジャーナルが属するセカンダリストレージシステム(自システム)220でのコンシステンシグループにおいて、最後にセカンダリボリュームに書き込まれたジャーナル、つまり、最新の反映済みジャーナルのシーケンシャル番号を格納する。
 受信済みシーケンシャル番号のセクション1405は、転送要求されるジャーナルが属するセカンダリストレージシステム(自システム)220でのコンシステンシグループにおいて、最後にセカンダリストレージシステム220が受信したジャーナルのシーケンシャル番号である。つまり、セカンダリジャーナル管理テーブル602が格納している最新ジャーナルのシーケンシャル番号である。
 図15は、ジャーナル転送コマンドに対する返り値(応答)1500の構成例を示している。プライマリストレージシステム120のジャーナル転送プログラム424は、ジャーナル転送コマンドへの応答として、返り値1500をセカンダリストレージシステム220に送信する。
 返り値1500は、終了ステータスのセクション1501、自システムのコンシステンシIDのセクション1502、相手システムのコンシステンシIDのセクション1503、ジャーナルのセクション1504、最新シーケンシャル番号のセクション1505、最新ライト時刻のセクション1506を有する。
 終了ステータスのセクション1501は、コマンドに対する応答が成功であるか失敗であるかを示すデータを格納する。自システムのコンシステンシIDのセクション1502、相手システムのコンシステンシIDのセクション1503は、それぞれ、プライマリストレージシステム120における要求されているジャーナルのコンシステンシグループID、セカンダリストレージシステム220における要求されているジャーナルのコンシステンシグループIDを格納する。
 これらの値は、ジャーナル要求コマンド1400における、相手システムのコンシステンシグループIDのセクション1403、自システムのコンシステンシグループIDのセクション1402の値と同一である。ジャーナルセクション1504は、ジャーナル転送要求コマンドに応答して転送される1又は複数のジャーナルを含む。図15の例においては、三つのジャーナルが含まれている。
 最新シーケンシャル番号のセクション1505は、自システムコンシステンシIDで識別されるコンシステンシグループにおける最新のジャーナルのシーケンシャル番号である。最新ジャーナルは、ジャーナル要求コマンド受信時におけるプライマリジャーナル管理601に最後に格納されたジャーナルのシーケンシャル番号である。最新ライト時刻のセクション1506は、最新シーケンシャル番号のジャーナルのライト時刻の情報を格納する。
 図16は、プライマリストレージシステム120が管理計算機140からコピーペア形成のコマンドを受信した場合に、コピー制御プログラム422が行う処理のフローを示している。管理者は、管理計算機140のリモートコピー制御プログラム310を使用して、コピーグループ管理テーブル311に、1又は複数のコピーペアを追加する。管理計算機140のリモートコピー制御プログラム310は、管理者の入力に応じて、コピーペア形成のコマンドをプライマリストレージシステム120に送信し、コピー制御プログラム422は、そのコマンドを受信する(S101)。
 コピーペア形成コマンドは、プライマリストレージシステム120及びセカンダリストレージシステム220で形成される1又は複数のコピーペアの論理ボリューム及びそれらのコンシステンシグループを指定する。具体的には、コピーペア形成コマンドは、プライマリストレージシステム120及びセカンダリストレージシステム220のそれぞれについての、システムID、論理ボリュームIDそしてコンシステンシグループIDを含む。
 プライマリストレージシステム120のコピー制御プログラム422は、受信したコピーペア形成コマンドを参照し、指定されたコピーペアの情報を、コンシステンシグループ管理テーブル431に追加する(S102)。コピー制御プログラム422は、さらに、指定されたコピーペアを、コピーペア管理テーブル432に追加する。
 プライマリストレージシステム120のコピー制御プログラム422は、コンシステンシグループ管理テーブル431において、新たに追加されたコンシステンシグループの自システム時刻管理テーブル1100を初期化して初期値を設定する(S104)。さらに、コンシステンシグループ管理テーブル431において、新たに追加されたコンシステンシグループの相手システム時刻管理テーブル1200を初期化して、初期値を設定する(S105)。
 プライマリストレージシステム120のコピー制御プログラム422は、コピーペア形成コマンドで指定されたセカンダリストレージシステム220に、初期コピーのためのコマンドを送信する。コマンドは、管理計算機140からのコピーペア形成コマンドが含む情報を含む。セカンダリストレージシステム220のコピー制御プログラム422は、プライマリストレージシステム120と同様に、コンシステンシグループ管理テーブル431、コピーペア管理テーブル432に新たなエントリを追加し、初期値を設定する。
 その後、プライマリストレージシステム120とセカンダリストレージシステム220のコピー制御プログラム422は、ボリュームの初期コピーを実行する(S106)。これにより、コピーペアは、Simplex状態からDuplicate状態に変化する。
 管理者は、セカンダリサイトの管理計算機240を使用してもよく、管理計算機240からセカンダリストレージシステム220にコピーペア形成コマンドを送信してもよい。それぞれのサイトのストレージシステムが行う処理は上記例と同様である。
 図17から図20を参照して、業務計算機100により発行されたライトコマンドに対するプライマリストレージシステム120及びセカンダリストレージシステム220の処理を説明する。ライトデータはプライマリボリュームに格納され、プライマリボリュームでの更新は、セカンダリボリュームに反映される。
 この処理は、ライトデータのプライマリボリュームへの書き込み、セカンダリストレージシステム220とプライマリストレージシステム120との間におけるジャーナルの転送、及びセカンダリストレージシステム220におけるジャーナルのセカンダリボリュームへの反映を含む。上述のように、本システムのリモートコピーは非同期であり、上記三つのステップは非同期で実行される。
 図17から図20の各フローチャートの詳細を説明する前に、処理の概要を説明する。まず、プライマリストレージシステム120の入出力制御プログラム421が、ライトコマンドを元にジャーナルを生成し、プライマリジャーナル管理テーブル601にジャーナルを追加する。入出力制御プログラム421は、ライトI/Oの時刻とシーケンシャル番号で、自システム時刻管理テーブル1100を更新する(図17)。
 次に、セカンダリストレージシステム220のジャーナル要求プログラム423が、ジャーナル転送コマンドをプライマリストレージシステム120へ発行し、上記生成したジャーナルをセカンダリストレージシステム220へ転送することを要求する(図18)。図14を参照して説明したように、ジャーナル転送コマンド1400には、セカンダリストレージシステム220が最後に受信したジャーナルのシーケンシャル番号に加え、セカンダリボリュームに最後に反映されたジャーナルのシーケンシャル番号が含まれている。
 次に、ジャーナル転送コマンドを受信したプライマリストレージシステム120のジャーナル転送プログラム424は、ジャーナルと自システム時刻管理テーブル1100の情報(ライト時刻とシーケンシャル番号)をセカンダリストレージシステム220へ送信する。
 さらに、ジャーナル転送プログラム424は、ジャーナル転送コマンドに含まれるセカンダリボリュームに反映済みのシーケンシャル番号(図14におけるセクション1404参照)と一致するジャーナルの時刻を、プライマリジャーナル管理テーブル601において検索し、プライマリストレージシステム120の相手システム時刻管理テーブルにおけるライト時刻とシーケンシャル番号を更新する(図19)。
 セカンダリストレージシステム220のジャーナル要求プログラム423は、プライマリストレージシステム120からの応答に含まれるジャーナルを、セカンダリジャーナル管理テーブル602に追加する。さらに、ジャーナル要求プログラム423は、ジャーナル転送コマンドの返り値1500のシーケンシャル番号とライト時刻を、セカンダリストレージシステム220の相手システム時刻管理テーブル1200に設定する(図18)。
 セカンダリストレージシステムのセカンダリボリューム反映プログラム425は、セカンダリジャーナル管理テーブル602のジャーナルを、シーケンシャル番号順にセカンダリボリュームに反映する。セカンダリボリューム反映プログラム425は、セカンダリボリュームに反映したジャーナルのライト時刻とシーケンシャル番号で、自システム時刻管理テーブル1100を更新する(図20)。
 以下において、図17から図20の各フローチャートの詳細を説明する。まず、図17のフローチャートを参照して、プライマリストレージシステム120の入出力制御プログラム421が、業務計算機100からライトコマンドを受信した時のフローを説明する。業務計算機100の業務プログラム107が、プライマリストレージシステム120のデータボリューム(プライマリボリューム)にライトコマンドを発行する。
 入出力制御プログラム421は、業務プログラム107から受信したライトデータを、指定アドレスのデータボリューム、例えば、プライマリボリューム121Aへ書き込む(S201)。入出力制御プログラム421は、コンシステンシグループ管理テーブル431を参照し、ライドコマンドが指定するボリュームがいずれかのコンシステンシグループに属するか否かを判定する(S202)。
 ボリュームがいずれのコンシステンシグループにも含まれない場合(S202:NO)、そのボリュームはコピーされるボリュームではなく、入出力制御プログラム421は、フローを終了する。ボリュームがいずれのコンシステンシグループにも含まれる場合(S202:YES)、入出力制御プログラム421は、ライトコマンドが指定するボリューム(アドレス)のコンシステンシグループIDとシーケンシャル番号をコンシステンシグループ管理テーブル431から取得する(S203)。
 入出力制御プログラム421は、コンシステンシグループ管理テーブル431において、ライトコマンドが指定するボリュームが属するコンシステンシグループのシーケンシャル番号をインクリメントする(S204)。入出力制御プログラム421は、受信したライトコマンドがライト時刻を含むか否かを判定する(S205)。受信したライトコマンドがライト時刻を含まない場合、入出力制御プログラム421は、タイマ416から時刻を取得する(S206)。ライトコマンドにライト時刻が含まれている場合は、入出力制御プログラム421は、当該ライト時刻を用いる。
 入出力制御プログラム421は、コンシステンシグループ管理テーブル431から取得したコンシステンシグループID及びシーケンシャル番号、タイマ416又はライトコマンドから取得したライト時刻、ライトコマンドから取得したアドレス及びライトデータを含むジャーナルを生成し(S207)、そのジャーナルをプライマリジャーナル管理テーブル601に追加する(S208)。
 入出力制御プログラム421は、さらに、ライトデータのコンシステンシグループの自システム時刻管理テーブル1100を更新する(S209)。具体的には、入出力制御プログラム421は、上記コンシステンシグループのエントリにおいて、シーケンシャル番号カラム1102の値とライト時刻カラム1103の値を、上記取得したシーケンシャル番号とライト時刻に更新する。
 次に、図18のフローチャートを参照して、セカンダリストレージシステム220のジャーナル要求プログラム423がジャーナル転送コマンドを発行し、ジャーナルを収集する処理フローを説明する。セカンダリストレージシステム220のジャーナル要求プログラム423は、ジャーナル転送コマンドをプライマリストレージシステム120へ発行する(S301)。ジャーナル転送コマンド1400は、図14に示すように、自システムと相手システムのコンシステンシID、自システムのシーケンシャル番号、受信済みシーケンシャル番号を含む。
 ジャーナル要求プログラム423は、プライマリストレージシステム120から、送信したジャーナル転送コマンドに対する返り値を受信する(S302)。返り値1500は、図15に示す構成を有する。ジャーナル要求プログラム423は、返り値1500の終了ステータスのセクション1501を参照し、終了ステータスが「SUCCESS」であるか否かを判定する(S303)。
 終了ステータスが「SUCCESS」でない場合(S303:NO)、ジャーナル要求プログラム423は、このフローを終了する。終了ステータスが「SUCCESS」である場合(S303:YES)、ジャーナル要求プログラム423は、ジャーナル転送コマンドの返り値のジャーナルを、セカンダリジャーナル管理テーブル602へ追加する(S304)。
 ジャーナル要求プログラム423は、さらに、受信したジャーナルのデータによって、相手システム時刻管理テーブル1200を更新する(S305)。具体的には、ジャーナル要求プログラム423は、相手システム時刻管理テーブル1200において、受信した各ジャーナルが属するコンシステンシグループのエントリにおいて、シーケンシャル番号カラム1202、ライト時刻カラム1203の値を、ジャーナル転送コマンドの返り値の最新シーケンシャル番号と最新ライト時刻に更新する。
 次に、図19のフローチャートを参照して、プライマリストレージシステム120のジャーナル転送プログラム424による、ジャーナル転送コマンドに応答した処理フローを説明する。ジャーナル転送プログラム424は、ジャーナル転送コマンドを受信すると、それに含まれるデータにより相手システム時刻管理テーブル1200を更新する(S401)。
 具体的には、ジャーナル転送プログラム424は、ジャーナル転送コマンド1400における、セカンダリボリュームへの反映済みジャーナルのシーケンシャル番号のセクション1404の値を取得し、さらに、相手システムコンシステンシグループIDのセクション1403が示すコンシステンシグループにおける、上記シーケンシャル番号のジャーナルのライト時刻の値を、プライマリジャーナル管理テーブル601から取得する。
 ジャーナル転送プログラム424は、相手システム時刻管理テーブル1200のジャーナル転送コマンド1400が示すコンシステンシグループのエントリにおいて、シーケンシャル番号カラム1202とライト時刻カラム1203の値を、上記取得した値で更新する。
 さらに、ジャーナル転送プログラム424は、相手システムのコンシステンシグループIDのセクション1403が示すコンシステンシグループにおいて、セカンダリボリュームへの反映済みジャーナルのシーケンシャル番号のセクション1404が示すシーケンス番号より小さいシーケンス番号を有するジャーナルを、プライマリジャーナル管理テーブル601から削除する(S402)。これらのジャーナルは、すでにセカンダリボリュームに反映されており、必要容量を削減する。ジャーナル転送プログラム424は、ジャーナルを削除しなくともよい。
 ジャーナル転送プログラム424は、ジャーナル転送コマンドに対する返り値(応答)を生成して(S403、S404)、それをプライマリストレージシステムに送信する(S405)。具体的には、ジャーナル転送プログラム424は、返り値1500の最新シーケンシャル番号セクション1505に自システム時刻管理テーブル1100における該当コンシステンシグループのシーケンシャル番号カラム1102の値を設定し、最新ライト時刻セクション1506にライト時刻カラム1103の値を設定する(S403)。
 ジャーナル転送プログラム424は、返り値1500の自システムのコンシステンシIDセクション1502、相手システムのコンシステンシグループIDのセクション1503に、ジャーナル転送コマンド1400で指定されたコンシステンシグループIDの値を設定する。
 ジャーナル転送プログラム424は、さらに、終了ステータスのセクション1501に「SUCCESS」を設定し、ジャーナルのセクション1504に転送するジャーナルを格納する(S404)。ジャーナル転送プログラム424は、生成した返り値1500をセカンダリストレージへ発信する(S405)。
 次に、図20のフローチャートを参照して、セカンダリストレージシステムのセカンダリボリューム反映プログラム425がジャーナルをセカンダリボリュームに反映するフローを説明する。セカンダリボリューム反映プログラム425は、セカンダリジャーナル管理テーブル602に、ジャーナルが存在しているか否かを判定する(S501)。
 ジャーナルが存在していない場合(S501:NO)、セカンダリボリューム反映プログラム425は、このフローを終了する。ジャーナルが存在している場合(S501:YES)、セカンダリボリューム反映プログラム425は、ジャーナルのライトデータをセカンダリボリュームへ反映する(S502)。
 さらに、セカンダリボリューム反映プログラム425は、自システム時刻管理テーブル1200において、セカンダリボリュームに反映したジャーナルのコンシステンシグループのエントリにおけるシーケンシャル番号カラム1102及びライト時刻カラム1103の値を、反映したジャーナルのシーケンシャル番号とライト時刻の値により更新する(S503)。セカンダリボリューム反映プログラム425は、セカンダリボリュームに反映したジャーナルを、セカンダリジャーナル管理テーブル602から削除する(S504)。
 以下において、非同期リモートコピーにおけるデータの復旧可能時刻及び書き込み遅延時間の算出並びにそれらの提示方法を説明する。図21は、管理計算機140又は240のリモートコピー制御プログラム310が画像出力装置305において提示する画像の例である。図21の画像において、管理者は、入力装置306を使用してコピーグループIDのフィールド2101に値を入力し、更新ボタン2104を押す。
 リモートコピー制御プログラム310は、入力されたコピーグループIDで特定されるコンシステンシグループの復旧可能時刻及び書き込み遅延時間を取得して、復旧可能時刻のフィールド2102と書き込み遅延時間のフィールド2103に値を表示する。管理者は、入力装置306を使用してOKボタン2105を押して、表示を終了する。
 図22のフローチャートを参照して、復旧可能時刻及び書き込み遅延時間の算出方法を説明する。図22は、プライマリストレージシステム120又はセカンダリストレージシステム220が、管理計算機140又は240から、復旧可能時刻及び書き込む遅延時間の問い合わせコマンドを受信した時の、復旧時点目標計算プログラム426のフローを示している。
 管理計算機140又は240のリモートコピー制御プログラム310は、更新ボタン2104が押されたことを契機として、管理者が入力したコピーグループIDに対応するコンシステンシグループIDを、コピーグループ管理テーブル311を参照して特定する。リモートコピー制御プログラム310は、特定したコンシステンシグループID、自身のID及び送信先ストレージシステムのIDを含むコマンドを、プライマリストレージシステム120又はセカンダリストレージシステム220に送信する。
 復旧時点目標計算プログラム426は、受信したコマンドに含まれるコンシステンシグループIDについて、図22に示すフローを開始する。復旧時点目標計算プログラム426は、コンシステンシグループ管理テーブル431を参照し、指定されたコンシステンシグループIDについてライト時刻が設定されているか否かを判定する(S601)。ライト時刻が設定されていない場合(S601:NO)、「無効」との値を、問い合わせ元の管理計算機140又は240に返す(S602)。
 ライト時刻が設定されている場合(S601:YES)、復旧時点目標計算プログラム426は、問い合わせされているコンシステンシグループIDが、プライマリボリュームのコンシステンシグループのIDであるか、セカンダリボリュームのコンシステンシグループのIDであるか判定する(S603)。ストレージシステムは、プライマリストレージシステム及びセカンダリストレージシステムの双方の機能を持ち得、プライマリボリュームとセカンダリボリュームの双方を持ち得るからである。
 復旧時点目標計算プログラム426は、コンシステンシグループ管理テーブル432を参照して、コマンドで指定されたコンシステンシグループに含まれる論理ボリュームのIDを特定する。さらに、コピーペア管理テーブル432を参照して、上記論理ボリュームIDがプライマリボリュームのIDであるか、セカンダリボリュームのIDであるかを特定する。
 問い合わせされているコンシステンシグループIDが、プライマリボリュームのコンシステンシグループである場合(S603:YES)、復旧時点目標計算プログラム426は、次の計算方法により、復旧可能時刻と書き込み遅延時間とを算出する。さらに、復旧時点目標計算プログラム426は、算出した復旧可能時刻と書き込み遅延時間の値を含む返り値を、管理計算機140又は240のリモートコピー制御プログラム310に送信する(S604)。
・復旧可能時刻=相手システム時刻管理テーブルのライト時刻
・書き込み遅延時間
  =自システム時刻管理テーブルのライト時刻
     -相手システム時刻管理テーブルのライト時刻
 復旧可能時刻は、相手システム時刻管理テーブル1200における、問い合わせされているコンシステンシグループIDのエントリのライト時刻カラム1203の値である。書き込み遅延時間は、自システム時刻管理テーブル1100における、問い合わせされているコンシステンシグループIDのエントリのライト時刻カラム1103の値と、相手システム時刻管理テーブル1200における同一コンシステンシグループIDのエントリのライト時刻カラム1203の値との差分である。
 問い合わせされているコンシステンシグループIDが、セカンダリボリュームのコンシステンシグループである場合(S603:NO)、復旧時点目標計算プログラム426は、次の計算方法により、復旧可能時刻と書き込み遅延時間とを算出する。さらに、復旧時点目標計算プログラム426は、算出した復旧可能時刻と書き込み遅延時間の値を含む返り値を、管理計算機140又は240のリモートコピー制御プログラム310に送信する(S605)。
・復旧可能時刻=自システム時刻管理テーブルのライト時刻
・書き込み遅延時間
  =相手システム時刻管理テーブルのライト時刻
     -自システム時刻管理テーブルのライト時刻
 復旧可能時刻は、自システム時刻管理テーブル1100における、問い合わせされているコンシステンシグループIDのエントリのライト時刻カラム1103の値である。書き込み遅延時間は、相手システム時刻管理テーブル1200における問い合わせされているコンシステンシグループIDのエントリのライト時刻カラム1203の値と、自システム時刻管理テーブル1100における同一コンシステンシグループIDのエントリのライト時刻カラム1103の値との差分である。
 本実施形態によれば、非同期リモートコピーを行うシステムにおいて、適切に書き込み遅延時間及び復旧可能時刻を取得、監視することができる。また、書き込み遅延時間を算出するための情報を、ジャーナル転送コマンド又はその返り値に含めて転送するので、書き込み遅延時間を監視するための処理によるストレージシステム又はネットワークの負荷の増加を、低減することができる。
 以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。プログラムの一部又は全部は、専用ハードウェアによって実現されてもよい。プログラムは、プログラム配布サーバや、非一時的計算機読み取り可能媒体によって各計算機にインストールすることができ、各計算機の不揮発性外部記憶装置に格納することができる。
 上記計算機システムは、プライマリストレージシステム及びセカンダリストレージシステムの双方から、復旧可能時刻及び書き込み遅延時間の情報を取得することができるが、いずれか一方のみから情報を取得できる構成でもよい。システムは、ジャーナル転送コマンド又はその返り値の一方においてのみ、最新ライトデータの情報を転送すればよい。
 計算機システムは、セカンダリボリュームの最新ジャーナルのシーケンシャル番号を、ジャーナル転送コマンドとは異なるフレームに入れて、セカンダリストレージシステムからプライマリストレージシステムに転送してもよい。
 システムは、プライマリボリュームの最新ジャーナルのシーケンシャル番号を、ジャーナル転送コマンドに対する返り値と異なるフレームに含めてセカンダリストレージシステムに転送してもよい。ジャーナル転送コマンドの返り値は、ライト時刻の情報を含んでいれば、そのジャーナル又はライトデータを特定する情報を含まなくともよい。
 計算機システムは、書き込み遅延時間算出のためのジャーナル又はライトデータの特定のため、シーケンシャル番号とは異なる識別情報を使用してもよい。プライマリストレージシステムは、ジャーナルにライト時刻情報を含めず、ジャーナルとは別に、ライトデータのライト時刻を管理してもよい。
 管理システムは、ストレージシステムで行う処理の一部を行ってもよい。上記例において、ストレージシステムが復旧可能時刻及び書き込み遅延時間を算出するが、それらの計算機を管理システムが行ってもよい。管理システムは、これらの値を算出するための情報をストレージシステムからネットワークを介して取得する。復旧可能時刻及び書き込み遅延時間並びにこれらを算出するための情報は、復旧可能時刻及び書き込み遅延時間を示すための情報である。

Claims (13)

  1.  1以上のプライマリボリュームを有するプライマリストレージシステムと、
     前記プライマリストレージシステムからネットワークを介して受信した前記1以上のプライマリボリュームのコピーデータ、を格納する1以上のセカンダリボリュームを有する、セカンダリストレージシステムと、
     前記プライマリストレージシステムを管理する管理システムと、を含み、
     前記プライマリストレージシステムは、前記1以上のプライマリボリュームのライトデータのライト時刻を管理し、
     前記プライマリストレージシステムは、前記1以上のプライマリボリュームのライトデータと、前記1以上のプライマリボリュームへのライト順序を示す値と、を含むジャーナルを、前記セカンダリストレージシステムに順次送信し、
     前記セカンダリストレージシステムは、前記プライマリストレージシステムから受信した前記ジャーナルに含まれるライトデータを、前記ライト順序を示す値に従って、前記1以上のセカンダリボリュームに順次格納し、
     前記セカンダリストレージシステムは、前記1以上のセカンダリボリュームの最新ライトデータの識別情報を前記プライマリストレージシステムに送信し、
     前記プライマリストレージシステムは、前記識別情報が示すライトデータのライト時刻と、前記識別情報を受信した時における前記1以上のプライマリボリュームの最新ライトデータのライト時刻と、の間の遅延時間を示すための情報を、前記管理システムに送信する、計算機システム。
  2.  前記セカンダリストレージシステムは、前記プライマリストレージシステムに、ジャーナル転送コマンドを送信し、
     前記プライマリストレージシステムは、前記ジャーナル転送コマンドに応答して、ジャーナルを送信し、
     前記セカンダリストレージシステムは、前記識別情報を、前記ジャーナル転送コマンドに含めて前記プライマリストレージシステムに送信する、請求項1に記載の計算機システム。
  3.  前記プライマリストレージシステムは、前記識別情報が示すライトデータのライト時刻と、前記識別情報の受信時における前記1以上のプライマリボリュームの最新ライトデータのライト時刻と、の間の前記遅延時間を算出し、
     前記遅延時間を示すための情報は前記算出した遅延時間を含む、請求項1に記載の計算機システム。
  4.  前記プライマリストレージシステムは、1以上のプライマリボリュームからなる1以上のコンシステンシグループを含み、
     前記セカンダリストレージシステムは、前記1以上のコンシステンシグループに対応する、1以上のセカンダリボリュームからなる1以上のコンシステンシグループを含み、
     前記プライマリストレージシステムと前記セカンダリストレージシステムとは、各コンシステンシグループにおいて、ライトデータの書き込み順序を管理し、
     前記プライマリストレージシステムは、前記プライマリストレージシステムにおける各コンシステンシグループについての前記遅延時間を示すための情報を前記管理システムに送信する、請求項1に記載の計算機システム。
  5.  前記プライマリストレージシステムは、前記1以上のプライマリボリュームのジャーナルを格納するジャーナル管理情報を含み、
     前記プライマリストレージシステムは、前記識別情報のライトデータのジャーナル以前の前記1以上のプライマリボリュームのジャーナルを、前記ジャーナル管理情報から削除する、請求項2に記載の計算機システム。
  6.  前記プライマリストレージシステムはタイマを含み、
     前記プライマリストレージシステムは、前記ライトデータを受信した後に前記タイマが示す時刻を前記ライト時刻と決定する、請求項1に記載の計算機システム。
  7.  前記プライマリストレージシステムはタイマを含み、
     前記プライマリストレージシステムは、受信したライトコマンドに時刻情報が含まれているか否かを判定し、
     前記プライマリストレージシステムは、前記ライトコマンドに時刻情報が含まれている場合に前記時刻情報が示す時刻を前記ライト時刻と決定し、前記ライトコマンドに時刻情報が含まれていない場合に前記タイマが示す時刻を前記ライト時刻と決定する、請求項1に記載の計算機システム。
  8.  前記プライマリストレージシステムから前記セカンダリストレージシステムに転送されるジャーナルは、当該ジャーナルに含まれるライトデータのライト時刻の情報をさらに含み、
     前記プライマリストレージシステムは、前記1以上のプライマリボリュームの最新ライトデータのライト時刻を前記セカンダリストレージシステムに送信し、
     前記セカンダリストレージシステムは、前記受信したライト時刻と、前記1以上のセカンダリボリュームの最新ライトデータのライト時刻との間の遅延時間を示すことができる情報を、前記セカンダリストレージシステムを管理する管理システムに送信する、請求項1に記載の計算機システム。
  9.  前記セカンダリストレージシステムは、前記プライマリストレージシステムに、ジャーナル転送コマンドを送信し、
     前記プライマリストレージシステムは、前記ジャーナル転送コマンドに応答して、ジャーナルを含む返り値を送信し、
     前記プライマリストレージシステムは、前記ライト時刻を、前記返り値に含めて前記セカンダリストレージシステムに送信する、請求項8に記載の計算機システム。
  10.  前記管理システムは、前記遅延時間を示すための情報から前記遅延時間を決定して表示装置で表示する、請求項1に記載の計算機システム。
  11.  前記識別情報は、前記プライマリストレージシステムから前記セカンダリストレージシステムに転送された、前記1以上のセカンダリボリュームの前記最新ライトデータのジャーナル、に含まれる前記ライト順序を示す値である、請求項1に記載の計算機システム。
  12.  1以上のプライマリボリュームを有するプライマリストレージシステムと、
     前記プライマリストレージシステムとネットワークを介して通信し、前記1以上のプライマリボリュームのコピーデータを格納する1以上のセカンダリボリュームを有する、セカンダリストレージシステムと、
     前記セカンダリストレージシステムを管理する管理システムと、を含み、
     前記プライマリストレージシステムは、前記1以上のプライマリボリュームへのライトデータのライト時刻を管理し、
     前記プライマリストレージシステムは、前記1以上のプライマリボリュームへのライトデータと、前記1以上のプライマリボリュームへのライト順序を示す値と、前記ライトデータのライト時刻を含むジャーナルを、前記セカンダリストレージシステムに順次送信し、
     前記セカンダリストレージシステムは、前記プライマリストレージシステムから受信した前記ジャーナルに含まれるライトデータを、前記ライト順序を示す値に従って、前記1以上のセカンダリボリュームに順次格納し、
     前記プライマリストレージシステムは、前記1以上のプライマリボリュームへの最新ライトデータのライト時刻を前記セカンダリストレージシステムに送信し、
     前記セカンダリストレージシステムは、前記受信したライト時刻と、前記1以上のセカンダリボリュームに格納された最新ライトデータのライト時刻との間の遅延時間を示すための情報を、前記管理システムに送信する、計算機システム。
  13.  前記セカンダリストレージシステムは、前記プライマリストレージシステムに、ジャーナル転送コマンドを送信し、
     前記プライマリストレージシステムは、前記ジャーナル転送コマンドに応答して、ジャーナルを含む返り値を送信し、
     前記プライマリストレージシステムは、前記ライト時刻を、前記返り値に含めて前記セカンダリストレージシステムに送信する、請求項12に記載の計算機システム。
PCT/JP2011/077228 2011-11-25 2011-11-25 計算機システム WO2013076872A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US13/387,815 US20130138903A1 (en) 2011-11-25 2011-11-25 Computer system
PCT/JP2011/077228 WO2013076872A1 (ja) 2011-11-25 2011-11-25 計算機システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/077228 WO2013076872A1 (ja) 2011-11-25 2011-11-25 計算機システム

Publications (1)

Publication Number Publication Date
WO2013076872A1 true WO2013076872A1 (ja) 2013-05-30

Family

ID=48467886

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/077228 WO2013076872A1 (ja) 2011-11-25 2011-11-25 計算機システム

Country Status (2)

Country Link
US (1) US20130138903A1 (ja)
WO (1) WO2013076872A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015072026A1 (ja) * 2013-11-18 2015-05-21 株式会社日立製作所 計算機システム
US10678663B1 (en) * 2015-03-30 2020-06-09 EMC IP Holding Company LLC Synchronizing storage devices outside of disabled write windows
US11112970B2 (en) * 2017-06-12 2021-09-07 Sap Se Software system logging based on runtime analysis
US11436098B2 (en) * 2018-08-02 2022-09-06 EMC IP Holding Company LLC Crash recovery of vRPA cluster protection engine
US11144407B1 (en) 2019-09-30 2021-10-12 Amazon Technologies, Inc. Synchronous database geo-mirroring using delayed visibility write operations
US11288112B1 (en) * 2019-09-30 2022-03-29 Amazon Technologies, Inc. Enforcing data loss thresholds for performing updates to mirrored data sets
US20220334929A1 (en) * 2021-04-14 2022-10-20 Pure Storage, Inc. Ensuring timely restoration of an application

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000137638A (ja) * 1998-10-29 2000-05-16 Hitachi Ltd 情報記憶システム
JP2006053737A (ja) * 2004-08-11 2006-02-23 Nec Corp レプリケーションシステム及びレプリケーション方法
US20060277384A1 (en) * 2005-06-01 2006-12-07 Hitachi, Ltd. Method and apparatus for auditing remote copy systems
JP2009123055A (ja) * 2007-11-16 2009-06-04 Hitachi Ltd ストレージシステム及びリモートコピー制御方法
JP2010146198A (ja) * 2008-12-17 2010-07-01 Hitachi Ltd ストレージシステム、データ復旧可能時刻の推定値の算出方法、および、管理計算機
JP2011134152A (ja) * 2009-12-25 2011-07-07 Hitachi Ltd 情報処理装置及びその制御方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0128271B1 (ko) * 1994-02-22 1998-04-15 윌리암 티. 엘리스 재해회복을 위한 일관성 그룹 형성방법 및 레코드갱싱의 섀도잉 방법, 주시스템, 원격데이타 섀도잉 시스템과 비동기 원격데이타 복제 시스템
JP4477370B2 (ja) * 2004-01-30 2010-06-09 株式会社日立製作所 データ処理システム
JP2009015476A (ja) * 2007-07-03 2009-01-22 Hitachi Ltd Cdpリモート構成におけるジャーナル管理方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000137638A (ja) * 1998-10-29 2000-05-16 Hitachi Ltd 情報記憶システム
JP2006053737A (ja) * 2004-08-11 2006-02-23 Nec Corp レプリケーションシステム及びレプリケーション方法
US20060277384A1 (en) * 2005-06-01 2006-12-07 Hitachi, Ltd. Method and apparatus for auditing remote copy systems
JP2009123055A (ja) * 2007-11-16 2009-06-04 Hitachi Ltd ストレージシステム及びリモートコピー制御方法
JP2010146198A (ja) * 2008-12-17 2010-07-01 Hitachi Ltd ストレージシステム、データ復旧可能時刻の推定値の算出方法、および、管理計算機
JP2011134152A (ja) * 2009-12-25 2011-07-07 Hitachi Ltd 情報処理装置及びその制御方法

Also Published As

Publication number Publication date
US20130138903A1 (en) 2013-05-30

Similar Documents

Publication Publication Date Title
WO2013076872A1 (ja) 計算機システム
US6643671B2 (en) System and method for synchronizing a data copy using an accumulation remote copy trio consistency group
EP1785868B1 (en) Remote storage disk control device and method for controlling the same
JP5192226B2 (ja) 待機系計算機の追加方法、計算機及び計算機システム
JP4892185B2 (ja) 分散リモートコピーシステム
EP2704011A1 (en) Management method of virtual storage system and remote copy system
US8060478B2 (en) Storage system and method of changing monitoring condition thereof
US20060123212A1 (en) Remote copy system having multiple data centers
US20140122816A1 (en) Switching between mirrored volumes
US20100036896A1 (en) Computer System and Method of Managing Backup of Data
US9058127B2 (en) Data transfer in cluster storage systems
WO2014170952A1 (ja) 計算機システム、計算機システム管理方法及びプログラム
JP5286212B2 (ja) ストレージクラスタ環境でのリモートコピー制御方法及びシステム
US10747624B2 (en) Storage system and control method of storage system using asynchronous remote copying to backup volume at specific time points
EP2759937B1 (en) Method and apparatus for efficient remote copy
JP5422657B2 (ja) ストレージシステム及びストレージシステムの処理効率向上方法
US11579983B2 (en) Snapshot performance optimizations
JP2005309793A (ja) データ処理システム
JP2008269469A (ja) ストレージシステム及びその管理方法
JP2010020410A (ja) リモートコピーシステム及びリモートコピー方法
JPWO2011048641A1 (ja) リモートコピーシステム及びリモートコピー制御方法
US10019182B2 (en) Management system and management method of computer system
US10761767B2 (en) Computer system and method for controlling storage apparatus that has replication direction from first logical device (in first storage) to second logical device (in second storage) and from said second logical device to third logical device (in said second storage), wherein said replication direction is reversed when second computer takes over for first computer
JP2006099440A (ja) リモートコピーシステム
US9846555B2 (en) Storage system and method of creating backup of storage system

Legal Events

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

Ref document number: 13387815

Country of ref document: US

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

Ref document number: 11876131

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: 11876131

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP