This application relates to and claims priority from Japanese Patent Application No. 2007-262675, filed on Oct. 5, 2007, the entire disclosure of which is incorporated herein by reference.
The invention relates to a storage system, and it is particularly suitable for application in the management of a data replication technique in a storage system.
Because of the widespread use of computers, the size of data dealt with in the computers is growing each year. A storage apparatus is an apparatus for keeping a large volume of data safely and efficiently; and is connected to computers via communication lines so that it provides a volume (a container for data). If a computer system including a storage system stops because of an unexpected trouble or a disaster, etc., it can have serious effects on businesses.
DR (disaster recovery) indicates taking over and carrying on operations at remote locations even if a computer system stops, or that kind of technique in general. As an element technique for achieving this, a remote-copying is known.
Remote-copying is a technique for holding a copy of data in a storage array at remote locations, and has two systems: a synchronous system and an asynchronous system. The synchronous system ensures an exact match to data at remote locations, but the more it ensures an exact match, the more performance overhead for writing increases, so distance limitations exist in practice. On the other hand, the asynchronous system is practical even over long distances because it does not have writing overhead; however, it cannot ensure an exact match to the latest data. In the asynchronous system, update data for sending to and receiving from remote locations is referred to as a journal; and a journal volume is often used as a place to hold the journal temporarily. When a journal is reflected in volumes at remote locations, the previously reflected journal is allowed to be deleted or overwritten so the capacity of the journal volume is not exceeded. Hereinafter, the asynchronous system is referred to as an asynchronous copy technique or asynchronous copy function.
In cases when data is inaccessible because of an error or misoperation in business applications or a virus infection, etc. as well as the failure of a storage array as described above, the storage array has a function to create the backup of a volume, which is a unit of data storage. The backup is created at a given point in time; and after a failure, data can be rebuilt using the previously created backup. CDP (Continuous Data Protection) indicates a technique capable of rebuilding data post-failure at a given point in time by keeping a backup of update data each time data is written, as a journal in chronological order.
JP2005-222110 A discloses a technique to implement CDP in a storage array at a remote location. As an example of CDP, an implementation method is known wherein data at a specified point in time in the past is held as a base volume; update data (a journal) is arbitrarily provided to the base volume and data at a given point in time is thereby rebuilt. In that situation, journals retained beyond a predetermined data retention period are provided to the base volume one after another, and the provided journals are allowed to be deleted or overwritten so that the capacity of the journal volume is not exceeded (see JP2005-222110 A).
As a configuration associated with DR, copy creation for remote locations using an asynchronous copy function, and a CDP function for recovery to a given point in time, are different in use; however, are both highly necessary. Therefore, they are normally used at the same time. In that case, in the conventional technique, the asynchronous copy function and the CDP respectively need a journal volume, and they both hold update data, so the problem of using the capacity of volumes and a journal control resource inefficient may arise. However, if they simply use the same journal, the asynchronous copy function deletes unnecessary journal data that has already been copied to remote locations one after another, so data during the data retention period in the CDP may be lost. Or otherwise, data may be lost, even though the data has not yet been copied by the asynchronous copy function, because the journal data retained beyond the data retention period in the CDP, is considered as unnecessary data.
The current invention has been devised in consideration of the above-described points, and it is an object of the present invention to provide a storage system capable of reducing volumes used by storage arrays and reducing computational resources for controlling journals.
In the invention, with a configuration where an asynchronous copy function and a CDP function share a journal volume, when the journal volume is updated, only the journal data, which is provided to both a volume at a remote location and a base volume, is set to be a target for deletion or overwriting.
With respect to data using both the asynchronous copy function and the CDP function, the asynchronous copy function and the CDP function share the journal volume, so the number of volumes used by a storage system and computational resources for controlling journals can be reduced.
According to an aspect of the invention, a storage system including a first storage system connected to a host via a communication channel, and a second storage system connected to the first storage system via a communication channel, is provided with: a first data volume for writing data sent from the host, wherein the first data volume is included in the first storage system; a first journal volume for writing the data stored in the first data volume as journal data, identifiable and in chronological order, wherein the first journal volume is included in the first storage system; a second data volume keeping previous data, wherein the second data volume is included in the first storage system; a first storage controller that recovers the first data volume by providing the journal data to the second data volume; a second journal volume for storing the journal data of the first journal volume in the second storage system, wherein the second journal volume is included in the second storage system; a third data volume that is a replica of the first data volume, wherein the third data volume is included in the second storage system; a second storage controller retrieving the journal data from the first journal volume, providing the journal data of the second journal volume to the third data volume, thereby synchronizing the data with data of the first data volume; and a third storage controller designating, from among the journal data stored in the first journal volume, the journal data provided to both the second data volume and the third data volume as a target for deletion or overwriting.
Also, according to an aspect of the invention, a storage system including a first storage system and a second storage system is provided with: a first data volume for writing data sent from a host, wherein the first data volume is included in the first storage system; a first journal volume for writing the data stored in the first data volume as journal data, identifiable and in chronological order, wherein the first journal volume is included in the first storage system; a second journal volume for storing the journal data of the first journal volume, wherein the second journal volume is included in the second storage system; a second data volume which is a replica of the first data volume, wherein the second data volume is included in the second storage system; a first storage controller retrieving the journal data from the first journal volume, providing the journal data of the second journal volume to the second data volume, thereby synchronizing data with data of the first data volume; a third data volume keeping previous data, wherein the third data volume is included in the second storage system; a second storage controller that recovers the first data volume by providing the journal data of the second journal volume to the third data volume; and a third storage controller designating, from among the journal data stored in the second journal volume, the journal data provided to both the second data volume and the third data volume as a target for deletion or overwriting.
Furthermore, according to an aspect of the invention, a storage system including a first storage system connected to a host via a communication channel, and a second storage system connected to the first storage system via a communication channel, is provided with: a first data volume for writing data sent from the host, wherein the first data volume is included in the first storage system; a first journal volume for writing the data stored in the first data volume as journal data, identifiable and in chronological order, wherein the first journal volume is included in the first storage system; a second data volume keeping previous data in the first storage system, wherein the second data volume is included in the first storage system; a first storage controller that recovers the first data volume by providing the journal data to the second data volume; a second journal volume for storing the journal data of the first journal volume in the second storage system, wherein the second journal volume is included in the second storage system; a third data volume which is a replica of the first data volume, wherein the third data volume is included in the second storage system; a second storage controller retrieving the journal data from the first journal volume, providing the journal data of the second journal volume to the third data volume, thereby synchronizing the data with data of the first data volume; a fourth data volume keeping previous data in the second storage system, wherein the fourth data volume is included in the second storage system; a third storage controller that recovers the first data volume by providing the journal data of the second journal volume to the fourth data volume; and a fourth storage controller designating, from among the journal data stored in the first journal volume, the journal data that is provided to all the second data volume, the third data volume and the fourth data volume as a target for deletion or overwriting.
According to the invention, it is possible to provide a storage system capable of reducing volumes used by storage arrays and computational resources for controlling journals.
Other aspects and advantages of the invention will be apparent from the following description and the appended claims.
An embodiment of the present invention will be described below with reference to the attached drawings. It should be understood that the present invention is not limited to these embodiments.
First, a first embodiment will be described.
Host computers 2201 and 2202 are computers such as a personal computer, workstation, or mainframe, etc. In the host computers 2201 and 2202, application programs for various kinds of business or uses, such as databases, etc., are executed. Any number of host computers may connect to a storage array 1001 via a storage network 3001. Furthermore, the host computers 2201 and 2202 send and receive, to/from the storage array 1001, commands and data that are necessary for input and output during information processing; and when making changes to data, the host computers send a write request to the storage array. The host computer 2202 is equivalent to the host computer 2201, so its description will be omitted hereinafter.
The storage array 1001 receives a command or data transmitted via the storage network 3001; performs predetermined processing; and provides a predetermined response to the host computer 2201. A storage array 1002 holds a replica of data in the storage array 1001, and it is usually placed at a remote location (for the sake of simplicity, hereinafter referred to as a “remote site”); however, distance is no object. Furthermore, the storage array 1002 may communicate with the host computer 2201. The storage array 1002 is referred to as a “remote site,” but the storage array 1001 may be referred to as a “local site” or “master end.”
A management server 2000 is a computer for managing the configuration, maintenance and performance, etc. of the storage array 1001 or 1002 via a management network 3501. A management client 2100 is a computer for connecting to the management server 2000 from a remote location, and for using a management function in the management server. Moreover, the management client 2100 is optional. The management server 2000 is necessary only when performing the aforementioned management, so after completing settings necessary for implementing the invention, the management server 2000 is not essential. Also, the management server 2000 connects to the storage network 3001, so that it can be configured to not use the management network 3501 (for example, managing In-Band only).
The flow of the entire processing will be described below, with the details to be described later. The storage array 1001 stores data input from the host computer 2201 in a business volume (P-VOL1501). When data is written to the P-VLO1501, a journal control program (JNL control program PG1201) writes update data to a master journal volume (MJNL VOL1531) as journal data. In order to protect data in the P-VOL1501 using a CDP function, the JNL control program PG1201 provides journal data retained beyond a target retention period to a base volume (base VOL1511 or BVOL1511). Furthermore, data in the P-VOL1501 is transferred to a remote journal volume (RJNL VOL1532) at a remote site by using an asynchronous copy function. A JNL control program PG1202 at remote site end provides journal data in the RJNL VOL1532 to a secondary volume (S-VOL1502).
Control of the transfer of the journal data in the MJNL VOL1531 to the RJNL VOL1532 using the asynchronous copy function may be performed at the remote end, according to the remote end convenience. Furthermore, the physical media constituting the volumes described herein may be not only hard disk drives (including RAID), but also flash memory or magnetic tape, however, it is not limited to these media.
Requests from management server 2000 managing configuration setting and maintenance, etc., are received by the controller 1401 via a management port 1311. With regard to configuration setting, configuration information held in internal cache memory, etc., is updated, and various changes such as configuration change of a volume and copying-related establishment, etc., are performed. The management port 1311 may share the same port with the business port 1321 or 1322.
Programs executed in the controller 1401 are loaded to memory 1101, thereby respective programs are controlled from a micro program PG1200. In that case, the JNL control program PG1201 is merely an abstraction of a CDP JNL control program PG1211, an asynchronous copy MJNL control program PG1221, and a JNL common control program PG1231, and it does not indicate any structural relationship between the respective control programs. Moreover, management information the JNL control program PG1201 uses during operation is held as a management table (TBL) in memory 1101. However, this management information is not required to be held in the memory 1101, it only has to be held in a place accessible from the JNL control program PG1201, such as a management system disk, etc.
The management tables held in the memory 1101 are, as shown in
The management tables held in the memory 1102 are, as shown in
The copy group 1620 described herein is an identifier related to copying between journal volumes; however, it does not ensure the order of data updates in different journal volumes. Moreover, when associating a single journal volume as MJNL VOL1531 or RJNL VOL1532, copy groups and journal groups are not required to be controlled on a group basis. One or more base VOLs1511 can be arranged during the target retention period. The difference in journal data can be reduced by arranging the base VOL1511 as shown in
The asynchronous copy function copies journal data from the MJNL VOL1531 to the RJNL VOL1532 using the asynchronous copy MJNL control program PG1221 and an asynchronous copy RJNL control program PG1222. Journal data and associated sequence numbers in the MJNL VOL1531 are the same as those in the RJNL VOL1532.
The asynchronous copy RJNL control program PG1222 retrieves the journal data, which does not exist in the RJNL VOL1532, from the JNL VOL1532 at a set time. One of the sequence numbers from the head JNL#6111 to a RJNL copied #6222 is designated as a RJNL to-be-copied #6212, the RJNL to-be-copied #6212 is journal data that is a copy target for being copied to the RJNL VOL1532 side. Providing journal data from a JNL VOL to a SVOL or a BVOL is referred to as an promote. Among the sequence numbers of journal data that has been promoted to S-VOL1502, the latest (the largest) number is set as a SVOL promoted #6242. The S-VOL promoted #6242 and the journal data having earlier numbers are regarded as able to be overwritten or deleted. The asynchronous copy RJNL control program PG1222 authorizes overwriting of the other journal data or deletes the journal data (hereinafter this may be referred to as “purge”). When S-VOL promoted #6242 is updated, the asynchronous copy RJNL control program PG1222 reports the updated SVOL promoted #6242 to the JNL common control program PG1231.
The CDP function can recover data at a given point in between the current time and a predetermined target retention period 6121. The journal data retained beyond the target retention period 6121 is promoted to a BVOL. The journal data that is promoted can be regarded as unnecessary for the CDP function. The CDP JNL control program PG1211 sets a BVOL to-be-promoted #6131 as a target for promotes, and a BVOL promoted #6141 as the journal data that has been promoted. When the BVOL promoted #6141 is promoted, the CDP JNL control program PG1211 reports the promoted BVOL promoted #6141 to the JNL common control program PG1231.
After receiving the report, or at a set time, the JNL common control program PG1231 compares an promoted # with the MJNL purge target #6151; if there is a number earlier (a number smaller) than the MJNL purge target #6151, the JNL common control program PG1231 sets the earliest number as the MJNL purge target #6151. Within the MJNL VOL1531, the MJNL purge target #6151 and the journal data having earlier numbers are regarded as able to be overwritten or deleted. The JNL common control program PG1231 authorizes overwriting the other journal data or deletes the journal data.
Tables for managing the configuration of a journal volume according to the invention are shown in
The JNL control program PG1211 manages, by using the MJNL VOL configuration management table TBL4100, associating a journal volume (4100B) constituting the master end journal group, a remaining capacity (4100D) and a copy pair (4100C) with one another. Also, the JNL control program PG1212 manages, by using the RJNL VOL configuration management table TBL4200, associating a journal volume (4200B) constituting a remote end journal group, remaining capacity (4200D), and a copy pair (4200C) with one another. With respect to the remaining capacity, the JNL control program PG1212 regularly or serially monitors the value of the remaining capacity in cooperation with the micro program-program 1200, etc.; and if the value changes, the JNL control program PG1212 updates the tables. When a plurality of journal groups exist, tables in
Each journal data is associated with a sequence number 4511, and stored in the MJNL VOL1531. The master journal data management table 4501 of the MJNL VOL1531 includes a time when journal data is written by a business host (creation time 4520), location where journal data is stored in a business volume (PVOL address 4530), data length 4540, and location where journal data is stored in an MJNL VOL (MJNL address 4550). In the figures, for descriptive purposes, an address on a volume is specified by capacity; however, a method for specifying an address is not limited to any specific method. For example, a block address may be specified by serial numbers such as an LBA (Logical Block Address). Also, a method for specifying an address by cylinder/head/sector, may be used. The remote journal data management table 4502 of the RJNL VOL1532 includes management items equivalent to those in the master journal data management table 4501.
In the asynchronous copy function, the asynchronous copy MJNL control program PG1221 reports to the asynchronous copy RJNL control program PG1222 that update data is written to the MJNL VOL1531. The asynchronous copy RJNL control program PG1222 changes an RJNL to-be-copied #6212 in the RJNL VOL sequence number management table TBL4602 within a range where update data exists, and then arbitrarily copies journal data from the MJNL VOL1531 (RJNL update data retrieve 5121). After completion of copying, the latest journal data copied to the RJNL VOL1532 is set as an RJNL copied #6222. The asynchronous copy RJNL control program PG1222 determines, from the SVOL promoted # to the RJNL copied #6222, the range of journal data that is a target for promoting to the S-VOL1502; and then sets the range in RJNL VOL sequence number management table TBL4602 as a S-VOL to-be-promoted #6232 (SVOL promote start 5122). When the promoting to the S-VOL1502 is completed (SVOL promote completed 5123), the latest journal data among the post-promote journal data is set in the RJNL VOL sequence number management table TBL4602 as an SVOL promoted #6242; and the aforementioned sequence number 6242 is reported to the JNL common control program PG1231 of the storage array 1001. Normally, promoting to SVOL is performed immediately after a journal is updated; however, it may be delayed because of a failure or a load increase.
In the CDP function, the CDP JNL control program PG1211 determines, in accordance with the target retention period 6121 which is set in a business volume management table TBL4300, the previous time when data should go back to, based on the current time; and specifies, from a master journal data management table TBL4501, the sequence number of the journal data that is the latest prior to the aforementioned previous time (FIG. 14: 5111). If this sequence number is later (larger) than a base VOL to-be-promoted #6131 in the MJNL VOL sequence number management table TBL4601, the CDP JNL control program PG1211 replaces the base VOL to-be-promoted #6131 with the aforementioned sequence number. The CDP JNL control program PG1211 performs a BVOL promote on earlier sequence numbers, within a range from BVOL promoted #6141 or later to before BVOL to-be-promoted # (BVOL promote start 5112). Then, the latest journal data from among the post-promote journal data is set as a BVOL promoted #6141 in the MJNL VOL sequence number management table TBL4601, and the aforementioned sequence number 6241 is reported to the JNL common control program PG1231 (BVOL promote completed 5113).
The JNL common control program PG1231 waits for a report from a JNL control program PG, that an promote is completed; and when it receives any or both reports, starts to perform processing for determining whether or not journal data in an MJNL VOL should be purged. The decision is made by comparing the SVOL promoted #6242 with the BVOL promoted #6141 (5131); and specifying an earlier sequence number (5141).
If this earlier sequence number is later (larger) than the MJNL purge target #6151, the MJNL purge target #6151 is replaced with the aforementioned earlier sequence number (5151). Out of the journal data having an MJNL purge target # and a sequence number earlier than the MJNL purge target #, the JNL control program PG authorizes, with respect to the journal data that is not purged, overwriting of the other journal data or deletes the journal data (MJNL purge execution 5152).
If purges to the journal data in the MJNL VOL1531 are too much for the capacity of the journal volume in the MJNL VOL1531, the MJNL VOL1531 cannot make additional writes beyond the capacity, so a write failure may occur. When this failure occurs, or is likely to occur, the flow of processing for specifying which of the CDP function and the asynchronous copy function caused the failure is shown in
As shown in
Journal suspension processing for when the available capacity of the master end journal volume goes below the specified amount is shown the flowchart in
Otherwise, even if the remaining capacity exceeds the aforementioned predetermined capacity threshold, the JNL control program PG1201 may not stop updating and may perform processing for promoting.
According to the first embodiment, even if the storage system 1 uses the CDP function in the storage array 1001, and also uses the asynchronous copy function in the storage array 1001 and the storage array 1002 at the same time, the storage system 1 can reduce the volume usage amount of the storage array 1001,1002 and computational resources for journal control by deleting journal data that is not necessary for both functions.
Next, a second embodiment will be described below. In the second embodiment, relative to the above-described first embodiment, the case where the journal volume-sharing is performed at remote site end will be described.
The storage array 1011 stores data input from the host computer 2201 in a business volume (P-VOL1501). When data is written to the P-VOL1501, a journal control program (JNL control program PG1251) writes update data to a master journal volume (MJNL VOL1531) as journal data. Data in the P-VOL1501 is transferred to a remote journal volume (RJNL VOL1532) at a remote site by using the asynchronous copy function. The JNL control program PG1252 at the remote site end provides journal data in the RJNL VOL1532 to a secondary volume (S-VOL1502). Furthermore, in order to protect data in the P-VOL1501 at the remote end using the CDP function, the JNL control program PG1252 provides journal data expiring the target retention period to a base volume (base VOL1512 or BVOL1512). Transferring the journal data in the MJNL VOL1531 to the RJNL VOL1532 using the asynchronous copy function may be controlled at the remote end, according to the remote end convenience.
The outline of processing will be described below. Update data in the P-VOL1501 is, as journal data, associated with sequence numbers in chronological order, and then stored in the MJNL VOL1541. When storing, the latest journal data in the MJNL VOL1541 is associated with the head JNL#6311. The journal data associated with the sequence numbers from the head JNL#6311 to the MJNL purge target #6351 are regarded as accessible journal data.
The asynchronous copy function copies journal data from an MJNL VOL1541 to an RJNL VOL1542 using the asynchronous copy MJNL control program PG1221 and the asynchronous copy RJNL control program PG1222 (5203). Journal data and associated sequence numbers in the MJNL VOL1541 are the same as those in the RJNL VOL1542. The asynchronous copy RJNL control program PG1222 retrieves the journal data, which does not exist in the RJNL VOL1542, from JNL VOL1542 at a set time. One of the sequence numbers from head JNL#6111 to RJNL copied #6222 is designated as RJNL to-be-copied #6212, the RJNL to-be-copied #6212 is journal data that is a copy target for being copied to the RJNL VOL1542 side (5221). Of the sequence numbers for journal data that has been promoted to the S-VOL1502, the latest (the largest) number is set to be as an SVOL promoted #6242 (5222). When the S-VOL promoted #6242 is updated, the asynchronous copy RJNL control program PG1222 reports the updated SVOL promoted #6242 to the JNL common control program PG1232.
The CDP function can recover data at a given point between the current time and a predetermined target retention period 6522. The journal data retained beyond the target retention period 6522 (5211: NO), is promoted to a BVOL (5212). The journal data that is promoted can be regarded as unnecessary for the CDP function. The CDP JNL control program PG1212 sets a BVOL to-be-promoted #6532 as a target for promotes, and a BVOL promoted #6542 as the journal data that has been promoted (5213). When the BVOL promoted #6542 is promoted, the CDP JNL control program PG1212 reports the promoted BVOL promoted #6542 to the JNL common control program PG1232.
The JNL common control program PG1232 specifies, after receiving the report or at a set time, the earliest sequence number from among the reported promoted #s (5231). If the aforementioned earliest sequence number is later (the number is larger) than the RJNL to-be-purged #6452 (5241: YES), the aforementioned earliest sequence number is set to be the RJNL to-be-purged #6452 (5251). If any change is made in the settings, the JNL common control program PG1232 reports the RJNL to-be-purged #6452 to the JNL common control program PG1231, and performs purging at a set time (5252).
The JNL common control program PG1231 compares, after receiving the report or at a set time, the RJNL to-be-purged #6452 with the MJNL purge target #6351; if the RJNL to-be-purged #6452 is later than the MJNL purge target #6351, the JNL common control program PG1231 sets the RJNL to-be-purged #6452 as the MJNL purge target #6351 (5261). The same steps are followed in executing purging (5262).
According to this second embodiment, when performing journal volume-sharing at remote site end, the same advantageous effect as that of the first embodiment can be achieved.
Next, a third embodiment will be described below. In the third embodiment, relative to the first and second embodiments, the case where the journal volume-sharing is performed both at local site end and at remote site end will be described.
The storage array 1021 stores data input from the host computer 2201 in a business volume (P-VOL1501). When data is written to the P-VOL1501, a journal control program (JNL control program PG1271) writes update data to a master journal volume (MJNL VOL1551) as journal data. Data in the P-VOL1501 is transferred to a remote journal volume (RJNL VOL1552) at a remote site by using the asynchronous copy function. The JNL control program PG1272 at the remote site end provides journal data in the RJNL VOL1552 to a secondary volume (S-VOL1502). Furthermore, in order to protect data in the P-VOL1501 using the CDP function, at the local end, the JNL control program PG1271 provides journal data retained beyond the target retention period to a base volume (base VOL1511 or BVOL1511); at the remote end, the JNL control program PG1272 provides journal data retained beyond the target retention period to a base volume (base VOL1512 or BVOL1512). Transferring the journal data in the MJNL VOL1551 to the RJNL VOL1552 using the asynchronous copy function may be controlled at the remote end, according to the remote end convenience.
The outline of processing will be described below. Update data in the P-VOL1501 is, as journal data, associated with sequence numbers in chronological order, and then stored in the MJNL VOL1551. When storing, the latest journal data in the MJNL VOL1551 is associated with the head JNL#6611. The journal data associated with the sequence numbers from the head JNL#6611 to the MJNL purge target #6651 are regarded as accessible journal data.
The asynchronous copy function copies journal data from an MJNL VOL 551 to an RJNL VOL1552 using the asynchronous copy MJNL control program PG1221 and the asynchronous copy RJNL control program PG1222. Journal data and associated sequence numbers in MJNL VOL 551 are the same as those in the RJNL VOL1552. The asynchronous copy RJNL control program PG1222 retrieves the journal data, which does not exist in the RJNL VOL1552, from JNL VOL1552 at a set time. One of the sequence numbers from a head JNL#6611 to an RJNL copied #6722 is designated as an RJNL to-be-copied #6712; the RJNL to-be-copied #6212 is journal data that is a copy target for being copied to the RJNL VOL1552 side. Of the sequence numbers of journal data that has been promoted to the S-VOL1502, the latest (the largest) number is set to be an SVOL promoted #6742 (5222). When the S-VOL promoted #6742 is updated, the asynchronous copy RJNL control program PG1222 reports the updated SVOL promoted #6742 to the JNL common control program PG1232.
In the CDP function, first at the local end, the CDP JNL control program PG1211 sets a BVOL to-be-promoted #6631 as a target for promotes, and a BVOL promoted #6641 as the journal data that has been promoted. When the BVOL promoted #6641 is promoted, the CDP JNL control program PG1211 reports the promoted BVOL promoted #6641 to the JNL common control program PG1231. At the remote end, the CDP JNL control program PG1212 sets a BVOL to-be-promoted #6832 as a target for promoting, and BVOL promoted #6842 as the journal data that has been promoted. When the BVOL promoted #6842 is promoted, the CDP JNL control program PG1212 reports the promoted BVOL promoted #6842 to the JNL common control program PG1232.
The JNL common control program PG1232 specifies, after receiving the report or at a set time, the earliest sequence number from among the reported promoted #s. If the aforementioned earliest sequence number is later (the number is larger) than an RJNL to-be-purged #6752, the aforementioned earliest sequence number is set to be the RJNL to-be-purged #6752. If any change is made in the settings, the JNL common control program PG1232 reports the RJNL to-be-purged #6752 to the JNL common control program PG1231, and performs purging at a set time.
The JNL common control program PG1231 specifies, after receiving the report or at a set time, the earliest sequence number from among the reported promoted #s. If the aforementioned earliest sequence number is later (the number is larger) than an MJNL purge target #6651, the aforementioned earliest sequence number is set to be the MJNL purge target #6651.
According to this third embodiment, when performing journal volume-sharing both at a local site end and at a remote site end, the same advantageous effect as that of the first embodiment can be achieved.
In the above-described first embodiment, the invention has been described for the situation where the invention is provided in the storage system 1, which is provided with: the storage array 1001 connecting to the host computers 2201, 2202 via the storage network 3001, and the storage array 1002 connected to the storage array 1001 via the storage network 3001; the P-VOL1501 for writing data sent from the host computer 2201,2202, the P-VOL1501 being included in the storage array 1001; the MJNL VOL1531 for writing data stored in the P-VOL1501 as journal data, identifiable and in chronological order, the MJNL VOL1531 being included in the storage array 1001; the base VOL1511 holding previous data, the base VOL1511 being included in the storage array 1001; the CDP JNL control program PG1211 that recovers the P-VOL1501 by providing journal data to the base VOL1511; the RJNL VOL1532 for storing the journal data of the MJNL VOL1531 in the storage array 1002, the RJNL VOL1532 being included in the storage array 1002; the S-VOL1502, which is a replication of the P-VOL1501, the S-VOL1502 being included in the storage array 1002; the asynchronous copy MJNL control program PG1221 and the asynchronous copy RJNL control program PG1222 that retrieve journal data from the MJNL VOL1531, provide the journal data of the RJNL VOL1532 to the S-VOL1502, thereby synchronizing it with the data of the P-VOL1501; and the JNL common control program PG1231 designating, from among the journal data stored in the MJNL VOL1531, journal data that is provided to both the base VOL1511 and the S-VOL1502 as a target for deletion or overwriting. However, it should be understood that the invention is not limited to these embodiments.
Also, in the above-described second embodiment, the invention has been described for the situation where the invention is provided in the storage system 2, which is provided with: the storage array 1011 and the storage array 1012; the P-VOL1501 for writing data sent from the host computer 2201,2202, the P-VOL1501 being included in the storage array 1011; the MJNL VOL1541 for writing data stored in the P-VOL1501 as journal data, identifiable and in chronological order, the MJNL VOL1541 being included in the storage array 1011; the RJNL VOL1542 for storing the journal data of the MJNL VOL1541, the RJNL VOL1542 being included in the storage array 1012; the S-VOL1502, which is a replica of the P-VOL1501, the S-VOL1502 being included in the storage array 1012; the asynchronous copy MJNL control program PG1221 and the asynchronous copy RJNL control program PG1222 that retrieve journal data from the MJNL VOL1541, provide the journal data of the RJNL VOL1542 to the S-VOL1502, thereby synchronizing it with the data of the P-VOL1501; the base VOL1512 holding previous data, the base VOL1512 being included in the storage array 1012; the CDP JNL control program PG1212 that recovers the P-VOL1501 by providing the journal data of the RJNL VOL1542 to the base VOL1512; and the JNL common control program PG1232 designating, from among the journal data stored in the RJNL VOL1542, journal data that is provided to both the S-VOL1502 and the base VOL1512 as a target for deletion or overwriting. However, it should be understood that the present invention is not limited to these embodiments.
Furthermore, in the above-described third embodiment, the invention has been described for the situation where the invention is provided in the storage system 2, which is provided with: the storage array 1021 connecting to the host computers 2201, 2202 via the storage network 3001, and the storage array 1022 connected to the storage array 1021 via the storage network 3001; the P-VOL1501 for writing data sent from the host computer 2201,2202, the P-VOL1501 being included in the storage array 1021; the MJNL VOL1551 for writing data stored in the P-VOL1501 as journal data, identifiable and in chronological order, the MJNL VOL1551 being included in the storage array 1021; the base VOL1511 holding the previous data in the storage array 1021, the base VOL1511 being included in the storage array 1021; the CDP JNL control program PG1211 that recovers the P-VOL1501 by providing journal data to the base VOL1511; the RJNL VOL1552 for storing the journal data of the MJNL VOL1551 in the storage array 1022, the RJNL VOL1552 being included in the storage array 1022; the S-VOL1502 which is a replica of the P-VOL1501, the S-VOL1502 being included in the storage array 1022; the asynchronous copy MJNL control program PG1221 and the asynchronous copy RJNL control program PG1222 that retrieve journal data from the MJNL VOL1551, apply the journal data of the RJNL VOL1552 to the S-VOL1502, thereby synchronizing it with the data of the P-VOL1501; the base VOL1512 holding previous data in the storage array 1022, the base VOL1512 being included in the storage array 1022; and the JNL common control program PG1231 designating, from among the journal data stored in the MJNL VOL1551, journal data that is provided to both the base VOL1511 and the S-VOL1502 as a target for deletion or overwriting. However, it should be understood that the present invention is not limited to these embodiments.
The present invention can be broadly provided in storage systems.
Number | Date | Country | Kind |
---|---|---|---|
2007-262675 | Oct 2007 | JP | national |