Storage management apparatus, a storage management method and a storage management program
Granted 26 Jun 2012 · 1 office action
Assignee: Hitachi, Ltd.
Law firm: Law firm · Log in to unlock
Attorney: Attorney · Log in to unlock
Inventors: Yuji Mizote, Takumi Tomita, Nobuo Beniyama, Satoshi Fukuda · Examiner: Kaushikkumar Patel · AU 2186 · TC 2100
Life of the application
9 dated eventsAbstract
A storage management apparatus performs migration considering an I/O load that will be generated during migration between a source array group and a destination array group. To migrate data from the source array group to the destination array group, a bandwidth that is available for use between the source and destination array groups is calculated. A volume that is within the source array group, and that has a write I/O amount that is smaller than the calculated bandwidth, is selected as the source volume for the migration, wherein the write I/O amount is the information transmission amount of information that is written. Data is thus migrated from the selected volume to the movement destination array group.
Description
15 parts›INCORPORATION BY REFERENCE
The present application claims priority from Japanese application JP2008-214485 filed on Aug. 22, 2008, the content of which is hereby incorporated by reference into this application.
›BACKGROUND OF THE INVENTION
The present invention relates to a technology for a storage management apparatus, a storage management method, and a storage management program.
When the amount of I/O (input/output) from operation servers to a particular storage resource (array group, disk processor, port processor, etc.) is increased and the storage resource is overloaded, the performance of the storage apparatus having the storage resource is degraded. In this case, to reduce the amount of I/O (access load) on the storage resource, the storage manager must find a high I/O load array group, select a high I/O load volume (I/O concentrated volume) from the array group, and move data from the selected volume to a low I/O load array group to solve the performance bottleneck. This operation is called migration.
As a technology for reducing the I/O load concentrated on a particular array group, a migration technology for best balancing the I/O loads of the array groups after the migration is disclosed (for example, see JP-A-2003-005920).
Another disclosed technology is a migration method that satisfies a user-specified policy according to the I/O performance requested by an operation server for each volume (for example, see JP-A-2005-234834).
›SUMMARY OF THE INVENTION
When migration is performed, an extra I/O load is generated for moving data from a volume to another array group. This extra I/O load adds an I/O load to an overloaded array group (from which data is being migrated), possibly affecting an operation server that is using the storage resource (for example, lower response time). In addition, if an operation server issues write I/O requests to the volume, from which data is being migrated, so frequently that the amount of write I/O exceeds the amount of data that is moved for migration, the migration is not be terminated for a long time and, as a result, the migration will sometimes fail.
That is, according to the technology disclosed in JP-A-2003-005920, data can be moved (migrated) from some specific volume of a high I/O load array group to another array group to balance the I/O load among array groups. The problem with this method is that, because the I/O load for moving the content of a volume during the migration is not taken into consideration, the migration will sometimes fail if the amount of write I/O for the selected volume is higher than the bandwidth required for the migration. A bandwidth, which is the amount of data that can be moved during migration, is the amount of processing available between array groups. The bandwidth will be defined later more in detail.
That is, if the amount of write I/O for a volume exceeds the amount of data (bandwidth) to be moved for migration as described above, the migration will not be terminated for a long time and, as a result, the migration will sometimes fail.
The technology disclosed in JP-A-2005-234834 also allows the user to create a migration plan with the volume I/O amount taken into consideration. However, this technology either does not consider the I/O load that may be generated during migration.
In view of the foregoing, it is an object of the present invention to provide a technology for migration with an I/O load, which is generated during the migration, taken into consideration.
To solve the problems described above, the technology according to the present invention calculates a bandwidth that is the amount of information transmittable between a movement source array group and a movement destination array group, selects a volume whose write transmission amount that is the amount of information transmitted for writing information is smaller than the calculated bandwidth, and migrates data from the selected volume to the movement destination array group.
The present invention allows the user to migrate data with an I/O load, which will be generated during migration, taken into consideration.
›BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a diagram showing an example of the system configuration in a first embodiment.
FIG. 2 is a diagram showing an example of the configuration of an array group performance table in the first embodiment.
FIG. 3 is a diagram showing an example of the configuration of a volume performance table in the first embodiment.
FIG. 4 is a diagram showing an example of the configuration of a bandwidth table in the first embodiment.
FIG. 5 is a diagram showing an example of the configuration of an analysis result table in the first embodiment.
FIG. 6 is a flowchart showing the flow of storage management processing in the first embodiment.
FIG. 7 is a flowchart showing the flow of migration candidate search processing in the first embodiment.
FIG. 8A is a diagram showing an alert screen that is displayed when the I/O load of an array group 21 exceeds a threshold, and FIG. 8B is a diagram showing a migration start instruction screen.
FIG. 9 is a diagram showing an example of a migration candidate display screen in the first embodiment.
FIG. 10A is a diagram showing the configuration of a memory in a part of a storage management server in a second embodiment, and FIG. 10B is a diagram showing the configuration of an operation management DB.
FIG. 11 is a diagram showing an example of the configuration of a period table in the second embodiment.
FIG. 12 is a diagram showing an example of the configuration of a period bandwidth table in the second embodiment.
FIG. 13 is a diagram showing an example of the configuration of a period analysis table in the second embodiment.
FIG. 14 is a diagram showing an example of a period analysis result table in the second embodiment.
FIG. 15 is a flowchart showing the flow of migration candidate search processing in the second embodiment.
FIG. 16 is a diagram showing an example of a migration candidate display screen in the second embodiment.
FIG. 17 is a diagram showing an example of the system configuration in a third embodiment.
FIG. 18 is a diagram showing an example of the configuration of an array group performance table in the third embodiment.
FIG. 19A is a diagram showing an example of an array group usage rate monitor screen for the movement source in a fourth embodiment, and FIG. 19B is a diagram showing an example of a screen for the movement destination array group.
FIG. 20 is a diagram showing an example of the configuration of the memory in a storage management server in a fifth embodiment.
FIG. 21 is a flowchart showing the flow of execution control processing in the fifth embodiment.
FIG. 22A is a diagram showing an example of a permissible time setting screen in the fifth embodiment, and FIG. 22B is a diagram showing an example of a processing continuation confirmation screen.
›DESCRIPTION OF THE EMBODIMENTS · 1 of 11
Next, the best modes (called embodiments) of carrying out the present invention will be described in detail with reference to the drawings as necessary.
First Embodiment
System Configuration
FIG. 1 is a diagram showing an example of the system configuration in a first embodiment.
A storage management system 10 comprises a terminal host 3 , a storage management server 1 (storage management apparatus), a storage apparatus 2 , and an operation server 4 .
The storage management server 1 , storage apparatus 2 , and operation server 4 are interconnected via a network 5 such as a SAN(Storage Area Network). When a SAN is used as the network 5 , data is transferred among the apparatuses 1 , 2 , and 4 , for example, based on FCP (Fibre Channel Protocol). The storage management server 1 and the terminal host 3 are connected via a network 6 such as a LAN (Local Area Network) or a WAN (Wide Area Network). The operation server 4 has at least one application processing unit 41 .
The storage management server 1 comprises a CPU (Central Processing Unit) 15 , a memory 11 , a display device 13 , an input device 14 , and an operation management DB (database) 12 (storage unit).
The display device 13 , such as a display, is a device on which information is displayed. The input device 14 , such as a keyboard and a mouse, is a device used to input information into the storage management server 1 .
The storage management server 1 manages the operation of the operation server 4 and the storage apparatus 2 . In particular, the storage management server 1 in the first embodiment controls data movement (migration) on volumes 212 performed in the storage apparatus 2 .
An operation management program 111 (operation management unit), which has the function to perform migration, comprises a performance information acquisition unit 112 , a migration candidate search unit 113 , and a screen display processing unit 114 . The performance information acquisition unit 112 , migration candidate search unit 113 (volume search unit), and screen display processing unit 114 are implemented by expanding the operation management program 111 , stored in a ROM (Read Only Memory) or a HD (Hard disk), into a RAM (Random Access Memory: memory 11 ) for execution by the CPU 15 .
The performance information acquisition unit 112 has the function to acquire array group performance information (which will be described alter) on array groups 21 and volume performance information (which will be described later) on the volumes 212 in the storage apparatus 2 . The migration candidate search unit 113 has the function to list pairs of the candidate of a volume 212 from which data is to be migrated (movement source candidate volume) and the candidate of an array group 21 to which data of the volumes 212 is to be migrated (movement destination candidate array group), based on the performance information acquired by the performance information acquisition unit 112 . The listed pairs of migration candidates are displayed on the display device 13 by the screen display processing unit 114 . The user checks the displayed information to set a time priority policy or a migration effect priority policy, and the screen display processing unit 114 sorts the listed migration candidate pairs according to the policy. The user selects one of migration candidates and instructs the execution of migration, and the operation management program 111 executes the migration.
The operation management DB 12 stores an array group performance table 121 , a volume performance table 122 , a bandwidth table 123 , and an analysis result table 124 .
The array group performance table 121 is a table for storing information on the I/O processing of the array groups 21 in the storage apparatus 2 . The volume performance table 122 is a table for storing information on the storage capacity and the I/O load of the volumes 212 belonging to the array groups 21 . The bandwidth table 123 is a table for storing bandwidths between different array groups 21 calculated based on the array group performance table 121 . The analysis result table 124 is a table for storing the list of migration candidates. The array group performance table 121 , volume performance table 122 , bandwidth table 123 , and analysis result table 124 will be described later with reference to FIG. 2 to FIG. 5 .
The storage apparatus 2 comprises a port 22 , a memory 23 , and multiple array groups 21 . The port 22 has a port processor 221 , and each array group 21 has a disk processor 211 . The port 22 may have multiple port processors 221 , and the array group 21 may have multiple disk processors 211 . Each array group 21 has one or more volumes 212 , and the storage apparatus 2 provides the operation server 4 with those volumes 212 . That is, the application processing unit 41 of the operation server 4 reads programs from the volumes 212 in the storage apparatus 2 for execution and uses various applications.
Next, the following describes data flow between the operation server 4 and the storage apparatus 2 . The port processor 221 controls the data transfer between the operation server 4 and the storage apparatus 2 . Similarly, the disk processor 211 controls the data transfer to and from the volumes 212 in the array group 21 . The port processor 221 , memory 23 , and disk processor 211 are related as follows. When the Read command is received from the operation server 4 (application processing unit 41 ), the port processor 221 stores the Read command in the memory 23 . The disk processor 211 constantly monitors the memory 23 and, when an unprocessed Read command is detected, reads data from the volume 212 specified by the Read command and sends the data to the operation server 4 . Similarly, when the Write command is received from the operation server, the port processor 221 stores the Write command in the memory 23 . At this time, the disk processor 211 reads the Write command and data stored in the memory 23 and stores the data in a predetermined volume 212 .
›DESCRIPTION OF THE EMBODIMENTS · 2 of 11
Although each of the apparatuses 1 - 4 comprises one apparatus in FIG. 1 , each may comprise multiple apparatuses.
Next, the following describes the tables with reference to FIG. 2 to FIG. 5 while referring to FIG. 1 as necessary.
(Array Group Performance Table)
FIG. 2 is a diagram showing an example of the configuration of the array group performance table in the first embodiment.
The array group performance table 121 has the following columns: array group ID, array group usage rate (in percents), and maximum processing amount (in MB/s).
The array group ID is a unique identifier assigned to an array group 21 in the storage apparatus 2 . The array group usage rate, which is acquired from the disk processor 211 , quantitatively represents the I/O amount currently processed in the array group 21 . The maximum processing amount, which is acquired from the disk processor 211 , represents the maximum I/O amount processable in the corresponding array group 21 . The relation between the array group usage rate and the maximum processing amount is as follows. For example, for the array group ID “AG 1 ”, when the array group usage rate is 10% for the array group 21 whose maximum processing amount is 400 MB/s, the I/O amount actually processed in this array group 21 is 40 (=400×0.1) MB/s.
(Volume Performance Table)
FIG. 3 is a diagram showing an example of the configuration of the volume performance table in the first embodiment.
The volume performance table 122 has the following columns: volume ID, usage capacity (in GB), read I/O amount (in MB/s), and write I/O amount (write transmission amount: in MB/s).
The volume ID is a unique identifier assigned to a volume 212 . The usage capacity is the current usage capacity of the volume 212 . The read I/O amount is the usage amount of performance resource for the volume 212 , for example, the transfer speed of data when data is read from the corresponding volume 212 (10 MB/s for volume 212 with the volume ID of LU 01 , etc.). Similarly, the write I/O amount is the usage amount of performance resource of the volume 212 , for example, the transfer speed of data when data is written to the corresponding volume 212 (20 MB/s for the volume 212 with the volume ID of LU 04 , etc.). The volume ID and the array group ID are related by the array group configuration table not shown.
(Bandwidth Table)
FIG. 4 is a diagram showing an example of the configuration of the bandwidth table in the first embodiment.
The following describes the bandwidth. As described above, the bandwidth is the transferable amount of data of an array group 21 .
For example, when the array group usage rate is a (%) and the maximum processing amount is b (MB/s) in a array group 21 , the bandwidth c of this array group 21 is calculated by the following expression (1).
c=b×{ 1−( a/ 100)} (1)
Expression (1) calculates the unused processing amount in the array group 21 , that is, the processing amount available in the array group 21 .
For example, when the array group usage rate is 50% and the maximum processing amount is 400 MB/s in an array group 21 , the bandwidth is 200 MB/s. This bandwidth indicates that this array group 21 can receive another 200 MB/s of transfer data (available for use).
Next, the following describes the bandwidth between different array groups 21 . When the bandwidth of the array group 21 with the array group ID of AG 1 (hereinafter called array group AG 1 ) is c 1 (MB/s) and the bandwidth of the array group AG 2 is c 2 (MB/s), the bandwidth c 3 between the array group AG 1 and the array group AG 2 is calculated by expression (2) given below.
c 3=min( c 1 ,c 2) (2)
Expression (2) indicates that the bandwidth between two array groups 21 is the lower bandwidth of the two array groups 21 . This is because the bandwidth (that is, data transfer amount) is determined by the lower of the two bandwidths.
For example, when the bandwidth of the array group AG 1 is 20 MB/s and the bandwidth of the array group AG 2 is 50 MB/s, the bandwidth between the array group AG 1 and the array group AG 2 is determined 20 MB/s.
The following continues the description of FIG. 4 .
The bandwidth table 123 has the following columns: movement source array group ID, movement destination candidate array group ID, and the bandwidth (in MB/s). The movement source array group ID, which indicates an array group 21 whose I/O load is to be reduced, is specified by the user. The movement destination candidate array group is an array group 21 that is a candidate for the data transfer destination. The bandwidth is a bandwidth between the movement source array group and the movement destination candidate array group.
(Analysis Result Table)
FIG. 5 is a diagram showing an example of the configuration of the analysis result table in the first embodiment.
The analysis result table 124 has the following columns: movement source array group ID (fixed), movement destination array group ID (movement destination group information), volume ID of the movement source candidate volume (movement source volume information), movement time, and movement effect. In addition, the movement effect has the following columns: array group usage rate (before movement: in percents), array group usage rate (after movement: in percents), and migration effect (degree of I/O load reduction: in MB/s). The calculation of the values in this table will be described later in detail.
(General Processing)
Next, the following describes the storage management processing in the first embodiment with reference to FIG. 6 while referring to FIG. 1 to FIG. 5 .
FIG. 6 is a flowchart showing the flow of the storage management processing in the first embodiment.
First, the operation management program 111 constantly monitors the usage status of the array group 21 via the disk processor 211 of the storage apparatus 2 . If the usage rate of the array group 21 exceeds a pre-set threshold, the operation management program 111 outputs a warning on the display device 13 to notify the status to the user. In response to this warning, the user requests the operation management program 111 , via the input device 14 or the terminal host 3 , to search for a migration candidate. At this time, the operation management program 111 specifies, via the input device 14 or terminal host 3 , the array group 21 , whose usage rate exceeds the threshold, as the movement source array group.
›DESCRIPTION OF THE EMBODIMENTS · 3 of 11
When the request is received from the user, the performance information acquisition unit 112 acquires the array group usage rate and the maximum processing amount from the disk processor 211 of each array group 21 and stores them in the array group performance table 121 (S 101 ).
Next, via the disk processor 211 of the movement source array group, the performance information acquisition unit 112 acquires the usage capacity, as well as the read I/O amount (MB/s) and write I/O amount (MB/s) from the operation server to the volume 212 , of the volumes 212 belonging to the movement source array group and stores the acquired information in the volume performance table 122 (S 102 ).
And, the migration candidate search unit 113 uses the array group performance table 121 and the volume performance table 122 to perform the migration candidate search processing (S 103 ), and the screen display processing unit 114 creates the list of migration candidates (analysis result table 124 ) and displays it on the display device 13 or the terminal host 3 . The migration candidate search processing in step S 103 will be described later with reference to FIG. 7 . The screen displayed on the display device 13 after step S 103 will be described later with reference to FIG. 9 .
Next, the user selects “Time priority” or “Effect priority” from a sort type selection area 901 , shown in FIG. 9 , via the input device 14 or the terminal host 3 . The screen display processing unit 114 determines whether the list is to be sorted according to time priority or effect priority (S 104 ).
If it is determined as a result of step S 104 that time priority is selected (S 104 →time priority), the screen display processing unit 114 sorts the analysis result table 124 in ascending order of movement times (shortest first) and displays the sorted analysis result on the display device 13 or the terminal host 3 (S 105 ).
If it is determined as a result of step S 104 that effect priority is selected (S 104 →effect priority), the screen display processing unit 114 sorts the analysis result table 124 in descending order of migration effect (highest first) and displays the sorted analysis result on the display device 13 or the terminal host 3 (S 106 ).
After step S 105 or S 106 , the user presses the Execute button 903 shown in FIG. 9 via the input device 14 or the terminal host 3 to cause the operation management program 111 to start migration.
(Migration Candidate Search Processing)
Next, the following describes in detail the migration candidate search processing (step S 103 in FIG. 6 ) with reference to FIG. 7 while referring to FIG. 1-FIG . 5 .
FIG. 7 is a flowchart showing the flow of the migration candidate search processing in the first embodiment. In FIG. 7 , the analysis result table 124 is generated.
First, the migration candidate search unit 113 acquires information such as the array group usage rate and the maximum processing amount of a movement source array group, specified before step S 101 , based on the movement source array group ID (S 201 ).
The migration candidate search unit 113 uses the acquired array group usage rate and the maximum processing amount to calculate the bandwidth c of the movement source array group via the expression shown in expression (1) (S 202 ).
Next, the migration candidate search unit 113 repeats the processing of steps S 204 and S 205 for all array groups 21 other than the movement source array group stored in the array group performance table 121 (S 203 ).
The migration candidate search unit 113 calculates the bandwidth tmp of a movement destination candidate array group, which is being checked, according to expression (1) (S 204 ).
The migration candidate search unit 113 substitutes the bandwidth c of the movement source array group, calculated in step S 202 , and the bandwidth tmp of the movement destination candidate array group, calculated in step S 204 , respectively for c 1 and c 2 in expression (2) to calculate the bandwidth (min(c,tmp)) between the movement source array group and the movement destination candidate array group. After that, the migration candidate search unit 113 adds (stores) a set of data, composed of the calculated bandwidth, the movement source array group ID, and the movement destination candidate array group ID whose bandwidth is being checked, to the bandwidth table 123 (S 205 ).
As described above, the migration candidate search unit 113 performs the processing of step S 204 and step S 205 for all array groups 21 other than the movement source array group in the array group performance table 121 (S 206 ).
Next, the migration candidate search unit 113 repeats the processing of steps S 208 -S 213 for all pairs of (movement destination candidate array group ID, volume ID) (S 207 ). Note that the volume ID is the ID of a volume 212 included in the movement source array group.
First, the migration candidate search unit 113 acquires the bandwidth d between array groups 21 from the bandwidth table 123 based on the movement destination candidate array group ID which is being checked (S 208 ).
Next, the migration candidate search unit 113 acquires the write I/O amount w of the volume 212 corresponding to the volume ID, which is being checked, from the volume performance table 122 (S 209 ).
And, the migration candidate search unit 113 checks if d>w is satisfied (S 210 ).
If d>w is not satisfied as a result of the checking in step S 210 (S 210 →No), that is, if the write I/O amount for the volume 212 is equal to or higher than the data transfer speed (bandwidth) for the migration, there is a possibility that the data transfer will not be terminated for a long time. So, the migration candidate search unit 113 passes control to step S 214 without outputting the migration between the movement destination candidate array group and the volume 212 to the analysis result table 124 . That is, the migration candidate search unit 113 removes the volume 212 , for which the migration will fail, from the movement source candidate volumes.
›DESCRIPTION OF THE EMBODIMENTS · 4 of 11
If d>w is satisfied as a result of the checking in step S 210 (S 210 →Yes), that is, if the data transfer speed (bandwidth) for the migration is higher than the write I/O amount for the volume 212 , the migration candidate search unit 113 calculates the data movement time (time required for the migration) of the volume 212 and stores the calculated movement time, as well as the movement source array group ID, movement destination candidate array group ID, movement source candidate volume ID, and array group usage rate before the movement, in the analysis result table 124 (S 211 ). The movement time of the volume 212 is found by acquiring the capacity V of the volume 212 , which is being checked, from the volume performance table 122 and calculating V/(d−w) by the migration candidate search unit 113 .
Next, the migration candidate search unit 113 calculates the migration effect and stores the calculated migration effect in the corresponding column of the analysis result table 124 (S 212 ). The migration effect, which is an index indicating how much I/O load of the movement source volume 212 is reduced by the execution of the migration, is calculated as “read I/O amount+write I/O amount” of the movement source volume 212 . In step S 212 , the migration candidate search unit 113 acquires the corresponding read I/O amount and write I/O amount from the volume performance table 122 with the volume ID, which is being checked, as the key, and adds them up to calculate the migration effect. For example, the migration effect of migrating the content of volume LU 01 in FIG. 3 is calculated as 10+10=20(MB/s).
After that, the migration candidate search unit 113 calculates the array group usage rate after the movement and stores the calculated array group usage rate after the movement in the corresponding column of the analysis result table 124 (S 213 ). The array group usage rate after the movement Upost is calculated by expression (3) given below, where Upre is the array group usage rate before the movement, Emi is the migration effect calculated in step S 212 , and Tmax is the maximum processing mount.
U post= U pre−(100× Emi/T max) (3)
In step S 213 , the migration candidate search unit 113 acquires the array group usage rate before the movement and the maximum processing amount from the array group performance table 121 with the movement source array group ID as the key, acquires the migration effect from the analysis result table 124 , and calculates the array group usage rate after the movement from expression (3). For example, when data is moved from the volume LU 01 to the array group AG 2 , the array group usage rate after the movement is calculated as follows. The array group performance table 121 ( FIG. 2 ) indicates that the array group usage rate before the movement of the array group AG 1 is 95% and its maximum processing amount is 400 MB/s. Also, the analysis result table 124 ( FIG. 5 ) indicates that the migration effect is the reduction of 20 MB/s. Thus, the value of the array group usage rate after the movement of the array group AG 1 is calculated as 95−100×(20/400)=90.
As described above, the migration candidate search unit 113 repeats the processing of steps S 208 -S 213 until all pairs of (movement destination candidate array group ID, volume ID) are processed (S 214 ).
The processing in steps S 201 -S 214 causes the migration candidate search unit 113 to generate the analysis result table 124 .
(Examples of Screen)
Next, the following describes an example of screens displayed on the display device 13 with reference to FIGS. 8A and 8B and FIG. 9 .
FIG. 8A is a diagram showing an alert screen that is displayed when an array group 21 whose I/O load has exceeded the threshold is generated, and FIG. 8B is a diagram showing a migration start instruction screen.
As described above, the operation management program 111 monitors all array groups 21 installed in the storage management system 10 . When the array group usage rate acquired from the disk processor 211 of an array group 21 exceeds a pre-set threshold, that is, if the I/O load becomes high, the screen display processing unit 114 displays an alert screen 800 , such as the one shown in FIG. 8A , on the display device 13 . The ID of the array group whose threshold is exceeded is displayed in an area 801 on the alert screen. After confirming the content of the area 801 , the user selects a Yes button 802 or a No button 803 via the input device 14 . When the No button 803 is selected, the operation management program 111 does not perform the processing of step S 101 and the subsequent steps in FIG. 6 and, so, no migration is performed.
When the Yes button 802 is selected, the screen display processing unit 114 displays a migration instruction screen 810 , such as the one shown in FIG. 8B , on the display device 13 .
At this time, if a radio button 811 is selected via the input device 14 and an Execute button 817 is selected, the operation management program 111 starts the processing of step S 101 and the subsequent steps in FIG. 6 .
If a radio button 812 is selected via the input device 14 , the storage management processing in a second embodiment will be performed. Reference numerals 813 - 816 will be described later in the second embodiment.
FIG. 9 is a diagram showing an example of the migration candidate display screen in the first embodiment. A migration candidate display screen 900 is a screen displayed on the display device 13 by the screen display processing unit 114 after step S 103 (migration candidate search processing) in FIG. 6 .
The migration candidate display screen 900 includes the sort type selection area 901 , an analysis result display area 902 , an Execute button 903 , and a Cancel button 904 .
The analysis result display area 902 includes the content of the analysis result table 124 ( FIG. 5 ).
The sort type selection area 901 is an area via which one of two sort types, “time priority” and “effect priority”, is selected for sorting the analysis result display area 902 . When the user selects “time priority” (step S 104 in FIG. 6 →Time priority), the screen display processing unit 114 sorts the analysis result display area 902 in ascending order of movement times (shortest first) and redisplays the result (step S 105 in FIG. 6 ). When the user selects “effect priority” (step S 104 in FIG. 6 →Effect priority), the screen display processing unit 114 sorts the analysis result display area 902 in descending order of values of “migration effect” and redisplays the result (step S 106 in FIG. 6 ).
›DESCRIPTION OF THE EMBODIMENTS · 5 of 11
The analysis result display area 902 also includes radio buttons 905 each of which corresponds to a pair of a movement source candidate volume and a movement destination candidate array group. When the user selects one of the radio buttons 905 via the input device 14 and selects the Execute button 903 , the operation management program 111 executes the migration from the movement source candidate volume to the movement destination candidate array group selected by the radio button 905 . In the example shown in FIG. 9 , the operation management program 111 executes the migration from volume LU 01 , which belongs to the array group AG 1 , to the array group AG 2 .
When the Cancel button 904 is selected, the selection display in the radio button 905 is erased and the screen returns to the screen where the user is requested to select a migration candidate again.
Effect of First Embodiment
The storage management apparatus in the first embodiment calculates a bandwidth, which is the amount of information transmittable between a movement source array group and a movement destination array group, and selects the migration destination array group and the migration source volume based on this bandwidth. So, the storage management apparatus of this embodiment solves the problem of an I/O load that may be generated during migration and prevents a migration failure. That is, the storage management apparatus in this embodiment migrates data from an overloaded array group to safely distribute the I/O load, thus minimizing an effect on other operation servers that will use the storage resource.
Second Embodiment
Next, a second embodiment of the present invention will be described with reference to FIG. 10 to FIG. 16 . In the second embodiment, the future I/O load state of the array groups 21 and volumes 212 is estimated from the past history information for searching for a migration candidate. The second embodiment is characterized in that a migration candidate is searched for using the past history information as the performance information.
(Configuration)
FIG. 10A is a diagram showing the configuration of a memory in a storage management server in the second embodiment, and FIG. 10B is a diagram showing the configuration of an operation management DB.
In FIGS. 10A and 10B , the same reference numeral is used to denote the same element of the configuration in FIG. 1 , and the further description of that element will be omitted.
As shown in FIG. 10A , an operation management program 111 a includes a migration candidate search unit 113 a that performs migration candidate search processing with the past history taken into consideration.
As shown in FIG. 10B , an operation management DB 12 a stores array group performance tables 121 a and volume performance tables 122 a both of which are stored, one for each period, as well as a period table 125 , a period bandwidth table 126 , a period analysis table 127 , and a period analysis result table 128 .
The period table 125 is a table for storing information on periods that are set by the user. The period bandwidth table 126 is a table for storing the bandwidths between array groups 21 and the I/O amounts of movement source candidate volumes for each period. The period analysis table 127 is a table for storing the capacities of the volumes 212 from which data was movable in the past periods. The period analysis result table 128 is a table for storing the list of migration candidates in each period.
The period table 125 , period bandwidth table 126 , period analysis table 127 , and period analysis result table 128 will be described later with reference to FIG. 11 to FIG. 14 .
As described above, the array group performance table 121 a and the volume performance table 122 a are tables created for the periods that are set in the period table 125 , one array group performance table 121 a and one volume performance table 122 a for each period.
(Period Table)
FIG. 11 is a diagram showing an example of the configuration of the period table in the second embodiment.
The period table 125 includes period IDs and periods. Although 24 hours are divided into two using the history of last one month in the example in FIG. 11 , the division method is not limited to the one described above but one day may be divided into four periods of six hours each.
(Period bandwidth Table)
FIG. 12 is a diagram showing an example of the configuration of the period bandwidth table in the second embodiment.
The period bandwidth table 126 has the following columns: period ID, bandwidth between array groups (in MB/s), and movement source candidate volume I/O amount (in MB/s). The bandwidth between array groups is a bandwidth between a movement source array group and each of the movement destination candidate array groups. The period bandwidth table 126 also includes the I/O amounts of each movement source candidate volume in two columns: read I/O amount (R) and write I/O amount (W). Reference numerals 1261 - 1263 will be described later.
(Period Analysis Table)
FIG. 13 is a diagram showing an example of the configuration of the period analysis table in the second embodiment.
The period analysis table 127 is a table used to determine whether data can be moved from each volume 212 of a movement source array group to each movement destination candidate array group. The detail such as the procedure for generating data in the period analysis table 127 will be described later with reference to FIG. 15 . The following describes the data in the period analysis table 127 by referring to a row 1271 . The information in columns 1272 , 1273 , and 1274 corresponding to the first three columns indicates the migration of data from the volume LU 04 (movement source candidate volume) of the array group AG 1 to the array group AG 4 . The columns 1275 - 1278 corresponding to the next columns each indicate the capacity of the volume 212 movable in each period. That is, the column 1277 indicates that the maximum capacity of 432 GB can be migrated in period 3 . This means that, when the capacity of the volume LU 04 is 500 GB, the migration will not be terminated in period 3 only but the next period (period 4 ) must also be used. If the capacity of the volume LU 04 is 432 GB or smaller, the migration will be terminated in period 3 . The column 1278 is similar to the column 1277 . The symbol “x” in the columns 1275 and 1276 indicates that the there is a high possibility that the migration will fail in those periods. How to determine the success and the failure of the migration in a period will be described later.
›DESCRIPTION OF THE EMBODIMENTS · 6 of 11
(Period Analysis Result Table)
FIG. 14 is a diagram showing an example of the period analysis result table in the second embodiment.
The period analysis result table 128 , which is created by describing the content of the analysis result table 124 ( FIG. 5 ) in the first embodiment for each period described in the period table 125 , is different from the analysis result table 124 in FIG. 5 in that the movement time column in FIG. 5 is the time zone (candidate) for the migration. The number in parentheses in the time zone column indicates the number of seconds of the time described in the time zone. For example, 10000 s in the first row indicates the number of seconds generated by converting two hours and 46 minutes into seconds. Although one day is divided into two 12-hour periods in the example in the second embodiment, the movement time in the row 1281 is 13 hours and 53 minutes which is a movement time exceeding the period. This means that the migration is not terminated in one period but is extended into the next period.
(Migration Candidate Search Processing)
Next, the following describes the migration candidate search processing in the second embodiment with reference to FIG. 15 while referring to FIG. 1 and FIG. 10-FIG . 14 .
FIG. 15 is a flowchart showing the flow of the migration candidate search processing in the second embodiment.
First, before starting the processing in FIG. 15 , the user selects the radio button 812 , enters a period (future information) during which the migration will be completed in areas 813 - 816 , and presses the Execute button 817 on the screen shown in FIG. 8B .
For example, assume that the current date and time is 13:00 on 2008/06/01 and that the user enters 24:00 on 2008/06/30 in the areas 813 - 816 . Upon detecting the entered data, the operation management program 111 a searches for the best period for the migration using the past data collected from 0:00 on 2007/06/02 to 24:00 on 2007/06/30. That is, the operation management program 111 a estimates the change in the bandwidths and the change in the I/O amounts in the future from the change in the bandwidths and the change in I/O amounts in the past and searches for the best period for the migration.
When the Execute button 817 on the screen in FIG. 8B is pressed, the operation management program 111 a starts the processing in FIG. 15 . Assume that the period entered in the areas 813 - 816 on the screen in FIG. 8B corresponds to the period “period 1 ” or one of the later periods in the period table 125 in FIG. 11 .
First, the performance information acquisition unit 112 acquires the performance information on the array groups 21 and the volumes 212 , which is information on the past periods and stored in the storage unit, from the disk processor 211 and stores the acquired performance information in the array group performance table 121 a and the volume performance table 122 a for each period to create the array group performance tables 121 a and the volume performance tables 122 a (S 301 ). The processing in step S 301 corresponds to the processing in step S 101 and S 102 in FIG. 6 .
The following describes step S 301 in detail. In the second embodiment, multiple array group performance tables 121 a and multiple volume performance tables 122 a , which correspond to the array group performance table 121 and volume performance table 122 in the first embodiment, are prepared as described above, one array group performance table 121 a and one volume performance table 122 a for each period. For example, for “period 1 ” in the period table 125 , the performance information acquisition unit 112 calculates the average value of the performance history information (history information) in this period and creates the array group performance table 121 a and the volume performance table 122 a for “period 1 ”. As described in the first embodiment, the performance history information is information on the array group usage rate, usage capacity in the volumes 212 of a movement source array group, and the read I/O amount and the write I/O amount from the application server to the volume 212 . That is, the performance history information is the array group performance information and the volume performance information in the first embodiment that are stored for each period. The operation management program 111 a acquires the performance history information for each period from the disk processor 211 and stores the acquired information in a predetermined area in the operation management DB 12 a or in another DB.
The performance information acquisition unit 112 similarly acquires information on the rest of periods beginning with “period 2 ”.
Next, the migration candidate search unit 113 a acquires the array group usage rate and the maximum processing amount from the array group performance table 121 a created in step S 301 with the movement source array group ID and the movement destination candidate array group ID as the key, calculate the bandwidth between the movement source array group and the movement destination candidate array group, which is being checked, for each period (S 302 ), and stores the calculated bandwidth in the period bandwidth table 126 . The migration candidate search unit 113 a calculates the bandwidth according to expression (1) and expression (2) given above.
Next, the migration candidate search unit 113 a acquires a period ID from the period table 125 , acquires the movement destination candidate array group ID from the array group performance table 121 a corresponding to the period ID, and acquires the movement source candidate volume ID from the volume performance table 122 a corresponding to the period ID. The migration candidate search unit 113 a performs the processing in steps S 304 to S 305 for all sets of (period, movement destination candidate array group ID, movement source candidate volume ID) (S 303 ).
The period bandwidth table 126 in FIG. 12 indicates the change in the bandwidth between the array group AG 1 and the array group AG 2 as follows. For example, the column 1261 indicates that the bandwidth between the array group AG 1 and the array group AG 2 is 20 MB/s in period 1 , 10 MB/s in period 2 , 5 MB/s in period 3 , and 5 MB/s in period 4 . That is, the migration candidate search unit 113 a determines that the time zone, during which the bandwidth between the array group AG 1 and the array group AG 2 can be secured most, is period 1 .
›DESCRIPTION OF THE EMBODIMENTS · 7 of 11
The migration candidate search unit 113 a stores the movement destination candidate array group ID and the movement source candidate volume ID, acquired in step S 303 , and the movement source array group ID in the period analysis table 127 as a set of information (S 304 ).
The migration candidate search unit 113 a calculates the capacity Va of the volume 212 , whose data is movable during each period, according to expression (4) given below and stores the calculated movable capacity of the volume 212 in the corresponding column in the period analysis table 127 (S 305 ).
Va =( x−y )× t (4)
In the above expression, x is the bandwidth of the movement destination candidate array group, and y is the write I/O amount of the movement source candidate volume. t is the length of the period. As will be described later, if x<y, that is, if the value of expression (4) is negative, the migration candidate search unit 113 a determines that the migration in this period is impossible and stores “x” in the corresponding column of the period analysis table 127 .
The following describes the processing in steps S 303 to S 305 (creation of period analysis table 127 ) using an actual example.
For example, the row 1271 in the period analysis table 127 in FIG. 13 is used as the example in the description below. This row 1271 indicates how much data capacity on the volume can be moved in each period when the data of the volume 212 (movement source candidate volume) LU 04 in the movement source array group AG 1 is moved to the array group AG 4 . The migration candidate search unit 113 a calculates the value of the data capacity of the volume 212 movable in each of the periods (values stored in the columns 1275 - 1278 ) as follows. First, the reason for “x” in the column 1275 is as follows. Note the row 1262 of “period 1 ” in the period bandwidth table 126 in FIG. 12 . The migration candidate search unit 113 a acquires 15 MB/s as the bandwidth of the movement destination candidate array group AG 4 from the row 1262 (value of x used in the expression used in S 305 ). In addition, the migration candidate search unit 113 a acquires 20 MB/s from the row 1262 as the write I/O amount (W) of the movement source candidate volume LU 04 (value of y used in the expression used in S 305 ).
The migration candidate search unit 113 a compares the value of x with the value of y and determines that, when only 15 MB/s (x) can be secured as the bandwidth between the array group AG 1 and the array group AG 4 , data cannot be moved from the volume 212 whose write I/O amount is 20 MB/s (y), and stores x in the column 1275 in FIG. 13 . That is, if the result of expression (4) in the processing in step S 305 is negative, the migration candidate search unit 113 a determines that the migration cannot be performed and stores “x” in the column 1275 . The migration candidate search unit 113 a performs the similar processing for the column 1276 .
Next, the following describes the reason why 432 GB is stored in the column of period 3 (column 1277 ). As in the example given above, the reason is described with reference to the period bandwidth table 126 shown in FIG. 12 . Note the row 1263 of period 3 in the period bandwidth table 126 . The migration candidate search unit 113 a acquires 20 MB/s as the bandwidth of the movement destination candidate array group AG 4 (value of x in the expression used in S 305 ). In addition, the migration candidate search unit 113 a acquires 10 MB/s from the same row 1263 as the write I/O amount (W) of the movement source candidate volume LU 04 (value of y in the expression used in S 305 ). Therefore, because the bandwidth between the array group AG 1 and the array group AG 4 is 20 MB/s and the write I/O amount of the movement source candidate volume LU 04 is 10 MB/s, the migration candidate search unit 113 a determines that the migration can be performed with the transfer speed of 10 MB/s (=20−10) that is the difference between the bandwidth and the write I/O amount. The migration candidate search unit 113 a calculates the capacity of the volume 212 (Va of the expression used in step S 305 ), which is the capacity movable in 12 hours corresponding to the time stored in period 3 at the transfer speed of 10 MB/s, as 432 GB (that is, ((20 MB−10 MB)×(12×3600)) and stores the calculated value in the column 1277 in the period analysis table 127 in FIG. 13 . The migration candidate search unit 113 a performs the similar processing for the column 1278 .
As described above, the migration candidate search unit 113 a performs steps S 304 to S 305 for all sets of (period, movement destination candidate array group ID, movement source candidate volume ID) (S 306 ).
Next, the migration candidate search unit 113 a performs steps S 308 to S 310 for all sets of (movement source array group ID, movement destination candidate array group ID, movement source candidate volume ID) (S 306 ). Because the movement source array group ID remains unchanged, the migration candidate search unit 113 a performs the processing practically for all sets of (movement destination candidate array group ID, movement source candidate volume ID).
First, the migration candidate search unit 113 a acquires the capacity V of the volume 212 (movement source candidate volume) corresponding to the movement source candidate volume ID from the disk processor 211 (S 308 ).
Next, the migration candidate search unit 113 a acquires the capacity Va of the data-movable volume 212 in each period from the period analysis table 127 ( FIG. 13 ) with the movement destination candidate array group ID and the movement source candidate volume ID as the key and compares the acquired Va and V to select a movable period. After that, the migration candidate search unit 113 a stores the result in the period analysis result table 128 (S 309 ).
The following describes an example of the processing in steps S 307 -S 309 .
For example, the row 1271 in the period analysis table 127 is used as the example in the description below. The migration candidate search unit 113 a determines from the row 1271 that the data of the movement source candidate volume LU 04 can be migrated in period 3 and period 4 . In this case, if the capacity of the volume 212 corresponding to the movement source candidate volume LU 04 is 300 GB (the usage capacity of the volume 212 is acquired from the volume performance table 122 a ), the migration candidate search unit 113 a determines that the migration can be terminated in one of period 3 and period 4 . However, if the usage capacity of the volume 212 corresponding to the movement source candidate volume LU 04 is 500 GB, the migration candidate search unit 113 a determines that the migration cannot be terminated in one of period 3 and period 4 . In such a case, the migration candidate search unit 113 a outputs a period of a combination of period 3 and period 4 as a candidate for the movement period. Note that the non-continuous periods cannot be combined (for example, period 1 and period 3 ).
›DESCRIPTION OF THE EMBODIMENTS · 8 of 11
Next, the migration candidate search unit 113 a calculates the movement time and the movement effect (S 310 ) and stores the calculated result in the corresponding columns of the period analysis result table 128 . The calculation of the movement time and the movement effect is the same as that in steps S 211 to S 214 in FIG. 7 and, so, the description is omitted.
As described above, the migration candidate search unit 113 a performs steps S 308 to S 310 for all sets of (movement source array group ID, movement destination candidate array group ID, movement source candidate volume ID) (S 311 ).
Thereafter, the migration candidate search unit 113 a performs the same processing as that in steps S 104 to S 106 in FIG. 6 .
FIG. 16 is a diagram showing an example of a migration candidate display screen in the second embodiment.
In FIG. 16 , the same reference numeral is used to denote the same element in FIG. 9 , and the further description of that element will be omitted.
This migration candidate display screen differs from the migration candidate display screen in FIG. 9 in that, in an analysis result display area 1601 , the movement time in FIG. 9 is replaced by the time zone (candidates) for the migration.
The user references the period candidates to select and determine from which volume 212 the data is to be migrated to which array group 21 and when the migration is to be performed. The migration execution procedure is the same as that in the first embodiment ( FIG. 9 ). The number in parentheses in the time zone column is the same as that in FIG. 14 .
Effect of Second Embodiment
The storage management apparatus in the second embodiment uses performance history information, which is past performance information, for estimating a change in the array group bandwidths and I/O amounts in the future and finds, for example, that a larger bandwidth can be acquired, and the migration becomes easier, at the end of a month. So, the storage management apparatus allows the user to know in which period the migration should be performed. In this way, the storage management apparatus reduces failures in the migration.
Third Embodiment
Next, a third embodiment of the present invention will be described with reference to FIG. 17 and FIG. 18 . In the first embodiment and the second embodiment, the migration is performed between array groups in the same storage apparatus 2 ( FIG. 1 ). In the third embodiment, the migration is performed and managed also between different storage apparatuses 2 and 2 b ( FIG. 17 ). The storage apparatus 2 b is an external storage apparatus 2 connected, via a network such as a SAN, to the storage apparatus 2 that includes a movement source array group.
(System Configuration)
FIG. 17 is a diagram showing an example of the system configuration in the third embodiment.
In FIG. 17 , the same reference numeral is used to denote the same element of the configuration in FIG. 1 , and the further description of that element will be omitted. The configuration of a storage management server 1 is the same as that in FIG. 1 except that the array group performance table 121 is an array group performance table 121 b ( FIG. 18 ) that considers the ports of the storage apparatuses 2 and 2 b and, so, the illustration of the storage management server 1 is omitted. The array group performance table 121 b will be described later with reference to FIG. 18 .
FIG. 17 is a block diagram of a storage management system 10 b in the third embodiment that includes the storage apparatus 2 b connected to the storage apparatus 2 via a network 5 . Because the elements of the storage apparatus 2 b are the same as those of the storage apparatus 2 , the reference numeral of an element of the storage apparatus 2 b is created by adding “b” to the end of the reference numeral of the corresponding element of the storage apparatus 2 , and the further description of that element will be omitted.
(Array Group Performance Table)
FIG. 18 is a diagram showing an example of the configuration of an array group performance table in the third embodiment.
The array group performance table 121 b differs from the array group performance table 121 in FIG. 2 in that the port processor usage rates (in percents) and the port processor maximum processing amounts (in MB/s) of ports 22 and 22 b of the storage apparatuses 2 and 2 b are described. Because a port is considered, the array group ID in FIG. 2 is replaced by the resource ID. P 1 and P 2 in FIG. 18 are the IDs of ports 22 and 22 b of the storage apparatuses 2 and 2 b , respectively.
With reference to FIG. 17 and FIG. 18 , the following describes how the operation management program 111 calculates the bandwidth between the array group 21 of the storage apparatus 2 and the array group 21 b of the storage apparatus 2 b.
Because there are the port 22 and the port 22 b on the path from the array group 21 to the array group 21 b , the performance information acquisition unit 112 ( FIG. 1 ) acquires the performance information on those resources from the port processors 221 and 221 b respectively and stores the acquired performance information in the array group performance table 121 b (corresponds to step S 101 in FIG. 6 ). Although the ports 22 and 22 b are the resources on the path from the array group 21 to the array group 21 b and their performance information is acquired in this example, the resources are not limited to the ports 22 and 22 b but may be any resources such as switches.
Next, the following describes the calculation of the bandwidths secured between the array group 21 and the array group 21 b . Based on the array group performance table 121 b in FIG. 18 , the migration candidate search unit 113 uses expression (1) and calculates the bandwidth of the array group AG 1 as 20 MB/s. Similarly, the migration candidate search unit 113 uses expression (1) and calculates the bandwidth of port P 1 as 200 MB/s, the bandwidth of port P 2 as 120 MB/s, and the bandwidth of array group AG 4 as 15 MB/s. This processing is the one performed in steps S 202 and step S 204 in FIG. 7 . At this time, the migration candidate search unit 113 calculates the bandwidth among the array group AG 1 , port P 1 , port P 2 , and array group AG 4 using min (20, 200, 120, 15) that is a variation of expression (2). As a result, the bandwidth among the array group AG 1 , port P 1 , port P 2 , and array group AG 4 is 15 MB/s. This processing corresponds to step S 205 in FIG. 7 . The other processing is the same as that in FIG. 6 and FIG. 7 , and the description of the processing is omitted.
›DESCRIPTION OF THE EMBODIMENTS · 9 of 11
Effect of Third Embodiment
The storage management apparatus in the third embodiment can reduce an I/O load that is generated at migration time not only between the array groups 21 in the same storage apparatus 2 but also between array groups in the different storage apparatuses 2 and 2 b.
Fourth Embodiment
Next, a fourth embodiment of the present invention will be described.
In the fourth embodiment, a storage management server 1 calculates the array group usage rate of the system usage area and that of the user usage area separately based on the performance information on the array group 21 and the volume 212 at migration execution time, and displays the result on the display device 13 .
The system configuration diagram in the fourth embodiment and its description are omitted because they are similar to those in FIG. 1 except that the operation management program 111 calculates the array group usage rate separately for the system usage area and for the user usage area and displays them on the display device 13 .
The flowchart and its description are also omitted because they are similar to those in FIG. 6 and FIG. 7 except that the operation management program 111 calculates the array group usage rate separately for the system usage area and for the user usage area after the migration and displays them on a display device 13 .
The following describes the method of calculating the array group usage rate for the system usage area and the user usage area.
First, the following describes the method of calculating the array group usage rate for the system usage area. First, when the migration is started in response to an instruction from the storage management server 1 , the performance information acquisition unit 112 serially monitors the performance information (array group usage rate, read I/O amount and write I/O amount for the movement destination volume) on the movement destination array group and the movement source volume and stores the acquired information in the memory 11 or an appropriate area on the hard disk.
(Calculation of Array Group Usage Rate for Each Usage Area)
When a request for displaying the array group usage rates is issued via the input device 14 , the operation management program 111 uses the stored performance information to calculate the array group usage rate for the migration separately for the system usage area and for the user usage area, and the screen display processing unit 114 displays the calculated result on the display device 13 . For example, the array group usage rates are calculated as follows. Let j[MB/s] be the maximum processing amount of the array group AG 1 , g[MB/s] be the bandwidth secured between the array group AG 1 and the array group AG 2 , and h[MB/s] be the write I/O amount on the movement source volume in the array group AG 1 . When the data of the movement source volume is moved to the array group AG 2 , the operation management program 111 calculates the array group usage rate F for the system area of the array group AG 1 , which the movement source array group, using expression (5) given below.
F= 100×( g−h )/ j (5)
For the array group AG 2 that is the movement destination candidate array group, the operation management program 111 also uses expression (5) to calculate the array group usage rate for the system area.
The array group usage rate for the user usage area is a value calculated by subtracting the value calculated using expression (5) from the array group usage rate of the array group that is calculated and stored in the array group performance table 121 (FIG. 2 .)
FIG. 19A is a diagram showing an example of the screen for the movement source array group in the fourth embodiment, and FIG. 19B is a diagram showing an example of the screen for the movement destination array group.
The horizontal axis of the graphs in the FIGS. 19A and 19B indicates the time, and the vertical axis indicates the array group usage rate (usage rate). A broken line 1905 in FIGS. 19A and 19B indicates the maximum processing amount of the array group 21 .
A solid line 1901 in FIG. 19A and a solid line 1903 in FIG. 19B indicate the array group usage rate in the user usage area. A broken line 1902 in FIG. 19A and a broken line 1904 in FIG. 19B indicate the array group usage rate in the system usage area.
FIGS. 19A and 19B indicate that, when the migration is started, the array group usage rate of the movement source array group and the movement destination array group rises because of the migration.
Effect of Fourth Embodiment
The storage management apparatus in the fourth embodiment allows the user to work while confirming the array group usage rate of the system when data is migrated.
Fifth Embodiment
Next, a fifth embodiment of the present invention will be described with reference to FIG. 20 to FIG. 22 .
A storage management system 10 in the fifth embodiment calculates the copy transfer speed that is expected when the migration is performed and, if there is a possibility that the migration will not be terminated within a permissible time, displays a warning on a display unit.
(Memory Configuration)
FIG. 20 is a diagram showing an example of the configuration of the memory in a storage management server in the fifth embodiment. A memory lid in FIG. 20 differs from the memory 11 in FIG. 1 in that an operation management program 111 d has an execution control unit 115 . The description of the rest of the configuration is omitted because it is the same as the configuration of the memory 11 shown in FIG. 1 . The figure and the description of the configuration other than the memory 11 in the storage management system 10 are omitted because they are the same as those in FIG. 1 .
(Execution Control Processing)
Next, the following describes execution control processing in the fifth embodiment with reference to FIG. 21 while referring to FIG. 1 and FIG. 20 .
FIG. 21 is a flowchart showing the flow of execution control processing in the fifth embodiment. Note that FIG. 21 shows the processing executed after a migration execution instruction is entered. For example, the processing in FIG. 21 is executed when the user presses an Execute button 2204 on a permissible time setting screen 2200 that is shown in FIG. 22 .
›DESCRIPTION OF THE EMBODIMENTS · 10 of 11
First, the execution control unit 115 acquires the movement source array group ID, the movement destination array group ID, and the movement source volume ID for which the migration is being performed, as well as the movement time ta, from the analysis result table 124 ( FIG. 5 ). In addition, the execution control unit 115 acquires the movement source volume capacity (usage amount) Vb from the volume performance table 122 ( FIG. 3 ) with the movement source volume ID as the key (S 401 ).
The execution control unit 115 acquires a pre-set permissible time u from the hard disk and calculates the permissible copy speed f (permissible transfer speed) using expression (6) given below (S 402 ).
f=Vb /( ta+u ) (6)
The execution control unit 115 subtracts the write I/O amount of the movement source volume from the bandwidth between the movement source array group and the movement destination array group to calculate the current copy speed g (actual data transfer speed) (S 403 ). The current copy transfer speed g may also be calculated by the performance information acquisition unit 112 by acquiring the data amount, which is moved within a predetermined time, from the disk processor 211 and dividing this data amount by the predetermined time.
The execution control unit 115 checks if g<f is satisfied (S 404 ).
If g<f is not satisfied as the result of step S 404 (S 404 →No), the current copy speed g is higher than the permissible copy speed f, that is, the copy transfer speed is higher. In this case, the execution control unit 115 determines that the migration will be terminated within (movement time+permissible time) (ta+u) and passes control back to step S 403 .
If g<f is satisfied (S 404 →Yes) as the result of step S 404 , the current copy transfer speed g is equal to or lower than the permissible copy speed f, that is, the copy transfer speed is equal to or lower than the permissible speed. In this case, the execution control unit 115 determines that there is a possibility that the migration will not be terminated within (movement time+permissible time) (ta+u).
After that, the execution control unit 115 causes the display unit to display the processing continuation confirmation screen that will be described later by referring to FIG. 22B (S 405 ).
The execution control unit 115 determines if an instruction to continue the migration is entered via the input unit and determines whether the migration should be continued (S 406 ).
If it is determined as the result of step S 406 that the migration should be continued (S 406 →Yes), the execution control unit 115 passes control back to step S 403 .
Conversely, if it is determined as the result of step S 406 that the migration should not be continued (S 406 →No), the execution control unit 115 interrupts the migration processing (S 407 ).
The following describes an example of the actual processing in FIG. 21 .
The execution control unit 115 calculates the currently secured bandwidth from the performance information on the movement source array group AG 1 and the movement destination array group AG 2 (The calculation of the bandwidth has already described using the flowchart in FIG. 7 in the first embodiment). For example, assume that the bandwidth is 10 MB/s (S 401 ).
In step S 401 , assume that the execution control unit 115 has acquired 10 MB as the usage capacity of the movement source volume, and is as the movement time (estimated time).
Assume that the user has set the permissible time of is (second) in advance. The permissible time indicates that the migration will be completed in 1 s and, at the latest, within 2 s. The value of the permissible copy speed f calculated in step S 402 indicates that, unless the migration is performed at least at this copy transfer speed, there is a possibility that the migration will not be completed within the user-assumed time of (2 s).
In step S 403 , the execution control unit 115 calculates the current copy transfer speed, compares the current copy speed with the permissible copy speed in step S 404 , and checks if the migration will be completed within the user-assumed time (2 s in this example). If the checking indicates that the migration will not be completed within the user-assumed time, the execution control unit 115 displays the processing continuation confirmation screen (S 405 ) to request the user to determine whether to continue the migration (S 406 ).
(Example of Screen)
FIG. 22A is a diagram showing an example of the permissible time setting screen in the fifth embodiment, and FIG. 22B is a diagram showing an example of the processing continuation confirmation screen.
As shown in FIG. 22A , the permissible time setting screen 2200 includes a permissible time setting selection radio button 2201 and a warning non-notification selection radio button 2202 . When the user selects the permissible time setting selection radio button 2201 , enters a permissible time in a permissible time setting area 2203 , and presses the Execute button 2204 , the migration is started and, at the same time, the processing described in FIG. 2 is performed. When the warning non-notification selection radio button 2202 is selected, the storage management server 1 performs the migration without performing the processing described in FIG. 21 .
A processing continuation confirmation screen 2210 shown in FIG. 22B is a screen displayed on the display unit by the execution control unit 115 in step S 405 in FIG. 21 . The processing continuation confirmation screen 2210 includes a warning display area 2211 , a Continue button 2212 , and an Interrupt button 2213 . When the Continue button 2212 is selected, “Yes” is selected in step S 406 ; when the Interrupt button 2213 is selected, “No” is selected in step S 406 .
In the fifth embodiment, the monitoring processing of the array group usage rate shown in the fourth embodiment may be performed at the same time.
Effect of Fifth Embodiment
The storage management apparatus in the fifth embodiment allows the user to monitor the data copy speed during migration and to confirm whether or not the migration will be terminated within a user-desired time.
›DESCRIPTION OF THE EMBODIMENTS · 11 of 11
In the first to fifth embodiments, the operation management programs 111 , 111 a , and 111 d may multiply the bandwidth value used in those embodiments by a value larger than 0 and smaller than 1. By doing so, the bandwidth is estimated conservatively and the transmission load at migration time can be reduced.
It should be further understood by those skilled in the art that although the foregoing description has been made on embodiments of the invention, the invention is not limited thereto and various changes and modifications may be made without departing from the spirit of the invention and the scope of the appended claims.
Claims as granted
15 claimsLog in to read the claims of this application.
Log in to unlockClassifications
3 codes- G06F12/02
Claim changes
SoonSee which claims were amended, added or cancelled during examination, with every added and removed word marked.
The published claims of this application are not paired with the granted ones in what we hold.
File wrapper
See the full prosecution history — every USPTO and applicant action on this file, in order.
Log in to unlockDocuments
Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.
Log in to unlockChain of title
See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.
Log in to unlock