Search Images Maps Play YouTube News Gmail Drive More »
Sign in
Screen reader users: click this link for accessible mode. Accessible mode has the same essential features but works better with your reader.

Patents

  1. Advanced Patent Search
Publication numberUS20040215879 A1
Publication typeApplication
Application numberUS 10/848,431
Publication dateOct 28, 2004
Filing dateMay 17, 2004
Priority dateJan 25, 2001
Also published asEP1227402A2, EP1227402A3, US6912627, US20020099914
Publication number10848431, 848431, US 2004/0215879 A1, US 2004/215879 A1, US 20040215879 A1, US 20040215879A1, US 2004215879 A1, US 2004215879A1, US-A1-20040215879, US-A1-2004215879, US2004/0215879A1, US2004/215879A1, US20040215879 A1, US20040215879A1, US2004215879 A1, US2004215879A1
InventorsNaoto Matsunami, Yasuyuki Mimatsu, Yoichi Mizuno, Kenji Muraoka, Takashi Oeda
Original AssigneeHitachi, Ltd.
Export CitationBiBTeX, EndNote, RefMan
External Links: USPTO, USPTO Assignment, Espacenet
Method of creating a storage area and storage device
US 20040215879 A1
Abstract
An administrator is required to prepare in advance LU as a pool area when a user storage area is set to a storage. LU configuration is generally cumbersome and it is not easy for a general user to configure it. A pool manager 1 and a storage 1 setting utility in a management console 1 communicate with a program in a storage 1. The storage 1 sets a pool area having a designated capacity. In response to a volume forming request from the management console 1, the storage 1 sets a designated volume by setting the designated volume as a used capacity of the set pool area. When a volume is formed, a policy is designated to select a storage area having a corresponding attribute from the pool area.
Images(12)
Previous page
Next page
Claims(22)
1-15. (canceled)
16. A computer program stored on a computer readable medium for setting a logical storage area in a storage system comprising:
code for receiving setting conditions from a management consol coupled to said storage system;
code for checking whether or not a storage area meeting the received setting conditions exists in said storage system;
code for defining a logical storage area that meets the received setting conditions if a storage area meeting the received setting conditions exists in said storage system; and
code for sending a completion notification from said storage system to said management consol, the completion notification indicating that the definition of the logical storage area has been completed.
17. A computer program according to claim 16
wherein said storage system comprises a storage pool comprising plural storage areas, and said computer program comprises:
code for checking whether or not a storage area meeting the received setting conditions exists in the storage pool; and
code for setting a logical storage area to the storage pool if the storage area meeting the received setting conditions exists in the storage pool.
18. A computer program according to claim 17, wherein said setting conditions includes capacity of the logical storage area.
19. A computer program according to claim 17, wherein said setting conditions includes a RAID group.
20. A computer program according to claim 17, wherein said storage system comprises a pool management information for maintaining attribute of each of said plural storage areas included in said storage pool, and
said computer program comprises:
code for checking whether or not a storage area meeting the received setting conditions exists in the storage pool by referring to said pool management information.
21. A computer program according to claim 20, further comprising:
code for updating said pool management information after setting a logical storage area to the storage pool.
22. A computer program according to claim 20, further comprising:
code for sending attribute of each of said plural storage areas included in said storage poll from said storage system to said management consol;
code for setting a policy name to each of said plural storage areas included in said storage pool according to the received attribute;
code for receiving a policy name;
code for sending setting conditions corresponding to the received policy name to said storage system.
23. A computer program according to claim 16, wherein said storage system comprises plural storage pools each of which comprises plural storage areas, and said setting conditions includes information for designating one of said plural storage polls, and
said computer program further comprises
code for checking whether or not a storage area meeting the received setting conditions exists in a storage pool designated by said information for designating one of said plural storage pools; and
code for setting a logical storage area to the storage pool designated by said information for designating one of said plural storage pools, if the storage area meeting the received setting conditions exists in the storage pool.
24. A computer program according to claim 23,
wherein said information for designating one of said plural storage pools is an identifier of a pool manager included in a management consol, said storage system receives setting conditions from said pool manager,
wherein each of said plural storage pools corresponds to one of pool managers included in at least one management consol,
and said computer program further comprises:
code for selecting one of said plural storage pools for setting a logical storage area according to the identifier of a pool manager.
25. A computer program according to claim 24,
wherein said storage system includes pool management tables each of which includes attribute of plural storage areas in a corresponding storage pool, and said computer program comprises:
code for checking whether or not a storage area meeting the received setting conditions exists in a storage pool corresponding to a pool manager designated by the received identifier of a pool manager by referring a pool management table of a storage pool corresponding to a pool manager designated by the received identifier of a pool manager.
26. A computer program according to claim 16,
wherein said storage system includes plural storage areas included in a storage pool and plural storage areas not included in a storage pool, and said computer program comprises:
code for checking whether or not a storage area meeting the received setting conditions exists in said storage poll; and code for setting a logical storage area to the storage pool if the storage area meeting the received setting conditions exists in the storage pool.
27. A storage system, comprising;
a plurality of disk drives to store data;
a network interface coupling the storage system to a network;
a computer readable medium including a computer program for setting a logical storage area in said storage system, the computer program comprising:
code for receiving setting conditions from a management consol coupled to said storage system;
code for checking whether or not a storage area meeting the received setting conditions exists in said storage system;
code for defining a logical storage area that meets the received setting conditions if a storage area meeting the received setting conditions exists in said storage system; and
code for sending a completion notification from said storage system to said management consol, the completion notification indicating that the definition of the logical storage area has been completed.
28. A storage system according to claim 27, wherein said storage system comprises a storage pool comprising plural storage areas, and said computer program comprises:
code for checking whether or not a storage area meeting the received setting conditions exists in the storage pool; and
code for setting a logical storage area to the storage pool if the storage area meeting the received setting conditions exists in the storage pool.
29. A storage system according to claim 28, wherein said setting conditions includes capacity of the logical storage area.
30. A storage system according to claim 28, wherein said setting conditions includes a RAID group.
31. A storage system according to claim 28, wherein said storage system comprises a pool management information for maintaining attribute of each of said plural storage areas included in said storage pool, and said computer program comprises:
code for checking whether or not a storage area meeting the received setting conditions exists in the storage pool by referring to said pool management information.
32. A storage system according to claim 31, the program further comprising:
code for updating said pool management information after setting a logical storage area to the storage pool.
33 A storage system according to claim 27, wherein said storage system comprises plural storage pools each of which comprises plural storage areas, and said setting conditions includes information for designating one of said plural storage polls, and said computer program further comprises
code for checking whether or not a storage area meeting the received setting conditions exists in a storage pool designated by said information for designating one of said plural storage pools; and
code for setting a logical storage area to the storage pool designated by said information for designating one of said plural storage pools, if the storage area meeting the received setting conditions exists in the storage pool.
34 A storage system according to claim 33 wherein said information for designating one of said plural storage pools is an identifier of a pool manager included in a management consol, said storage system receives setting conditions from said pool manager, wherein each of said plural storage pools corresponds to one of pool managers included in at least one management consol, and said computer program further comprises:
code for selecting one of said plural storage pools for setting a logical storage area according to the identifier of a pool manager.
35 A storage system according to claim 34
wherein said storage system includes pool management tables each of which includes attribute of plural storage areas in a corresponding storage pool, and said computer program comprises:
code for checking whether or not a storage area meeting the received setting conditions exists in a storage pool corresponding to a pool manager designated by the received identifier of a pool manager by referring a pool management table of a storage pool corresponding to a pool manager designated by the received identifier of a pool manager.
36 A storage system according to claim 27, wherein said storage system includes plural storage areas included in a storage pool and plural storage areas not included in a storage pool, and said computer program comprises:
code for checking whether or not a storage area meeting the received setting conditions exists in said storage poll; and
code for setting a logical storage area to the storage pool if the storage area meeting the received setting conditions exists in the storage pool.
Description
BACKGROUND OF THE INVENTION

[0001] The present invention relates to a management method for storage areas of a storage device, and more particularly to a method of exclusively managing each of a plurality of already set storage areas.

[0002] The capacity of a storage device (hereinafter simply called a “storage”) is increasing more and more, such as a disk array device having a number of disks. For this reason, one server does not occupy one storage, but a plurality of servers share one storage by using a network dedicated for the storage, called a storage area network (SAN). SAN has the advantage that desired connections can be established between a plurality of servers and storages to share data. On the other hand, SAN has the disadvantage that the network configuration becomes complicated and operation management is difficult.

[0003] A method called a “storage pool management” has been devised as a method of facilitating management of storage areas of a large capacity storage connected to a complicated network. With this “storage pool management”, the storage area of a storage is called a “storage pool”, and the “storage pool” is collectively managed as a general area to allocate a necessary capacity of the storage requested from a user.

[0004]FIG. 12 is a diagram showing the structure of a conventional system for performing storage pool management. Reference numerals 101 and 102 represent storages, reference numerals 201 to 205 represent servers 1 to 5, reference numeral 301 represents a management console, and reference numeral 501 represents a SAN.

[0005] In the management console 301, reference numeral 311 represents a pool manager which is software for executing storage pool management.

[0006] In the server 20 x (x=1-5, x is used hereinafter as a representative number), reference numeral 211 represents an OS. Reference numeral 29 x represents pool access software for making a storage pool area accessible.

[0007] In a storage 1 (101), reference numerals 111 and 112 represent logical unit numbers (LUN) 1 and 2, and in a storage 2 (102), reference numeral 121 represents LUN 1. Reference numeral 130 represents a pool area which is collectively managed by the pool manager 311.

[0008] The pool area 130 is realized by forming beforehand a LUN for the pool area and then assigning this LUN to the pool area. Forming an LU and assigning LU to LUN is called forming LUN. The unit of a storage area called LU is also called a volume. When the pool area is to be expanded, LUN is newly formed which is registered to the pool area 130 by the pool manager 311.

[0009] The pool manager 311 generates a partition (191, . . . ) dedicated to each server x in the pool area 130. The pool manager 311 notifies partition setting information to the pool access software 29 x of each server x so that partitions other than the partition dedicated to each server x cannot be recognized.

SUMMARY OF THE INVENTION

[0010] According to conventional techniques, it is necessary for a user to prepare beforehand LUN for the pool area. Generally, it is necessary for a user to configure LUN corresponding to a desired pool size by using storage configuration setting utility software (hereinafter called a utility) presented by a storage maker. In order for a user to configure LUN for a disk array storage, a number of works are required. Such works include a work of loading disk drives necessary for the disk array, a setting work for a RAID (Redundant Arrays of Inexpensive Disks) level, a formatting work for generating guarantee codes called parities for disk drive failures, a LUN setting work, a work of selecting a storage controller for controlling LUN, a work of establishing an access bus from a host to LUN, and other works. As above, a LUN configuration method is generally cumbersome. Furthermore, the LUN configuration method is different at each company or at each product type. Therefore, in the environment having a plurality of different storages, it is difficult for a user to configure LUN unless the user is an expert of configuration works, and the operation facilitation which is essential for a storage pool cannot be achieved satisfactorily.

[0011] Even if a user is an expert of configuration works, it is difficult, from a viewpoint different from configuration works, to select an optimum storage from a plurality of storages while the cost, performance and reliability are taken into consideration, and to configure LUN having a proper capacity to be determined from a past use state and a future use state.

[0012] Conventional techniques do not consider a hetero environment in which servers operate on different OSes. According to conventional techniques, an area used by each server is constituted of a partition whose format is dependent upon OS. Therefore, although a plurality of partitions can be set and managed in the same LU in the single OS environment, it is difficult in a hetero environment for each OS to set and manage a partition in the same LU. In order to set a plurality of partitions in the same LU and allow a plurality of servers to use corresponding partitions, access exclusive management for each partition is necessary. However, such management is not known to date.

[0013] Still further, conventional techniques cannot deal the environment with a plurality of different pool managers.

[0014] It is an object of the present invention to provide a method of realizing storage pool management easily without forming beforehand LUN for a storage pool area.

[0015] It is another object of the invention to provide a method of supplying each host with a proper storage area in accordance with a metaphysical user request called a predetermined policy.

[0016] It is another object of the invention to provide a method of increasing a disk capacity at any time or on-demand when a disk capacity becomes insufficient, without sufficient consideration of the past and future use states.

[0017] It is still another object of the invention to provide a storage pool management method compatible with a hetero server environment.

[0018] It is still another object of the present invention to provide a storage pool management method compatible with a plurality type of storages.

[0019] It is still another object of the present-invention to provide a storage pool management method compatible with both an environment with a plurality of pool managers and a conventional environment without pool management.

[0020] According to one aspect of the present invention, there is provided a method of setting a logical storage area to a storage connected to a management terminal via a network, comprising the steps of: transferring information on the logical storage area input to the management terminal to the storage via the network; and setting the logical storage area to the storage in accordance with information on the storage stored in the storage and the information on the logical storage area transferred via the network.

[0021] According to the present invention, in the method of setting a storage area to a storage, a pool area having a capacity designated by the management console is set to the storage in the form of a pool area management table, in response to a volume forming request, a designated volume is set as a used capacity of the pool area, and the designated volume is set in the storage.

[0022] According to the invention, in the method of setting a storage area to a storage, a plurality of policies are set in accordance with different attributes of storage areas in the storage, and in response to designation of a policy through user-friendly operation, a volume is set.

[0023] According to the invention, the method of setting a storage area to a storage can expand the capacity of a volume on-demand when an insufficient volume capacity is detected.

BRIEF DESCRIPTION OF THE DRAWINGS

[0024]FIG. 1 is a diagram showing the configuration of a system according to a first embodiment according to the invention.

[0025]FIG. 2 is a diagram showing the structure of a storage of the embodiment.

[0026]FIG. 3 is a diagram showing the structure of a LUN management table of the embodiment.

[0027]FIG. 4 is a diagram showing the structure of a management table for a pool area 1 of the embodiment.

[0028]FIG. 5 is a diagram showing the structure of a management table for a pool area 2 of the embodiment.

[0029]FIG. 6 is a diagram showing the structure of a management table for a non-pool area of the embodiment.

[0030]FIG. 7 is a diagram showing the structure of a registration table for pool managers of the embodiment.

[0031]FIG. 8 is a diagram showing a policy management table of the embodiment.

[0032]FIG. 9 is a diagram showing the structure of a pool manager of the embodiment.

[0033]FIG. 10 is a diagram showing a LUN setting screen of the embodiment.

[0034]FIG. 11 is a diagram illustrating the configuration of a system according to a second embodiment of the invention.

[0035]FIG. 12 is a diagram showing the configuration of a conventional system.

[0036]FIG. 13 is a diagram showing a RAID group management table according to the invention.

DETAILED DESCRIPTION OF THE EMBODIMENTS

[0037]FIG. 1 is a diagram showing the configuration of a system of the first embodiment. In FIG. 1, 10x represents a storage x (x=1, 2, . . . , x is used hereinafter as a representative number), 20 x represents a server as a host computer, 30 x represents a management console, and 501 represents a SAN. In the management console 30 x, 31 x represents a pool manager x, and 32 x represents a storage x setting utility. In the server x, 21 x represents an OS x, and 22 x represents a pool management agent x. In the storage 10 x, 11 xand 12 x represent LUN, and 13 x represents a pool area managed by the pool manager x. The pool area 13 x is configured overriding both the storages 1 and 2. The pool managers 311 and 312 are independent pool managers without communications therebetween. The management console 30 x is a computer on which the pool manager 31 x runs as a program. The pool manager 31 x program is stored in a storage medium, and the program in this storage medium is read from a drive connected to the management console 30 x and executed by the management console 30 x to run the system.

[0038]FIG. 2 is a diagram showing the structure of the storage 1. Reference numeral 150 represents a fiber channel controller for the connection to and control of SAN 501, reference numeral 151 represents a central control unit for controlling the whole storage, reference numeral 152 represents a memory for storing programs and data used for the internal control of the storage 1 by the central control unit 151, reference numeral 153 represents a communication control unit for controlling communications with the management console x, 154 x represents a RAID group x, 11 x represents LUN1 x, and 13 x represents a pool area x.

[0039] In the memory 152, the programs and tables described below are stored.

[0040] A LUN definition program 1521 is used for defining and forming a plurality of LUNs. A LUN security control program 1522 is used for controlling a “LUN security function” with which the central control unit 151 decides an access permission/inhibition for each LUN in order to make each server 20 x can exclusively use LUN. A LUN management table 1525 stores LUN security information of access inhibition/permission for each LUN of each server, attribute information of each LUN, and correspondence information between a host LUN to be recognized by the server 20 x and an internal LUN for managing the storage. A RAID group definition program 1528 defines, configures and manages a RAID group constituted of a plurality of disk drives. A RAID group management table 1526 stores definition information of each RAID group. A pool area management program 1524 is used for managing pool areas in order to manage storage pools defined in the storage 1. A pool area x management table 1527 x stores definition information of pool areas x managed by the pool manager x. A non-pool area management table 1528 stores definition information of a non-pool area which is used by a user by directly controlling the storage 1 setting utility 321 without involving the pool manager. A pool manager registration table 1529 stores registration information of pool managers.

[0041] A disk group made of a plurality of disk drives constituting a RAID type disk array and generating redundant data called parities for disk drive failures is called a RAID group. A RAID group 1 shown in FIG. 2 is a RAID group at a level 5 made of five disk drives. 4D1P means a structure of data disks corresponding to four disk drives and parity disks corresponding to one disk drive. Assuming that the capacity of one disk drive is 40 GB, the total usable capacity of this RAID group 1 is 4 drives×40 GB=160 GB. A RAID group 2 has a RAID level 1 and two disk drives having a total usable capacity of 40 GB. Other RAID groups are structured in the same way described above.

[0042]FIG. 13 shows the structure of the RAID group management table 1526. The RAID group management table 1526 stores information on a RAID group number, a RAID level, a RAID structure, the number of used disk drives, the number of each used disk drive, a used disk speed, a used capacity, a remaining capacity, and a total capacity. The RAID group number is an identification number of the RAID group. The RAID level shows a RAID level of the RAID group. The RAID structure shows a RAID structure of the RAID group. The number of used disk drives shows the number of disk drives constituting the RAID group. The used disk drive number is the number of each disk drive constituting the RAID group. The used disk speed shows the speed of the disk drives constituting the RAID group, and in this embodiment, three speeds “Fast”, “Mid” and “Slow” are defined. The used capacity shows the used capacity in the total capacity of the RAID group. The remaining capacity shows the capacity still not used in the total capacity of the RAID group. The total capacity shows the total capacity of the RAID group. The RAID group definition program 1523 sets the definition information of the RAID group management table 1526.

[0043]FIG. 3 shows the structure of the LUN management table 1525. The LUN management table 1525 stores information on a port number, a target ID, a host LUN, an internal LUN, a WWN, an S_ID, an LU size, a RAID group, and a pool number.

[0044] The port number is the number of a connection port of the fiber channel constituting SAN 501. In this embodiment, it is assumed that the number of ports is one and “0” is stored for all ports.

[0045] The target ID is an identification ID assigned to the storage 10 x having a connection interface with the server 20 x. In this embodiment, the connection interface between the computer 20 x and storage 10 x is a fiber channel, and a unique destination IF (D_ID) and an arbitrated loop physical address (AL_PA) are provided for each port. However, since the port number is stored in the LUN management table 1525, the target ID may not be stored, or D_ID and AL_PA determined when the fiber channel is initialized may be stored. If the connection interface is SCSI, a plurality of IDs can be set to the same port so that the target ID to which each LUN belongs is stored. In this embodiment, since the fiber channel is used, the column of the target ID is not used and “0” is stored for all target IDs.

[0046] The host LUN and internal LUN show a correspondence between the internal LUN of the storage identified by a LUN management number and the host LUN recognizable by the server 20 x.

[0047] The storage 10 x can define a plurality of internal LUNs. The internal LUN is a unique number for distinguishing between a plurality of LUNs. The server 20 x cannot discriminate between LUNs in some case unless they have sequential numbers starting from 0. It is therefore necessary that the storage remaps LUNs to have sequential numbers starting from 0 for each server. LUN after this conversion is called the host LUN. In FIG. 3, the internal LUN 11 is defined as a host LUN 0 and the internal LUN 12 is also defined as the host LUN 0. Although both LUNs are defined as the host LUN 0, they are used by different computers 20 x so that only the server having WWNx shown in FIG. 3 to be described below can access.

[0048] WWN stands for a world wide name which is information for identifying the fiber channel controller which is a connection interface to SAN 501. During a port login process for establishing a connection between ports of the fiber channel, WWNx of the computer 20 x is notified to the storage 1. Access permission/inhibition is judged only from the relation between LUN and WWN set in the LUN management table 1525. For example, the internal LUN 11 can be accessed only by the server 101 having WWN 1, the internal LUN 12 can be accessed only by the server 102 having WWN 2, and other servers cannot access these LUNs. Such an exclusive access control is executed by the LUN security control program 1522.

[0049] S_ID is ID information stored in the frame header of the fiber channel and identifies a source (initiator) which formed the frame. S_ID is dynamically assigned when the fiber channel is initialized. WWN is a value uniquely set by a fiber channel port exchanged during initialization. It is, however, not contained in each frame header. Therefore, by setting a relation between WWN and S_ID, the computer 20 x can be identified by checking only S_ID without checking WWN for each frame.

[0050] The LU size shows a capacity of LUN. The RAID group shows the number of the RAID group with LUN. The pool number shows the number of a pool area to which LUN belongs. A “non-pool” means a pool area not managed as a pool area. “1” and “2” show the pool areas 1 and 2, respectively. The details of the pool area will be described later.

[0051]FIGS. 4 and 5 show the structure of the pool area management table 1527 x. FIG. 4 is a table for managing the pool area 1, and FIG. 5 is a table for managing the pool area 2. A pool number is an identification number for distinguishing between a plurality of pool areas x. A RAID group is the number of the RAID group constituting the pool area. A RAID level is a RAID level of the RAID group. A RAID structure shows the structure of data disks and parity disks. A disk speed shows a speed of a disk drive constituting the RAID group. The number of defined LUNs shows the number of LUNs already defined in the pool area. A used capacity, a remaining capacity and a total capacity show the total used capacity, total remaining capacity and total capacity of all LUNs already defined in the RAID group having the corresponding pool number.

[0052] In FIG. 4, the pool area having the pool number 1 is defined as having two areas including the RAID groups 2 and 3. The RAID group 2 has a disk array structure of RAID level 1 and 1D1P. The disk drive used for the RAID group 2 has a high speed (Fast). In the RAID group 2, only one LUN having a capacity of 10 GB has already been defined, and has an unused pool area having the remaining capacity of 10 GB. The RAID group 3 has a disk array structure of RAID level 5 and 4D1P. The disk drive used for the RAID group 3 has a middle speed (Mid). In the RAID group 3, LUN is still not defined and has an unused pool area having the remaining capacity of 80 GB. The above-description is applied in a similar way to the pool area 2 management table shown in FIG. 5.

[0053] One storage x can have a plurality of pool area management tables 1527 x so that a plurality of pool managers each can independently have the pool area management table.

[0054]FIG. 6 is a diagram showing the structure of the non-pool area management table 1528. This embodiment uses both automatic LUN definition under the storage pool management and conventional manual LUN definition using non-pool areas. The invention is applicable to the case having no non-pool areas.

[0055] The structure of the non-pool area management table 1528 is the same as that of the pool area x management tables shown in FIGS. 4 and 5. An area belonging to neither the pool area 1 nor the pool area 2 is the non-pool area used for conventional manual setting. In the example shown in FIG. 4, the non-pool area in the RAID group 2 is an area other than the pool area 1 shown in FIG. 1 so that the total capacity is 20 GB and the remaining capacity is 20 GB because there is no defined LUN.

[0056]FIG. 7 is a diagram showing the structure of the pool manager registration table 1529. In this embodiment, since there are a plurality of pool managers, it is necessary to determine in advance which pool manager deals with which pool area. A pool manager number is an identification number of each pool manager and takes an optional number which is to be guaranteed unique. A pool area number is the number of each pool area which can be managed by the pool manager.

[0057] The operation of this system will be described. First, a pool area defining work will be described which work should be executed before storage pool management. In the following, the operation of defining the pool area 1 under the management of the pool manager 1 will be described.

[0058] An administrator at the management console 1 (301) controls the storage 1 (101) and storage 2 (102) by using the storage 1 setting utility 321 and storage 2 setting utility 322.

[0059] First, a RAID group is defined. As shown in FIG. 2, it is assumed that five RAID groups are defined for the storage 1. Similarly, RAID groups are defined for the storage 2 (this definition is not shown). As the administrator operates upon the utilities 321 and 322, communications are established between the utilities and storages and the RAID group definition program 1523 for the storage 1 is executed. Definition information generated upon execution of the RAID group definition program 1523 is stored in the RAID group management table 1526.

[0060] Next, the administrator registers the pool manager 1 by operating upon the utilities 321 and 322. The administrator then executes the pool area management program 1524 for the storage 101 via the utilities 321 and 322. The pool area management program 1524 registers the pool manager number in the pool manager registration table 1529. In this embodiment, as shown in FIG. 7, the pool manager 1 is assigned to the pool area 1.

[0061] Next, the administrator executes the pool area management program 1524 by operating upon the utilities 321 and 322 to set the pool area. As shown in FIG. 4, the pool area management program 1524 sets 20 GB of the RAID group 2 and 80 GB of the RAID group 3 as the pool area 1. The pool area definition work for the pool manager 1 is therefore completed for the storage 1. With similar operations, the pool area definition work for the pool manager 1 is performed for the storage 2. Further, the definition work for the pool manager 2 is performed for both the storages 1 and 2. With these operations, the preparatory work is completed. At this time it is unnecessary to define LUN.

[0062]FIG. 8 is a diagram showing the structure of the pool manager 311. The pool manager 311 has: a policy management table 3115 for setting policies to be described later; a policy definition program 3111 for supporting policy definition; a policy display program 3112 for displaying the contents of the policy management table 3115; a LUN forming program 3113 for supporting user formation of LUN; and a utility coordinated program 3114 for setting LUN in the LUN management table 1525 in coordination with the LUN definition program 1521 for the storage 1 (101) via the storage 1 setting utility 321.

[0063] Policy definition by the pool manager will be described.

[0064] Policy is predetermined rules described in easy-to-understand words and expressions so that a user can use or manage pool areas easily.

[0065]FIG. 9 is a diagram showing the structure of the policy management table 3115 managed by the pool manager 1. In this example, three policies can be selectively used. A policy #1 is “for critical job”. The attributes of the policy “for critical job” include a high performance (AA), a high reliability (A), a high cost, and a usable capacity of 10 GB. All of a specific storage name, a RAID group number, a RAID level, a disk configuration and the like are stored in a “details” column.

[0066] A policy #2 is “for normal job”. The attributes of the policy “for normal job” include a middle performance (B), a middle reliability (B), a middle cost, and a usable capacity of 280 GB. Supplemental information on the usable capacity of 80 GB in the storage 1 and 200 GB in the storage 2 is stored in the “details” column.

[0067] A policy #3 is “for economy job”. The attributes of the policy “for economy job” include a low performance (C), a low reliability (C), a low cost, and a usable capacity of 160 GB. Supplemental information that the usable capacity is stored in the storage 2 having a slow disk drive is stored in the “details” column.

[0068] In accordance with the knowledge level of a user, the user can select only by using the policy, by using the attributes written in easy words, or by considering also the supplemental information. The policies are displayed by the policy display program 31 x 2 of the pool manager 31 x and a desired policy is selected.

[0069] Each policy is required to be defined before the user forms LUN. The administrator activates the storage x utility 32 x and operates thereupon to acquire pool area information. The storage x setting utility 32 x sends an information acquire command together with the identification number of the pool manager to the storage x. The pool area management program 1524 returns the information of the pool area x corresponding to the command and stored in the pool area x management table 1527 x, back to the storage x setting utility 32 x. The administrator acquired the information stored in the pool area x management table 1527 x activates the policy definition program 31 x 1 of the pool manager x to define the policy management table 31 x 5 such as shown in FIG. 9. The administrator can set arbitrarily a policy name and a grade division of performance, reliability or cost. The usable capacity and details are based upon the information in the pool area x management table 1527 x. With the above operations, a preparatory work is completed.

[0070] A work of forming LUN by a user using storage pool areas will be described. In this embodiment, a user accesses to and operates upon the management console 301 to form LUN for the server 202.

[0071]FIG. 10 shows an example of a screen layout formed by the LUN forming program 3113 of the management console 301. A user enters an object host name, e.g., “Server 2” for which LUN is formed, into a predetermined field. The pool manager 1 (311) communicates with the pool management agent 1 (221) of the server 2 (202). The pool management agent 1 (221) searches an HBA (host bus adapter) of the server 2 (202) to find a fiber channel board. If the fiber channel board is found, its WWN is acquired and transmitted to the pool manager 1 (311). Upon reception of this, the pool manager 1 (311) displays the acquired HBA name and WWN in the HBA and WWN fields, by using the LUN forming program 3113. The user refers to the policy management table 3115 displayed on the screen, and enters a desired policy, a host LUN to be set to the server, and a desired capacity (LU size). It is herein assumed that the selected policy is “for critical job”, the designated host LUN is “0” and a designated capacity is “10 GB”.

[0072] In forming LUN in a pool area having a high cost such as “for critical job”, it can be set in such a manner that a user is required to enter a password so that only a proper person can form LUN.

[0073] After the user completes the setting, an “execute” button is depressed. Upon depression of this button, the utility coordinated program 3114 of the pool manager 1 (311) starts operating. The utility coordinated program 3114 calls the storage 1 setting utility 321 and passes arguments to it, the arguments including the pool manager number, storage number, WWN, RAID group number, host LUN number and LUN capacity. Upon reception of these arguments, the storage 1 setting utility 321 communicates with the storage 1 and passes the arguments to it.

[0074] The pool area management program 1524 for the storage 1 received the arguments confirms whether the remaining capacity written in the pool area 1 management table 15271 satisfies the designated capacity. If it is satisfied, the used capacity and remaining capacity are updated to the values after LUN formation.

[0075] In accordance with the arguments, the LUN definition program 1521 for the storage 1 forms LU of LOGB in the RAID group 2. More specifically, the port number, target ID, host LUN, internal LUN and WWN are set in the LUN management table 1525.

[0076] After the LUN forming work is completed, the storage 1 returns a completion notice to the storage 1 setting utility 321. Upon reception of the completion notice, the storage 1 setting utility 321 passes it to the pool manager 1 (311). The LUN forming program 3113 of the pool manager 1 (311) displays a notice that LUN formation succeeded, on the LUN forming screen. With the above operations, LUN formation is terminated.

[0077] If a user does not use a policy, the number of a storage and a RAID group are selected instead of selecting a policy.

[0078] Although the LUN forming procedure by the pool manager 1 has been described above, LUN can also be formed by the pool manager 2 in the same manner. The storage x (10 x) has a pool area x management table 1527 x dedicated to the pool manager x (31 x) to manage each area. It is therefore possible to prevent generation of access conflict by a plurality of hosts, and failures such as losing user data to be caused by erroneous setting and erroneous deletion. The pool area management program 1524 makes public the contents of the pool area x management table 1527 x only to the pool manager x (31 x).

[0079] A plurality of pool managers exist, for example, when pool management policies are different, when a different pool management is performed depending upon an application field, when areas are intentionally divided, when types of usable storages are different, and in other cases. These cases generally occur if the environment scale becomes somewhat large. Such an environment can be dealt with the present invention, which is an advantageous feature of the invention.

[0080] LUN is required to be formed in some cases by considering the physical structure of disk drives in order to improve the performance, such as by forming a table area of a database. In such a case, optimization may be performed through manual LUN setting by a user rather than through automatic LUN setting in a storage pool. Even if LUN setting becomes possible by storage pool management, it becomes necessary in some cases to use conventional LUN setting.

[0081] In this embodiment, a conventional method of setting LUN by a user directly using the storage 1 setting utility 321 is also realized in the following manner.

[0082] The pool area management program 1524 of the storage x limits the pool area to be managed by the pool manager 31 x, by using the pool area x management table 1527 x. When LUN is acquired, the non-pool area is not used. When the utility 321 forms LUN, the pool area management program 1524 makes public only the area set in the non-pool area management table 1528, i.e., an area other than the pool area. Therefore, LUN will not be formed in the pool area.

[0083] As described above, since both the conventional LUN setting and the on-demand LUN setting by storage pool management can exist, a LUN setting method suitable for each application field can be selected.

[0084] According to this embodiment, it is not necessary to form beforehand LUN as the storage pool area, but LUN having a desired capacity can be formed at any time when necessary.

[0085] A user can easily form LUN only by designating a policy, without considering the physical structure of a storage.

[0086] Storage pool management is not performed by using partitions dependent upon OSes as in conventional techniques, but storage pool management is performed by using LUN which is a general management system independent from OSes. It is therefore possible to realize storage pool management compatible with a hetero server environment having a plurality of different types of OSes.

[0087] In this embodiment, pool management by using LUN is realized. Therefore, LUN formed for storage pool can be made secure by using the LUN security function of the storage which provides a LUN access exclusive control for servers. Pool management is therefore possible in the environment wherein a plurality of servers share a storage and LUN access exclusive control is necessary.

[0088] Even in the environment that a plurality type of pool managers having different applications and policies exist at the same time, management area exclusive control can be realized so that a proper pool manager can be selected. It is possible to avoid critical problems such as interference between management areas by a plurality of pool managers and erroneous deletion of user data.

[0089] Both the conventional LUN setting through direct operation of the storage setting utility by a user and LUN setting through storage pool management can be used. Therefore, a proper LUN setting method can be selected when necessary and at the same time a critical problem such as deletion of user data can be avoided.

[0090] A modification of the embodiment will be described. In this modification, a disk capacity can be increased on-demand when the disk capacity becomes insufficient, even if the past storage capacity use history and. future use prediction cannot be obtained prior to forming LUN.

[0091]FIG. 11 is a diagram showing the configuration of a system according to a modification of the embodiment. In FIG. 11, the server 2 (202), management console 1 (301), storage 1 (101) and storage 2 (102) are derived from FIG. 1.

[0092] Different points from the embodiment reside in that the server 2 has a file system 242 for file storage position management, a logical volume manager (LVM) 252 for logical volume management of volumes constituted of LUN to facilitate the use of volumes, and a volume forming program 262 for forming new volumes.

[0093] A method of forming a new volume will be described. This method corresponds to a line (1) in FIG. 11. A user instructs the volume forming program 262 to form a new volume having a proper size. At this time, the user designates only the necessary capacity without considering a future use prediction. Similar to the LUN forming program of the embodiment, setting policies are supplied to the user. The pool management agent 1 (221) transmits a server name, an HBA name of the server, WWN, setting policy and volume capacity to the pool manager 1 (311) of the management console 1 (301). The pool manager 1 (311) activates the LUN forming program 3113 to form LUN in the pool area 1 of the storage x similar to the first embodiment. With the above operations, LUN can be formed. This LUN is called a LUNa. LUNa is used as a volume by the server 2 (202).

[0094] It is then assumed that the capacity of LUNa becomes insufficient. This correspond to a line (2) shown in FIG. 11. When the file system 242 for volume use capacity management detects that the user capacity exceeds a preset threshold value, it issues a volume expansion command to LVM 252. LVM 252 instructs the pool management agent 1 (221) to form a new LUN having a preset capacity or a capacity estimated as a proper capacity from the past volume use state. The pool management agent 1 (221) transmits the server name, HBA name of the server, WWN, setting policy used for forming the first volume, and capacity of the new LUN to the pool manager 1 (311) of the management console 1 (301). The pool manager 1 (311) activates the LUN forming program 3113 to form LUN (called a LUNb) in the pool area of the storage x similar to the first embodiment.

[0095] Upon reception of a completion notice of forming LUNb from the pool manager 1 (311), the pool management agent 1 (221) notifies LVM of a completion notice of forming the new LUNb. Upon reception of this completion notice, LVM 252 combines LUNa used as the volume and LUNb to form one logical volume and notifies this effect to the file system 242. The file system 242 generates file management information of the expanded area so that the whole logical volume can be used as one continuous file system area.

[0096] With the above operations, application can run continuously without knowing the expansion of the volume size. A user is not necessary at all to perform a cumbersome volume expanding work.

[0097] As described above, according to the modification, the volume capacity can be increased on-demand when it becomes insufficient, without involving any user work and confirmation by the application.

[0098] According to the present invention, LUN having a necessary capacity can be formed when necessary without deciding beforehand a necessary LUN capacity. A proper LUN can be formed for each host in accordance with a user metaphysical request called a policy which is preset. Since storage pool management is performed by using LUN, storage pool management independent from the types of OSes and servers can be realized matching a hetero server environment. Since LUN security can be set for each LUN, storage pool management can be realized even for a multi-platform environment in which a plurality of servers share one storage and LUN dedicated to each server can be formed. The environment with a plurality of storage pool managers can be configured, the pool managers having different use applications, different policies, different available types of storages. Both the conventional manual LUN setting without pool management and LUN setting through storage pool management can be used so that an optimum LUN setting method can be selectively used in accordance with user needs and use applications. A disk capacity can be increased on-demand when the disk capacity becomes insufficient, even if the past storage capacity use history and future use prediction cannot be obtained.

Referenced by
Citing PatentFiling datePublication dateApplicantTitle
US7467143Aug 28, 2003Dec 16, 2008Hitachi, Ltd.Storage operation management system
US7555601Oct 25, 2007Jun 30, 2009Hitachi, Ltd.Storage control system including virtualization and control method for same
US8037239 *Mar 24, 2006Oct 11, 2011Hitachi, Ltd.Storage controller
US8082394Aug 10, 2009Dec 20, 2011Hitachi, Ltd.Computer system, storage system and method for extending volume capacity
US8131956Jan 28, 2011Mar 6, 2012Hitachi, Ltd.Virtual storage system and method for allocating storage areas and releasing storage areas from allocation based on certain commands
US8161489Apr 16, 2008Apr 17, 2012Nec CorporationResource sharing and allocation between a plurality of different raid policies on groups of disks
US8281068Feb 11, 2008Oct 2, 2012Hitachi, Ltd.Configuration optimization method for a storage system
US8352678Sep 15, 2011Jan 8, 2013Hitachi, Ltd.Storage controller
US8527700 *May 16, 2012Sep 3, 2013Hitachi, Ltd.Computer and method for managing storage apparatus
US8595431May 18, 2009Nov 26, 2013Hitachi, Ltd.Storage control system including virtualization and control method for same
US8707004Mar 25, 2010Apr 22, 2014Hitachi, Ltd.Computer system and storage consolidation management method
US20060117215 *May 27, 2005Jun 1, 2006Fujitsu LimitedStorage virtualization apparatus and computer system using the same
US20100082900 *Nov 21, 2008Apr 1, 2010Hitachi, Ltd.Management device for storage device
US20120226857 *May 16, 2012Sep 6, 2012Hitachi, Ltd.Computer and method for managing storage apparatus
US20130067188 *Sep 12, 2011Mar 14, 2013Microsoft CorporationStorage device drivers and cluster participation
Classifications
U.S. Classification711/114, 711/170
International ClassificationG06F13/00, G05B9/03, G06F13/10, G06F11/16, H04L12/24, G06F3/06, G06F12/00
Cooperative ClassificationG06F3/0631, H04L41/0893, G06F3/067, G06F3/0605
European ClassificationG06F3/06A2A2, G06F3/06A6D, H04L41/08F, G06F3/06A4C1