FIG. 3(1) is a block diagram showing the relationships between memory devices constituting an array group and volumes formed by these memory devices.
FIG. 3(2) is a block diagram showing the relationships between hierarchical levels and array groups.
Embodiments of this invention are explained below.
Some or all of the storage resources in the primary storage subsystem 1500 are arranged in a hierachy. In the example in
The reference numeral 2000 indicates a switch for a management system 2002 to access the primary and standby storage subsystems via a network. When performing remote copy, the volume 1710 is a copy source volume and the volume 1810 is a copy destination volume.
FIG. 3(1) shows the situation where a plurality of volumes 1710 and 1710A are formed from the memory devices (30-1, 30-2, . . . and 30-N) constituting one array group. As shown in FIG. 3(2), a plurality of array groups (e.g., AR1 and AR2) exist on the hierarchical level 1510 and each array group includes one or more volumes (e.g., AR1 has volumes 1710 and 1710A).
Each hierarchical level is defined by the content of one or more of the elements shown in
The respective hierarchical levels are ranked according to their volume performance. In the storage subsystem 1500 in
Factors defining the hierarchical levels in the storage subsystem 1500 and those defining the hierarchical levels in the storage subsystem 1600 may be the same or different.
The hierarchical levels are defined based on their RAID levels, revolution speeds, volume locations, and types of memory devices. The array groups constituting the hierarchical levels are each formed with memory devices fulfilling the specifications that define the hierarchical levels. A typical example of a memory device is a hard disk drive, but it may also be semiconductor memory such as flash memory. According to
In
To set a volume on a hierarchical level involves forming a volume in an array group fulfilling the specifications defining that hierarchical level. The copy destination volume may alternatively be set on a hierarchical level higher than the one associated with the hierarchical level of the copy source volume. Which hierarchical level the copy destination volume is set on in relation to the hierarchical level of the copy source volume determines the relationship between the hierarchical level of the copy source volume and that of the copy destination volume.
Which hierarchical level in the primary storage subsystem the copy source volume is set on is determined as appropriate by the manager, taking into consideration the access performance from the host to the primary subsystem. There are some cases where the existing correspondence relationship between the hierarchical level of the primary copy source volume and that of the standby copy destination volume is not identical to their original correspondence relationship. For example, in
For operational reasons, it is conceivable that the copy destination volume 1810 is located on the hierarchical level 1620, not on the level 1610, in spite of the fact that the primary copy source volume 1710 exists on the hierarchical level 1510 if a different volume in the hierarchical level 1610 is engaged in services for the host, but the degradation of the performance of the hierarchical level 1610 is undesirable.
However, when performing failover in this state, the access performance from the host to the copy destination volume 1810 may be lower than that from the host to the copy source volume 1710. However, if the volume 1810 on the hierarchical level 1620 in the standby storage subsystem 1600 is migrated to the hierarchical level 1610, the access performance from the host to the volume 1810 can be maintained because its performance is upgraded.
As a result of migrating the volume 1810 to the hierarchical level 1610, the utilization rate of the array group on the hierarchical level 1610 increases. The access performance from the host to a volume—an access destination—depends on the performance defined for the hierarchical level as well as the rate of utilization of the array group the volume belongs to by the host. When the host accesses both the volume 1810 on the hierarchical level 1610 and another volume in the same array group on the same hierarchical level 1610, the accesses to the volumes compete with one another within the same array group and the access performance from the host to the copy destination volume 1810 degrades.
A utilization rate (%) is calculated using the following formula [I]. [Formula I] A utilization rate (%)=Total amount of transfer data (MB/sec)/Average transfer speed (MB/sec)+Total number of requests (requests/sec)×Average interval between request processing (sec/request) With the formula 1, the amount of data transferred per minute and the time required in post-processing are calculated. The total number of requests is the number of requests for writing and reading the host makes to an array group per second. The average interval between request processing is the time required for a memory device to accept the next request after completing the previous request from the host. The total amount of transfer data is the amount of data the host transfers to a storage subsystem per second. The average transfer speed is the average data transfer speed of memory devices constituting an array group. The average interval between request processing and the average transfer speed are determined depending on the performance of the disks constituting the array group.
There are some cases where, when a copy destination volume is migrated from its current hierarchical level to a higher level, the rate of utilization of the memory devices constituting the array group on the migration destination hierarchical level exceeds an upper limit, which is previously set for that migration destination hierarchical level. In order to prevent this, the copy destination volume may not be migrated or a different volume belonging to the migration destination hierarchical level may be migrated to another hierarchical level.
The memory 92 stores: a performance information acquisition program 92A; configuration change program 92B; configuration confirmation program 92C; configuration inspection program 92D; performance information 92E; and configuration information 92F. The CPU 94 executes the performance information acquisition program 92A to obtain the performance information for the primary and standby storage subsystems.
The CPU 94 executes the configuration confirmation program 92B to check whether the cluster systems composed of the primary and standby storage subsystems are engaged in failover. If the primary storage subsystem goes down, the configuration confirmation program 92C detects this situation and calls the configuration change program 92B. Using this configuration change program 92B, the CPU 94 checks the correspondence relationship between the hierarchical level of the copy source volume and that of the copy destination volume.
If the copy destination volume is not on the hierarchical level specified for itself in the table showing the correspondence relationships between the hierarchical levels, it is migrated to that level. The primary host executes a cluster management program, detects trouble in the primary storage subsystem, and entrusts the standby host with its operations. The standby host accesses the copy destination volume in the standby storage subsystem. Examples of trouble in the primary-side the storage system include trouble in the primary host; trouble in the primary storage subsystem; and trouble in both primary host and primary storage subsystem. If the primary host has a problem, the standby host takes over the primary host's processing and data and the standby storage subsystem takes over the primary storage subsystem's processing and data.
The same steps are performed when a problem occurs in the primary storage subsystem. The management system always monitors the operational status of the primary storage subsystem and when the primary storage subsystem is succeeded by the standby storage subsystem, it can know that failover is performed based on the operational status of the primary storage subsystem.
The configuration information 92F is composed of a remote copy management table, volume management table, hierarchical level management table, and hierarchical level correspondence table.
The volume management table shown in
The aforementioned
A copy source volume A-1 is remote-copied to a copy destination volume A-2 and a copy source volume B-1 is remote-copied to a copy destination volume B-2. Standby volumes A-2 and B2 exist in the same standby storage subsystem.
The hierarchical level 1510 in the first primary storage subsystem 1500 is associated with the hierarchical level 1610 in the standby storage subsystem 1600, and the hierarchical level 1510A in the second primary storage system 1500A is also associated with the hierarchical level 1610 in the standby storage subsystem 1600. The hierarchical level 1520 in the first primary storage subsystem 1500 is associated with the hierarchical level 1620 in the standby storage subsystem 1600, and the hierarchical level 1520A in the second primary storage system 1500A is associated with the hierarchical level 1620 in the standby storage subsystem 1600.
The copy source volume A-1 exists on the hierarchical level 1510 in the first primary storage subsystem 1500 and the copy source volume B-1 exists on the hierarchical level 1510A in the second primary storage subsystem 1500A. Before failover is performed, the copy destination volume A-2 exists on the hierarchical level 1620 in the standby storage subsystem 1600 and the copy destination volume B-2 exists in the hierarchical level 1610 in the same standby storage subsystem 1600. A volume C-1 is a volume defined originally on the hierarchical level 1610 in the standby storage subsystem 1600. The standby storage subsystem 1600 provides the hosts 1100 and 1100A with the storage areas of its original volume C-1, which is not a remote copy destination for any volume in the primary storage subsystems.
As shown in
Here, instead of migrating the volume C-1, the volume B-2 may be migrated to the lower hierarchical level or both C-1 and B-2 may be migrated to the lower hierarchical level. As shown in
If the judgment in step S1700 is positive, the management system selects one of the storage subsystems under its control (step S1702). For example, the management system refers to the remote copy management table in
Then, the processing returns to step S1700. For each array group, its total number of requests and total amount of transfer data changes depending on the access status from the host to the array group. Based on this access status, the management system obtains the total number of requests and total amount of transfer data. Other information in the performance information table is unique values for the storage subsystems and memory devices. The management system executes the processing in
Then, the access from the primary host to the primary storage subsystem is switched to access from the standby host to the standby storage subsystem. When the primary storage subsystem recovers from the trouble, the processing in
The management system then judges whether the hierarchical level Y matches the hierarchical level Z (step S1910) and, if the judgment is positive, it judges that there is no need to change the current hierarchical level of the copy destination volume, and returns to step S1900. Meanwhile, if the judgment is negative in step S1910, the management system checks the levels of the hierarchical levels Y and Z (step S1912) and, if the hierarchical level Y is higher than the hierarchical level Z, it judges that the current hierarchical level of the copy destination volume does not have to be changed, and returns to step S1900.
Meanwhile, if the hierarchical level Y is lower than the hierarchical level Z, the management system judges whether the copy destination volume can be migrated to the hierarchical level Z (step S1914). If the judgment is positive, the migration is started and the processing returns to step S1900. Meanwhile, if the judgment is negative, it judges whether there is a hierarchical level W which is higher than the hierarchical level Y and lower than the hierarchical level Z (step S1916). If the judgment is positive, it further judges whether the copy destination volume can be migrated to the hierarchical level W (step S1918). If the judgment is positive, the copy destination volume is migrated from the hierarchical level Y to the hierarchical level W (step S1920). If the judgment in steps S1916 and 1918 is negative, the management system notifies the manager (management client device) that the copy destination volume cannot be migrated from the hierarchical level Y to another hierarchical level (step S1922).
Incidentally, if there is more than one hierarchical level W, the management system judges, starting with the highest hierarchical level, whether the copy destination volume can be migrated there. If the copy destination volume cannot be migrated from the hierarchical level Y to any of the hierarchical levels W, the management system judges that migration of the copy destination volume is impossible. Incidentally, in step 1900, the management system judges whether all the remote-copy pairs have been checked and if the judgment is positive, the processing is terminated.
Migrating the copy destination volume from its current hierarchical level to another involves migrating the data in the copy destination volume to a volume in an array group on the destination hierarchical level. The correspondence relationships between the copy destination volume and the array group as well as the hierarchical level it belongs to can be clarified by referring to both the volume management table and the array group management table. The information in these management tables is updated with the information for the latest correspondence relationships when the copy destination volume is migrated from one hierarchical level to another using the program shown in
The management system then compares this utilization rate (y) with the upper limit (x) set for the hierarchical level of the selected array group (step S2008) and if y is smaller than x (y<x), it judges that the copy destination volume can be migrated to the memory device forming the selected array group and carries out that migration. Consequently, the copy destination volume is migrated from the current hierarchical level to another (step S2010). Incidentally, the management system can find out that upper limit (x) by referring to the performance information table.
If y is equal to or is larger than x (y=x or y>x), the management system judges whether a different volume formed in the selected array group can be migrated to an array group on a different hierarchical level and if the judgment is positive, it migrates that volume from the array group on the current hierarchical level to a selected array group on the different hierarchical level (step S2012). If the judgment is negative, the management system notifies the manager that migration of the volume is impossible. The management system then returns to step S2002 where it judges whether it has checked all the array groups. If the judgment is positive, the processing is terminated.
Whether a different volume can be migrated to an array group on a different hierarchical level can be decided based on the utilization rate of its migration destination array group, using the same method as the foregoing method. If the volume cannot be migrated to a different hierarchical level, it means that the copy destination volume cannot be migrated to the target hierarchical level, so, the management system notifies the manger of that fact. Having been notified of that fact, the manger may take measures such as adding a memory device.
During the migration of the copy destination volume to another hierarchical level, write data from the host is temporarily stored in the cache memory in the standby storage subsystem and, when the migration is over, the data in the cache is written in the migration destination volume. Also, regarding reading of data from the copy destination volume by the host, if the migration of the copy destination volume is not complete, data is read from the copy destination volume on its original hierarchical level, but once the migration is complete, it is read from the post-migration copy destination volume on the destination hierarchical level.
The foregoing embodiments were explained for the case where the management system manages the volumes in the storage subsystems, however, as shown in
In this example, each storage subsystem has a CPU 94, memory 92 and communication device 90. The storage subsystems share configuration information and performance information via a fibre cable connected thereto. In this case, the configuration change program and other programs, which are stored in the management system in the previous case, are stored in the memory in the storage subsystems. Confirmation of the configuration information and performance information in the storage subsystem is carried out by an external console 210. This console 210 is connected to the respective subsystems with a fibre cable, via which it obtains information from the subsystems.
The aforementioned embodiments are changeable, for example, the specifications defining the hierarchical levels and the number of the same can be changed as appropriate. Also, in addition to remote copy, this invention may also be applied to other recovery methods such as data backup performed between the storage subsystems or snapshot-based recovery performed in each storage subsystem. Moreover, in the example in
Number | Date | Country | Kind |
---|---|---|---|
2006-157867 | Jun 2006 | JP | national |