The present invention relates to a storage apparatus which stores a volume and a computer system comprised of the storage apparatus and a computer which manages the storage apparatus and in which an application using its volume operates, and a storage management method, also it relates to a technology to replicate-assign appropriately the volume so as to optimize the operation of application.
In a large-scale information processing system, a storage apparatus is used in order to process efficiently data which is used in the information processing system. Generally, the storage apparatus has a plurality of physical devices and it reserves a specific storage area (hereinafter, it is also referred to as “volume”) on the physical device so as to use the volume from a computer apparatus.
In the information processing system, an application program (hereinafter, it is also referred to as “data conversion batch”) is executed such that a computer apparatus executing the data conversion batch may acquire data from a storage apparatus holding a volume which stores data of a processing object and may convert the data. The data conversion batch writes the data after conversion in the storage apparatus holding the objective volume.
At the time of the above mentioned data acquisition, a program execution administrator creates a replica of the volume to store the data which is the processing object (hereinafter, the volume which stores the data of the processing object is also referred to as “primary volume” or “primary VOL” and the replica (replication) thereof is also referred to as “secondary volume” or “secondary VOL”) by using the storage apparatus in advance, the data conversion batch is set such that the data acquisition from that replica may be performed, and the data conversion batch is executed. At this time, at the time of creating the secondary volume, the program execution administrator or a storage administrator needs to do it by himself, and also at the time of creating the secondary volume, it has been possible to take a configuration of the volume (RAID level and the like) into consideration, but whether the primary volume has been already arranged on the physical device where the secondary volume is to be created, and the things like that, have not been considered. (For example, refer to the patent reference 1.)
[Patent reference 1] Japanese Patent Application Laid-open Publication No. 2003-30352
When the secondary volume is created by using a prior-art storage apparatus, there exists such problems as mentioned below.
At the time of creating the secondary volume, since the data conversion batch execution program administrator or the storage administrator needs to direct expressly the creation of the secondary volume and to manage an execution process of the data conversion batch so as to use that secondary volume, there has been a problem in respect of a load on the administrator.
Moreover, although attention is paid to configuration information of the physical device at the time of reserving the physical device on which the secondary volume is created, the physical device has been selected so as to create the secondary volume without considering whether or not there is already an arrangement of another volume on that physical device and also without considering other performance information.
Due to the above, there is a possibility that both access to the primary volume from the outside and access to the secondary volume by the data conversion batch execution program might overlap when the data conversion batch execution program uses the secondary volume, and there has been a possibility that the usability of storage apparatus becomes worse since read-out or write-in of the secondary volume takes time.
The present invention aims at making it possible to select in consideration of volume arrangement information of a physical device, performance information thereof and so forth in an assignment of a volume of a storage apparatus which is used from an application, especially in an assignment of a secondary volume; also to create the secondary volume; and also to reorganize automatically an execution process of the data conversion batch based on the created secondary volume.
In the present invention, a storage apparatus holds one or more memory areas, and the memory area is made to be the one wherein when a volume maintaining data which is used by a connected computer is stored, a command to create a replication volume for use of the volume is made to be generated by the computer which is connected to the storage apparatus; one or a plurality of replication volumes are created for the designated volume based on the reception of that command; information on that created replication volume is notified to the computer; and a selection or the like of the replication volume to be used on the computer side can be performed based on that information.
According to the present invention, it is possible to assign automatically and effectively the secondary volume to the application to be used and also it is possible to execute the application which uses the secondary volume at high speed and also in a manner of extracting the storage performance uniformly.
Hereinafter, one embodiment of the present invention is explained by referring to
In the present example, it is made to be a system wherein a storage apparatus which can store a large amount of data is composed using a plurality of large-capacity data memory apparatuses which are comprised of hard disk apparatuses or the like; that storage apparatus is connected with an electronic computer (computer apparatus); and management of data storage, data conversion and the like is performed by the computer. When the data is stored by the storage apparatus, the data is distributed so as to have it memorized assuredly by using a technology called RAID (Redundant Arrays of Inexpensive Disks).
Herein, an explanation is made, as an example, to a configuration wherein it is provided with a storage management portion in which a storage management program to create a plurality of secondary volumes is installed in order to convert the data which is stored in a certain primary volume; and a data conversion batch execution portion in which a data conversion batch execution program is installed so as to acquire the data from the secondary volume and so as to perform the conversion. As an application which uses the primary volume, it is made to be a data base program which is installed in a data base management portion. In addition, as the application which uses the primary volume, it is not limited to the data base program but it can be such an arbitrary application as one which uses the data stored in the volume. Moreover, even with respect to an application which uses the secondary volume, it is not limited to the data conversion batch execution program as the application but it can be such an arbitrary application as the one which uses the data stored in the volume.
In addition, each configuration element which is explained hereinafter is composed of programs which are installed in a processing unit of the computer or storage apparatus, and these are executed by the processing unit of the computer or storage apparatus. However, it is also possible to have some of the following configuration elements realized by using exclusive hardware.
In
The data conversion batch execution portion 140 reads out data of a data conversion batch definition portion 142, it generates and controls an execution process of the conversion batch by using an execution process control portion 144, and it carries out contents of processing which is written in the data of the batch definition portion 142
A storage apparatus 100 is provided with a plurality of physical devices 112, 113, 114 and 115, and a volume to store data is set up in each physical device. A primary volume 121 which stores data written in the storage apparatus from the outside, for example, is set up in a specific device among them (herein, the physical device 112 of device #1).
Further, the storage apparatus 100 is provided with a secondary VOL creation portion 110, and based on a command from the storage management portion 130, the secondary VOL creation portion 110 creates secondary volumes 122, 123, 124 and 125 which are replicas of the primary volume 121 respectively on the different devices 112, 113, 114 and 115.
A data base program which is installed in a data base management portion 160 is a program which uses the primary volume 121.
In addition, the primary volume 121 which stores the data as a source of data conversion is not limited to one piece but it is possible to take an arbitrary number of pieces which is one or more. Moreover, even with respect to the secondary volumes 122, 123, 124 and 125, they are also not limited to four pieces but it is possible to take an arbitrary number of pieces which is one or more. Moreover, even with respect to the physical devices 112, 113, 114 and 115, they are not limited to four pieces but it is possible to take an arbitrary number of pieces which is one or more.
The computer system has a server computer 200, a client computer 210 and a storage apparatus 220.
The server computer 200 and the client computer 210 are mutually connected through a LAN hub (or switch) 230 and a cable The LAN hub (or switch) 230 and a network may also be called collectively a LAN (Local Area Network). In addition, the network which connects the server computer 200 and the client computer 210 does not necessarily have to be the LAN.
The server computer 200 and the storage apparatus 220 are mutually connected through a SAN hub (or switch) 240 and the network. The SAN hub (or switch) 240 and the network may also be called a SAN (Storage Area Network). In addition, the network which connects the server computer 200 and the storage apparatus 220 doe not necessarily have to be the SAN.
The server computer 200 is a computer which executes the programs installed in the storage management portion 130, the data conversion batch execution portion 140 and the data base management portion 160 which are shown in
The programs which are installed in the storage management portion 130, the data conversion batch execution portion 140, the data base management portion 160 and the like, which are shown in
In addition, those programs may be loaded onto a memory portion 223 of the storage apparatus 220 so as to execute them in a storage control processor 222.
Moreover, those programs and data may be also stored in the physical devices 112, 113, 114 and 115 of the storage apparatus 220. Alternatively, those programs and data may be also stored in a disk apparatus 216 of the client computer 210.
The client computer 210 is a computer which is operated by a user or a system administrator so as to give a command to the server computer 200. The client computer 210 has a CPU 211, a main memory portion 212, a CD-ROM apparatus 213, a LAN I/F portion 215, the disk apparatus 216 and a controller 217 which connects mutually among the apparatuses.
The management console (program) 150 is stored in the disk apparatus 216 of the client computer 210. The user or the system administrator commands the execution of the storage management program 130 and the data conversion batch program 140 in the server computer 200 by executing the management console 150.
The storage apparatus 220 has a SAN I/F 221, the storage control processor 222, the memory 223, the physical devices 112, 113, 114 and 115 and also a controller which connects them mutually. The physical device 112 stores the primary volume 121 and the secondary volume 122. There exists a n-to-n (n is an arbitrary number) correspondence between the volume and the disk apparatus. More specifically, the volume corresponds to one part or the whole of physical memory area which the physical device 112 has. Therefore, one volume is composed of the memory area which one or a plurality of physical device 112 possesses.
The secondary VOL creation portion 110 is stored in the memory portion 223 and it is composed as a means for executing the program which is executed by the storage control processor 222 based on the command from the server computer 200.
In addition, although the present embodiment is made to compose so as to have the server computer 200 and the client computer 210, it is also possible to make them composed by one computer. Moreover, the server computer 200 and the client computer 210 may be composed of multiple sets, respectively. Further, although the number of storage apparatus 220 is one set in the present embodiment, it is also possible to have multiple sets of this connected.
Next, an explanation is made to an outline of a process flow of the computer system in the present embodiment. First, the system administrator commands the server computer 200 through the client computer 210 to execute the data conversion batch. The data conversion batch execution portion 140 which has received the command requests the storage management portion 130 to reserve the secondary volume. The volume management portion of the storage management portion commands the secondary VOL creation portion 110 to create the secondary volume of the primary volume 121 on an appropriate physical device of the storage apparatus 100 based on information of the extended volume management table.
After the secondary volume is created, the storage management portion 130 notifies the data conversion batch execution portion 140 of physical device information relating to the created secondary volume. The information which is written in the extended volume management table is included in the information of this time. The data conversion batch execution portion 140 chooses and determines the secondary volume to be used based on the received information of the secondary volume, and it notifies the storage management portion 130 of the information relating to the secondary volume which is not used. The data conversion batch execution portion 140 determines the number of execution processes of a conversion batch and a rate of data acquisition amount of each process, and the like, by using the execution process control portion 144 (
As an example of a specific field which is provided to the extended volume management table 132, it has a volume ID 301, a target ID 302, a LUN 303, a read-in transfer speed (MB/S) of data 304, a write-in transfer speed (MB/S) of data 305, a usage status 306 as the primary volume and an arranged physical device (PDEV) 307 as shown in
The volume ID, the target ID and the LUN are information required for connection, the volume ID 301 is an ID which is managed per each volume, and the target ID 302 is information which is required in order to use the volume. The LUN 303 is a logical unit number which is required for the access control through the network, and the like. The read-in transfer speed and the write-in transfer speed are information relating to the performance of the device in which the volume is stored. In addition, as the extended volume management table, it is not limited to the above mentioned field but it is also possible to include a field that describes information relating to other connection and performance. Moreover, although a record is written per each volume in case of the extended management table described in the present embodiment, it is also possible to have the record expressed per unit of physical device.
A usage state of the extended volume management table 132 is explained by referring to
A record group 132b is an example of information relating to the secondary volume which is selected and notified by the storage management portion in accordance with the request for reservation of the secondary volume from the data conversion batch execution portion 142. In this example, a record 312′ of volume ID 2a is being notified.
A record group 132c is an example of information in which the data conversion batch execution portion 140 notifies to the storage management portion 130 as one which is not used for execution of a batch. In this example, the record 312 of volume ID 2a and the record 314 of volume ID 4a are notified. In addition, a record group 132d will be explained based on a flow chart of
Next, a process procedure of the data conversion batch execution program in the present embodiment is explained by referring to flow charts in
First, the system administrator commands the server computer 200 to start the data conversion batch. The data conversion batch execution portion 140, which has received the command, requests the storage management portion 130 to reserve the secondary volume (Step S11). At this time, the filtering condition such as the records 411 through 415 shown in
After determining the secondary VOL to be used at the step S13, the data conversion batch execution process is set by using data in the fields of the target ID 302 and LUN 303 which are the connection information so as to acquire data from the secondary volume 3a (record 313) and the volume 5a (record 315), thereafter data in the field of the read-in transfer speed 304 which is the information relating to the performance is referred to, an amount of data to read-in is set into each execution process in accordance with 1:2, for example, which is a ratio of the transfer speeds in this example (Step S15), and the processing before the execution of the data conversion batch is ended (Step S16).
Next, an explanation is made to a procedure in which management processing of the secondary volume is performed in a system of the present embodiment.
When the storage management portion 130 receives the request to reserve the secondary volume from the data conversion batch execution program 140 at a step S21, it searches the records 311 through 315 in the extended volume management table 132 so as to choose a suitable one for the reservation request (Step S22). When the filtering condition is not attached to the reservation request at this time, the record group 320 of all the volumes, which are normally considered all right to reserve, is notified to the data conversion batch execution portion 140, but when the primary volume is already arranged on the physical device in which this volume exists, such as the record 312 for example, it is notified after marking the usage status, or the like, as the record group 132b shown in
The storage management portion 130 creates the secondary VOL of the primary volume 121 on the physical device which is reserved at the step S23 (Step S24). For example, the secondary volumes of the primary volume 121 are created as 122, 123, 124 and 125 respectively on the physical devices 112, 113, 114 and 115 which are written in the physical device field 307 of the records 312, 313, 314 and 315 of the record group 132b shown in
The storage management portion 130 receives the record group 132c of the unnecessary secondary VOL from the data conversion batch execution portion 140 (Step S26). After the reception, the storage management portion 130 updates the extended volume management table 132 based on the record group 132b of the unnecessary secondary VOL (Step S27). For example, with respect to the records 312 and 314, the created secondary VOL is deleted since they are made unnecessary, and with respect to the records 313 and 315, “P1s” which is a flag showing that the secondary of the primary volume 121 has been created is recorded in the usage status field 306 like the records 313′ and 315′ of the record group 132d since the secondary volume of the primary volume 121 has been created (Step S28).
Next, an explanation is made to a process procedure at the time of completing the execution of the data conversion batch in the present embodiment.
The data conversion batch execution portion 140 detects the end of execution process of the data conversion batch, and also it notifies to the storage management portion 130 that the use of the secondary volume has completed when the secondary volume which has been used by this processing is not used (Step S31). The processing after the execution of the data conversion batch is ended by this notice (Step S32).
Next, a secondary VOL release process procedure of the storage management program in the present embodiment is explained.
When the storage management portion 130 receives a notice of ending the use of the storage which is transmitted from the data conversion batch execution portion at the time of completing the execution of the data conversion batch (Step S41), the release process of the secondary VOL which has been used by this processing is performed (Step S42). The VOL to be released is the secondary VOL corresponding to the updated record in the step S27 (
In the explanation so far, although the explanation is focused on the processing of using the secondary volume at the time of acquiring the data from a certain volume, it is also possible to use the secondary volume at the time of writing the data in a certain volume.
Next, an explanation is made to processing of using the secondary volume at the time of writing the data in a certain volume, and herein the processing before the execution of the data conversion batch is the same as that of the above stated flow chart of
Next, in a case where the secondary volume is used at the time of writing the data in a certain volume, a procedure of secondary VOL release process of the storage management portion after completing the processing of the data conversion batch is explained by referring to a flow chart in
The storage management portion 130 receives the notice of ending the use of the storage, which is transmitted from the data conversion batch execution portion at the time of completing the execution of the data conversion batch (Step S51). After the reception, synchronous processing of the secondary VOL, which has been used in this processing, and the primary VOL is performed, which means that the data written in the secondary VOL is reflected to the primary VOL (Step S52). After the synchronous processing, the release process of the secondary VOL which has been used in this processing is performed (Step S53). The secondary VOL to be released is the secondary VOL corresponding to the record updated in the step S27 (
Moreover, at the time of writing the data in a certain volume, processing of using each constituting volume to a volume which combines a plurality of volumes may also be made an object.
In
In
The storage apparatus 100 stores the volumes 123, 124 and 125 respectively on the physical devices 113, 114 and 115. A LUSE volume 1010 is a volume which consists of the volumes 123, 124 and 125.
A program which uses the LUSE volume 1010 has been installed in the data base management portion 160.
First of all, an explanation is made to an outline of flow with respect to processing of a computer system in the example of
First, a system administrator commands the server computer 200 through the client computer 210 (
The extended volume management table is information to manage a usage status, connection information and performance information of the physical device of the storage apparatus 100. The extended volume management table 132 has a usage status 308 and a combined volume (LUSE) composition information 309 as the fields. The usage status is the field which records a usage rate (%) of a disk. Moreover, the LUSE volume, which relevant volumes constitute, is recorded in the LUSE composition information. As the extended volume management table, it is not limited to the above mentioned field but it is also possible to include a field which describes information relating to the other connection and performance. Moreover, although a record is written per each volume in the extended management table described in the present example, it is also possible to have the record expressed per unit of physical device.
Records 323, 324 and 325 in records 321, 322,—are volumes which constitute the LUSE volume 1010, and a sign “1010” showing the fact thereof is recorded in the LUSE composition information field 309.
Hereinafter, a process procedure of the data conversion batch execution program in the example of
First, a system administrator commands the server computer 200 (
The data write-in to the secondary volume shown in this
Moreover, as the processing which is described in the embodiments explained hereinbefore, it is made into the example built as the system which is provided with the storage apparatus and the exclusive computer connected to that storage apparatus through the network or the like so as to perform the management of the storage apparatus, but it is also possible to have a similar apparatus built by providing with a program (software) which performs similar processing to the processing explained in the above mentioned embodiment and by having that program installed in a general-purpose computer (computer apparatus). In that case, although each functional processing portion in which each program is installed is shown as an individual processing portion in the above mentioned embodiment, it is also possible to make it composed such that one (or limited number) processing means on the computer apparatus may perform processing of each program in order.
Having described preferred embodiments of the invention with reference to the accompanying drawings, it is to be understood that the invention is not limited to those precise embodiments and that various changes and modifications could be effected therein by one skilled in the art without departing from the spirit or scope of the invention as defined in the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
2004-290673 | Oct 2004 | JP | national |