U.S. patent application number 11/510568 was filed with the patent office on 2008-01-03 for storage system and data replication method.
Invention is credited to Shoji Kodama, Junji Ogawa.
Application Number | 20080005288 11/510568 |
Document ID | / |
Family ID | 38606477 |
Filed Date | 2008-01-03 |
United States Patent
Application |
20080005288 |
Kind Code |
A1 |
Kodama; Shoji ; et
al. |
January 3, 2008 |
Storage system and data replication method
Abstract
A first storage apparatus includes an identification unit that
identifies one or more requests for changing data storage area
logical configuration information from among one or more requests
sent from the host system a first changing unit that changes a data
storage area logical configuration information for the first
storage apparatus based on each of the one or more requests for
changing data storage area logical configuration information
identified by the identification unit and a transmission unit that
sends each of the one or more requests for changing data storage
area logical configuration information to the second storage
apparatus; and a second storage apparatus includes a second change
unit that changes data storage area logical configuration
information for the second storage apparatus to be the same as that
for the first storage apparatus based on each of the one or more
requests for changing data storage area logical configuration
information sent from the transmission unit.
Inventors: |
Kodama; Shoji; (Sagamihara,
JP) ; Ogawa; Junji; (Sagamihara, JP) |
Correspondence
Address: |
ANTONELLI, TERRY, STOUT & KRAUS, LLP
1300 NORTH SEVENTEENTH STREET, SUITE 1800
ARLINGTON
VA
22209-3873
US
|
Family ID: |
38606477 |
Appl. No.: |
11/510568 |
Filed: |
August 28, 2006 |
Current U.S.
Class: |
709/220 |
Current CPC
Class: |
G06F 11/2069
20130101 |
Class at
Publication: |
709/220 |
International
Class: |
G06F 15/177 20060101
G06F015/177 |
Foreign Application Data
Date |
Code |
Application Number |
Jun 29, 2006 |
JP |
2006-179430 |
Claims
1. A storage system comprising: a first storage apparatus connected
to a host system, that stores data transmitted from the host
system; and a second storage apparatus connected to the first
storage apparatus, that stores backup data for the first storage
apparatus, wherein the first storage apparatus includes: an
identification unit that identifies one or more requests for
changing data storage area logical configuration information from
among one or more requests sent from the host system, a first
changing unit that changes data storage area logical configuration
information for the first storage apparatus based on each of the
one or more requests for changing data storage area logical
configuration information identified by the identification unit,
and a transmission unit that sends each of the one or more requests
for changing data storage area logical configuration information to
the second storage apparatus; and the second storage apparatus
includes: a second change unit that changes data storage area
logical configuration information for the second storage apparatus
to be the same as that for the first storage apparatus, based on
each of the one or more requests for changing data storage area
logical configuration information sent from the transmission
unit.
2. The storage system according to claim 1, wherein the data
storage area logical configuration information includes logical
volume configuration information.
3. The storage system according to claim 1, wherein the
transmission unit transmits one or more data update requests from
among the one or more requests sent from the host system and the
one or more requests for changing data storage area logical
configuration information, in the order of transmission of those
requests from the host system.
4. The storage system according to claim 3, further comprising a
management unit that manages the one or more data update requests
and the one or more requests for changing data storage area
configuration information in the same queue, wherein the
transmission unit sends the one or more data update requests and
the one or more requests for changing data storage area
configuration information that are managed by the management unit
to the second storage apparatus.
5. The storage system according to claim 2, wherein the first
change unit and the second change unit, triggered by creation of a
new logical volume in each of the first storage apparatus and the
second storage apparatus, change the logical volume configuration
information for each of the first storage apparatus and the second
storage apparatus so that the logical volumes form a pair.
6. The storage system according to claim 1, wherein: the
transmission unit, when a new relationship is formed between the
first storage apparatus and the second storage apparatus, sets the
data storage area logical configuration information for the first
storage apparatus as one file, and sends the file to the second
storage apparatus; and based on the file sent from the transmission
unit, the second change unit replaces the data storage area logical
configuration information for the second storage apparatus with
that for first storage apparatus to change the data storage area
logical configuration information for the second storage apparatus
to be the same as that for the first storage apparatus.
7. The storage system according to claim 1, wherein: the
transmission unit sends configuration information for a RAID group
in the first storage system to the second storage apparatus, the
configuration information including the number of disk drives and
RAID level; and based on the configuration information for the RAID
group sent from the transmission unit, the second change unit
changes configuration information for a RAID group in the second
storage apparatus to be the same as that for the first storage
apparatus.
8. A data replication method for a storage system having a first
storage apparatus connected to a host system, that stores data sent
from the host system, and a second storage apparatus connected to
the first storage apparatus, that stores backup data for the first
storage apparatus, the method comprising: a first step of
identifying one or more requests for changing data storage area
logical configuration information from among one or more requests
sent from the host system; a second step of, based on each of the
one or more requests for changing data storage area logical
configuration information identified in the first step, changing
data storage area logical configuration information for the first
storage apparatus; a third step of sending each of the one or more
requests for changing data storage area logical configuration
information to the second storage apparatus; and a fourth step of
changing data storage area logical configuration information for
the second storage area to be the same as that for the first
storage apparatus, based on each of the one or more requests for
changing data storage area logical configuration information sent
in the third step.
9. The data replication method according to claim 8, wherein the
data storage area logical storage information includes logical
volume configuration information.
10. The data replication method according to claim 8, wherein the
third step includes sending one or more data update requests from
among the one or more requests sent from the host system and the
one or more requests for changing data storage area logical
configuration information to the second storage apparatus, in the
order of transmission of those requests from the host system.
11. The data replication method according to claim 10, wherein the
third step includes sending the one or more data update requests
and the one or more requests for changing data storage area
configuration information that are managed in the same queue to the
second storage apparatus.
12. The data replication method according to claim 9, wherein each
of the second step and the fourth step includes changing, triggered
by creation of a new logical volume in each of the first storage
apparatus and the second storage apparatus, the logical volume
configuration information for each of the first storage apparatus
and the second storage apparatus so that the logical volumes form a
pair.
13. The data replication method according to claim 8, wherein: the
third step includes, when forming a new relationship between the
first storage apparatus and the second storage apparatus, setting
the data storage area configuration information for the first
storage apparatus as one file and sending the file to the second
storage apparatus; and the fourth step includes replacing, based on
the file sent in the third step, the storage area logical
configuration information for the second storage apparatus with
that for the first storage apparatus, to change the storage area
logical configuration information for the second storage apparatus
to be the same as that for the first storage apparatus.
14. The data replication method according to claim 8, wherein: the
third step includes sending configuration information for a RAID
group in the first storage apparatus, the configuration information
including the number of disk drives and RAID level; and the fourth
step includes changing, based on the configuration information sent
in the third step, the configuration information for a RAID group
in the second storage apparatus to be the same as that for the RAID
group in the first storage apparatus.
Description
CROSS-REFERENCES TO RELATED APPLICATIONS
[0001] This application relates to and claims priority from
Japanese Patent Application No. 2006-179430, filed on Jun. 29,
2006, the entire disclosure of which is incorporated herein by
reference.
BACKGROUND
[0002] The invention relates generally to multiple storage
apparatuses connected via networks, and also to a technique of
creating a replica of not only data but also configuration
information for a storage apparatus in another apparatus.
[0003] A conventional data replication technique in which a replica
of data is created and the replica of data in a storage apparatus
is maintained in another storage apparatus is well known. In this
data replication technique where two volumes are designated in
advance, the replica of the primary volume is maintained in the
secondary volume, by reflecting data changes made in the primary
volume in the secondary volume.
[0004] The data replication technique is mainly used for disaster
recovery. For example, JP-A-2000-132343 discloses a data
replication technique in which, if a disaster occurs at a primary
site, activity is resumed using the data replica in the volumes in
the secondary site, making it possible to continue business.
[0005] Also, a conventional technique in which a replica of
configuration information relating to the configuration of one
storage apparatus is created in another storage apparatus is also
well known. For example, JP-A-2005-44199 discloses that a
centralized management server can match configuration information
for multiple storage apparatuses by requesting the storage
apparatuses to make the same change in their configuration
information, such as to the number of logical volumes or the
capacity of logical volumes
[0006] However, with these conventional techniques, it has not been
possible to perform data replication and match configuration
information simultaneously.
[0007] In other words, the data replication techniques are based on
the premise that a logical volume with the same capacity has
already been created in each of two storage apparatuses before
creating a replica of data in one storage apparatus in the other
storage apparatus. A storage apparatus administrator needs to
create a logical volume with the same capacity in each of the two
storage apparatuses, and pair-up the two volumes before date
replication. As stated above, conventional data replication
techniques have a problem in that data replication can not be
linked with changes in configuration information.
[0008] Also, when a centralized management server makes a request
to multiple storage apparatuses to make the same change to their
respective configuration information, a storage apparatus
administrator needs to judge whether or not the configuration
information can be changed, depending on the progress of data
replication. For example, when deleting a logical volume in both
storage apparatuses, if data replication in the secondary volume
has not been completed, it is necessary to delay the deletion of
the primary volume even though it can already be deleted. As
explained above, the technique of a centralized management server
matching configuration information has a problem in that it cannot
be linked with data replication.
[0009] Therefore, a technique of creating a replica of both data
and configuration information for one storage apparatus in another
storage apparatus and maintaining the replica will make it possible
for a storage apparatus administrator to easily manage the storage
apparatuses.
SUMMARY
[0010] The present invention has been made in light of the above
points, and has an objective of providing a storage system and data
replication method that offers easy management for an
administrator.
[0011] In order to achieve the above objective, the present
invention provides a storage system including: a first storage
apparatus connected to a host system, that stores data transmitted
from the host system; and a second storage apparatus connected to
the first storage apparatus, that stores backup data for the first
storage apparatus, wherein the first storage apparatus includes: an
identification unit that identifies one or more requests for
changing data storage area logical configuration information from
among one or more requests sent from the host system, a first
changing unit that changes data storage area logical configuration
information for the first storage apparatus based on each of the
one or more requests for changing data storage area logical
configuration information identified by the identification unit,
and a transmission unit that sends each of the one or more requests
for changing data storage area logical configuration information to
the second storage apparatus; and the second storage apparatus
includes: a second change unit that changes data storage area
logical configuration information for the second storage apparatus
to be the same as that for the first storage apparatus, based on
each of the one or more requests for changing data storage area
logical configuration information sent from the transmission
unit.
[0012] Accordingly, a replica of data can be created while
effectively eliminating complicated tasks, such as requiring a
storage apparatus administrator to create a data storage area with
the same capacity in each of a first storage apparatus and a second
storage apparatus and pairing-up those data storage areas, or
requiring a storage apparatus administrator to judge whether or not
configuration information can be changed, depending on the progress
of data replication.
[0013] The present invention also provides A data replication
method for a storage system having a first storage apparatus
connected to a host system, that stores data sent from the host
system, and a second storage apparatus connected to the first
storage apparatus, that stores backup data for the first storage
apparatus, the method including: a first step of identifying one or
more requests for changing data storage area logical configuration
information from among one or more requests sent from the host
system; a second step of, based on each of the one or more requests
for changing data storage area logical configuration information
identified in the first step, changing data storage area logical
configuration information for the first storage apparatus; a third
step of sending each of the one or more requests for changing data
storage area logical configuration information to the second
storage apparatus; and a fourth step of changing data storage area
logical configuration information for the second storage area to be
the same as that for the first storage apparatus, based on each of
the one or more requests for changing data storage area logical
configuration information sent in the third step.
[0014] Accordingly, a replica of data can be created while
effectively eliminating complicated tasks, such as requiring a
storage apparatus administrator to create a data storage area with
the same capacity in each of a first storage apparatus and a second
storage apparatus and pairing-up those data storage areas, or
requiring a storage apparatus administrator to judge whether or not
configuration information can be changed, depending on the progress
of data replication.
[0015] The present invention identifies requests for changing
logical configuration information relating to a data storage area
from among requests sent from a host system, and based on the
identified request, changes logical configuration information for a
data storage area for the first storage apparatus, sending the
logical configuration information for the data storage area to the
second storage apparatus, and based on the sent request, changes
logical configuration information relating to the data storage area
for the second storage apparatus to be the same as that for the
first storage apparatus. As a result, the present invention
effectively eliminates complicated tasks, such as requiring a
storage apparatus administrator to create a data storage area with
the same capacity in each of a first storage apparatus and a second
storage apparatus and pair-up these data storage areas before the
data replication, or requiring a storage apparatus administrator to
judge whether or not configuration information can be changed,
depending on the progress of data replication.
[0016] Other aspects and advantages of the invention will be
apparent from the following description and the appended
claims.
BRIEF DESCRIPTION OF THE DRAWINGS
[0017] FIG. 1 is a schematic diagram showing the configuration of a
storage system according to a first embodiment of the present
invention.
[0018] FIG. 2 is a schematic diagram showing the internal logical
configuration of a primary storage apparatus.
[0019] FIG. 3 is a schematic diagram showing the internal logical
configuration of a secondary storage apparatus.
[0020] FIG. 4 is a conceptual diagram explaining the configuration
of an apparatus pair management table.
[0021] FIG. 5 is a conceptual diagram explaining the configuration
of a request management table.
[0022] FIG. 6 is a conceptual diagram explaining the configuration
of a request management table.
[0023] FIG. 7 is a conceptual diagram explaining a request
queue.
[0024] FIG. 8 is a flowchart explaining an apparatus pair setting
procedure.
[0025] FIG. 9 is a flowchart explaining a synchronization
procedure.
[0026] FIG. 10 is a flowchart explaining a request reception
procedure.
[0027] FIG. 11 is a flowchart explaining a request processing
procedure.
[0028] FIG. 12 is a flowchart explaining a request replication
procedure.
[0029] FIG. 13 is a schematic diagram showing the internal logical
configuration of a primary storage apparatus used in an
asynchronous method.
[0030] FIG. 14 is a flowchart explaining a second request
replication procedure.
[0031] FIG. 15 is a flowchart explaining a third request
replication procedure.
[0032] FIG. 16 is a flowchart explaining a failure detection
procedure.
[0033] FIG. 17 is a flowchart showing the configuration of a
storage system according to another embodiment of the present
invention.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
[0034] An embodiment of the present invention is described below
with reference to the drawings.
(1) First Embodiment
[0035] FIG. 1 shows the configuration of a storage system according
to a first embodiment. The storage system 1 has a primary storage
apparatus 2, a secondary storage apparatus 3, a management server
4, and an application server 5, connected via networks 6 to 8.
[0036] The primary storage apparatus 2 is a storage apparatus for
storing data for the application server 5. The primary storage
apparatus 2 includes input/output interfaces 11A to 13A for
external connection; a disk controller 14A that processes requests
from the management server 4 and the application server 5, and
performs the internal control of the primary storage apparatus 2;
cache memory 15A that temporarily stores data; and a group of disk
drives 16A that store data.
[0037] The secondary storage apparatus 3 has the same configuration
as that of the primary storage apparatus 2. In FIG. 1, the same
reference numbers as those for the components of the primary
apparatuses 2 are provided for the corresponding components of the
secondary storage apparatus 3, with "B" instead of "A". In that
scenario, it is necessary that the primary storage apparatus 2 and
the secondary storage apparatus 3 have the same hardware
configuration in terms of the number of input/output interfaces,
the number of disk controllers, the capacity of cache memory, and
the number of disk drives, etc.
[0038] The management server 4 is a server that makes instructions
for management of the primary storage apparatus 2 configuration.
The management server 4 is a computer apparatus having information
processing resources such as a CPU (Central Processing Unit) and
memory, and may be, for example, a personal computer, or a work
station. The management server 4 includes information input devices
(not shown) such as a keyboard, a switch, a pointing device, or a
microphone; and information output devices (not shown) such as a
monitor display or a speaker; and an input interface 21, and is
connected to the input/output interface 11A for the primary storage
apparatus 2 via the input/output interface 21 and the network
6.
[0039] The application server 5 is a server that writes data to the
primary storage apparatus 2 and reads data from the primary storage
apparatus 2. The application server 5 is a computer apparatus
having information processing resources such as a CPU and memory,
and may be, for example, a personal computer or a work station. The
application server 5 includes information input devices (not shown)
such as a keyboard, a switch, a pointing device, or a microphone;
and information output devices (not shown) such as a monitor
display or a speaker; and an input interface 31, and is connected
to the input/output interface 12A for the primary storage apparatus
2 via the input/output interface 31 and the network 7.
[0040] The input/output interface 13A for the primary storage
apparatus 2 and the input/output interface 13B for the secondary
storage apparatus 3 are connected via the network 8. The primary
storage apparatus 2 creates a replica of data stored in the primary
storage apparatus 2 in the secondary storage apparatus 3 and
changes the secondary storage apparatus 3 configuration to match
that of the primary storage apparatus 2 via this network 8.
[0041] The networks 6 to 8 may be, for example, SANs (Storage Area
Networks), LANs (Local Area Networks), the Internet, public lines
or dedicated lines. Communication between the primary storage
apparatus 2, the secondary storage apparatus 3, the management
server 4 and the application server 5 via the networks 6 to 8 is
conducted according to Fibre Channel Protocol if the networks 6 to
8 are SANs, and according to TCP/IF (Transmission Control
Protocol/Internet Protocol) if the networks 6 to 8 are LANs.
[0042] FIG. 2 shows the internal logical configuration of the
primary storage apparatus 2. The primary storage apparatus 2
includes a request reception unit 41A, a request queue 42A, a
request processing unit 43A, a request replication unit 44A, a
synchronization unit 45A, an apparatus pair setting unit 46A, a
kernel 47A, a failure detection unit 48A, configuration information
49A and a data storing unit 50A.
[0043] The data storing unit 50A is managed by the disk controller
14A according to RAID methodology (Redundant Array of Independent
Disks). One or more logical volumes are defined over physical
storage areas provided by one or more disk drives. Data is stored
in block units (hereinafter referred to as "logical units (LU)") of
a predetermined size in these logical volumes. One or more logical
volumes may also be defined for one or more logical volumes.
[0044] The configuration information 49A includes physical
configuration information 51A, apparatus-specific logical
configuration information 52A, and data storage area logical
configuration information 53A.
[0045] Examples of the physical configuration information 51A
include information indicating from which disk drives a RAID group
is formed, information indicating which disk drives are spare disk
drives, and information relating to component failures.
[0046] Examples of the apparatus-specific logical configuration
information 52A include the hierarchy relationship between the
storage apparatuses, i.e., the distinction between the primary
storage apparatus 2 and the secondary storage apparatus 3,
performance monitoring information, and log information.
[0047] Examples of the data storage area logical configuration
information 53A include logical volume configuration information,
information about paths from the logical volumes to the
input/output interfaces 11A to 13A, information about access
control to the logical volumes, information relating to the
replication relationships between the volumes, such as snapshot
volume replication relationship.
[0048] FIG. 3 shows the internal logical configuration of the
secondary storage apparatus 3. The secondary storage apparatus 3
has the same configuration as that of the primary storage apparatus
2. In FIG. 3, the same reference numerals as those for the primary
storage apparatus 2 are provided for the corresponding secondary
storage apparatus 3, with "B" instead of "A." However, since the
secondary storage apparatus 3 is the destination where a replica of
data and configuration information is created, it is constructed so
that it cannot make the request replication unit 44B, the
synchronization unit 45B, and the apparatus pair setting unit 46B
operate.
[0049] The gist of operation in the present embodiment will be
explained below. First, the management server 4 instructs the
primary storage apparatus 2 to pair-up with the secondary storage
apparatus 3. Then the primary storage apparatus 2 sends the data
storage area logical configuration information 53A from among its
own configuration information 49A to the secondary storage
apparatus 3. As a result, a replica of the data storage area
logical configuration information 53A is created as the data
storage area logical configuration information 53B, and the data
storage area logical configuration information 53A for the primary
storage apparatus 2 and the data storage area logical configuration
information 53B for the secondary storage apparatus 3 are matched
with each other.
[0050] Next, the primary storage apparatus 2 pairs up each of the
logical volumes 54A in its own apparatus with each corresponding
logical volume 54B in the secondary storage apparatus 3, and sends
all the data stored in the logical volumes 54A in the primary
storage apparatus 2 to the secondary storage apparatus 3. As a
result, replicas of all the logical volumes 54A are created in the
corresponding logical volumes 54B in the secondary storage
apparatus 3, completing initial replication of data in the primary
storage apparatus 2 in the secondary storage apparatus 3.
[0051] The primary storage apparatus 2 and the second storage
apparatus 3, after the completion of the initial copy, each change
their apparatus status to `paired` (PAIR). The primary storage
apparatus 2, upon receipt of data update requests and configuration
information change requests, sends the data update requests and
configuration information change requests to the secondary storage
apparatus 3 in order of reception. The order in that scenario can
be ensured by the data update requests and configuration
information change requests being managed in one request queue
(described later). The primary storage apparatus 2 receives
requests and sends the received requests to the secondary storage
apparatus 3. This makes it possible to maintain the replica of data
and configuration information of the primary storage apparatus 2 in
the secondary storage apparatus 3.
[0052] If a failure has occurred and data or configuration
information becomes unmatched, the primary storage apparatus 2 and
the secondary storage apparatus 3 changes the apparatus status from
`paired` to `suspended` (SUSPEND), and temporally halts subsequent
maintenance of the replication. The primary storage apparatus 2 and
the secondary storage apparatus 3, after the removal of the cause
of the failure, conduct the aforementioned initial copy again,
making it possible to resume the maintenance of the replica.
However, the replication of all data is not necessary. It is
sufficient that a replica of only data in the logical volumes 54A
that has been updated during the `suspended` status is created in
the secondary storage apparatus 3, and this is accomplished using
log information for write requests.
[0053] Next, the details of the execution of the above operation
will be explained below. FIG. 4 shows an apparatus pair management
table 60. The apparatus pair management table 60 is contained in
each of the apparatus-specific logical configuration information
52A and 52B. The apparatus pair management table 60 includes an
apparatus pair type 61, a corresponding apparatus 62, an apparatus
pair status 63, and a logical volume pair status 64.
[0054] The apparatus pair type 61 indicates whether its own
apparatus is a primary storage apparatus 2 or a secondary storage
apparatus 3. "PRIMARY" means that the apparatus is a primary
storage apparatus 2, and "SECONDARY" means that the apparatus is a
secondary storage apparatus 3. The corresponding apparatus 62 shows
a unique ID to identify the corresponding apparatus for the
apparatus pair. For example, an IP (Internet Protocol) address, a
DNS (Domain Name System) name, a WWN (World Wide Name) can be used
for the ID. The apparatus pair status 63 shows the pair status of
the apparatus. "PAIR" means that the apparatus is in `paired`
status and the replica is current. "SUSPENDED" means that the
apparatus is in `suspended` status and the replica is not current
for some reason, such as a failure, and the replication is
temporarily suspended. "SMPL" means that the apparatus is in `SMPL`
status, and has no relationship with any of the other apparatuses.
Before setting an apparatus pair, an apparatus is set to `SMPL.`
The logical volume pair status 64 indicates the pair status for all
the logical volumes in the apparatus. In that scenario, all the
logical volumes are changed to `paired` status.
[0055] FIGS. 5 and 6 show individual request management tables 70
managed in the request queue 42A. The request management table 70
contains apparatus-specific logical configuration information 52A,
and includes a request ID 71, a request time 72, a request type 73,
a command name 74, and a parameter 75.
[0056] The request ID 71 shows a unique ID assigned to identify a
request. The request time 72 indicates the time when the primary
storage apparatus 2 received a request from the application server
5. The request type 73 indicates the type of request. Examples of
the request type include "DATA_WRITE," indicating a request for
updating data in a logical volume, "DATA_READ," indicating a
request for referring to data in a logical volume, "PHYSICAL_INFO,"
indicating a request for updating physical configuration
information, "LOGICAL_DEV_INFO," indicating a request for updating
apparatus-specific logical configuration information, and
"LOGICAL_VOL_INFO," indicating a request for updating data storage
area logical configuration information.
[0057] The command name 74 indicates the content of a request.
There are various kinds of request content, so only a few examples
will be described. An example is a "CREATE_LUN" command to create a
new logical volume, which is a request for updating data storage
area logical configuration information. Another example is a
"WRITE" command to update data in a logical volume. The parameter
75 indicates arguments affixed to a command. These arguments
determine the specific target for executing the command. For
example, when a new logical volume is created, the RAID group and
the location in the RAID group to create the logical volume, and
the size of the logical volume are designated as parameters.
Another example is that when updating data in a logical volume, the
logical volume, and the location in the target logical volume, the
data to be written and the data size are specified.
[0058] FIG. 5 shows a request management table 70 when the request
type 73 is a logical volume creation. FIG. 6 shows a request
management table 70 when the request type 73 is a logical volume
data update.
[0059] A plurality of requests may be issued in parallel to the
primary storage apparatus 2. The primary storage apparatus 2
manages the order of these requests using the request queue in
order of the reception times for these requests, and sequentially
processes the requests in that order. FIG. 7 shows the request
queue 42A. The request queue 42A manages multiple requests 55,
which represents request management tables 70, in a queue. In other
words, a new request 55 is put at the end of the request queue 42A,
and the requests 55 are sequentially processed staring from the
request 55 at the top of the request queue 42A. Consequently, in
the storage system 1, the order of data updates and the order of
configuration information changes will not differ from each other,
which prevents inconsistency.
[0060] FIG. 8 is a flowchart showing the details of the operation
of the apparatus pair setting unit 46A in the primary storage
apparatus 2. When the management server 4 makes a change in the
apparatus pair settings to the primary storage apparatus 2 via a
network, first, the apparatus pair setting unit 46A is activated by
the kernel 47A. Subsequently, the apparatus pair setting unit 46A
checks whether or not the request is a new apparatus pair creation
request, according to the apparatus pair setting procedure RT1
shown in FIG. 8 (S1).
[0061] If the request is a new apparatus pair creation request (S1:
YES), the apparatus pair setting unit 46A creates a new apparatus
pair management table 60, and sets the apparatus pair type 61 and
the corresponding apparatus 62 in the apparatus pair table 60 (S2).
In this case, the identifier for the corresponding apparatus 62 is
contained in the new apparatus pair creation request.
[0062] Subsequently, the apparatus pair setting unit 46A sets the
apparatus pair status in the apparatus pair management table 60 to
`suspended` (S3). The apparatus pair setting unit 46A then sets the
logical volume pair status 64 in the apparatus pair management
table 60 to `suspended` (S4), and activates the synchronization
unit 45A (S5). As a result, the initial replication of the data
storage area logical configuration information 53A and all the data
in all the logical volumes 54A is conducted by the synchronization
unit 45A. The apparatus pair setting unit 46A, upon completion of
the initial replication, terminates the apparatus pair setting
procedure RT1 (S12).
[0063] Meanwhile, if the request is not a new apparatus pair
creation request (S1: NO), the apparatus pair setting unit 46A
checks whether or not the request is an apparatus pair deletion
request (S6).
[0064] If the request is an apparatus pair deletion request (S6:
YES), the apparatus pair setting unit 46A deletes the logical
volumes 54A and logical volumes 54B with the `paired` apparatus
pair status 63 and the `paired` logical volume pair status 64 in
the apparatus pair management table 60 (S7). Subsequently, the
apparatus pair setting unit 46A changes the apparatus pair status
63 and the logical volume pair status 64 in the apparatus pair
management table 60 to `SMPL` (S8). When the apparatus pair status
63 and the logical volume pair status 64 in the apparatus pair
management table 60 has been changed to `SMPL,` the apparatus pair
setting unit 46A terminates the apparatus pair setting procedure
RT1 shown in FIG. 8 (S12).
[0065] Meanwhile, if the request is not an apparatus pair deletion
request (S6; NO), the apparatus pair setting unit 46A checks
whether or not the request is an apparatus pair re-synchronization
request (S9).
[0066] If the request is an apparatus pair re-synchronization
request (S9:YES), the apparatus pair setting unit 46A activates the
synchronization unit 45A (S10). As a result, replication for
re-synchronization of the data storage area logical configuration
information 53A and all the data in all the logical volumes 54A in
the primary storage apparatus 2 in the secondary storage apparatus
3 is conducted by the synchronization unit 45A. Upon completion of
the replication for re-synchronization, the synchronization unit
45A terminates the apparatus pair setting procedure RT1 shown in
FIG. 8 (S12).
[0067] Meanwhile, if the request is not an apparatus pair
re-synchronization request (S9: NO), the apparatus pair setting
unit 46A executes processing relevant to the content of the request
(S11). Upon completion of that processing, the apparatus pair
setting unit 46A terminates the apparatus pair setting procedure
RT1 shown in FIG. 8 (S12).
[0068] FIG. 9 is a flowchart showing the details of the operation
of the synchronization unit 45A in the primary storage apparatus 2.
The synchronization unit 45A executes synchronization processing to
match data and configuration information for the primary storage
apparatus 2 and those for the secondary storage apparatus 3. The
content of data and configuration information for the primary
storage apparatus 2 and those for the secondary storage apparatus 3
are greatly different from each other when a new pair has been
formed, or when the apparatus pair status 63 in the apparatus pair
management table 60 is `suspended` for a while. Synchronization
processing is performed to adjust these differences. During
synchronization processing, requests for data reference or update
will be accepted, but configuration information change requests
will be refused.
[0069] First, the synchronization unit 45A is activated by the
apparatus pair setting unit 46A. Subsequently, the synchronization
unit 45A starts refusing configuration information change requests,
according to the synchronization procedure RT2 shown in FIG. 9
(S21). From that time until the end of the refusal period, the
synchronization unit 45A returns all configuration change requests
issued from the management server 4 as errors. Next, the
synchronization unit 45A sets the data storage area logical
configuration information 53A as a chunk such as a file (S22). The
synchronization unit 45A then sends the set data storage area
logical configuration information 53A file to the secondary storage
apparatus 3 (S23). As a result, a replica of the data storage area
logical configuration information 53A file is created in the
secondary storage apparatus 3.
[0070] The secondary storage apparatus 3, upon completion of
replication for changing the data storage area logical
configuration information 53A file, opens the data storage area
configuration information 53A file, and replaces the data storage
area logical configuration information 53B with it.
[0071] Then, the synchronization unit 45A creates a replica of data
stored in the logical volumes 54A (S24). In that scenario, for
initial replication, the synchronization unit 45A sends all data in
the all the logical volumes 54A to the secondary storage apparatus
3, and as a result, a replica of all data in the all the logical
volumes 54A is created in the logical volumes 54B. Also, for
re-synchronization replication, where the location of data to be
changed is recorded in the write request log information, the
synchronization unit 45A only sends data in the logical volume 54A
that is the target for the change, and as a result, a replica of
data in the logical volume 54A is created in the corresponding
logical volume 54B.
[0072] Subsequently, the synchronization unit 45A changes the
apparatus pair status 63 in the apparatus pair management table 60
from `suspended` to `paired` (S25). It then changes the logical
volume pair status 64 in the apparatus pair management table 60
from `suspended` to `paired` (S26), and ceases refusing
configuration change requests (S27). The synchronization unit 45A,
upon the cessation of the refusal of configuration change requests,
terminates the synchronization procedure RT2 shown in FIG. 9
(S27).
[0073] FIG. 10 is a flowchart showing the details of the operation
of the request reception unit 41A in the primary storage apparatus
2. The request reception unit 41A performs the processing for
receiving requests from the management server 4 and the application
server 5 that have been received via the input/output interfaces
11A and 12A, and putting the requests into the request queue
80.
[0074] Upon the input/output interface 11A or 12A's receipt of some
kind of request, first, the request reception unit 41A is activated
by the kernel 47A. Then the request reception unit 41A receives the
request from the input/output interface 11A or 12A according to the
request reception procedure RT3 shown in FIG. 10 (S31).
Subsequently, the request reception unit 41A creates a request
management table 70 from the content of the received request, and
puts the request 55 representing the created request management
table 70 at the end of the request queue 80 (S32). In that
scenario, the request reception unit 41A sets the request type 73
in the request management table 70 according to the content of the
received request.
[0075] If the received request is, for example, a logical volume
creation request, which is a request for changing data storage area
logical configuration information, the request reception unit 41A
sets "LOGICAL_VOL_INFO" as the request type 73. This request type
73 information is used to determine whether or not the content of
the request should be reflected in the secondary storage apparatus
3. The synchronization unit 45A puts the request 55 representing
the created request management table 70 at the end of the request
queue 80, and then terminates the request reception procedure RT3
shown in FIG. 10 (S33).
[0076] FIG. 11 shows a flowchart showing the details of the
operation of the request processing unit 43A in the primary storage
apparatus 2. First, the request processing unit 43A is periodically
called by the kernel 47A. Then, the request processing unit 43A
takes a request 55 out of the request queue 80 according to the
request processing procedure RT4 shown in FIG. 11 (S41), and checks
whether or not the request type 73 in the request management table
70 is "DATA_READ" (S42).
[0077] If the request type 73 in the request management table 70 is
"DATA_READ" (S42: YES), the request processing unit 43A executes
the processing for reading the relevant data from the relevant
logical volume 54A (S43), returns the result of the request 55 to
the management server 4 or application server 5 that has sent the
request 55 (S52), and terminates the request processing procedure
RT4 shown in FIG. 11 (S53).
[0078] If the request type 73 in the request management table 70 is
not "DATA_READ" (S42: NO), the request processing unit 43 checks
whether or not the request type 73 in the request management table
70 is "PHYSICAL_INFO" or "LOGICAL_DEV_INFO" (S44).
[0079] If the request type 73 in the request management table 70 is
"PHYSICAL_INFO" or "LOGICAL_DEV_INFO" (S44: YES), the request
processing unit 43A executes the processing for changing the
relevant physical configuration or apparatus-specific logical
configuration information (S45), returns the result of the request
55 to the management server 4 or application server 5 that has sent
the request 55 (S52), and then terminates the request processing
procedure RT4 shown in FIG. 11 (S53).
[0080] Meanwhile, if the request type 73 in the request management
table 70 is not "PHYSICAL_INFO" or "LOGICAL_DEV_INFO" (S44: NO),
the request processing unit 43A checks whether or not the request
type 73 in the request management table 70 is "DATA_WRITE"
(S46).
[0081] If the request type 73 in the request management table 70 is
"DATA_WRITE" (S46: YES), the request processing unit 43A executes
the processing for writing the relevant data to the relevant
logical volume 54A (S47), and activates the request replication
unit 44A (550). Then it returns the result of the request 55 to the
management server 4 or application server 5 that has sent the
request 55 (S52), and terminates the request processing procedure
RT4 shown in FIG. 11 (S53).
[0082] Meanwhile, if the request type 73 in the request management
table 70 is not "DATA_WRITE" (S46: NO), the request processing unit
43A checks whether or not the request type 73 in the request
management table 70 is "LOGICAL_VOL_INFO" (S48).
[0083] If the request type 73 in the request management table 70 is
"LOGICAL_VOL_INFO" (S48: YES), the request processing unit 43A
executes the processing for changing the relevant data storage area
logical configuration information 53A (S49) and activates the
request replication unit 44A (S50). It then returns the result of
the request 55 to the management server 4 or application server 5
that has sent the request 55 (S52), and terminates the request
processing procedure RT4 shown in FIG. 11.
[0084] Meanwhile, if the request type 73 in the request management
table 70 is not "LOGICAL_VOL_INFO" (S48: NO), the request
processing unit 43A executes the processing relevant to the request
55 (S51), returns the result of the request 55 to the management
server 4 or application server 5 that has sent the request 55
(S52), and then terminates the request processing procedure R14
shown in FIG. 11 (S53).
[0085] As described above, the request processing unit 43A judges
whether or not a received request 55 should be reflected in the
secondary storage apparatus 3, according to the request type 73 in
the request management table 70.
[0086] FIG. 12 is a flowchart showing the details of the operation
of the request replication unit 44A in the primary storage
apparatus 2. In that scenario, FIG. 12 shows replication processing
using a synchronous method, and the same processing using an
asynchronous method will be described later.
[0087] The synchronous method is a method in which, upon completion
of a change in the primary storage apparatus 2, the change is also
performed on the secondary storage apparatus 3, and upon completion
of that change, the result of the request 55 is returned to the
management server 4 or application server 5 that has sent the
request 55. The asynchronous method is a method in which when a
change in the primary storage apparatus 2 has been completed, the
result of the request 55 is returned to the management server 4 or
application server 5 that has sent the request 55, and after that,
the change is conducted on the secondary storage apparatus 3.
[0088] The synchronous method has an advantage in that the status
of primary storage apparatus 2 and that of the secondary storage
apparatus 3 are always matched, but it has a disadvantage in that
performance for processing requests will be suffer. Meanwhile, the
asynchronous method has an advantage in that performance for
processing requests will be improved, but has a disadvantage in
that a time lag occurs when the content of a change in the primary
storage apparatus 2 is reflected in the secondary storage apparatus
3, and that if the primary storage apparatus 2 is disabled due to
any failure in the meantime, the change will not be reflected in
the secondary storage apparatus 3.
[0089] The request replication unit 44A executes the request
replication processing for reflecting the content of any request
targeting the primary storage apparatus 2 in the secondary storage
apparatus 3. First, the request replication unit 44A is activated
by the request processing unit 43A. Subsequently, the request
replication unit 44A, referring to the apparatus pair management
table 60, checks whether or not the apparatus pair status 63 is
`paired,` according to the request replication procedure RT5 shown
in FIG. 12(S61).
[0090] If the apparatus pair status 63 is not `paired` (S61: NO),
the request replication unit 44A terminates the request replication
procedure RT5 shown in FIG. 12 (S62) because there is no need to
reflect the request 55 in the secondary storage apparatus 3.
Meanwhile, if the apparatus pair status 63 is `paired` (S61: YES),
the request replication unit 44A sends the request 55 to the
secondary storage apparatus 3, which is the corresponding apparatus
62 in the apparatus pair management table 60 (S62).
[0091] Subsequently, the request replication unit 44A waits, in
standby mode, for the result of the sent request 55 to be returned
from the secondary storage apparatus 3 (S63). The request
replication unit 44A, upon receipt of the result of the sent
request 55 from the secondary storage apparatus 3 (S63: YES),
checks whether or not the result of the sent request 55 was
successful (S64).
[0092] If the result of the sent request 55 was successful (S64:
YES), which means that the data or configuration information in the
primary storage apparatus 2 and the secondary storage apparatus 3
are matched, the request replication unit 44A executes the relevant
processing based on the matched data or configuration information
(S65).
[0093] As an example of relevant processing based on the matched
data or configuration information, if the content of the request 55
is creation of a new logical volume, which requires the pairing-up
of a new logical volume created in the primary storage apparatus 2
and one created in the secondary storage apparatus 3, the request
replication unit 44A executes the processing for creating a logical
volume pair. Also, if the content of the request 55 is a logical
volume deletion, it executes the processing for deleting the
relevant logical volume pair.
[0094] Meanwhile, if the result of the sent request 55 was not
successful (S64: NO), which means that a failure has occurred in
the secondary storage apparatus 3 and the data and configuration
stored in the primary storage apparatus 2 and the secondary storage
apparatus 3 has become unmatched, the request replication unit 44A
changes the apparatus pair status 63 in the apparatus pair
management table 60 to `suspended` (S66). Subsequently, the
apparatus pair management table 60 to `suspended` (S67).
[0095] The request replication unit 44A then terminates the request
replication procedure RT5 shown in FIG. 12 (S68).
[0096] Next, the replication processing according to an
asynchronous method will be explained. FIG. 13 shows the internal
logical configuration of a primary storage apparatus 80 used in an
asynchronous method. The primary storage apparatus 80 has the same
configuration as that of the aforementioned primary storage
apparatus 2 except for the existence of a remote request queue 81A
and a request replication unit 82A that performs different
processing. The remote request queue 81A, like the request queue
42A, manages request management tables 70 in a queue according to
the order of the times the tables 70 were received.
[0097] FIG. 14 is a flowchart showing the details of the operation
of the request replication unit 82A in the primary storage
apparatus 80. In that scenario, FIG. 14 shows replication
processing according to an asynchronous method. First, the request
replication unit 82A is activated by a request processing unit 43A,
which is the same as in the synchronous method. Next, the request
replication unit 82A puts the request 55 representing a request
management table 70, created in the primary storage apparatus 2, at
the end of the remote request queue 81A, according to the second
request replication procedure RT6 shown in FIG. 14 (S71). The
request replication unit 82A then terminates the second request
replication procedure RT6 shown in FIG. 14 (S72). Then, the request
processing unit 43A returns the result of the request 55 to the
management server 4 or application server 5 that has sent the
request 55. However, at this point in time, the request is not
reflected in the secondary storage apparatus 3.
[0098] FIG. 15 is a flowchart showing the details of the operation
of the request replication unit 82A in the primary storage
apparatus 80. FIG. 15 shows replication processing according to an
asynchronous method. The request replication unit 82A, first, is
activated by a kernel 47A when there are requests 81 in the remote
request queue 81A. Then, the request replication unit 82A executes
the same processing as that at S61 to S68 in the aforementioned
request replication procedure RT5, according to the third
replication procedure shown in FIG. 15 (S81 to S88).
[0099] FIG. 16 is a flowchart showing the details of the operation
of the failure detection unit 48A in the primary storage apparatus
2. Upon detection of a failure in the primary storage apparatus 2,
the failure detection unit 48A is activated by the kernel 47A. Then
the failure detection unit 48A interrupts the replication
processing based on the request 55, according to the failure
detection procedure RT8 shown in FIG. 16 (S91). Next, the failure
detection unit 48A changes the logical volume pair status 64 in the
apparatus pair management table 60 to `suspended` status (S93).
Then, the failure detection unit 48A terminates the failure
detection procedure RT8 shown in FIG. 16 (S94).
[0100] As described above, in the storage system 1, a replica of
not only data but also configuration information is created, making
it possible for a storage apparatus administrator to easily build a
disaster recovery system by just managing the primary storage
apparatus 2, and eliminating the need for the storage apparatus
administrator to change the configuration of the secondary storage
apparatus 3 in line with a change in the configuration of the
primary storage apparatus 2. In the storage system 1, the secondary
storage apparatus 3 is a replication of the primary storage
apparatus 2, and so in the event of a disaster, activity will be
able to resume promptly using the secondary storage apparatus 3.
Accordingly, the storage system 1 makes it possible for anyone to
build a disaster recovery system without high technical skills.
(2) Other Embodiments
[0101] FIG. 17 shows a storage system 90 according to another
embodiment of the present invention. In this storage system 90, the
secondary storage apparatus 100 is larger in size than the primary
storage apparatus 2, and has a large number of hardware components,
such as input/output interfaces, disk controllers, and disk drives,
and a large amount of cache memory compared to the primary storage
apparatus 2. In the secondary storage apparatus 100, a virtual
storage apparatus 101 is logically formed. Like the pair
relationship between the aforementioned primary storage apparatus 2
and secondary storage apparatus 100, there is an apparatus pair
relationship between the primary storage apparatus 2 and the
virtual storage apparatus 101. The primary storage apparatus 2 and
the secondary storage apparatus 100 are connected via the network
102. In this type of storage system 90, the above-described data
and configuration information replication processing can be
executed with the primary storage apparatus 2 and the virtual
storage apparatus 101. The aforementioned data and configuration
information replication processing can be conducted in the same
manner as described above with various configurations other than
that of the first embodiment.
[0102] The storage system 1 may be constructed so that a replica
can be maintained even during a disk drive failure. In other words,
since a RAID group consists of physical disk drives, the storage
system 1, when a disk drive is disabled, regards that disabled disk
drive as a failure, and changes the apparatus pair status 63 in the
apparatus pair management table 60 to `suspended.` However, the
RAID group itself operates normally, so it is possible to continue
data replication. Accordingly, replication may be continued without
regarding a disk drive failure as a failure.
[0103] In the storage system 1, when creating a new RAID group, the
RAID group may be regarded as data storage area logical
configuration information 53A. In that scenario, the storage system
1 manages the RAID group with regard to the number of disk drives
constituting the RAID group and the RAID level of the RAID group,
rather than which chassis includes the RAID group and the location
of the disk drives constituting the RAID group. In the storage
system 1, for example, when the primary storage apparatus 2
processes a request for creating a RAID group with RAID level 5
that uses four disk drives, and disk drives A, B, C and D are used
for those disk drives, the "request for creating a RAID group with
RAID level 5 that uses four disk drives" is transferred to the
secondary storage apparatus 3 to reflect the request in the
secondary storage apparatus 3, but no instruction regarding which
disk drives to use is sent to the secondary storage apparatus
3.
[0104] In the storage system 1, normally operating unused disk
drives E, F, G and H are selected in the secondary storage
apparatus 3 and disk drives E, F, G and H form a RAID group with
the RAID 5 configuration. However, in that scenario, the storage
system 1 matches the identifier for the RAID group in the primary
storage apparatus 2 and the identifier for the RAID group in the
secondary storage apparatus 3. This makes it possible to maintain
the replica when a disk drive has a failure and available disks in
the primary storage apparatus 2 do not correspond to those in the
secondary storage apparatus 3.
[0105] Furthermore, in the storage system 1, an update for firmware
in the primary storage apparatus 2 may be reflected also in the
secondary storage apparatus 3. In that scenario, two or more disk
controllers are provided in each of the primary storage apparatus 2
and the secondary storage apparatus 3, and firmware is updated
first using one of the disk controllers, and then using another
disk controller. During the firmware update, requests to be sent to
the disk controller will be processed by another disk
controller.
[0106] The storage system 1 does not necessarily consist of two
storage apparatuses: the primary storage apparatus 2 and the
secondary storage apparatus 3, and may consist of multiple storage
apparatuses arranged in a line. In that scenario, in the storage
system 1, the intermediate storage apparatuses operate in the same
manner as the primary storage apparatus 2, making it possible to
reflect changes made in the top primary storage apparatus 2 in the
rear secondary storage apparatus 3.
[0107] In this embodiment, the aforementioned various kinds of
processing may be executed by hardware having the relevant
functions, or may also be executed by software. In that case,
various functions can be executed by installing various programs on
a computer with a program constituting the software installed in
its dedicated hardware. For example, those programs can be
installed from recordable media. It is a matter of course that
these recordable media may be various kinds of recordable media
like optical disks, magnet-optical disks, semiconductor memory.
Also, various programs may be installed by downloading them via a
network such as the Internet.
[0108] The present invention may be adopted in various apparatuses
having a disaster recovery function.
[0109] While the invention has been described with respect to a
limited number of embodiments, those skilled in the art, having
benefit of this disclosure, will appreciate that other embodiments
can be devised which do not depart from the scope of the invention
as disclosed herein Accordingly, the scope of the invention should
be limited only by the attached claims.
* * * * *