Source: http://www.google.com/patents/US20070055820?ie=ISO-8859-1&dq=5,815,794
Timestamp: 2014-03-09 19:49:43
Document Index: 288803352

Matched Legal Cases: ['art 600', 'art 601', 'art 600', 'art 602', 'art 603', 'art 604', 'art 605', 'art 601', 'art 602', 'art 601', 'art 606', 'art 607', 'art 608', 'art 609', 'art 607', 'art 610', 'art 611', 'art 608', 'art 612', 'art 613', 'art 609', 'art 614', 'art 615', 'art 612', 'art 613', 'art 606', 'art 610', 'art 611', 'art 604', 'art 605', 'art 606', 'art 607', 'art 609', 'art 602', 'art 609', 'art 607', 'art 608', 'art 1101', 'art 1102', 'art 1103', 'art 1102', 'art 1104', 'art 1105', 'art 1105', 'art 1105', 'art 1106', 'art 1107', 'art 1108', 'art 1109']

Patent US20070055820 - Storage subsystem and performance tuning method - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign inAdvanced Patent SearchPatentsIn a storage subsystem, performance tuning is performed with respect to all of the logical devices including external storage subsystems that are not directly connected to host computers. The physical storage units presented by the external storage subsystems are defined as logical devices of the storage...http://www.google.com/patents/US20070055820?utm_source=gb-gplus-sharePatent US20070055820 - Storage subsystem and performance tuning methodAdvanced Patent SearchPublication numberUS20070055820 A1Publication typeApplicationApplication numberUS 11/594,787Publication dateMar 8, 2007Filing dateNov 9, 2006Priority dateFeb 26, 2004Also published asEP1577747A2, EP1577747A3, US7155587, US7624241, US7809906, US8046554, US8281098, US20050193167, US20050193168, US20100325379, US20120042138Publication number11594787, 594787, US 2007/0055820 A1, US 2007/055820 A1, US 20070055820 A1, US 20070055820A1, US 2007055820 A1, US 2007055820A1, US-A1-20070055820, US-A1-2007055820, US2007/0055820A1, US2007/055820A1, US20070055820 A1, US20070055820A1, US2007055820 A1, US2007055820A1InventorsYoshiaki Eguchi, Yasutomo Yamamoto, Ai Satoyama, Akinobu ShimadaOriginal AssigneeHitachi, Ltd.Export CitationBiBTeX, EndNote, RefManReferenced by (4), Classifications (21), Legal Events (3) External Links: USPTO, USPTO Assignment, EspacenetStorage subsystem and performance tuning methodUS 20070055820 A1Abstract In a storage subsystem, performance tuning is performed with respect to all of the logical devices including external storage subsystems that are not directly connected to host computers. The physical storage units presented by the external storage subsystems are defined as logical devices of the storage subsystem, and I/O processing requests from the host computers are relayed to the logical devices. At the time of relaying, I/O processing conditions are monitored. When the load of an external storage subsystem is high, then operating conditions of ports and processors are examined. When the load can be reduced by changing the configuration of those ports and processors, the configuration is changed to reduce the load. When the load can not be reduced, data is migrated from a logical device having a high load to a logical device having a sufficient performance. Images(31) Claims(1)
1. A method for managing a storage system, wherein the storage system includes a first storage subsystem coupled to a management apparatus, and a second storage subsystem coupled to the first storage subsystem, wherein data stored in the second storage subsystem is accessed from a computer via the first storage subsystem, the method comprising the steps of: acquiring operating information associated with the second storage subsystem by the first storage subsystem; and outputting the acquired operating information from the first storage subsystem to the management apparatus. Description
FIG. 1 is a diagram for explaining an example of a configuration of a computer system according to a first embodiment of the present invention. As shown in the figure, the computer system comprises: one or more host computers 1 a, 1 b, . . . 1 n (the number of host computers does not matter, and the host computers are representatively referred to as a host computer 1); storage subsystems 20 a, 20 b, . . . 20 n (the number of the storage subsystems does not matter, and the storage subsystems are representatively referred to as a storage subsystem 20); subsystem management apparatuses 5used for performing maintenance and administration of the storage subsystems 20; a first I/O network 61 used for I/O processing of the host computers 1 and the storage subsystems 20; a network 7 connecting the host computers 1, the storage subsystems 20 and the subsystem management apparatuses 5; a SAN management terminal 9 performing configuration management of a storage area network comprising the host computers 1, I/O networks and the storage subsystems 20; storage subsystems 21 a, 21 b, . . . 21 n (the number of these storage subsystems does not matter, and these storage subsystems are referred to as external storage subsystems in distinction from the storage subsystems 20 to which the host computers 1 perform direct input/output processing, and representatively referred to as an external storage subsystem 21); and a second I/O network 62 connecting the storage subsystems 20 and the external storage subsystems 21. Each of the host computers 1 is a computer such as a personal computer (PC), a workstation (WS), a mainframe (MF), or the like. On the host computer 1, run an operating system (hereinafter, referred to as an OS) adapted for the kind of that computer, application programs (AP) that can run on the OS and are suitable for various kinds of business or uses, such as a database management system (DBMS), and the like. Although, for the sake of simplicity, the present invention describes two host computers 1, any number of host computers may exist. Each of the storage subsystems 20 and the external storage subsystems 21 is a storage system of a disk array configuration having a plurality of physical storage units put in an array, and provides logical storage units 8 as data input/output areas to the host computers 1. Further, in the present embodiment, in addition to the host computers 1, the storage subsystem 20 a has a function of issuing I/O requests to the external storage subsystems 21. The external storage subsystems 21 are connected not to the first I/O network 61 used by the host computers for input/output processing, but to the second I/O network 62 used by the storage subsystems 20 for input/output processing. Accordingly, the external storage subsystems 21 do not receive an I/O processing request directly from the host computer 1, but receive an I/O processing request through the second I/O network 62 from the storage subsystem 20 that has received the I/O processing request from the host computer 1 through the first I/O network 61. The subsystem management apparatuses 5 a and 5 b acquires failure information, maintenance information, configuration information, performance information and the like of the storage subsystems 20 and the external storage subsystems 21 from the storage subsystems 20 and the external storage subsystems 21 respectively, and hold the acquired information. Further, the subsystem management apparatuses 5 a and 5 b provides user interfaces for management of the storage subsystems 20 and the external storage subsystems 21. Here, �management� in the present embodiment means, for example, monitoring of a failure and performance, definition of a configuration, installation of a program running on a storage subsystem, and the like. When, for example, logical storage units 8 are to be set into the storage subsystem 20 or the external storage subsystem 21, a storage area for backup of data is to be set, or a pair of storage areas is to be set which duplicats data, then, the subsystem management apparatus 5 a or 5 b receives an instruction from a user, and sends a setting instruction or setting information to the storage subsystem 20 or the external storage subsystem 21. The first I/O network 61 is used for the host computer 1 to perform I/O processing of various commands and data toward the storage subsystem 20. The second I/O network 62 is used for the storage subsystem 20 to perform I/O processing of various commands and data toward the external storage subsystem 21. A command and data related to an I/O processing request from the host computer 1 to the storage subsystem 20 is transmitted through the first I/O network 61. And, a command and data related to an I/O processing request from the host computer 1 to the external storage subsystem 21 is transmitted to the storage subsystem 20 through the first I/O network 61, and then, transmitted from the storage subsystem 20 to the external storage subsystem 21 through the second I/O network 62. The first I/O network 61 and the second I/O network 62 use optical cable or copper wire. And, as a communication protocol used in the first I/O network 61 and the second I/O network 62, may be mentioned Ethernet (a registered trademark), FDDI, the fiber channel (FC), SCSI, Infiniband, TCP/IP, iSCSI, or the like. The network 7 is used, for example, for transmitting management information on a failure, maintenance, configuration, performance and the like of the storage subsystems 20 and 21 from the storage subsystems 20 and 21 to the subsystem management apparatuses 5, for transmitting setting information from the subsystem management apparatuses 5 to the storage subsystems 20 and 21, and for transmitting the above-mentioned management information on a failure, maintenance, configuration, performance and the like from the subsystem management apparatuses 5 to the SAN management terminal 9 or the host computers 1. Cable material and a communication protocol used for the network 7 may be either same as or different from the cable material and the communication protocol used for the first I/O network 61 and the second I/O network 62. It is sufficient that the second I/O network 62 and the first I/O network 61 are separated from each other from the viewpoint of network processing logic. In other words, the second I/O network 62 and the first I/O network 61 may be physically separated, or may be connected to a common I/O network switch while being logically separated in their transmission lines. For example, both paths may be connected to an FC switch through the fiber channel and the zoning technique may be used in the FC switch so that the FC switch realizes logically-different networks. In that case, those networks are arranged such that the logical storage units 8 whose paths are defined to be under ports of the external storage subsystems 21 connected only to the second I/O network 62 can not be detected by the host computers 1 and can not become direct I/O objects. [Configuration of the Storage Subsystems 20 and the External Storage Subsystems 21]
Next, functions of the storage subsystem 20 will be described. These functions are realized when the control processor 100 executes the programs stored in the shared memory 107 and the local memory 101. Further, data and the like used for realizing these functions will be described also. FIG. 3 is a diagram for explaining functions of the storage subsystem control unit 112. The storage subsystem control unit 112 comprises: an I/O network processing unit 200; a network processing unit 201; a command processing unit 202; a logical storage unit operating information processing unit 206; a physical storage unit operating information processing unit 207; an external storage area operating information acquisition processing unit 208; a cache hit/miss judgment processing unit 210; a cache amount management unit 212; a port control unit 213; a processor operating information acquisition processing unit 214; a physical storage unit I/O processing unit 215; an external storage I/O processing unit 216; a configuration definition processing unit 217; a configuration change planning processing unit 218; a configuration change plan execution processing unit 219; an external storage unit attribute information acquisition processing unit 221; and a manager 223. These are stored in the form of programs in the local memory 101 Data processed by these processing units or data required for processing is stored as logical-physical correspondence information 203, logical storage unit attribute information 204, physical storage unit attribute information 205, external storage operating information 209, a cache amount counter 211, external storage unit attribute information 220, schedule information 222, logical storage unit operating information 224, physical storage unit operating information 225, processor operating information 226, configuration change planning information 227, port setting information 228, or port operating information 229, in the local memory 101 or the shared memory 107 of the storage subsystem control unit 112. Further, on the local memory 101, there is a timer program (not shown) having time information of the storage subsystem. Sometime, the storage subsystem may have a plurality of storage subsystem control units 112. In that case, one representative storage subsystem control unit 112 is set in advance through the subsystem management apparatus 5. And, the time information held by the timer program of the representative storage subsystem control unit 112 set in advance is stored as common time information in the shared memory 107. The storage subsystem control units 112 other than the representative storage subsystem control unit 112 refer to the time information stored in the shared memory 107. Owing to this arrangement, all the storage subsystem control units 112 can have common time information. Now, details of the above-described processing units and the information held by the storage subsystem control unit 112 will be described. [I/O Network Processing Unit 200]
Next, will be described the logical-physical correspondence information 203 that the configuration definition processing unit 217 stores into the shared memory 107. As described above, the logical-physical correspondence information 203 is generated and updated by the configuration definition processing unit 217. Further, as described below, optimization is performed in performance tuning processing, and also the configuration change plan execution processing unit 219 updates the logical-physical correspondence information 203 when there is a change in the correspondence between the logical storage units 8 and the physical storage units 110 and 124. The logical-physical correspondence information 203 stores information indicating correspondence between logical addresses used by the host computer 1 in order to access the storage units 110 of the storage subsystem 20 and physical addresses of the storage units 110 and 124 of the storage subsystem 20 and external storage subsystem 21. FIG. 4 shows an example of the logical-physical correspondence information 203. As shown in the figure, the logical-physical correspondence information 203 includes: a logical address storing part 600 which stores an addresses of a logical storage apparatus; and a physical address storing part 601 which stores an addresses of the physical storage unit 110 that actually store data. The logical-physical correspondence information 203 is generated for each port 104 a. The logical address storing part 600 comprises: a target logical storage unit number storing part 602 which stores a logical storage unit number (for example, an LU (Logical Unit) number in the case of SCSI) of a logical storage unit 8 (for example, an LU in the case of SCSI, and hereinafter, referred to as a target logical storage unit) detected by accessing the port 104 a of the storage subsystem 20; a target logical storage unit address storing part 603 which stores an address in the target logical storage unit; an LDEV number storing part 604 which stores a logical storage unit number (hereinafter, referred to as an LDEV (Logical Device) number) that is given internally to cover the entire storage subsystem 20; and an LDEV address storing part 605 which stores its address (hereinafter, referred to as an LDEV address). Seen from the host computer 1, the target logical storage unit numbers are uniquely determined for each target port 104 a as an input/output object, and the host computer 1 uses those LU numbers which performs read/write of data from/to the storage subsystem 20. A target logical storage unit is defined by associating an LDEV with a target port. A plurality of LDEVs may be combined to define one target logical storage unit. Further, an LDEV assigned to a target logical storage unit number may be different or same for each host computer 1. Further, the physical address storing part 601 stores a physical address corresponding to a target logical storage unit number stored in the logical storage unit number storing part 602. The physical address storing part 601 comprises: a parity group(PG) number storing part 606 which stores a parity group number; a data storing part 607 which stores information of a disk unit that stores data; a parity storing part 608 which stores information on parity; and an external storage storing part 609 which stores g data related to an external storage subsystem. Further, the data storing part 607 comprises a disk unit number storing part 610 which stores a physical storage unit (disk unit) number and an address-in-disk-unit storing part 611 which stores an address in a disk unit. The parity storing part 608 comprises a disk unit number storing part 612 and an address-in-disk-unit storing part 613 which stores an address in a disk unit. The external storage storing part 609 comprises: a port number-disk unit number storing part 614 which stores a port number and a physical storage unit number that are used for accessing a physical storage unit in an external storage subsystem; and a logical storage address storing part 615 which stores an address in a disk unit. The disk unit number storing part 612 and the address-in-disk-unit storing part 613 store disk units which store redundant data corresponding to a level of a parity group and its address. The parity group number storing part 606, the disk unit number storing part 610 and the address-in-disk-unit storing part 611 store a parity group number, a disk unit number and an address for uniquely indicating a physical address corresponding to a data storage address (which is determined by the LDEV number stored in the LDEV number storing part 604 and the LDEV address stored in the LDEV address storing part 605) of a logical storage unit. In the present embodiment, when a target logical storage unit corresponds to a storage unit address in a parity group consisting of physical storage units in the storage subsystem 20, then, the parity group number storing part 606 and the data storing part 607 store respective effective values. And, the external storage storing part 609 stores an invalid value (for example, �−1� in FIG. 4). Further, when a physical address corresponding to a target logical storage unit number stored in the logical storage unit number storing part 602 means a logical storage unit of the external storage subsystem 21 (for example, when the logical storage unit number is an entry of F3), then, the external storage storing part 609 stores an effective values and the data storing part 607 and the parity storing part 608 store invalid values (for example, �−1� in FIG. 4). [Command Processing Unit 202]
The logical storage unit attribute information 204 holds attribute information (which is inputted in advance through the subsystem management apparatus 5 or the like) of a logical storage unit 8, such as, a size, an emulation type, reserve information, path definition information, information on the host computer 1 as an I/O object (an I/O port identifier of the host computer 1, such as a World Wide Name (WWN) in FC). FIG. 5 shows an example of data held in the logical storage unit attribute information 204. As shown in the figure, the logical storage unit attribute information 204 is information indicating an identifier (number) of a target port that can be accessed as an input/output processing object from the host computer 1, an identifier (number) of a target logical storage unit to which input is possible through the target port, and a parity group (a physical storage unit) as a mapping destination corresponding to the address of the target logical storage unit. The logical storage unit attribute information 204 includes: an ID storing part 1101 which stores an identifier (ID) of a target port 104 a; and a target logical storage unit number storing part 1102 which stores identifier of a target logical storage unit 8. The logical storage unit attribute information 204 further comprises: an LDEV number storing part 1103 which stores an identifier (an LDEV number) of an LDEV constituting the target logical storage unit stored in the target logical storage unit number storing part 1102; and a PG number storing part 1104 which stores an identifier of a parity group (PG) to which the mentioned LDEV belongs. The logical storage unit attribute information 204 further comprises a storage type storing part 1105 indicating whether a logical storage unit 8 is a storage subsystem (such as the storage subsystem 20) that can be directly accessed from the host computer 1 through the-first I/O network 61, or an external storage subsystem that should be accessed through the storage subsystem 20 and the second I/O network 62. When the storage type storing part 1105 stores information indicating the external storage subsystem 21, then, the storage type storing part 1105 stores also an address (for example, WWN in FC, LUN, and the like) required for accessing the external storage subsystem 21 in question. In addition, the logical storage unit attribute information 204 further comprises: an emulation type-capacity storing part 1106 which stores information on an emulation type and a capacity; a path definition information storing part 1107; a status information storing part 1108 which stores status information of the logical storage unit; and a storage unit performance storing part 1109. Here, the emulation type is emulation information of the logical storage unit, indicating, for example, whether the logical storage unit is one for certain kind of mainframe, or a logical storage unit that is an access object for an open-architecture type host computer, or a logical storage unit that can be accessed from both type of computers. And the information on the capacity indicates the capacity of the logical storage unit. The status of a logical storage unit is an online status in which an I/O processing request is received from the host computer 1, a reserve status in which the logical storage unit is reserved, for example, as a storing destination of a copy (snapshot data) at some point of time of some logical storage unit or as a remote copy destination for remote backup or disaster recovery, a blocked status owing to a failure in the logical storage unit, or the like. Further, for the logical storage unit 8, the path definition means defining logical storage unit numbers of logical storage units existing under an I/O port of the storage subsystem, associating those logical storage unit numbers with the I/O port, in order that the host computer 1 can access the logical storage unit 8 as an input/output object by designating a pair of a target port number and a logical storage unit number. [Parity Group (Physical Storage Unit) Attribute Information 205]
FIG. 17 shows an example of a hardware configuration of the SAN management terminal 9 of the present embodiment. As shown in the figure, the SAN management terminal 9 comprises: a CPU 501; a memory 502 as an electrically nonvolatile storage unit; a local disk unit 503; a network adapter 504; an input unit 506; a display unit 505; a removable storage drive unit 507; and a transmission line 508 as an internal bus which connects the mentioned components with one another to transmit data, a control instruction, or the like. The memory 502 stores programs to be executed by the control processor 501, information used by those programs, and the like. The control processor 501 executes those programs on the SAN management terminal 9. The network adapter.504 is an interface with the network 7. [I/O processing to External Storage Subsystem 21]
Next, a flow of the performance tuning including the external storage subsystems 21 and using the above-described functions will be described in the following. In the present embodiment, first, performance tuning is performed automatically at predetermined time intervals. Namely, it is judged according to the performance schedule information 222 whether a performance improvement function that instructs automatic execution of various processing which makes a configuration change is ON or not. When the performance improvement function is ON, the processing is performed. Here, the processing is performed in the order of configuration change planning, performance tuning of the storage subsystems 20, and performance tuning of the external storage subsystems 21. When the performance tuning of the external storage subsystems 21 is performed, approval of the administrator is obtained through the management terminal. FIG. 20 shows a processing flow at the time of the performance tuning of the storage subsystem 20. The manager 223 refers to the schedule information 222 at certain intervals, to judge whether the performance improvement function of the storage subsystem 20 is ON, i.e., in a state which performs the performance tuning (Step 2001). Here, instructions with respect to the time interval and the performance improvement function are inputted by the administrator through the subsystem management apparatus 5. When the performance improvement function of the storage subsystem 20 is ON, the manager 223 refers to the performance schedule information 222 to judge whether it is a time which updates the configuration change planning information 227 (Step 2002). When it is a time which updates the configuration change planning information 227, then, the manager 223 makes the configuration change planning processing unit generate the configuration change planning information 227 (Step 2031). A detailed processing flow of Step 2031 will be described later referring to FIG. 21. When it is judged in Step 2002 that it is not a time which updates the configuration change planning information 227, then, the manager 223 refers to the schedule information 222 to judge whether it is a time which executes a configuration change plan (Step 2003). When it is judged in Step 2008 that it is not a time which executes a configuration change plan, then, the processing is ended. When it is a time for execution, the manager 223 refers to the configuration change planning information 227, to judge whether a configuration change plan is stored or not (Step 2004). When it is judged in Step 2004 that a configuration change plan is not stored, then, the processing is ended. When a configuration change plan is stored, the manager 223 refers to the configuration change planning information 227 to judge whether there is a configuration change plan related to the storage subsystem 20 (Step 2005). When it is judged in Step 2005 that there is stored a change plan related to the storage subsystem 20, then, the manager 223 makes the configuration change plan execution processing unit 219 execute a configuration change according to the change plan (Step 2011), and then, the processing goes to Step 2006. When it is judged in Step 2005 that there is not a change plan related to the storage subsystem 20, then, the manager 223 judges whether the configuration change planning information 227 stores a plan related to the external storage subsystem 21 (Step 2006). When it is judge in Step 2006 that a configuration change plan related to the external storage subsystem 21 is not stored, the processing is ended. When a configuration change plan related to the external storage subsystem 21 is stored, then, the manager 223 displays a message on the display unit of the subsystem management apparatus 5 to the effect that there is a configuration change plan related to the external storage subsystem 21, and displays the change plan extracted from the configuration change planning information 227, to present them to the administrator (Step 2007). When an instruction is received from the subsystem administrator to execute the above-mentioned configuration change plan displayed as recommended, then, the manager 223 makes the configuration change plan execution processing unit 219 execute the configuration change (Step 2021) and the processing is ended. When an instruction is not received, the processing is ended without executing the change plan. When a user, who is presented with the configuration change plan through the subsystem management apparatus 5, judges the plan to be unnecessary, then, the user can also instruct the subsystem management apparatus 5 to cancel the change plan. Next, will be described the processing of generating the configuration change planning information 227 in the above Step 2031. In the present embodiment, loads on the parity groups are monitored, and when there is some parity group having a high load, then, a configuration change is planned at need. When the parity group having a high load belongs to a storage subsystem, then, a configuration change is planned employing the technique disclosed in Patent Document 2. When the parity group having a high load belongs to the external storage subsystem 21, then, as described above, the performance deterioration may be caused not by interference of accesses to physical storage units constituting the same parity group, but by a conflict over the initiator port 104 b or the control processor 100. Accordingly, in the present embodiment, first it is judged whether the performance deterioration is caused by a conflict over the initiator port 104 b or the control processor 100. When such a conflict is not a cause, then it is judged that the performance deterioration is caused by access interference, and data reallocation is considered. In the present embodiment, as data reallocation, is made a plan which migrates data from the external storage subsystem 21 to the storage subsystem 20. Further, in the present embodiment, measures against a conflict over the initiator port 104b and the control processor 100 are prepared each as one of configuration change plans in Step 2031, to obtain permission of the administrator before execution. Here, to judge whether the cause of the performance deterioration is other than access interference, various information indicating the conditions of the external storage subsystem 21 is examined. The mentioned various information is information collected in the storage subsystem 20 such as operating information (such as throughput), a storing state of the cache, and load conditions of the initiator port and the processor. FIG. 21 shows a processing flow of the configuration change planning processing unit 218 at the time of generating the configuration change planning information 227. According to the schedule information 222, the configuration change planning processing unit 218 refers to the physical storage unit operating information 225 to extract a high load parity group, i.e., a parity group of which, for example, the total occupied time 1310 indicating I/O processing performance is larger than a predetermined threshold (Step 1501). The configuration change planning processing unit 218 judges whether the parity group extracted in Step 1501 belongs to the storage subsystem 20 or the external storage subsystem 21, based on the P.G. number 1302 of the physical storage unit operating information 225 (Step 1502). When it is judged in Step 1502 that the extracted parity group is a parity group in the storage subsystem 20, then, the configuration change planning processing unit 218 makes a configuration change plan employing, for example, the technique disclosed in Patent Document 2 (Step 1521). When it is judged in Step 1502 that the extracted parity group is a parity group in the external storage subsystem 21, then, the configuration change planning processing unit 218 examines the response time and throughput of the initiator port 104 b that performs I/O processing to the external storage subsystem 21 in question, referring to the port operating information 229 and the port setting information 228 (Step 1503). Here, to examine the response time, the average IOPS 1204 of the port operating information 229 is compared with the target IOPS 1407 of the port setting information 228. And, to examine the throughput performance, the average MBPS 1206 of the port operating information 229 is compared with the target MBPS 1408 of the port setting information 228. When the performance indicated by the average MBPS 1206 and the average IOPS 1204 exceeds the performance indicated by the values set as the targets in the port setting information 228, then, the configuration change planning processing unit 218 judges that there is no problem, and the processing is ended. Here, when only the performance indicated by the value of either the average MBPS 1206 or the average IOPS 1204 is lower than the performance indicated by the value set as the target in the port setting information 228 (Step 1504), then first, the sequential ratio 1312 of the physical storage unit operating information 225 is examined to judge whether data being sent at that time is sequential data or random data. When the value of the sequential ratio 1312 is larger than or equal to a predetermined threshold, i.e., when sequential data is being sent (Step 1511), then, it is judged that there is no problem even with a larger response time or deteriorating throughput performance, and the processing is ended. On the other hand, when both the response time and the throughput performance given in the physical storage unit operating information 225 are lower than the values given as the target performance in the port setting information 228 (Step 1504), or when either of the response time or the throughput performance is lower than the target value and the sequential ratio 1312 is less than the predetermined threshold (Step 1511), then, it is possible that a bottleneck exists on the side of the storage subsystem 20. Namely, it is possible that there is a problem in physical connection between the storage subsystem 20 and the external storage subsystem 21. In that case, the configuration change planning processing unit 218 examines whether the dirty amount in the cache has increased with respect to the devices concerned (Step 1505). Here, referring to the cache amount counter 211, a ratio of the dirty amount to the total cache amount is calculated using the clean counter 1804, the dirty counter 1805 and the free counter 1806. When the ratio of the dirty amount is higher than or equal to a predetermined value, then, logical storage units as causes of such a ratio are extracted. Namely, with respect to each logical storage unit, its dirty counter 1805 stored in the cache amount counter 211 is examined to extract the logical storage unit numbers having large counter values. At that time, a certain number of logical storage units may be extracted counting in descending order of counter value from the largest one. Or, logical storage units whose counter values are larger than a predetermined threshold may be extracted. In the case where, among the extracted logical storage units, there exists a logical storage unit of the external storage subsystem 21, then it is possible that data can not be sent since some problem has occurred in physical connection. Thus, the connecting state is examined (Step 1512). When there is a problem in the connecting state, the configuration change planning processing unit 218 displays an alert indicating a message to that effect (Step 1522), and the processing is ended. When it is judged in Step 1505 that the dirty amount is less than the predetermined ratio, or when the dirty amount has increased owing to a logical storage unit of the storage subsystem 20, or when it is judged in Step 1512 that there is not problem in the connecting state, then, the configuration change planning processing unit 218 examines the state of load on the initiator port 104 b (Step 1506). Here, with respect to the initiator port 104 b for the devices judged in Step 1501 to be the high load parity group, the configuration change planning processing unit 218 judges whether processing capability has reached the limit. Namely, the average data transfer amount 1206 and average response time 1204 of the port operating information 229 are compared respectively with the target data transfer amount 1408 and the target response time 1407 of the port setting information 228. When the average data transfer amount 1206 is less than the target data transfer amount 1408, or the average response time 1204 is larger than the target response time 1407, then, it is judged that a high load is applied on the initiator port 104 b. When it is judged in Step 1506 that the initiator port 104 b is under a high load, then, the configuration change planning processing unit 218 judges whether there exists a substitute initiator port 104 b having a surplus capability (Step 1513). In the present embodiment, the target data transfer amount 1408 of the port setting information 228 is compared with the average data transfer amount 1206 of the port operating information 229, to find an initiator port 104 b whose average data transfer amount 1206 does not exceed the target data transfer amount 1408 even when the load of the above-mentioned initiator port 104 b judged to have a high load is added to the average data transfer amount 1206. Such an initiator port 104 b is extracted, being judged to be a substitute initiator port 104 b. Then, a configuration change plan is generated such that, in a new configuration, the substitute initiator port 104 b is used which performs I/O processing to the external storage subsystem 21. Then, the generated configuration change plan is stored into the configuration change planning information 227 (Step 1523), and the processing is ended. Further, when it is judged in Step 1513 that there is not a substitute initiator port 104 b, then, it is judged whether the load of the initiator port 104 b judged to have a high load can be distributed into a plurality of initiator ports 104 b (Step 1514). When it is judged that there exist a plurality of initiator port 104 b that can share the load, distributing the load among them, then, a configuration change plan is generated such that, in a new configuration, these initiator ports 104 b are used which performs I/O processing to the external storage subsystem 21. Then, the generated configuration change plan is stored into the configuration change planning information 227 (Step 1524), and the processing is ended. When it is judged in Step 1514 that there are not a plurality of substitute initiator ports 104 b, then, the processing goes to Step 1508 to consider data migration from the external storage subsystem 21 to the storage subsystem 20. When it is judged in Step 1505 that the load of the initiator port 104 b is below the limit, then, the configuration change planning processing unit 218 refers to the processor operating information 226 to examine the operating conditions of the control processor 100 (Step 1507). When it is judged in Step 1507 that the processor operating ratio is higher than a predetermined threshold, then, according to procedures similar to the above-described case of the initiator port 104 b, the configuration change planning processing unit 218 judges whether there exists a substitute control processor 100 among the processors whose status 1452 in the processor operating information 226 is �initiator� (Step 1515), or whether a plurality of control processors 100 can share the processing load (Step 1516). When there exists a substitute control processor 100, then, the configuration change planning processing unit 218 generates a configuration change plan that uses the substitute control processor 100 which performs I/O processing to the external storage subsystem 21, and stores the generated configuration change plan into the configuration change planning information 227 (Step 1525), and the processing is ended. Or, when there exist a plurality of control processors 100 among which the load can be distributed, then, the configuration change planning processing unit 218 generates a configuration change plan that uses those plurality of control processors 100 which performs I/O processing to the external storage subsystem 21, and stores the generated configuration change plan into the configuration change planning information 227 (Step 1526), and the processing is ended. When it is judged in Step 1516 that there exists no substitute control processor 100, then the processing goes to Step 1508 to consider data migration from the external storage subsystem 21 to the storage subsystem 20. Further, when it is judged in Step 1507 that the operating ratio of the processor 100 does not exceeds the predetermined threshold, then, the processing goes to Step 1508 also. In Step 1508, the configuration change planning processing unit 218 examines the possibility of data migration from the external storage subsystem 21 to the storage subsystem 20. To judge whether the storage subsystem 20 has a sufficient space capacity which realizes migration of data from the external storage subsystem 21, the configuration change planning processing unit 218 refers to the physical storage unit operating information 225 and space capacity management information (not shown) (Step 1509). Here, the space capacity management information is a database which manages a capacity and a utilization factor of each parity group. When, in Step 1509, it is judged based on the physical storage unit operating information 225 and the space capacity management information that the storage subsystem 20 includes a parity group having a space capacity sufficient for migrating a capacity of the parity group (of the external storage subsystem 21) judged in Step 1501 to have a high load (Step 1510), then, the configuration change planning processing unit 218 generates a configuration change plan that migrates the parity group (of the external storage subsystem 21) judged in Step 1501 to have a high load to the parity group (of the storage subsystem 20) judges in Step 1510 to have sufficient space capacity, and registers the generated configuration change plan into the configuration change planning information 227 (Step 1511), and the processing is ended. When it is judged in Step 1510 that there is no substitute parity group, then alert information is presented to a user to the effect that there is a problem in I/O processing to the external storage subsystem 21, by notifying the subsystem management apparatus 5 of the alert information (Step 1527), and the processing is ended. According to the above-described processing, a configuration change plan is made and stored into the configuration change planning information 227. Data migration from the external storage subsystem 21 to the storage subsystem 20 is effective in performance improvement particularly when data in a logical storage unit 8 of the external storage subsystem 21 is to be copied to the storage subsystem 20 that is located in a remote place for disaster recovery, and when it is desired to use a function that exists in the storage subsystem 20 but not in the storage subsystem 21, and when a band of the I/O network from the storage subsystem 20 to the external storage subsystem 21 is narrow and I/O processing to the logical storage units of the external storage subsystem 21 is frequent, for example. Further improvement of performance can be expected when data is resident in the disk cache 108 of the storage subsystem 20. The change of the initiator port 104 b in Step 1523 or 1524 and the change of the control processor 100 in Step 1525 or 1526 may not be proposed as a configuration change plan, but may be carried out in those Steps at a point of time the substitute initiator port(s) 104 b and the substitute control processor(s) 100 are determined. In the present embodiment, the above-described performance tuning premises that the external storage unit attribute information 220 as the attribute information of the external storage subsystem 21 is held in advance. There are cases where the performance of the physical storage units 124 of the external storage subsystem 21 can not be evaluated similarly to the physical storage units 110 in the storage subsystem 20. For example, as I/O processing performed from the storage subsystem 20 through the second I/O network 62 is not limited to I/O processing to the logical storage units 8 of the external storage subsystem 21 itself, but includes I/O processing to logical storage units 8 of another external storage subsystem. I/O performance with respect to I/Os to the logical storage units 8 of the external storage subsystem 21 in question is affected by a load on the network owing to interference between the above-mentioned processing and loads on switches. However, it is impossible to know how large these loads are. Further, sometimes, also the external storage subsystem 21 includes a disk cache 108. From the storage subsystem 20, it is impossible to know whether cache hit occurs within the external storage subsystem 21. Thus, in the case where there exist indefinite factors and performance of disks can not be evaluated, it is favorable that a configuration change for improvement of performance involves judgment by a storage administrator of the storage subsystem 20 having a function of connecting with the external storage subsystem 21. [Method of Device Migration Transparent to Host Computer 1]
Next, as a third embodiment, will be described an embodiment in which performance tuning of a system including the external storage subsystem 21 is realized according to data access frequency. In the following, different arrangements of the present embodiment from the first embodiment will be mainly described. FIG. 29 shows functional configurations of the storage subsystem 20 and the external storage subsystem 21 in the case where the storage subsystem 20 is provided with I/F that functions as an NAS (Network Attached Storage). An NAS is a storage device that is directly connected to a network and provides, for example, a file sharing service to a network client. Characteristically, an NAS can function as an independent file server that can share files through a network. By introducing an NAS, a file server and a storage can be managed in one apparatus, reducing management objects. Thus, in comparison with a case where two apparatuses, a file server and a storage are managed separately, there is an advantage that a management cost can be suppressed to a low level. The present embodiment has fundamentally the same functional configuration as the first embodiment. The components that are not described in the following are fundamentally same as ones in the first embodiment. Further, the storage subsystem control unit 112 comprises a network file system control unit 2401 which realizes an NAS, and is connected, through the network 7, with host computers 1 and information processing system client computers to which the host computers 1 provide services. A client computer can access the storage subsystem 20 through an NAS provided by the network file system control unit 2401. Further, the network file system control unit 2401 comprises: a network file I/O processing unit 2402 which controls ports and adapters; a file system processing unit 2403 which performs file processing; a reallocation processing unit 2404 which plans and executing file reallocation; and file management information 2410 storing file management information. This processing unit substitutes for the configuration change planning processing unit 218 and the configuration change plan execution processing unit 219 of the first embodiment. Since the storage subsystem control unit 112 has the network file system control unit 2401 which realizes an NAS, it is possible to manage a file creation date, the newest access time and an access frequency for each file, as described below. First, referring to the drawing, will be described management of files and storage unit addresses storing those files by the network file system control unit 2401. FIG. 30 shows an image of the file management by the network file system control unit 2401. The network file system control unit 2401 is provided with logical storage units or internal logical storage units from the storage subsystem control unit 112, and manages those units as volumes. As shown in FIG. 30, a file system in the present embodiment is arranged such that a logical storage unit 2501 is separated into some partitions 2502, to make file management easy and to localize effect of a fault. In the partition 2502, the network file system control unit 2401 creates a boot block 2503, a super block 2504, a cylinder block 2505, an i-node list 2506, and a data area 2507. The super block 2504 stores the management information of the partition 2502, and files existing in the super block 2504 are managed by i-nodes. The i-nodes are held and managed as the i-node list 2512. Further, each i-node is designated by an i-node number 2511. A content of each i-node is directory information or file information. In the case where an i-node is information on a directory, then as shown in the figure, the entries of the i-node contain directories and files existing in that directory. For example, it is seen that an entry of the root directory 2513 contains a directory dirA, and the i-node number of dirA is 4. By hierarchical accessing, it is seen, for example, that a directory dirA/subdirB contains a file FileC and its i-node number is 8. The i-node of FileC, which is designated by the i-node number 8, contains an owner 2515 of that file, a group name 2516 of the owner, a file type 2517 (such as a text file, a binary file, or the like), a last access time 2518, a last update time 2519, an i-node entry update time 2520, a file size 2521, disk address information 2522, and the like. The disk address information 2522 holds a directory 2524 storing the file 2526 and a location 2525 in that directory 2524. The disk address information 2522 further holds a disk and a block in which the file 2526 is located, and an address of a block of the next read data. The address of the block of the next read data is held in order that the file can be read even when the file is dispersedly located in a plurality of data blocks 2527. The network file system control unit 2401 includes the file management information 2410. FIG. 31 shows an example of the file management information 2410. As shown in the figure, the file management information 2410 holds a file name 2411, an index(a file ID) 2412, a file size 2413, a file type 2414, a creation time 2415, a last access time 2416, a last update time 2417, an access frequency 2418 in a certain period, file importance 2419 (if possible), and the like. Using the file management information, the reallocation processing unit 2404 judges necessity of file migration, depending on the time elapsed from the creation date, and performs the performance tuning if necessary. Next, referring to the drawing, will be described a series of processes by the reallocation processing unit 2404 according to the present embodiment, which changes the configuration depending on the access frequency. FIG. 32 shows a processing flow by the reallocation processing unit 2404. The reallocation processing unit 2404 refers to the file management information 2410 (Step 2601), sorts the files in the file management information 2410 with respect to the entry of the last file reference date 2416 (Step 2602), and judges whether there exist files for which more than a predetermined time has elapsed from the last reference dates of those files (Step 2603). When it is judged in Step 2603 that there exist files for which more than the predetermined time has elapsed, then, the reallocation processing unit 2404 extracts those files (Step 2610) to manage them as migration object files. When it is judged in Step 2603 that there is no file for which more than the predetermined time has elapsed, then, the reallocation processing unit 2404 sorts again the files in the file management information 2410 with respect to the entry of the reference frequency (Step 2604) to judge whether there exist files whose file reference frequencies are 0 (Step 2605). When it is judged in Step 2605 that there exist files whose file reference frequencies are 0, then the reallocation processing unit 2404 extracts those files (Step 2611) to manage them as migration object files. When it is judged in Step 2605 that there exists no file whose file reference frequency is 0, then the reallocation processing unit 2404 judges whether there exist files whose file reference frequencies are less than a predetermined value (Step 2606). When it is judged in Step 2606 that there exist files whose file reference frequencies are less than the predetermined value, then the reallocation processing unit 2404 extracts those files (Step 2607), sorts the extracted files in the file management information 2410 with respect to the entry of the creation date (Step 2608) to judge whether there exist files for which more than a predetermined time has elapsed from the creation date (Step 2609). When it is judged in Step 2609 that there exist files for which more than the predetermined time has elapsed, then the reallocation processing unit 2404 extracts those files (Step 2612) to manage as migration object files. Thereafter, the reallocation processing unit 2404 migrates all the migration object files extracted to the logical storage units of the external storage subsystem 21 (Step 2613). After the migration, the reallocation processing unit 2404 rewrites the i-nodes (Step 2614) to end the processing. Here, when there is no file satisfying the condition in Steps 2606 or 2809, then, the processing is ended. Hereinabove, the procedure of changing the configuration depending on the access frequency has been described. According to the present embodiment, it is possible to carry out performance tuning such that, for example, data areas of files for which there is no access more than one week or one month from their creation dates are migrated onto the logical storage units of the external storage subsystem 21, and data of frequently-accessed files is stored onto the physical storage units 110 of the storage subsystem 20. Further, it is possible to carry out performance tuning such that the reference frequency 2418 is directly referred to for each file, and files whose values of the reference frequency 2418 are less than a predetermined value are migrated onto the logical storage units of the external storage subsystem 21, and when the reference frequency 2418 rises for some file, then, the storage location of that file is migrated to the physical storage units 110 of the storage subsystem 20. The present embodiment is effective for a storage subsystem which stores data (such as web data) that has a higher reference frequency immediately after its creation but is scarcely referred to after some ten days. In the first embodiment, a change plan made by the configuration change planning processing unit 218 according to an instruction of the manger 223 is present to a user, and executed by the configuration change plan execution processing unit 219 after receiving an instruction from the user. Also in the present embodiment, before execution of Step 2613 in the above-described procedure, a change plan may be presented to a user to obtain permission of the user. Thus, according to the present embodiment, in carrying out performance tuning in a storage subsystem connected with an external storage subsystem, it is possible to locate files in the optimum way, based on the access frequency of each file. As a result, further, the performance of the storage subsystem as a whole can be increased. Before carrying out performance tuning, its necessity is judged on the basis of the load in the first and second embodiments and the access frequency in the third embodiment. However, these do not limit the judgment criterion for performance tuning. For example, performance tuning may be carry out in such a way that symptoms of a fault in the storage subsystem itself are detected in advance, before migrating data. For example, sometimes the regulations of a state require that a corporation should keep its account books, mails, clinical charts for patients, data in the development of a new medicine, and the like for a predetermined period. In addition, it should be possible to present such data within a predetermined time, in response to a demand. A system handling such data should satisfy these requests. Now, will be considered the above-mentioned system where a storage subsystem performs I/O processing with the host computer 1 through the first I/O network 61 and I/O processing with the external storage subsystem 21 through the second I/O network 62 similarly to the first embodiment, and the external storage subsystem 21 is an old-type apparatus and the storage subsystem 20 is a new-type apparatus. When data of ordinary works is stored in the storage subsystem 20, and account books, mails, clinical charts, data in new medicine development, and the like that should be kept according to regulations are stored in the external storage subsystem 21, then, it is possible that assets are used more efficiently than the case where all data in the old-type apparatus (i.e., the external storage subsystem 21) is migrated to the new-type apparatus and then the old-type apparatus is discarded. However, it is highly possible that the life of the old-type apparatus is completed more early than the new-type apparatus, since the old-type apparatus has been used for a longer period of time. In that case, the storage subsystem 20 issues I/O processing requests to the external storage subsystem 21 at certain predetermined intervals, to measure the processing performance of the external storage subsystem 21. When, as a result of the measurement, symptoms of a fault hidden in the external storage subsystem 21 are detected, data is migrated to another storage subsystem than the external storage subsystem 21. Here, �another storage subsystem� as the migration destination may be the storage subsystem 20 or a third storage subsystem that is neither the storage subsystem 20 nor the external storage subsystem 21. When the storage subsystem as the migration destination is an older type similarly to the external storage subsystem 21 in comparison with the storage subsystem 20, or a storage subsystem whose introduction cost is cheaper, then, it is possible to suppress the cost of the storage unit that stores data having a lower access frequency. Referenced byCiting PatentFiling datePublication dateApplicantTitleUS7502905 *Aug 31, 2005Mar 10, 2009Fujitsu LimitedStorage control method, program and apparatus for accessing disk arrayUS8140472 *Sep 22, 2008Mar 20, 2012Hitachi, Ltd.Method for allocating logical unit inside storage system to logical volume and storage controllerUS20100023566 *Sep 22, 2008Jan 28, 2010Hitachi, Ltd.Method for Allocating Logical Unit Inside Storage System to Logical Volume and Storage ControllerUS20100235599 *Mar 9, 2010Sep 16, 2010Fujitsu LimitedAccess control device, storage system, and access control method* Cited by examinerClassifications U.S. Classification711/114, 711/170International ClassificationG06F12/08, G06F3/06, G06F13/10, G06F12/16, G06F12/00Cooperative ClassificationG06F3/061, G06F3/0631, G06F3/0653, G06F3/067, G06F3/0635, Y10S707/99932, G06F3/0647, G06F11/3485, G06F2206/1012European ClassificationG06F3/06A4H2, G06F3/06A6D, G06F3/06A4M, G06F3/06A2P, G06F3/06A4C6Legal EventsDateCodeEventDescriptionMar 8, 2013FPAYFee paymentYear of fee payment: 4Mar 22, 2011CCCertificate of correctionNov 9, 2010CCCertificate of correctionRotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services©2012 Google