Abstract:
A method of balancing a load in a computer system having at least one storage system, and a management computer, each of the storage systems having physical disks and a disk controller, the load balancing method including the steps of: setting at least one of the physical disks as a parity group; providing a storage area of the set parity group as at least one logical volumes to the host computer; calculating a logical volume migration time when a utilization ratio of the parity group becomes equal to or larger than a threshold; and choosing, as a data migration source volume, one of the logical volumes included in the parity group that has the utilization ratio equal to or larger than the threshold, by referring to the calculated logical volume migration time, the data migration source volume being the logical volume from which data migrates.

Description:
CLAIM OF PRIORITY 
     The present application claims priority from Japanese patent application P2007-51469 filed on Mar. 1, 2007, the content of which is hereby incorporated by reference into this application. 
     BACKGROUND 
     This invention relates to a computer system having a storage system and a management computer, and more particularly, to a technique of balancing a load of a parity group. 
     A recent improvement in host computer performance and transmission speed of Internet lines has caused an increase in an amount of data handled by a host computer, which in turn increases access to a storage system where data is stored. 
     In most cases, logical volumes in a storage system are accessed unevenly and the load of a parity group is accordingly unbalanced. As a solution to the unbalanced load of a parity group, a migration technique is known which moves a logical volume from one storage system to another. 
     JP 2001-337790 A discloses a technique in which a data migration instruction is issued when a utilization ratio of a logical volume in a storage system exceeds a threshold, thereby moving data out of this logical volume and balancing the load of a parity group. 
     SUMMARY 
     However, the technique of JP 2001-337790 A determines which logical volume needs data migration based only on the parity group utilization ratio. This is problematic since a logical volume that take a long time to migrate is determined as a logical volume that needs data migration, and the prolonged migration causes a delay in returning the utilization ratio of the parity group to its normal value. 
     This invention has been made in view of the above-mentioned problem, and it is therefore an object of this invention to provide a technique of reducing a time required to return a utilization ratio of a parity group to a normal value. 
     According to an exemplary embodiment of this invention, there is provided a method of balancing a load in a computer system having at least one storage system coupled to a host computer, and a management computer coupled to the host computer and the storage system, each of the storage systems having physical disks, which store data requested by the host computer to be written, and a disk controller, which controls the physical disks, the load balancing method comprising the steps of: setting, by the disk controller, at least one of the physical disks as a parity group, which is a single virtual disk; providing, by the disk controller, a storage area of the set parity group as at least one logical volume to the host computer; calculating, by the management computer, a logical volume migration time in a case where a utilization ratio of the parity group becomes equal to or larger than a threshold, the logical volume migration time being a time required to move data from one logical volume in one parity group to another parity group; and choosing, by the management computer, as a data migration source volume, one of the logical volumes included in the parity group that has the utilization ratio equal to or larger than the threshold, by referring to the calculated logical volume migration time, the data migration source volume being the logical volume from which data migrates. 
     According to the representative mode of this invention, the utilization ratio of a parity group can be returned to a normal value in less time. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The present invention can be appreciated by the description which follows in conjunction with the following figures, wherein: 
         FIG. 1  is a block diagram showing the configuration of a computer system according to a first embodiment of this invention; 
         FIG. 2  is a block diagram showing the configuration of the memory in the host computer according to the first embodiment of this invention; 
         FIG. 3  is a block diagram showing the configuration of the memory in the management host computer according to the first embodiment of this invention; 
         FIG. 4  is a block diagram showing the configuration of the memory in the storage system according to the first embodiment of this invention; 
         FIG. 5  is a configuration diagram of the host settings table that is stored in the memory of the host computer according to the first embodiment of this invention; 
         FIG. 6  is a configuration diagram of the threshold settings table which is stored in the memory of the management host computer according to the first embodiment of this invention; 
         FIG. 7  is a configuration diagram of the migration source candidate LU table that is stored in the memory of the management host computer according to the first embodiment of this invention; 
         FIG. 8  is a configuration diagram of the storage system settings table that is stored in the memory of each storage system according to the first embodiment of this invention; 
         FIG. 9  is a configuration diagram of the storage system performance information table which is stored in the memory of each storage system according to the first embodiment of this invention; 
         FIG. 10  is a sequence diagram of a performance tuning process for the computer system according to the first embodiment of this invention; 
         FIG. 11  is a flow chart for over-threshold utilization detecting process which is executed by the management host computer according to the first embodiment of this invention; 
         FIG. 12  is a flow chart for the migration source LU determining process which is executed by the management host computer according to the first embodiment of this invention; 
         FIG. 13  is a flow chart for the migration time calculating process that is executed by the management host computer according to the first embodiment of this invention; 
         FIG. 14  is a flow chart for the post-migration performance evaluating process which is executed by the management host computer according to the first embodiment of this invention; 
         FIG. 15  is a flow chart for the migration source LU selecting process that is executed by the management host computer according to the first embodiment of this invention; 
         FIG. 16  is a block diagram showing the configuration of a computer system according to the second embodiment of this invention; 
         FIG. 17  is a configuration diagram of the host settings table that is stored in the memory of the host computer according to the second embodiment of this invention; 
         FIG. 18  is a configuration diagram of the migration source candidate LU table that is stored in the memory of the management host computer according to the second embodiment of this invention; 
         FIG. 19  is a configuration diagram of the storage system settings table that is stored in the memory of each storage system according to the second embodiment of this invention; 
         FIG. 20  is a flow chart for the migration time calculating process that is executed by the management host computer according to the second embodiment of this invention; 
         FIG. 21  is a flow chart for the migration source LU selecting process that is executed by the management host computer according to the second embodiment of this invention; 
         FIG. 22  is a block diagram showing the configuration of a computer system according to the third embodiment of this invention; 
         FIG. 23  is a configuration diagram of the migration source candidate LU table that is stored in the memory of the management host computer according to the third embodiment of this invention; 
         FIG. 24  is a flow chart for the migration source LU determining process that is executed by the management host computer according to the third embodiment of this invention: and 
         FIG. 25  is a flow chart for the migration destination PG determining process that is executed by the management host computer according to the third embodiment of this invention. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Embodiments of this invention will be described below with reference to the accompanying drawings. 
     First Embodiment 
       FIG. 1  is a block diagram showing the configuration of a computer system according to a first embodiment of this invention. 
     The computer system has a host computer  1000 , a management host computer  1100 , an FC switch  1200 , an IP switch  1300 , and a storage system  1400 . 
       FIG. 1  shows one host computer  1000 , FC switch  1200 , and IP switch  1300 , but the computer system can have as many of those components as necessary. Similarly, the computer system may have more or less than two storage systems  1400  which are shown in  FIG. 1 . 
     The host computer  1000  requests the storage system  1400  to write and read data. The host computer  1000  has an FC I/F  1001 , a CPU  1002 , an input device  1003 , an output device  1004 , an IP I/F  1005 , a storage device  1006 , and a memory  1007 . 
     The FC I/F  1001  is an interface that is connected to the storage systems  1400  via the FC switch  1200 . The IP I/F  1005  is an interface that is connected to the management host computer  1100  via the IP switch  1300 . 
     The CPU  1002  performs various processes by executing a program stored in the memory  1007 . The memory  1007  stores a program executed by the CPU  1002 , information needed by the CPU  1002 , and the like. Details of the memory  1007  will be described with reference to  FIG. 2 . 
     The storage device  1006  stores various types of information including programs. The input device  1003  receives inputs of various types of information. The input device  1003  is, for example, a keyboard or a mouse. The output device  1004  outputs various types of information. The output device  1004  is, for example, a display. 
     The management host computer  1100  handles the overall management of the computer system. The management host computer  1100  has an FC I/F  1101 , a CPU  1102 , an input device  1103 , an output device  1104 , an IP I/F  1105 , a storage device  1106 , and a memory  1107 . 
     The FC I/F  1101  is an interface that is connected to the storage systems  1400  via the FC switch  1200 . The IP I/F  1105  is an interface that is connected to the host computer  1000  via the IP switch  1300 . 
     The CPU  1102  performs various processes by executing a program stored in the memory  1107 . The memory  1107  stores a program executed by the CPU  1102 , information needed by the CPU  1102 , and the like. Details of the memory  1107  will be described with reference to  FIG. 3 . 
     The storage device  1106  stores various types of information including programs. The input device  1103  receives inputs of various types of information. The input device  1103  is, for example, a keyboard or a mouse. The output device  1104  outputs various types of information. The output device  1104  is, for example, a display. 
     The FC switch  1200  transfers data that is exchanged between the host computer  1000  and the storage systems  1400 , data that is exchanged between the storage systems  1400 , and data that is exchanged between the management host computer  1100  and the storage systems  1400 . For instance, the FC switch  1200  transfers write requests, write data, read requests, and read data. 
     The FC switch  1200  has a CPU  1201 , a memory  1202 , an IP I/F  1203 , and FC I/Fs  1205 . 
     The IP I/F  1203  is an interface that is connected to the management host computer  1100  via a local area network (LAN) or the like. The FC I/Fs  1205  are interfaces each of which is connected via a fibre channel (FC) to the host computer  1000 , the management host computer  1100 , or one of the storage systems  1400 . 
     The CPU  1201  performs various processes by executing a program stored in the memory  1202 . For instance, the CPU  1201  controls the overall process of the FC switch  1200 . 
     The memory  1202  stores a program executed by the CPU  1201 , information needed by the CPU  1201 , and the like. For instance, the memory  1202  stores a routing table and a routing program. The routing program transfers received data based on the routing table. 
     The IP switch  1300  transfers data that is exchanged between the host computer  1000  and the management host computer  1100 , and data that is exchanged between the management host computer  1100  and the storage systems  1400 . For instance, the IP switch transfers management information. 
     The IP switch  1300  has a CPU  1301 , a memory  1302 , and IP I/Fs  1303 . 
     The IP I/F  1303  are interfaces each of which is connected via a LAN or the like to the host computer  1000 , the management host computer  1100 , or one of the storage systems  1400 . 
     The CPU  1301  performs various processes by executing a program stored in the memory  1302 . For instance, the CPU  1301  controls the overall process of the IP switch  1300 . 
     The memory  1302  stores a program executed by the CPU  1301 , information needed by the CPU  1301 , and the like. For instance, the memory  1302  stores a routing table and a routing program. The routing program transfers received data based on the routing table. 
     Each storage system  1400  has an FC I/F  1401 , an IP I/F  1402 , a CPU  1403 , a memory  1404 , a disk controller  1405 , and disk drives  1406 . 
     The FC I/F  1401  is an interface that is connected via the FC switch  1200  to the host computer  1000 , the management host computer  1100 , or the other storage system  1400 . The IP I/F  1402  is an interface that is connected to the management host computer  1100  via the IP switch  1300 . 
     The CPU  1403  performs various processes by executing a program stored in the memory  1404 . For instance, the CPU  1403  controls the overall process of its storage system  1400 . 
     The memory  1404  stores a program executed by the CPU  1403 , information needed by the CPU  1403 , and the like. Details of the memory  1404  will be described with reference to  FIG. 4   
     The disk drives  1406  store data that is requested by the host computer  1000  to be written. The disk controller  1405  controls data input and output to and from the disk drives  1406 . 
     The disk controller  1405  gives the disk drives  1406  a redundant array of independent disks (RAID) architecture which is a redundant configuration. The disk controller  1405  treats one disk drive  1406  or a group of disk drives  1406  as a virtual disk (a parity group  1410 ). 
     Each parity group  1410  is divided by the disk controller  1405  into one or more logical volumes (LUs)  1411 , which are provided to the host computer  1000  and the management host computer  1100 . The host computer  1000  and the management host computer  1100  thus recognize storage areas of the disk drives  1406  in the storage system  1400  as the LUs  1411 . 
       FIG. 2  is a block diagram showing the configuration of the memory  1007  in the host computer  1000  according to the first embodiment of this invention. 
     The memory  1007  in the host computer  1000  stores a data processing program  2001 , a setting process program  2002 , and a host settings table  2003 . 
     The data processing program  2001  reads/writes data from/to the storage systems  1400 . The setting process program  2002  creates and updates the host settings table  2003 . 
     The host settings table  2003  shows information about the settings of the host computer  1000 . Details of the host settings table  2003  will be described with reference to  FIG. 5 . 
       FIG. 3  is a block diagram showing the configuration of the memory  1107  in the management host computer  1100  according to the first embodiment of this invention. 
     The memory  1107  in the management host computer  1100  stores an over-threshold utilization detecting program  7001 , a migration source LU determining program  7002 , a threshold settings table  7003 , and a migration source candidate LU table  7004 . 
     The over-threshold utilization detecting program  7001  judges whether or not the utilization ratio of the parity group  1410  is equal to or higher than a threshold. The process executed by the over-threshold utilization detecting program  7001  will be described in detail with reference to  FIG. 11 . 
     The migration source LU determining program  7002  determines which LU  1411  is to migrate. The process executed by the migration source LU determining program  7002  will be described in detail with reference to  FIG. 12 . 
     The threshold settings table  7003  shows a threshold for the utilization ratio of the parity group  1410 . Details of the threshold settings table  7003  will be described with reference to  FIG. 6 . 
     The migration source candidate LU table  7004  shows information about the LU  1411  that is a migration source candidate. Details of the migration source candidate LU table  7004  will be described with reference to  FIG. 7 . 
       FIG. 4  is a block diagram showing the configuration of the memory  1404  in the storage system  1400  according to the first embodiment of this invention. 
     The memory  1404  in the storage system  1400  stores a data processing program  5001 , a data migration program  5002 , a setting process program  5003 , a storage system settings table  5004 , and a storage system performance information table  5005 . 
     The data processing program  5001  receives a read request from the host computer  1000  and reads data requested to be read out of one of the LUs  1411 . The data processing program  5001  sends the read data to the host computer  1000 . Also, the data processing program  5001  receives a write request from the host computer  1000  and writes data requested to be written in one of the LUs  1411 . 
     The data migration program  5002  performs migration in which data is moved from one LU  1411  belonging to one parity group  1410  to another parity group  1410  (the migration destination parity group  1410 ). In this embodiment, which parity group  1410  serves as the migration destination parity group  1410  is set in advance. The migration destination parity group  1410  and the parity group  1410  to which the LU  1411  that is to migrate belongs (the migration source parity group  1410 ) may be built in the same storage system  1400 , or in different storage systems  1400 . 
     The setting process program  5003  creates and updates the storage system settings table  5004 . 
     The storage system settings table  5004  shows information about settings of its storage system  1400 . Details of the storage system settings table  5004  will be described with reference to  FIG. 8 . 
     The storage system performance information table  5005  shows information about the current performance of its storage system  1400 . Details of the storage system performance information table  5005  will be described with reference to  FIG. 9 . 
       FIG. 5  is a configuration diagram of the host settings table  2003  that is stored in the memory  1007  of the host computer  1000  according to the first embodiment of this invention. 
     The host settings table  2003  contains a host name  8001 , a used LUN  8002 , and a connected IF name  8003 . 
     The host name  8001  indicates an identifier unique to the host computer  1000 . The used LUN  8002  indicates an identifier unique to the LU  1411  that can be accessed from the host computer  1000  identified by the host name  8001  of a record entry in question. 
     The connected IF name  8003  indicates an identifier unique to the FC I/F  1401  that is used by the host computer  1000  identified by the host name  8001  of a record entry in question to access the LU  1411  that is identified by the used LUN  8002  of the record. 
       FIG. 6  is a configuration diagram of the threshold settings table  7003  which is stored in the memory  1107  of the management host computer  1100  according to the first embodiment of this invention. 
     The threshold settings table  7003  contains a storage name  15001 , a PG name  15002 , a PG utilization ratio threshold  15003 , and an over-threshold utilization flag  15004 . 
     The storage name  15001  indicates an identifier unique to each storage system  1400 . The PG name  15002  indicates an identifier unique to the parity group  1410  built in the storage system  1400  that is identified by the storage name  15001  of a record entry in question. 
     The PG utilization ratio threshold  15003  indicates a threshold for the utilization ratio of the parity group  1410  that is identified by the PG name  15002  of a record entry in question. 
     The over-threshold utilization flag  15004  indicates whether or not the utilization ratio of the parity group  1410  that is identified by the PG name  15002  of a record entry in question is equal to or higher than the PG utilization ratio threshold  15003  of the record. In this embodiment, “ON” is stored as the over-threshold utilization flag  15004  when the utilization ratio of the parity group  1410  that is identified by the PG name  15002  of a record entry in question is equal to or higher than the PG utilization threshold  15003  of the record. When the utilization ratio of the parity group  1410  that is identified by the PG name  15002  of a record entry in question is lower than the PG utilization threshold  15003  of the record, “OFF” is stored as the over-threshold utilization flag  15004 . 
       FIG. 7  is a configuration diagram of the migration source candidate LU table  7004  that is stored in the memory  1107  of the management host computer  1100  according to the first embodiment of this invention. 
     The migration source candidate LU table  7004  contains a migration source candidate LUN  16001 , an online migration time  16002 , a post-migration PG utilization ratio  16003 , a post-migration performance evaluation  16004 , and a migration flag  16005 . 
     The migration source candidate LUN  16001  indicates an identifier unique to the LU  1411  that is a migration source candidate. A cell for the migration source candidate LUN  16001  may hold the identifier of one LU  1411  or the identifiers of a plurality of LUs  1411 . When the identifiers of the plurality of LUs  1411  are held in a cell for the migration source candidate LUN  16001 , it means that data is to migrate from every one of those LUs  1411 . 
     The online migration time  16002  indicates a time necessary for data to migrate online from the LU  1411  that is identified by the migration source candidate LUN  16001  of a record in question. 
     Online data migration is data migration that is executed while access from the host computer  1000  to the LU  1411  in question is maintained. Offline data migration is data migration that is executed while access from the host computer  1000  to the LU  1411  in question is suspended. 
     The post-migration PG utilization ratio  16003  indicates a predicted utilization ratio of the migration source parity group  1410  after data migration from the LU  1411  that is identified by the migration source candidate LUN  16001  of a record entry in question is completed. 
     The post-migration performance evaluation  16004  indicates whether or not the post-PG utilization ratio  16003  of a record entry in question is lower than the PG utilization threshold  15003  of the threshold settings table  7003 . In this embodiment, “OK” is stored as the post-migration performance evaluation  16004  when the post-migration utilization ratio  16003  of a record entry in question is lower than the PG utilization threshold  15003  of the threshold settings table  7003 . When the post-migration utilization ratio  16003  of a record entry in question is equal to or higher than the PG utilization threshold  15003  of the threshold settings table  7003 , “NG” is stored as the post-migration performance evaluation  16004 . 
     The migration flag  16005  indicates whether or not the LU  1411  that is identified by the migration source candidate LUN  16001  of a record entry in question is determined as a migration source. In this embodiment, “ON” is stored as the migration flag  16005  when the LU  1411  that is identified by the migration source candidate LUN  16001  of a record entry in question is determined as a migration source. When the LU  1411  that is identified by the migration source candidate LUN  16001  of a record entry in question is not determined as a migration source, “OFF” is stored as the migration flag  16005 . 
       FIG. 8  is a configuration diagram of the storage system settings table  5004  that is stored in the memory  1404  of each storage system  1400  according to the first embodiment of this invention. 
     The storage system settings table  5004  contains a storage name  11001 , a PG name  11002 , an LUN  11003 , a capacity  11004 , and a copy rate  11005 . 
     The storage name  11001  indicates an identifier unique to each storage system  1400 . The PG name  11002  indicates an identifier unique to the parity group  1410  built in the storage system  1400  that is identified by the storage name  11001  of a record entry in question. The LUN  11003  indicates an identifier unique to the LU  1411  that belongs to the parity group  1410  identified by the PG name  11002  of a record entry in question. 
     The capacity  11004  indicates the capacity of the LU  1411  that is identified by the LUN  11003  of a record entry in question. The copy rate  11005  indicates the amount of data copied per unit time in migration of data from the LU  1411  that is identified by the LUN  11003  of a record entry in question to the parity group  1410  that is not the one to which this LU  1411  belongs. 
       FIG. 9  is a configuration diagram of the storage system performance information table  5005  which is stored in the memory  1404  of each storage system  1400  according to the first embodiment of this invention. 
     The storage system performance information table  5005  contains a storage name  13001 , a PG name  13002 , a PG utilization ratio  13003 , an LUN  13004 , an LU utilization ratio  13005 , and a write rate  13006 . 
     The storage name  13001  indicates an identifier unique to each storage system  1400 . The PG name  13002  indicates an identifier unique to the parity group  1410  built in the storage system  1400  that is identified by the storage name  13001  of a record entry in question. 
     The PG utilization ratio  13003  indicates the utilization ratio of the parity group  1410  that is identified by the PG name  13002  of a record entry in question. The utilization ratio of each parity group  1410  is the ratio of the length of time during which access to the parity group  1410  keeps the disk drives  1406  operating to a given period of time. 
     The LUN  13004  indicates an identifier unique to the LU  1411  that belongs to the parity group  1410  identified by the PG name  13002  of a record entry in question. 
     The LU utilization ratio  13005  indicates the utilization ratio of the LU  1411  that is identified by the LUN  13004  of a record entry in question. The utilization ratio of each LU  1411  is the ratio of the length of time during which access to the LU  1411  keeps the disk drives  1406  operating to a given period of time. Accordingly, the utilization ratio of each parity group  1410  equals to the sum of the utilization ratios of all the LUs  1411  that belong to the parity group  1410 . 
     The write rate  13006  indicates the amount of data written per unit time in the LU  1411  that is identified by the LUN  13004  of a record entry in question. 
       FIG. 10  is a sequence diagram of a performance tuning process for the computer system according to the first embodiment of this invention. 
     This sequence diagram illustrates a case in which the utilization ratio of one parity group  1410  exceeds a threshold. 
     The CPU  1403  in each storage system  1400  measures the performance of its storage system  1400  and collection of the performance information is timed with a given event. The performance information contains the utilization ratio of the parity group  1410 , the utilization ratios of the LUs  1411 , and a write rate at which data is written in the LUs  1411 . The CPU  1403  in the storage system  1400  stores the collected performance information in the storage system performance information table  5005 . 
     Next, the CPU  1403  in the storage system  1400  sends the storage system settings table  5004  and the storage system performance information table  5005  to the management host computer  1100  ( 17001 ). 
     The CPU  1102  in the management host computer  1100  receives the storage system settings table  5004  and the storage system performance information table  5005  from the storage system  1400 . The CPU  1102  in the management host computer  1100  then executes an over-threshold utilization detecting process ( 17002 ). Details of the over-threshold utilization detecting process will be described with reference to  FIG. 11 . 
     The CPU  1102  in the management host computer  1100  executes a migration source LU determining process ( 17003 ). Details of the migration source LU determining process will be described with reference to  FIG. 12 . 
     The CPU  1102  in the management host computer  1100  next selects a record entry of the migration source candidate LU table  7004  that has “ON” as the migration flag  16005 . From the selected record, the CPU  1102  in the management host computer  1100  extracts the migration source candidate LUN  16001 . 
     The CPU  1102  in the management host computer  1100  sends an LU migration request to the storage system  1400  ( 17004 ). The LU migration request requests migration of the LU  1411  that is identified by the extracted migration source candidate LUN  16001 . 
     The CPU  1403  in the storage system  1400  receives the LU migration request from the management host computer  1100 . Receiving the request, the CPU  1403  in the storage system  1400  performs migration that moves data from the migration source LU  1411  belonging to one parity group  1410  to the other parity group  1410  ( 17005 ). This creates a new LU  1411  (migration destination LU  1411 ) in the migration destination parity group  1410 . 
     After data migration of the LU  1411  is completed, the CPU  1403  in the storage system  1400  updates the storage system settings table  5004  and the storage system performance information table  5005 . 
     Specifically, the CPU  1403  in the storage system  1400  deletes from the storage system settings table  5004  a record entry whose LUN  11003  matches the identifier of the migration source LU  1411 . The CPU  1403  in the storage system  1400  then deletes from the storage system performance information table  5005  a record entry whose LUN  13004  matches the identifier of the migration source LU  1411 . 
     The CPU  1403  in the storage system  1400  also instructs the host computer  1000  that has access to the migration source LU  1411  to switch paths. Receiving the path switching instruction, the CPU  1002  in the host computer  1000  updates the host settings table  2003 . 
     The CPU  1403  in the storage system  1400  that provides the migration destination LU  1411  (the migration destination storage system  1400 ), too, updates the storage system settings table  5004  and the storage system performance information table  5005 . 
     Specifically, the CPU  1403  in the migration destination storage system  1400  creates a new record entry in each of the storage system settings table  5004  and the storage system performance information table  5005 . The CPU  1403  in the migration destination storage system  1400  stores information about the created migration destination LU  1411  in the newly created record. 
     The computer system finishes the performance tuning process in the manner described above. 
       FIG. 11  is a flow chart for over-threshold utilization detecting process which is executed by the management host computer  1100  according to the first embodiment of this invention. 
     The over-threshold utilization detecting process is executed in Step  17002  of the performance tuning process shown in  FIG. 10 . 
     First, the CPU  1102  in the management host computer  1100  selects record entries of the threshold settings table  7003  one at a time starting from the top and proceeding downward ( 18001 ). 
     From the selected record, the CPU  1102  in the management host computer  1100  extracts the storage name  15001 , the PG name  15002 , and the PG utilization ratio threshold  15003 . 
     The CPU  1102  in the management host computer  1100  selects, from the storage system performance information table  5005  received in Step  17001  of the performance turning process, every record entry whose storage name  13001  matches the extracted storage name  15001 . From among the selected records of the storage system performance information table  5005 , the CPU  1102  in the management host computer  1100  selects one whose PG name  13002  matches the extracted PG name  15002 . 
     From the selected record, the CPU  1102  in the management host computer  1100  extracts the PG utilization ratio  13003 . The CPU  1102  in the management host computer  1100  next judges whether or not the extracted PG utilization ratio  13003  is equal to or higher than the extracted PG utilization ratio threshold  15003  ( 18002 ). 
     When the PG utilization ratio  13003  is lower than the PG utilization ratio threshold  15003 , the CPU  1102  in the management host computer  1100  stores “OFF” as the over-threshold utilization flag  15004  of the record selected from the threshold settings table  7003 . 
     When the PG utilization ratio  13003  is equal to or higher than the PG utilization ratio threshold  15003 , the CPU  1102  in the management host computer  1100  stores “OFF” as the over-threshold utilization flag  15004  of the record selected from the threshold settings table  7003  ( 18003 ). 
     The CPU  1102  in the management host computer  1100  next judges whether or not every record in the threshold settings table  7003  has been selected in Step  18001  ( 18004 ). 
     When there are any records in the threshold settings table  7003  that have not been selected, the CPU  1102  in the management host computer  1100  returns to Step  18001 , where the CPU  1102  in the management host computer  1100  selects the next record from the threshold settings table  7003  and proceeds to Step  18002 . 
     When there are no records left unselected in the threshold settings table  7003 , the CPU  1102  in the management host computer  1100  ends this over-threshold utilization detecting process. 
       FIG. 12  is a flow chart for the migration source LU determining process which is executed by the management host computer  1100  according to the first embodiment of this invention. 
     The migration source LU determining process is executed in Step  17003  of the performance tuning process shown in  FIG. 10 . 
     First, the CPU  1102  in the management host computer  1100  selects, from the threshold settings table  7003 , a record entry that has “ON” as the over-threshold utilization flag  15004 . From the selected record, the CPU  1102  in the management host computer  1100  extracts the storage name  15001  and the PG name  15002 . 
     The CPU  1102  in the management host computer  1100  next selects, from the storage system settings table  5004  received in Step  17001  of the performance tuning process, every record entry whose storage name  11001  matches the extracted storage name  15001 . From among the selected records of the storage system settings table  5004 , the CPU  1102  in the management host computer  1100  selects every record whose PG name  11002  matches the extracted PG name  15002 . 
     From each one of the selected records, the CPU  1102  in the management host computer  1100  extracts the LUN  11003 , thereby identifying every LU  1411  belonging to the parity group  1410  that has exceeded a utilization ratio threshold. 
     The CPU  1102  in the management host computer  1100  next creates in the migration source candidate LU table  7004  as many record entries as all the possible combinations of the extracted LUNs  11003 . The CPU  1102  in the management host computer  1100  respectively stores the combinations of the extracted LUNs  11003  in cells for the migration source candidate LUN  16001  in the created records ( 19001 ). 
     A case in which the extracted LUNs  11003  are “LU 1 ”, “LU 2 ”, “LU 3 ”, and “LU 4 ” will be described. All the possible combinations of the extracted LUNs  11003  in this case are “LU 1 ”, “LU 2 ”, “LU 3 ”, “LU 4 ”, “LU 1  and LU 2 ”, “LU 1  and LU 3 ”, “LU 1  and LU 4 ”, “LU 2  and LU 3 ”, “LU 2  and LU 4 ”, “LU 3  and LU 4 ”, “LU 1 , LU 2 , and LU 3 ”, “LU 1 , LU 2 , and LU 4 ”, “LU 1 , LU 3 , and LU 4 ”, “LU 2 , LU 3 , and LU 4 ”, and “LU 1 , LU 2 , LU 3 , and LU 4 ”. 
     Next, the CPU  1102  in the management host computer  1100  selects record entries of the migration source candidate LU table  7004  one at a time starting from the top and proceeding downward ( 19002 ). 
     The CPU  1102  in the management host computer  1100  then executes a migration time calculating process ( 19003 ). Details of the migration time calculating process will be described with reference to  FIG. 13 . 
     The CPU  1102  in the management host computer  1100  then executes a post-migration performance evaluating process ( 19004 ). Details of the post-migration performance evaluating process will be described with reference to  FIG. 14 . 
     The CPU  1102  in the management host computer  1100  then judges whether or not every record entry in the migration source candidate LU table  7004  has been selected in Step  19002  ( 19005 ). 
     When there are any records in the migration source candidate LU table  7004  that have not been selected, the CPU  1102  in the management host computer  1100  returns to Step  19002 , where the CPU  1102  in the management host computer  1100  selects the next record from the migration source candidate LU table  7004  and proceeds to Step  19003 . 
     When there are no records left unselected in the migration source candidate LU table  7004 , the CPU  1102  in the management host computer  1100  executes a migration source LU selecting process ( 19006 ). Details of the migration source LU selecting process will be described with reference to  FIG. 15 . 
     The CPU  1102  in the management host computer  1100  then ends this migration source LU determining process. 
       FIG. 13  is a flow chart for the migration time calculating process that is executed by the management host computer  1100  according to the first embodiment of this invention. 
     The migration time calculating process is executed in Step  19003  of the migration source LU determining process shown in  FIG. 12 . 
     First, the CPU  1102  in the management host computer  1100  extracts the migration source candidate LUN  16001  from the record in the migration source candidate LU table  7004  that has been selected in Step  19002  of the migration source LU determining process. 
     The CPU  1102  in the management host computer  1100  next select, from the storage system settings table  5004  received in Step  17001  of the performance tuning process, a record entry whose LUN  11003  matches the extracted migration source candidate LUN  16001 . From the selected record, the CPU  1102  in the management host computer  1100  extracts the capacity  11004  and the copy rate  11005 . 
     The CPU  1102  in the management host computer  1100  divides the extracted capacity  11004  by the extracted copy rate  11005 , thus calculating an offline migration time of the LU  1411  that is identified by the extracted migration source candidate LUN  16001  ( 20001 ). 
     Next, the CPU  1102  in the management host computer  1100  selects, from the storage system performance information table  5005  received in Step  17001  of the performance tuning process, a record entry whose LUN  13004  matches the extracted migration source candidate LUN  16001 . From the selected record, the CPU  1102  in the management host computer  1100  extracts the write rate  13006 . 
     The CPU  1102  in the management host computer  1100  multiplies the calculated offline migration time by the extracted write rate  13006  and thus calculates a differential data amount, which indicates the amount of data written during migration ( 20002 ). 
     The CPU  1102  in the management host computer  1100  divides the calculated differential data amount by the extracted copy rate  11005  and thus calculates a differential data migration time, which indicates a time necessary to complete the migration of differential data ( 20003 ). 
     Next, the CPU  1102  in the management host computer  1100  adds the calculated differential data migration time to the calculated offline migration time, thus calculating an online migration time. The CPU  1102  in the management host computer  1100  divides the calculated online migration time by 60 to calculate an online migration time in minutes ( 20004 ). 
     The CPU  1102  in the management host computer  1100  stores the calculated online migration time as the online migration time  16002  of the record selected from the migration source candidate LU table  7004  in Step  19002  of the migration source LU determining process ( 20005 ). 
     The CPU  1102  in the management host computer  1100  then ends this migration time calculating process. 
     Described here is a case in which the extracted cell for the migration source candidate LUN  16001  holds the identifiers of the plurality of LUs  1411 , in short, a case in which the plurality of LUs  1411  are migration source candidates. 
     The CPU  1102  in the management host computer  1100  in this case calculates an online migration time for each of the migration source candidate LUs  1411 . The CPU  1102  in the management host computer  1100  sums up the calculated online migration times, thereby calculating an online migration time that is necessary if all the migration source candidate LUs  1411  are to migrate. 
       FIG. 14  is a flow chart for the post-migration performance evaluating process which is executed by the management host computer  1100  according to the first embodiment of this invention. 
     The post-migration performance evaluating process is executed in Step  19004  of the migration source LU determining process shown in  FIG. 12 . 
     First, the CPU  1102  in the management host computer  1100  extracts the migration source candidate LUN  16001  from the record in the migration source candidate LU table  7004  that has been selected in Step  19002  of the migration source LU determining process. 
     Next, the CPU  1102  in the management host computer  1100  selects from the storage system performance information table  5005  a record entry whose LUN  13004  matches the extracted migration source candidate LUN  16001 . In the case where the extracted cell for the migration source candidate LUN  16001  holds the identifiers of the plurality of LUs  1411 , the CPU  1102  in the management host computer  1100  selects every record in the storage system performance information table  5005  whose LUN  13004  matches any of the identifiers held in the extracted cell for the migration source candidate LUN  16001 . 
     From each of the selected records, the CPU  1102  in the management host computer  1100  extracts the PG utilization ratio  13003  and the LU utilization ratio  13005 . The CPU  1102  in the management host computer  1100  calculates the sum of all the extracted LU utilization ratios  13005  ( 21001 ). 
     The CPU  1102  in the management host computer  1100  subtracts the calculated sum of the LU utilization ratios  13005  from the extracted PG utilization ratio  13003 , thereby calculating a post-migration PG utilization ratio ( 21002 ). 
     The CPU  1102  in the management host computer  1100  stores the calculated post-migration PG utilization ratio as the post-migration utilization ratio  16003  of the record selected from the migration source candidate LU table  7004  in Step  19002  of the migration source LU determining process ( 21003 ). 
     Next, the CPU  1102  in the management host computer  1100  extracts the PG utilization ratio threshold  15003  from the record in the threshold settings table  7003  that has been selected in Step  19001  of the migration source LU determining process. The CPU  1102  in the management host computer  1100  judges whether or not the calculated post-migration PG utilization ratio is equal to or higher than the extracted PG utilization ratio threshold  15003  ( 21004 ). 
     When the post-migration PG utilization ratio is equal to or higher than the PG utilization ratio threshold  15003 , the CPU  1102  in the management host computer  1100  stores “NG” as the post-migration performance evaluation  16004  of the record selected from the threshold settings table  7003  in Step  19001  of the migration source LU determining process ( 21006 ). The CPU  1102  in the management host computer  1100  then ends this post-migration performance evaluating process. 
     When the post-migration PG utilization ratio is lower than the PG utilization ratio threshold  15003 , on the other hand, the CPU  1102  in the management host computer  1100  stores “OK” as the post-migration performance evaluation  16004  of the record selected from the threshold settings table  7003  in Step  19001  of the migration source LU determining process ( 21005 ). The CPU  1102  in the management host computer  1100  then ends this post-migration performance evaluating process. 
       FIG. 15  is a flow chart for the migration source LU selecting process that is executed by the management host computer  1100  according to the first embodiment of this invention. 
     The migration source LU selecting process is executed in Step  19006  of the migration source LU determining process shown in  FIG. 12 . 
     First, the CPU  1102  in the management host computer  1100  selects record entries in the migration source candidate LU table  7004  one at a time in an ascending order of the online migration time  16002  ( 22001 ). 
     Next, the CPU  1102  in the management host computer  1100  judges whether or not the migration source candidate LU table  7004  holds a record entry that has “ON” as the migration flag  16005  ( 22002 ). 
     When a record having an “ON” migration flag is found in the table, the CPU  1102  in the management host computer  1100  excludes, as a migration source, the LU  1411  that is identified by the migration source candidate LUN  16001  of the selected record. The CPU  1102  in the management host computer  1100  accordingly stores “OFF” as the migration flag  16005  of the selected record ( 22005 ). 
     When no record in the migration source candidate LU table  7004  has an “ON” migration flag, the CPU  1102  in the management host computer  1100  judges whether or not the post-migration performance evaluation  16004  of the selected record has a value “OK” ( 22003 ). 
     When the post-migration performance evaluation  16004  of the selected record has a value “NG”, the CPU  1102  in the management host computer  1100  excludes, as a migration source, the LU  1411  that is identified by the migration source candidate LUN  16001  of the selected record. The CPU  1102  in the management host computer  1100  accordingly stores “OFF” as the migration flag  16005  of the selected record ( 22005 ). 
     When the post-migration performance evaluation  16004  of the selected record has a value “OK”, the CPU  1102  in the management host computer  1100  sets, as a migration source, the LU  1411  that is identified by the migration source candidate LUN  16001  of the selected record. The CPU  1102  in the management host computer  1100  accordingly stores “ON” as the migration flag  16005  of the selected record ( 22004 ). 
     Next, the CPU  1102  in the management host computer  1100  judges whether or not every record entry in the migration source candidate LU table  7004  has been selected in Step  22001  ( 22006 ). 
     When there are any records in the migration source candidate LU table  7004  that have not been selected, the CPU  1102  in the management host computer  1100  returns to Step  22001 , where the CPU  1102  in the management host computer  1100  selects the next record from the migration source candidate LU table  7004  and proceeds to Step  22002 . 
     When every record in the migration source candidate LU table  7004  has been selected, the CPU  1102  in the management host computer  1100  ends this migration source LU selecting process. 
     According to this embodiment, when the utilization ratio of one parity group  1410  in the storage system  1400  reaches or exceeds a threshold, data migration is performed to move data from the LU  1411  that belongs to this parity group  1410  to another parity group  1410 . The LU  1411  that requires a shorter online migration time than other LUs  1411  is selected as a migration source from which data is moved. The utilization ratio of the parity group  1410  is thus lowered below the threshold within a reduced time. 
     Second Embodiment 
     In a second embodiment of this invention, the management host computer  1100  takes into account an offline migration time as well as an online migration time in determining which LU  1411  is to migrate. 
       FIG. 16  is a block diagram showing the configuration of a computer system according to the second embodiment of this invention. 
     The computer system of the second embodiment has the same configuration as that of the computer system of the first embodiment which is shown in  FIG. 1 , except for the host settings table  2003  stored in the host computer  1000 , the migration source candidate LU table  7004  stored in the management host computer  1100 , and the storage system settings table  5004  stored in the storage systems  1400 . In the second embodiment, components common to those in the first embodiment are denoted by the same reference symbols and their descriptions will be omitted. 
     In the second embodiment, the LU  1411  that is provided by the storage system A  1400  and the LU  1411  that is provided by the storage system B  1400  may form a copy pair. 
       FIG. 17  is a configuration diagram of the host settings table  2003  that is stored in the memory  1007  of the host computer  1000  according to the second embodiment of this invention. 
     The host settings table  2003  contains a host name  8001 , a used LUN  8002 , a connected IF name  8003 , and online migration flag  8004 . 
     The host name  8001 , the used LUN  8002 , and the connected IF name  8003  are the same as those in the host settings table  2003  of the first embodiment which is shown in  FIG. 5 , and their descriptions will not be repeated here. 
     The online migration flag  8004  indicates whether or not data needs to be migrated online from the LU  1411  that is identified by the used LUN  8002  of a record entry in question. When the LU  1411  that is identified by the used LUN  8002  of a record entry in question needs online data migration, “necessary” is stored for the online migration flag  8004  of the record. When data migration from the LU  1411  that is identified by the used LUN  8002  of a record entry in question can be performed offline because the data does not need online migration, “unnecessary” is stored for the online migration flag  8004  of the record. 
       FIG. 18  is a configuration diagram of the migration source candidate LU table  7004  that is stored in the memory  1107  of the management host computer  1100  according to the second embodiment of this invention. 
     The migration source candidate LU table  7004  contains a migration source candidate LUN  16001 , an online migration time  16002 , a post-migration PG utilization ratio  16003 , a post-migration performance evaluation  16004 , a migration flag  16005 , offline migration time  16006 , and migration time  16007 . 
     The migration source candidate LUN  16001 , the online migration time  16002 , the post-migration PG utilization ratio  16003 , the post-migration performance evaluation  16004 , and the migration flag  16005  are the same as those in the migration source candidate LU table  7004  of the first embodiment which is shown in  FIG. 7 , and their descriptions will not be repeated here. 
     The offline migration time  16006  indicates a time necessary for data to migrate offline from the LU  1411  that is identified by the migration source candidate LUN  16001  of a record in question. Offline data migration is data migration that is executed while access from the host computer  1000  to the LU  1411  in question is stopped. 
     In the migration source candidate LU table  7004  of this embodiment, a value is stored as only one of the online migration time  16002  and the offline migration time  16006 . 
     The migration time  16007  indicates a time necessary for migration of data from the LU  1411  that is identified by the migration source candidate LUN  16001  of a record entry in question. Therefore, the migration time  16007  has the same value as the online migration time  16002  or the offline migration time  16006  of the record. 
       FIG. 19  is a configuration diagram of the storage system settings table  5004  that is stored in the memory  1404  of each storage system  1400  according to the second embodiment of this invention. 
     The storage system settings table  5004  contains a storage name  11001 , a PG name  11002 , an LUN  11003 , a capacity  11004 , a copy rate  11005 , and a paired LUN  11006 . 
     The storage name  11001 , the PG name  11002 , the LUN  11003 , the capacity  11004 , and the copy rate  11005  are the same as those in the storage system settings table  5004  of the first embodiment which is shown in  FIG. 8 , and their descriptions will not be repeated here. 
     The paired LUN  11006  indicates an identifier unique to the LU  1411  that forms a copy pair with the LU  1411  identified by the LUN  11003  of a record entry in question. In the case where the LU  1411  that is identified by the LUN  11003  of a record entry in question does not form a copy pair, no value is stored as the paired LUN  11006 . 
     The storage system settings table  5004  may contain, in place of the paired LUN  11006 , information that indicates whether migration of data from the LU  1411  in question is possible or not. 
     Described next are processes of the computer system according to the second embodiment of this invention. The processes performed by the computer system of the second embodiment are the same as the ones performed by the computer system of the first embodiment, except the migration time calculating process and the migration source LU selecting process. In the second embodiment, descriptions on processes common to those in the first embodiment will be omitted. 
       FIG. 20  is a flow chart for the migration time calculating process that is executed by the management host computer  1100  according to the second embodiment of this invention. 
     The migration time calculating process is executed in Step  19003  of the migration source LU determining process shown in  FIG. 12 . 
     First, the CPU  1102  in the management host computer  1100  extracts the migration source candidate LUN  16001  from the record in the migration source candidate LU table  7004  that has been selected in Step  19002  of the migration source LU determining process. 
     The CPU  1102  in the management host computer  1100  next selects, from the storage system settings table  5004  received in Step  17001  of the performance tuning process, a record entry whose LUN  11003  matches the extracted migration source candidate LUN  16001 . From the selected record, the CPU  1102  in the management host computer  1100  extracts the capacity  11004  and the copy rate  11005 . 
     The CPU  1102  in the management host computer  1100  divides the extracted capacity  11004  by the extracted copy rate  11005 , thus calculating an offline migration time of the LU  1411  that is identified by the extracted migration source candidate LUN  16001  ( 20001 ). 
     The CPU  1102  in the management host computer  1100  next judges whether or not data in the LU  1411  that is identified by the extracted migration source candidate LUN  16001  needs online migration. 
     For instance, the CPU  1102  in the management host computer  1100  receives the host settings table  2003  from the host computer  1000 . The CPU  1102  in the management host computer  1100  selects from the received host settings table  2003  a record entry whose used LUN  8002  matches the extracted migration source candidate LUN  16001 . 
     Next, the CPU  1102  in the management host computer  1100  judges whether or not the online migration flag  8004  of the selected record has a value “unnecessary” ( 20006 ). 
     When the online migration flag  8004  has a value “unnecessary”, it means that data in the LU  1411  that is identified by the extracted migration source candidate LUN  16001  does not need online migration. The CPU  1102  in the management host computer  1100  accordingly stores the calculated offline migration time as the offline migration time  16006  of the record selected from the migration source candidate LU table  7004  in Step  19002  of the migration source LU determining process ( 20007 ). The CPU  1102  in the management host computer  1100  then proceeds to Step  20008 . 
     When the online migration flag  8004  has a value “necessary”, on the other hand, it means that data in the LU  1411  that is identified by the extracted migration source candidate LUN  16001  needs online migration. 
     Next, the CPU  1102  in the management host computer  1100  selects, from the storage system performance information table  5005  received in Step  17001  of the performance tuning process, a record entry whose LUN  13004  matches the extracted migration source candidate LUN  16001 . From the selected record, the CPU  1102  in the management host computer  1100  extracts the write rate  13006 . 
     The CPU  1102  in the management host computer  1100  multiplies the calculated offline migration time by the extracted write rate  13006  and thus calculates a differential data amount, which indicates the amount of data written during migration ( 20002 ). 
     The CPU  1102  in the management host computer  1100  divides the calculated differential data amount by the extracted copy rate  11005  and thus calculates a differential data migration time, which indicates a time necessary to complete the migration of differential data ( 20003 ). 
     Next, the CPU  1102  in the management host computer  1100  adds the calculated differential data migration time to the calculated offline migration time, thus calculating an online migration time. The CPU  1102  in the management host computer  1100  divides the calculated online migration time by 60 to calculate an online migration time in minutes ( 20004 ). 
     The CPU  1102  in the management host computer  1100  stores the calculated online migration time as the online migration time  16002  of the record selected from the migration source candidate LU table  7004  in Step  19002  of the migration source LU determining process ( 20005 ). 
     Next, the CPU  1102  in the management host computer  1100  stores, as the migration time  16007  of the record selected from the migration source candidate LU table  7004  in Step  19002  of the migration source LU determining process, the value of whichever one of the online migration time  16002  and offline migration time  16006  of the selected record whose value is stored ( 20008 ). 
     The CPU  1102  in the management host computer  1100  then ends this migration time calculating process. 
     Described here is a case in which the extracted cell for the migration source candidate LUN  16001  holds the identifiers of the plurality of LUs  1411 , in short, a case in which the plurality of LUs  1411  are migration source candidates. 
     The CPU  1102  in the management host computer  1100  in this case calculates a migration time for each of the migration source candidate LUs  1411 . The CPU  1102  in the management host computer  1100  sums up the calculated migration times, thereby calculating a migration time that is necessary if all the migration source candidate LUs  1411  are to migrate. 
       FIG. 21  is a flow chart for the migration source LU selecting process that is executed by the management host computer  1100  according to the second embodiment of this invention. 
     The migration source LU selecting process is executed in Step  19006  of the migration source LU determining process shown in  FIG. 12 . 
     First, the CPU  1102  in the management host computer  1100  selects record entries in the migration source candidate LU table  7004  one at a time in ascending order of their migration time  16007  ( 22001 ). 
     Next, the CPU  1102  in the management host computer  1100  judges whether or not the migration source candidate LU table  7004  holds a record entry that has “ON” as the migration flag  16005  ( 22002 ). 
     When a record having an “ON” migration flag is found in the table, the CPU  1102  in the management host computer  1100  excludes, as a migration source, the LU  1411  that is identified by the migration source candidate LUN  16001  of the selected record. The CPU  1102  in the management host computer  1100  accordingly stores “OFF” as the migration flag  16005  of the selected record ( 22005 ). 
     When no record in the migration source candidate LU table  7004  has an “ON” migration flag, the CPU  1102  in the management host computer  1100  judges whether or not migration is possible for data in the LU  1411  that is identified by the migration source candidate LUN  16001  of the selected record ( 22007 ). 
     Specifically, the CPU  1102  in the management host computer  1100  selects, from the storage system settings table  5004  received in Step  17001  of the performance tuning process, a record entry whose LUN  11003  matches the migration source candidate LUN  16001  of the record selected from the migration source candidate LU table  7004 . The CPU  1102  in the management host computer  1100  judges whether or not there is a value stored as the paired LUN  11006  of the record selected from the storage system settings table  5004 . 
     When there is a value stored as the paired LUN  11006 , it means that migration is not possible for data in the LU  1411  that is identified by the migration source candidate LUN  16001  of the record selected from the migration source candidate LU table  7004 . The CPU  1102  in the management host computer  1100  accordingly stores “OFF” as the migration flag  16005  of this record ( 22005 ). 
     When there is no value stored as the paired LUN  11006 , it means that migration is possible for data in the LU  1411  that is identified by the migration source candidate LUN  16001  of the record selected from the migration source candidate LU table  7004 . Then the CPU  1102  in the management host computer  1100  judges whether or not the post-migration performance evaluation  16004  of the selected record has a value “OK” ( 22003 ). 
     When the post-migration performance evaluation  16004  of the selected record has a value “NG”, the CPU  1102  in the management host computer  1100  excludes, as a migration source, the LU  1411  that is identified by the migration source candidate LUN  16001  of the selected record. The CPU  1102  in the management host computer  1100  accordingly stores “OFF” as the migration flag  16005  of the selected record ( 22005 ). 
     When the post-migration performance evaluation  16004  of the selected record has a value “OK”, the CPU  1102  in the management host computer  1100  sets, as a migration source, the LU  1411  that is identified by the migration source candidate LUN  16001  of the selected record. The CPU  1102  in the management host computer  1100  accordingly stores “ON” as the migration flag  16005  of the selected record ( 22004 ). 
     Next, the CPU  1102  in the management host computer  1100  judges whether or not every record entry in the migration source candidate LU table  7004  has been selected in Step  22001  ( 22006 ). 
     When there are any records in the migration source candidate LU table  7004  that have not been selected, the CPU  1102  in the management host computer  1100  returns to Step  22001 , where the CPU  1102  in the management host computer  1100  selects the next record from the migration source candidate LU table  7004  and proceeds to Step  22002 . 
     When every record in the migration source candidate LU table  7004  has been selected, the CPU  1102  in the management host computer  1100  ends this migration source LU selecting process. 
     According to this embodiment, when the utilization ratio of one parity group  1410  in the storage system  1400  reaches or exceeds a threshold, data migration is performed to move data from the LU  1411  that belongs to this parity group  1410  to another parity group  1410 . The LU  1411  that requires a shorter migration time than other LUs  1411  is selected as a migration source from which data is moved. The utilization ratio of the parity group  1410  is thus lowered below the threshold within a reduced time. A migration time in this embodiment takes into account online migration and offline migration both. 
     Further, this embodiment excludes as a migration source the LU  1411  from which data cannot migrate. 
     Third Embodiment 
     In the first and second embodiments of this invention, which parity group  1410  serves as the migration destination is determined in advance. In a third embodiment of this invention, one out of a plurality of parity groups  1410  is determined as the migration destination. The third embodiment is applicable to both the first and second embodiments. Described here is a case in which the third embodiment is applied to the first embodiment. 
       FIG. 22  is a block diagram showing the configuration of a computer system according to the third embodiment of this invention. 
     The computer system of the third embodiment has the same configuration as that of the computer system of the first embodiment which is shown in  FIG. 1 , except for the migration source candidate LU table  7004  stored in the management host computer  1100 . In the third embodiment, components common to those in the first embodiment are denoted by the same reference numerals and their descriptions will be omitted. 
     In the third embodiment, a plurality of migration destination candidate parity groups  1410  are built in the storage system  1400 . 
       FIG. 23  is a configuration diagram of the migration source candidate LU table  7004  that is stored in the memory  1107  of the management host computer  1100  according to the third embodiment of this invention. 
     The migration source candidate LU table  7004  contains a migration source candidate LUN  16001 , an online migration time  16002 , a post-migration PG utilization ratio  16003 , a post-migration performance evaluation  16004 , a migration flag  16005 , and a migration destination PG  16008 . 
     The migration source candidate LUN  16001 , the online migration time  16002 , the post-migration PG utilization ratio  16003 , the post-migration performance evaluation  16004 , and the migration flag  16005  are the same as those in the migration source candidate LU table  7004  of the first embodiment which is shown in  FIG. 7 , and their descriptions will not be repeated here. 
     The migration destination PG  16008  indicates an identifier unique to the parity group  1410  to which data migrates from the LU  1411  that is identified by the migration source candidate LUN  16001  of a record entry in question. 
     Described next are processes of the computer system according to the third embodiment of this invention. The processes performed by the computer system of the third embodiment are the same as the ones performed by the computer system of the first embodiment, except the migration source LU determining process. In the third embodiment, descriptions on processes common to those in the first embodiment will be omitted. 
       FIG. 24  is a flow chart for the migration source LU determining process that is executed by the management host computer  1100  according to the third embodiment of this invention. 
     The migration source LU determining process is executed in Step  17003  of the performance tuning process shown in  FIG. 10 . 
     First, the CPU  1102  in the management host computer  1100  executes Steps  19001  to  19004 . Steps  19001  to  19004  of  FIG. 24  are the same as the ones of  FIG. 12 , which shows the migration source LU determining process of the first embodiment, and their descriptions will not be repeated here. 
     Next, the CPU  1102  in the management host computer  1100  executes a migration destination PG finding process ( 19008 ). Details of the migration destination PG finding process will be described with reference to  FIG. 25 . 
     Next, the CPU  1102  in the management host computer  1100  executes Steps  19005  and  19006 . Steps  19005  and  19006  of  FIG. 24  are the same as the ones of  FIG. 12 , which shows the migration source LU determining process of the first embodiment, and their descriptions will not be repeated here. 
       FIG. 25  is a flow chart for the migration destination PG determining process that is executed by the management host computer  1100  according to the third embodiment of this invention. 
     The migration destination PG determining process is executed in Step  19008  of the migration source LU determining process shown in  FIG. 24 . 
     First, the CPU  1102  in the management host computer  1100  extracts the migration source candidate LUN  16001  from the record in the migration source candidate LU table  7004  that has been selected in Step  19002  of the migration source LU determining process. 
     The CPU  1102  in the management host computer  1100  next select, from the storage system settings table  5004  received in Step  17001  of the performance tuning process, a record entry whose LUN  11003  matches the extracted migration source candidate LUN  16001 . From the selected record, the CPU  1102  in the management host computer  1100  extracts all the PG names  11002  that do not match the PG name  11002  of the selected record entry. 
     The CPU  1102  in the management host computer  1100  selects the extracted PG names  11002  one at a time. The CPU  1102  in the management host computer  1100  thus selects, one by one, all parity groups  1410  that do not contain the LU  1411  that is identified by the extracted migration source candidate LUN  16001  ( 31001 ). 
     The CPU  1102  in the management host computer  1100  next selects, from the storage system performance information table  5005  received in Step  17001  of the performance tuning process, a record entry whose PG name  13002  matches the selected PG name  11002 . 
     From the selected record, the CPU  1102  in the management host computer  1100  extracts the PG utilization ratio  13003 . The CPU  1102  in the management host computer  1100  then selects a record entry whose PG name  15002  matches the selected PG name  11002  from the threshold settings table  7003 . From the selected record, the CPU  1102  in the management host computer  1100  extracts the PG utilization ratio threshold  15003 . 
     The CPU  1102  in the management host computer  1100  selects, from the storage system performance information table  5005  received in Step  17001  of the performance tuning process, a record entry whose LUN  13004  matches the extracted migration source candidate LUN  16001 . From the selected record, the CPU  1102  in the management host computer  1100  extracts the LU utilization ratio  13005 . 
     Next, the CPU  1102  in the management host computer  1100  subtracts the extracted PG utilization ratio  13003  from the extracted PG utilization ratio threshold  15003 . The CPU  1102  in the management host computer  1100  judges whether or not the subtraction result is smaller than the extracted LU utilization ratio  13005  ( 31002 ). 
     In the case where the extracted cell for the migration source candidate LUN  16001  holds the identifiers of the plurality of LUs  1411 , the CPU  1102  in the management host computer  1100  selects every record entry in the storage system performance information table  5005  whose LUN  13004  matches any one of the identifiers extracted as the migration source candidate LUN  16001 . From each one of the selected records, the CPU  1102  in the management host computer  1100  extracts the LU utilization ratio  13005 . 
     The CPU  1102  in the management host computer  1100  then judges whether or not the subtraction result is smaller than the sum of all the extracted LU utilization ratios  13005  ( 31002 ). 
     When the subtraction result is equal to or larger than the LU utilization ratio  13005 , it makes the utilization ratio of the migration destination parity group  1410  after the migration equal to or higher than the PG utilization threshold  15003 . The parity group  1410  that is identified by the extracted PG name  11002  therefore cannot serve as a migration destination. Then the CPU  1102  in the management host computer  1100  proceeds directly to Step  31004 . 
     When the subtraction result is smaller than the LU utilization ratio  13005 , it makes the utilization ratio of the migration destination parity group  1410  after the migration lower than the PG utilization threshold  15003 . The parity group  1410  that is identified by the extracted PG name  11002  can therefore serve as a migration destination. Then the CPU  1102  in the management host computer  1100  stores the extracted PG name  11002  as the migration destination PG  16008  of the record selected from the migration source candidate LU table  7004  in Step  19002  of the migration source LU determining process ( 31003 ). 
     The CPU  1102  in the management host computer  1100  next judges whether or not every PG name  11002  extracted in Step  31001  has been selected ( 31004 ). 
     When there are any extracted PG names  11002  that have not been selected, the CPU  1102  in the management host computer  1100  returns to Step  31001 , where the CPU  1102  in the management host computer  1100  selects the next PG name  11002  and proceeds to Step  31002 . 
     When every extracted PG name  11002  has been selected, the CPU  1102  in the management host computer  1100  ends this migration destination PG determining process. 
     In the case where the identifiers of the plurality of parity groups  1410  are stored as the migration destination PG  16008  in the migration source candidate LU table  7004 , the CPU  1102  in the management host computer  1100  refers to the utilization ratios of those parity groups  1410 , the write rates of the parity groups  1410 , or the like to determine one of the parity groups  1410  as the migration destination. 
     According to this embodiment, when the utilization ratio of one parity group  1410  in the storage system  1400  reaches or exceeds a threshold, data migration is performed to move data from the LU  1411  that belongs to this parity group  1410  to another parity group  1410 . The LU  1411  that requires a shorter migration time than other LUs  1411  is selected as a migration source from which data is moved. The utilization ratio of the parity group  1410  is thus lowered below the threshold within a reduced time. 
     Further, this embodiment makes it possible to select as the migration destination the parity group  1410  that does not exceed its utilization ratio threshold after migration. 
     While the present invention has been described in detail and pictorially in the accompanying drawings, the present invention is not limited to such detail but covers various obvious modifications and equivalent arrangements, which fall within the purview of the appended claims.