Storage area management method for a storage system

The load of managing a storage system is lessened. In a storage system where multiple logical volumes are included in a logical volume group and a copy of the logical volume group is made in a pool area different from the one to which the logical volume group belongs, a management computer adds to the pool area capacity when the capacity of a pool area exceeds a predetermined threshold. When the pool area includes multiple logical volume groups, the management computer requests the storage system to create a pool area for each of the logical volume groups and to create the logical volume groups respectively for the created pool areas. When the pool area includes one logical volume group, the management computer requests the storage system to make the capacity of the pool area coincide with the capacity of a pool area to which the logical volume group is copied.

CLAIM OF PRIORITY

The present application claims priority from Japanese patent application JP 2007-044186 filed on Feb. 23, 2007, the content of which is hereby incorporated by reference into this application.

BACKGROUND OF THE INVENTION

The present invention relates to a storage system that provides a host computer with a storage area dynamically expandable in capacity.

A common computer system is composed of a host computer which processes a task and a storage system which reads/writes data as instructed by the host computer. The storage system provides multiple volumes in which data is stored and read/written. Storage systems today can have numerous large-capacity physical disks and their storage capacity is increasing.

In the storage systems, a redundant array of inexpensive disks (RAID) configuration disk array is built from physical disks and a pool area is created by aggregating one or more physical storage resources. From the created pool area, a storage area having as large a capacity as requested by a host computer is created as a logical volume and provided to the host computer.

The increase in storage capacity of storage systems increases the size of a storage area requested by a host computer. The initial cost for physical disks in introducing such a large-scale storage system could be enormous.

As a solution to this problem, JP 2003-15915 A discloses a technique in which, instead of having all physical disks that correspond to a capacity to be provided to a host computer at the ready upon introduction, a storage system adds a physical disk as the need arises after the used disk capacity nears the upper limit, and thereby dynamically changes the storage capacity provided to the host computer. The technique disclosed in JP 2003-15915 A enables the above-mentioned storage system to provide virtual logical volumes to a host computer without creating logical volumes of a fixed capacity from a pool area. Upon request from the host computer, storage areas of a given unit (this storage area unit will hereinafter be referred to as “segment”) are dynamically allocated to the virtual logical volumes from a pool area, which is an aggregation of physical storage resources. The technique thus dynamically expands the capacity and lowers the initial cost upon introduction of the storage system.

Logical volumes to which segments are allocated from one pool area can be assigned to different uses such as volume local copy for backup, volume remote copy for disaster recovery in order to continue a task despite a system failure or a disaster, and normal tasks other than volume copy.

The local copy is a technology for duplicating data in a storage area inside a storage system to a storage area inside the same storage system. The remote copy is a technology for duplicating data in a storage area inside a storage system to a storage area inside another storage system. In the volume copy, multiple logical volumes are grouped into one and the consistency in the order of data update is kept within the logical volume group. A group of logical volumes as this is called a consistency group (CTG). One pool area may contain one CTG or more than one CTG.

A storage system avoids failure in expanding logical volume capacity due to too few segments allocated to logical volumes from a pool area, in other words, due to too little pool capacity, by monitoring for a shortage of pool capacity. When a shortage of pool capacity is detected, the storage system adds to the pool capacity by expanding the pool area.

In the remote copy, capacity monitoring and capacity addition have to be performed on a pool area in a storage system that contains the copy source volume (primary volume) and a pool area in a storage system that contains the copy destination volume (secondary volume). In the case where the pool capacity is increased to supplement a shortage of pool capacity on the primary volume side during suspension of data copy between the paired volumes (primary volume and secondary volume) in remote copy, pool capacity addition processing has to be performed also on the pool area on the secondary volume side in order to solve capacity shortage before the data copy between the paired volumes can be resumed. This delays the remote copy processing by a time required to finish the capacity addition processing for the secondary volume.

SUMMARY OF THE INVENTION

A representative aspect of this invention is as follows. That is, there is provided a storage area management method for a computer system having a storage system, a host computer coupled to the storage system via a network, and a management computer that can access to the storage system and the host computer, the storage system having a first interface coupled to the network, a first processor coupled to the first interface, a first memory coupled to the first processor, and a storage device for storing data read and written by the host computer, the management computer having a second interface coupled to the network, a second processor coupled to the second interface, and a second memory coupled to the second processor, the storage system having a pool area which includes the storage device, the pool area having logical volumes which are created to be provided to the host computer as storage areas where data is read and written by the host computer, the logical volumes having a predetermined relation and being included in a logical volume group, a copy of the logical volume group being created in a pool area different from the pool area to which the logical volume group belongs, the storage management method comprising: monitoring, by the second processor, a capacity of the pool area; sending, by the second processor, a request to the storage system to add to the capacity of the pool area when an unused capacity of the pool area reaches a predetermined threshold or lower; sending, by the second processor, a request to the storage system to create a pool area for each of the logical volume groups included in the pool area when the pool area includes multiple logical volume groups; sending, by the second processor, a request to the storage system to create the logical volume groups included in the pool area, respectively for the created pool areas; and sending, by the second processor, a request to the storage system to operate a pool area in which the copy of the one logical volume group included in the pool area is created when the pool area includes one logical volume group.

According to an embodiment of this invention, a pool area is created for each group of logical volumes that have a certain relation such as CTG, and the burden on a management computer in managing pool areas can be thus lessened.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

An embodiment of this invention will be described below with reference to the accompanying drawings.

FIG. 1Ais an explanatory diagram showing the configuration of a computer system according to the embodiment of this invention. A computer system900has one or more host computers100and100A, management servers200and200A, and storage systems300and300A.

The host computer100and the storage system300are connected to each other via a storage area network (SAN)540. The storage system300is connected to the management server200via a management network (MN)520. Similarly, the storage system300A is connected to the management server200A via a management network (MN)521.

The host computers100and100A and the management servers200and200A are connected to one another via a local area network (LAN)510. The storage system300and the storage system300A are connected to each other via a data copy network (CN)530. There are one host computer100and one host computer100A in this embodiment, but the computer system900may have multiple host computers100and host computers100A.

The management servers200and200A may be integrated into only one management server connected to the storage systems300and300A. The LAN510, the management network MN520, and the SAN540may be one same network.

The host computer100has a central processing unit (CPU)110, a memory120, an interface190for connecting the host computer100to the LAN510, and an interface191for connecting the host computer100to the SAN540, as shown inFIG. 1B. The CPU110, the memory120, the interface190, and the interface191are connected to one another via a bus180.

The CPU110executes a program stored in the memory120, thereby implementing functions of the host computer100. The memory120stores data and a program that are used by the CPU110. The host computer100also has components (not shown) including a data input device used by a user of the host computer100to input data, and a display device for displaying information to a user of the host computer100.

The host computer100A is similar to the host computer100and has a CPU110A, a memory120A, an interface190A for connecting the host computer100A to the LAN510, and an interface191A for connecting the host computer100A to the SAN541. The CPU110A, the memory120A, the interface190A, and the interface191A are connected to one another via a bus180A.

The CPU110A executes a program stored in the memory120A, thereby implementing functions of the host computer100A. The memory120A stores data and a program that are used by the CPU110A. The host computer100A also has components (not shown) including a data input device used by a user of the host computer100A to input data, and a display device for displaying information to a user of the host computer100A.

The management server200has a CPU210, a memory220, an interface290for connecting the management server200to the LAN510, and an interface291for connecting the management server200to the management network MN520, as shown inFIG. 1C. The CPU210, the memory220, the interface290, and the interface291are connected to one another via a bus280.

The CPU210executes a program stored in the memory220, thereby implementing functions of the management server200. The memory220stores data and a program that are used by the CPU210. The memory220also stores a storage management program221, a volume management table222, a pool management table223, and a volume migration management table224.

The data and programs stored in the memory220are described below.

The storage management program221is executed by the CPU210to manage the configuration and the like of the storage system300.

The volume management table222is a table for storing logical volume management information. An example of the volume management table222is shown inFIG. 2.

FIG. 2is a diagram showing an example of the volume management table222according to the embodiment of this invention. The volume management table222contains a host WWN2220, a device ID2221, a logical unit number (LUN)2222, a maximum host-requested capacity2223, and an allocated capacity2224.

The host WWN2220indicates an identifier for identifying a host computer. The device ID2221indicates an identifier for identifying a storage system. Stored as the LUN2222is an identifier for identifying a logical volume.

The maximum host-requested capacity2223indicates the maximum storage capacity of a storage area provided. The allocated capacity2224indicates the capacity of an actually allocated storage area. The management server200assumes that a host computer is provided with a storage area having a capacity that is indicated by the maximum host-requested capacity2223, and adds a storage area capacity according to the capacity of actually stored data.

The pool management table223is a table showing information on a pool area. A pool area is created by, as described above, aggregating one or more physical storage resources. An example of the pool management table223is shown inFIG. 3.

FIG. 3is a diagram showing an example of the pool management table223according to the embodiment of this invention. The pool management table223contains a device ID2230, a pool ID2231, a capacity2238, a threshold2232, a CTG ID2233, a primary/secondary indicator2234, a paired device ID2235, a paired pool ID2236, and a LUN2237.

The device ID2230indicates an identifier for identifying a storage system. The pool ID2231indicates an identifier for identifying a pool area. The capacity2238indicates the maximum capacity of a pool area. The threshold2232indicates a threshold with which whether to expand a pool area is judged.

The CTG ID2233indicates an identifier for identifying a consistency group. A volume for which a value “n” is stored as the CTG ID2233is a single volume which does not have a copy volume. Stored as the primary/secondary indicator2234is a value for discriminating whether a logical volume is a copy source (primary volume) or a copy destination (secondary volume).

The paired device ID2235indicates an identifier for identifying which storage system has a storage area of a logical volume that constitutes the other half of the copy pair. The paired pool ID2236indicates an identifier for identifying from which pool area a storage area is allocated to the logical volume that constitutes the other half of the copy pair. Stored as the LUN2237is an identifier that is assigned to a logical volume belonging to a consistency group that is identified by the CTG ID2233.

The volume migration management table224holds the identifier of a pool area to which a specified logical volume is moved for migration. An example of the volume migration management table224is shown inFIG. 4.

FIG. 4is a diagram showing an example of the volume migration management table224according to the embodiment of this invention. The volume migration management table224contains a device ID2240, a LUN2241, and a migration destination pool ID2242.

The device ID2240indicates an identifier for identifying a storage system. The LUN2241indicates an identifier for identifying a logical volume. The migration destination pool ID2242indicates an identifier for identifying which pool area is a volume migration destination.

The programs and tables stored in the memory220of the management server200are described above. The description now returns toFIG. 1.

The management server200A has a CPU210A, a memory220A, an interface290A for connecting the management server200A to the LAN510, and an interface291A for connecting the management server200A to the management network MN520, as shown inFIG. 1D. Those components are interconnected via a bus280A. The management server200A is used to continue a task when, for example, a failure occurs in the management server200.

The CPU210A executes a program stored in the memory220A, thereby implementing functions of the management server200A. The memory220A stores data and a program that are used by the CPU210A. The memory220A stores a storage management program221A. The storage management program221A is a program executed by the CPU210A to manage the configuration and the like of the storage system300A.

The management server200A also has components (not shown) including a data input device used by a user of the management server200A to input data, and a display device for displaying information to a user of the management server200A.

The storage system300provides a data storage area to the host computer100. The storage system300has a control device305, a logical volume350, a pool area361, an interface390for connecting the storage system300to the SAN540, and an interface391for connecting the storage system300to the management network MN520, as shown inFIG. 1E. The control device305, the logical volume350, the pool area361, the interface390, and the interface391are connected to one another via a bus380.

The control device305receives a data read/write request from a host computer and executes processing that meets the received request. The control device305has a CPU310and a memory320.

The CPU310executes a program stored in the memory320, thereby executing given processing.

The memory320stores a program executed by the CPU310and data that is used by the CPU310in executing various types of processing. The memory320also stores a segment management table321, a physical-logical management table322, a segment management program323, and a volume copy program324. The segment management program323and the volume copy program324are executed by the CPU310.

The logical volume350is a virtual storage area provided to a host computer. The logical volume350is composed of one or more physical storage resources, and is provided to a host computer as a logical storage area in which data is stored.

The pool area361is a physical storage resource for allocating a segment to a virtual logical volume. The pool area361is composed of multiple physical disks as described above.FIG. 1shows one pool area361, but the storage system300may have more than one pool area361.

The segment management table321is a table showing information about which segment is allocated to which volume. An example of the segment management table321is shown inFIG. 5.

FIG. 5is a diagram showing an example of the segment management table321according to the embodiment of this invention. The segment management table321contains a pool ID3210, a disk ID3211, a segment number3212, a segment start address3213, a segment end address3214, and a use state3215.

The pool ID3210indicates an identifier for identifying a pool area. The disk ID3211indicates an identifier for identifying a physical disk in a pool area. The segment number3212is an identifier for identifying a segment allocated to a logical volume.

The segment start address3213and the segment end address3214indicate logical block addresses (LBAs). The size of a segment indicated by the segment start address3213and the segment end address3214may be a fixed value or a variable value.

InFIG. 5, “0” stored as the use state3215indicates that the volume is not in use whereas “1” stored as the use state3215indicates that the volume is in use. Other methods than this may be employed as long as they can be used to judge whether a volume is in use or not.

The physical-logical management table322is a table in which a segment allocated to the host computer100is associated with the LBA of a logical volume that the host computer100uses. An example of the physical-logical management table322is shown inFIG. 6.

FIG. 6is a diagram showing a physical-logical management table according to the embodiment of this invention. The physical-logical management table322contains a LUN3220, a segment number3221, a start address3222, and an end address3223.

Stored as the LUN3220is an identifier assigned to a logical volume. Stored as the segment number3221is a number for identifying which segment constitutes a logical volume that is identified by the LUN3220.

Stored as the start address3222and the end address3223are logical block addresses of a segment that is identified by the segment number3221. Logical block addresses stored as the start address3222and the end address3223are logical block addresses unique throughout a logical volume.

The segment management program323is executed by the CPU310to manage segments allocated to logical volumes that provide storage areas to the host computer100.

The volume copy program324is a program run by the CPU310. Run by the CPU310, the volume copy program324executes data copy between storage areas.

FIG. 7is a flow chart showing steps of volume migration destination pool creating processing according to the embodiment of this invention. This processing is executed when a storage area management method according to this invention is applied to a storage system for the first time. InFIG. 7, processing inside a shadowed frame indicates processing that is executed by the storage system.

The CPU210of the management server200executes the storage management program221, to thereby retrieve the pool ID2231and the CTG ID2233from the pool management table223(S101).

The CPU210of the management server200judges whether or not multiple CTG IDs2233are registered for one pool ID2231(S102). Specifically, whether or not multiple consistency groups are stored in one pool area is judged.

When multiple consistency groups are stored in one pool area (when the result shows “Yes” in S102), the CPU210of the management server200judges for each of the consistency groups whether or not the consistency group is composed of copy volumes (S103A). A copy volume is a copy source volume or a copy destination volume, and accordingly is paired with a volume in pool areas other than the pool area to be processed that serves as its copy source or copy destination. A pool area storing a copy volume forms a pair with the pool area to be processed. In this embodiment, as described above, a consistency group whose CTG ID has values other than “n” is one that is composed of copy volumes.

When the consistency group to be processed is not composed of copy volumes (when the result shows “No” in S103A), the CPU210of the management server200processes other consistency groups contained in the same pool area.

When the consistency group to be processed is composed of copy volumes (when the result shows “Yes” in S103A), the CPU210of the management server200obtains from the pool management table223information on a pool area that constitutes the other half of the pair (S103B). Specifically, the CPU210of the management server200obtains the paired device ID2235and the paired pool ID2236and then obtains the capacity2238of the paired pool area from the obtained paired device ID2235and paired pool ID2236.

The CPU210of the management server200refers to the paired pool area information obtained in the processing of S103B to judge whether or not the paired pool area contains volumes having different CTG IDs (S104A).

When the paired pool area contains volumes having different CTG IDs (when the result shows “Yes” in S104A), the CPU210of the management server200requests the storage system300to create a pool area that has a capacity specified by the administrator (104B). In other words, when one pool area contains multiple consistency groups, a pool area that constitutes the other half of the pair is newly created. Creating a pool area for each consistency group is accomplished in this manner. Accordingly, when there is a change in configuration of one pool area constituting a pair, changing the configuration of the other pool area of the pair has minimum effects on a different consistency group and a pool area that contains the different consistency group.

When the paired pool area does not contain volumes having different CTG IDs (when the result shows “No” in S104A), the CPU210of the management server200requests the storage system300to create a pool area having the same capacity as that of the paired pool area (104C).

When there is one CTG ID2233registered for one pool ID2231(when the result shows “No” in S102), the CPU210of the management server200judges whether or not the consistency group to be processed is a copy volume (S105).

When the consistency group to be processed is a copy volume (when the result shows “Yes” in S105), the CPU210of the management server200obtains information on a pool area that constitutes the other half of the pair as in the processing of S103B (S106). The CPU210of the management server200then judges whether or not the pool area to be processed and its paired pool area have the same capacity (S107).

When the pool area to be processed and its paired pool area have different capacities (when the result shows “No” in S107), the CPU210of the management server200requests the storage system300to create a pool area having the same capacity as that of the paired pool area (S108). When the pool area to be processed and its paired pool area have the same capacity (when the result shows “Yes” in S107), processing of S109is executed.

The CPU310of the storage system300executes the segment management program323to receive a pool creation request sent from the management server200and to obtain the capacity of a pool area to be created. The CPU310of the storage system300obtains from the segment management table321the total capacity of physical disks to which pool areas are not allocated, and judges from the received pool creation request whether or not a pool area having the requested capacity can be created (s110).

When a pool creating capacity is equal to or smaller than the free physical disk capacity (when the result shows “Yes” in S110), a pool area can be created and the CPU310of the storage system300creates the requested pool area (S111). Specifically, a pool area of the requested capacity is created and data is added to the segment management table321in accordance with the received pool creation request.

The CPU310of the storage system300then sends a notification to the management server200to notify that the pool creation has been successful (S112). Along with the notification, the CPU310of the storage system300sends update information of the segment management table321updated through the processing of S111to the management server200.

On the other hand, when the capacity of the pool area to be created is larger than the free physical disk capacity (when the result shows “No” in S110), the CPU310of the storage system300sends a notification to the management server200to notify that the attempt to create the pool area has failed (S113).

The CPU210of the management server200receives a pool creation result from the storage system300and judges whether or not the pool creation has been successful (S114).

When the pool creation is a success (when the result shows “Yes” in S114), the CPU210of the management server200updates the pool management table223and the volume migration management table242(S115).

When the pool creation is a failure (when the result shows “No” in S114), the CPU210of the management server200sends an alert to a user who is operating the management server200and ends the pool creating processing.

The CPU210of the management server200judges whether or not the above-mentioned processing has been executed for every pool area it manages, in other words, for every pool ID contained in the pool management table223(S109). In a case where execution of the above-mentioned processing has been finished for every pool ID (when the result shows “Yes” in S109), the volume migration destination pool creating processing is ended. Otherwise, the processing of S101is executed in order to perform the above-mentioned processing on an unprocessed pool area.

FIG. 8is a flow chart showing steps of volume migration processing according to the embodiment of this invention. InFIG. 8, processing inside a shadowed frame indicates processing that is executed by the storage system.

The CPU210of the management server200executes the storage management program221, to thereby obtain from the volume migration management table224a pool area to be migrated (S201). Specifically, the device ID2240of the device from which a volume is to be migrated is obtained from the volume migration management table224, and the LUN2241and the migration destination pool ID2242are obtained as well.

The CPU210of the management server200sends a volume migration request to the storage system300which is associated with the device ID2240obtained in the processing of S201(S202). Along with the volume migration request, the CPU210of the management server200sends the LUN2241and the migration destination pool ID2242that have been obtained in the processing of S201to the storage system300.

The CPU310of the storage system300executes the segment management program323to receive a volume migration request and to obtain a logical volume that is to migrate and the pool ID of a pool area to which the logical volume migrates. Based on the received LUN and pool ID, the CPU310of the storage system300refers to the segment management table321and the physical-logical management table322to judge whether or not migration of the logical volume that is to migrate is possible (S203).

When the capacity of the migration destination pool area is equal to or larger than the capacity of the logical volume that is to migrate (when the result shows “Yes” in S203), the CPU310of the storage system300executes volume migration processing (S204).

The CPU310of the storage system300obtains from the physical-logical management table322segments that are allocated to the logical volume that is to migrate. Data stored in the obtained segments is then actually moved to the migration destination.

The CPU310of the storage system300moves data of each of the segments referring to the physical-logical management table322. For a segment that has finished the migration, the CPU310of the storage system300changes the use state3215in a record entry of the segment management table321that holds the segment number3212of the finished segment to a value indicating that the segment is in use (a value “1”).

The CPU310of the storage system300changes the segment number3221of each segment allocated to the logical volume that is to migrate from a segment number before the migration to a segment number after the migration in the physical-logical management table322. For each segment that stores migration source data, the CPU310of the storage system300changes the use state3215in a record entry of the segment management table321that holds the segment number3212of the segment to a value indicating that the segment is not in use (a value “0”).

The CPU310of the storage system300then sends a notification to the management server200to notify that the volume migration processing has succeeded (S205).

On the other hand, when the capacity of the migration destination pool area is smaller than the capacity of the logical volume that is to migrate (when the result shows “No” in S203), the CPU310of the storage system300sends a notification to the management server200to notify that the volume migration has failed.

The CPU210of the management server200receives a volume migration execution result from the storage system300and judges whether or not the volume migration has succeeded (S207).

When the volume migration is a success (when the result shows “Yes” in S207), the CPU210of the management server200updates the pool management table223and the volume migration management table224(S208). Specifically, in a record entry of the pool management table223for the logical volume that has finished migration, the pool ID2231is updated to the ID of the migration destination pool area. In a record entry of the volume migration management table224for the logical volume that has finished migration, the migration destination pool ID2242is cleared and the logical volume is excluded from a logical volume that is to migrate.

When the volume migration is a failure (when the result shows “No” in S207), the CPU210of the management server200sends an alert to a user who is operating the management server200, and ends the volume migration processing.

The CPU210of the management server200judges whether or not migration processing has been executed for every logical volume (S209). When migration processing is finished for every logical volume (when the result shows “Yes” in S209), the CPU210of the management server200ends the volume migration processing. Otherwise, the CPU210of the management server200returns to the processing of S201in order to execute migration processing for an unprocessed logical volume.

FIG. 9is a flow chart showing steps of pool capacity monitoring and pool capacity addition processing according to the embodiment of this invention. This processing is executed while the storage system300is in operation. InFIG. 9, processing inside a shadowed frame is processing that is executed by the primary storage system whereas processing inside a frame-within-frame is processing that is executed by the secondary storage system.

The CPU210of the management server200executes the storage management program221to obtain the pool ID2231and the threshold2232from a record entry of the pool management table223whose primary/secondary indicator2234indicates “primary” (S301).

The CPU210of the management server200sends the pool ID obtained in the processing of S301to the storage system300(S302).

The CPU310of the storage system300executes the segment management program323to receive the pool ID sent by the management server200. The CPU310of the storage system300refers to the segment management table321to calculate the capacity of a storage area allocated to a logical volume from a pool area that is identified by the received pool ID, and sends the calculated capacity to the management server200(S303).

Receiving the pool capacity from the storage system300, the CPU210of the management server200refers to the pool management table223to judge whether or not the received pool capacity exceeds the threshold2232(S304). When the received pool capacity does not exceed the threshold2232(when the result shows “No” in S304), the CPU210of the management server200returns to the processing of S301.

When the received pool capacity exceeds the threshold2232(when the result shows “Yes” in S304), the CPU210of the management server200sends a pool capacity addition request to the storage system300(S305). Along with the request, the CPU210of the management server200sends to the storage system300the pool ID2231obtained in the processing of S301(the ID of the primary pool area), the paired pool ID2236(the ID of the secondary pool area), and a capacity specified by the user to be added to the pool areas.

The CPU310of the storage system300receives the pool ID of the primary pool area which has been obtained in the processing of S301, the pool ID of the secondary pool area, and the additional pool capacity, and then judges whether or not the specified capacity can be added to the primary pool area (S306).

When it is possible to add the specified capacity to the primary pool area (when the result shows “Yes” in S306), the CPU310of the storage system300adds the specified capacity to the primary pool area (S307). The CPU310of the storage system300thereafter updates the segment management table321and calculates the total capacity of the pool area.

When it is not possible to add the specified capacity to the primary pool area (when the result shows “No” in S306), the CPU310of the storage system300sends a notification to the management server200to notify that the capacity addition of the primary pool area has failed.

The CPU310of the storage system300judges whether or not the specified capacity can be added to the secondary pool area (S309).

When it is possible to add the specified capacity to the secondary pool area (when the result shows “Yes” in S309), the CPU310of the storage system300adds the specified capacity to the secondary pool area (S310). The CPU310of the storage system300thereafter updates the segment management table321and calculates the total capacity of the pool area.

When it is not possible to add the specified capacity to the secondary pool area (when the result shows “No” in S309), the CPU310of the storage system300sends a notification to the management server200to notify that the capacity addition of the secondary pool area has failed (S312).

Finishing the capacity addition of the secondary pool area, the CPU310of the storage system300sends a notification to the management server200to notify that the pool capacity addition has succeeded (S311).

The CPU210of the management server200receives a pool capacity addition result from the storage system300and judges whether or not the pool capacity addition has succeeded (S313). When the pool capacity addition is a success (when the result shows “Yes” in S313), the CPU210of the management server200updates the pool management table223(S314) and returns to the processing of S301.

When the pool capacity addition is a failure (when the result shows “No” in S313), the CPU210of the management server200sends an alert to the user who is operating the management server200, and ends the pool capacity monitoring and pool capacity addition processing.

FIG. 10is a flow chart showing steps of volume creating processing according to the embodiment of this invention. This processing is executed in creating a logical volume in a pool area. InFIG. 10, processing inside a shadowed frame is processing that is executed by the storage system.

The CPU210of the management server200executes the storage management program221, to thereby obtain the CTG ID of a consistency group to which a logical volume requested by a user to be created belongs, and the pool ID of a pool area that is associated with the requested logical volume (S401).

The CPU210of the management server200refers to the pool management table223to judge whether or not there is a logical volume created in the pool area that is identified by the pool ID obtained in the processing of S401(S402).

When there is no logical volume created in the pool area (when the result shows “No” in S402), the CPU210of the management server200sends a volume creation request to the storage system300. In sending the volume creation request, the CPU210of the management server200sends the capacity, CTG ID, and pool ID of the logical volume to be created to the storage system300.

When there is a logical volume created in the pool area (when the result shows “Yes” in S402), the CPU210of the management server200refers to the pool management table223to judge whether or not the CTG ID of a consistency group to which the logical volume already created in the pool area belongs matches the CTG ID obtained in the processing of S401(S403).

When the CTG ID of the consistency group in the specified pool area matches the CTG ID obtained in the processing of S401(when the result shows “Yes” in S403), the CPU210of the management server200sends a volume creation request to the storage system300. Along with the volume creation request, the CPU210of the management server200sends the capacity, CTG ID, and pool ID of the logical volume to be created to the storage system300.

When the CTG ID of the consistency group in the specified pool area does not match the CTG ID obtained in the processing of S401(when the result shows “No” in S403), the CPU210of the management server200sends an alert to a user who is operating the management server200, and ends the volume creating processing.

The CPU310of the storage system300receives the volume creation request from the management server200and executes volume creating processing (S404). The CPU310of the storage system300then updates the segment management table321and the physical-logical management table322. Thereafter, the CPU310of the storage system300sends a notification to the management server200to notify that the volume creating processing has been finished.

Receiving the volume creation completion notification from the storage system300, the CPU210of the management server200updates the volume management table222, the pool management table223, and the volume migration management table224(S405), and then ends the volume creating processing.

According to the embodiment of this invention, expansion of the primary pool area is accompanied by expansion of the secondary pool area. Therefore, when the management server200monitors the capacity of a pool area in the storage system300to decide whether to add to the pool area capacity, only the primary pool area needs to be monitored and the burden of pool area management can be lessened.

Moreover, according to the embodiment of this invention, the capacity of the primary pool area and the capacity of the secondary pool area are equal to each other when data copy between paired volumes is resumed after suspension of the data copy. This eliminates the need to add to the pool area capacity before resuming the data copy, and accomplishes data copy between paired volumes without a delay that is caused by an addition of capacity to the pool area.