Abstract:
An allocation apparatus of the present invention provides the mechanism that another logical volume of temporary number is automatically made in the storage system shared with plural servers, when it is recognized that the targeted logical volume is doubly allocated. By the present invention, the data destruction can be prevented by making the target server accessing another logical volume allocated automatically when the double allocation is detected. And the processing of a temporary allocation is continued until the alert message to the effect that the logical volume required from the target server is overlapped in the logical storage area is transmitted to the operator, the allocated another logical volume is approved by the operator, and the cancellation of overlapping allocation is confirmed.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    (1) Field of the Invention 
         [0002]    The present invention relates to technology for preventing a logical volume being doubly allocated in a storage device, when accessing it from the server in the storage system that plural servers share. 
         [0003]    (2) Description of the Related Art 
         [0004]    Recently, the SAN (Storage Area Network) system by which plural hosts share one or plural storage devices via a network is actively used instead of making the host computer such as server connect directly the storage device. 
         [0005]    In the SAN environment where at least one or more storage systems are shared with plural servers, to prevent data destruction by a wrong access and an unjustified access, a variety of access limitation method is proposed (for example, I. Igarashi, “Storage Management Solution in the SAN Environment”, FUJITSU, Vol. 52, No. 2, p 118-122, 2001). 
         [0006]    In a conventional method for preventing double allocation, an operator is previously setting an accessible logical volume from the server. In that case, it is necessary to secure a logical volume of the storage device for the server to access the shared storage device when the data stored in the storage device was changed in the transaction processing system, and so as not to cause the data destruction etc. 
         [0007]    The setting of the logical volume is performed by the operator. The operator sets the zone as logical storage areas in a physical storage device and allocates the logical volume to relate ID of the server (identifier) with the zone. Accordingly, only the server which the operator correctly set can access to the logical volume. 
         [0008]    However, the above-mentioned setting work for allocating the zone to the logical volume is very complex for the operator, and there are a lot of cases that the operator mistakes the set up of the logical volume. 
         [0009]    Therefore, in the present invention, to solve the above-mentioned problem, the system checks whether the same one logical volume is registered over plural logical storage areas (it is called the zone) or not, generates another temporary logical volume when there was a double allocation as a result, and allocates it to the target zone. 
       SUMMARY OF THE INVENTION 
       [0010]    An object of the present invention is to provide a method and apparatus for automatically allocating a logical volume when an overlapped registration of the logical volume was detected and preventing its data destruction. 
         [0011]    One aspect of the features of the present invention is as followings. 
         [0012]    First, an allocation apparatus for preventing a logical volume from being doubly allocated in a storage device shared with plural servers, comprising: a means for receiving a set up information of a logical volume which was inputted by an operator at a management terminal to set up in a logical storage area of said storage device and registering it to a management table; a means for checking whether there is a double allocation of said logical volume or not, referring to said management table which manages the operation of said logical volume; and a means for allocating temporarily an another logical volume different from said logical volume when it was detected that said logical volume is doubly allocated in the same logical storage area. 
         [0013]    That is, even if an operator inputs accidentally the same logical volume for a certain server as it is under operation for other server, the apparatus of the present invention may perform processing which detects it automatically and assigns another logical volume temporarily. Accordingly, when the concurrent access from two or more servers occurs, the accrual of obstacles such as data destruction is avoidable. 
         [0014]    Secondly, the apparatus of the present invention is having the management table on which the setting information was registered consisting of a server name, the zone number which is concerned with the position of the logical storage area in a storage apparatus, and the assigned logical volume number. 
         [0015]    That is, according to the second invention, since a server name and an allocation logical volume number are associated and it is managed with respect to every zone number secured as a logical storage area in the common storage, it will make easy collation of the logical volume and temporary allocation of another logical volume, and management which does not cause a trouble to access from two or more servers will be realized. 
         [0016]    Thirdly, the apparatus of the present invention is having the means which sends the message advices of having assigned another logical volume temporarily to the terminal for system manager, when a setup of a logical volume is double. 
         [0017]    That is, the apparatus of the third invention provides the structure made to access another logical volume concerned until double allocation of a logical volume is canceled by the operator who manages a system. 
     
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0018]      FIG. 1  shows a basic configuration of a system for preventing a double allocation of a logical volume. 
           [0019]      FIG. 2  shows a data structure of a table for setting a zone for a logical volume (in the case of a double allocation). 
           [0020]      FIG. 3  shows a data structure of a table for setting a zone for a logical volume (in the case of a temporary allocation). 
           [0021]      FIG. 4  shows a data structure of a table for setting a zone for a logical volume (in the case of a flag setting for a temporary allocation). 
           [0022]      FIG. 5  shows a flag setting table for sending a message of double allocation to the operator&#39;s terminal). 
           [0023]      FIG. 6  shows a flow chart for managing a zone data set by an operator. 
           [0024]      FIG. 7  shows a flowchart for checking logical volumes of a common storage device accessed by two or more servers. 
           [0025]      FIG. 8  shows a flow chart for altering a temporal number of another logical volume. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0026]    Hereafter, based on drawings, embodiments of the present invention are explained. 
         [0027]      FIG. 1  shows a basic configuration of system for preventing double allocation of a logical volume according to the embodiment of the present invention. 
         [0028]    The double allocation prevention system is composed of server  1  (plural servers: Server-1, Server-2 . . . Server-n), a storage controller  4  which has HBA 2 (Host Bus Adaptor) for the interface connected with servers, CA 3 (Channel Adaptor) for controlling the connection with the servers, and DA 5 (Device Adaptor) for controlling the access to the storage device  6  shared with plural servers, and a management terminal  7  for managing and maintaining the system environment. 
         [0029]    In addition, LAN  8  (Local Area Network) connects with two or more servers  1  and the storage control unit  4 , and the management terminal  7  manages the whole system. 
         [0030]    Herein, the peculiar address called WWN (World Wide Name) is assigned to HBA 2 with which each server  1  is equipped. Furthermore, the storage controller  4  is a computer equipped with CPU  10  (Central Processing Unit) and memory  20 , and it has the management table  30  on which the double allocation prevention program  100 , and a zone setting table and a message table were stored in the auxiliary storage unit (not shown in Fig.), and at the time of a startup, the double allocation prevention program  100  loaded from the auxiliary storage is developed on memory  20 , and each processing of the program is performed by CPU  10 . 
         [0031]    Moreover, plural zones (Zone-1, Zone-2 . . . Zone-n) are setup in the logical storage area of the storage device  6 , wherein the real data like a business data is stored as a logical volume. As mentioned above, a logical volume allowed for access from server  1  is stored into any zone partitioned in the logical storage area. 
         [0032]    The double allocation prevention program  100  makes storage controller  4  with a set up information receipt means  101  to accept set up information of logical volume in the zone of common storage device  6  from management terminal  7 , a double allocation check means  102  to check whether the logical volume overlaps or not, referring to the management table  30  which the set up information is registered, as a result, a temporary allocation means  103  to allocate another logical volume different from the logical volume temporarily when there are overlaps of the same logical volume in each zone of the logical storage area  40 , and message output means  104  to send out a message to an operator that the temporary logical volume is allocated to the target zone instead of the set up logical volume due to the double allocation. 
         [0033]    Here, for simplification, the embodiment of this present invention is shown by the case that two zones in a logical storage area of a common storage device are set up for two sets of servers, wherein plural logical volumes are allocated. 
         [0034]    Moreover, hereinafter, “allocation” of the logical volume to each zone is also expressed as “mapping.” 
         [0035]      FIG. 2  shows a data structure of a table for setting a zone for a logical volume (in the case of a double allocation) according to this invention. This embodiment shows the case that while Zone#1 mapped for Server-1 (server name) is under operation, Zone#2 (zone number) is mapped for Server-2, and the operator set accidentally in the Zone#2 the same logical volume as in the Zone#1. 
         [0036]    The zone setting table as a management table  30  consists of two or more records which consist of the following items; “server name”, “zone number” of a logical storage area, “WWN” as a connection port name of a server, and two or more “allocated logical volumes”. 
         [0037]    For example, the logical volumes of logical volume number LV#0, LV#1, LV#4, and LV#5 are mapped as Zone#1, and Server-1 has become under operation. 
         [0038]    Wherein, it is shown that in Zone#2 for Server-2, the logical volumes of LV#2, LV#3, LV#4, and LV#6 are mapped, and. the same logical volume LV#4 which is under application in Zone#1 is mapped accidentally in Zone#2. 
         [0039]      FIG. 3  shows a data structure of a table for setting a zone for a logical volume (in the case of a temporary allocation) according to the present invention. The data structure of the table for setting a zone for a logical volume is the same as the data structure in  FIG. 2 . The double allocation prevention system of this invention creates automatically another logical volume (LV#A) instead of the logical volume (LV#4) of Zone#2 which was erroneously added at mapping. 
         [0040]      FIG. 4  shows a data structure of a table for setting a zone for a logical volume (in the case of a flag setting for a temporary allocation) according to the present invention. A zone setting table shows the logical volume assigned to the zone concerned in the zone number of  FIG. 2  as a key, and the item of “temporary allocation flag” that means valid or invalids is added. The temporary allocation flag allows the storage controller  4  to judge a permission of access requirements from Server-1. 
         [0041]      FIG. 5  shows a flag setting table for sending a message of double allocation to the management terminal) according to this present invention. 
         [0042]    The message flag is a flag for responding the message to warn the doubly mapping for each logical volume which is set in the zone of logical storage area  40  of storage device  6 , and for the access request from server  1  to be done. In this example, it is shown that the message flag of logical volume LV#A of Zone#2 temporarily allocated is effective. 
         [0043]    If the operation of Server-2 is begun, the double allocation prevention system outputs the alert message of the double mapping to Server-2, and warning continues until the operator corrects. Even if warning to Server-2 is disregarded and the operation of Server-2 is continued, data (LV#4) of Server-1 is secured without being destroyed. 
         [0044]    Moreover, Server-2 comes for the data of Server-2 to be secured due to be accessed for LV#A. Further, the operator corrects an error according to warning to Server-2. And the logical volume LV # that the mapping is automatically done is adopted as it is, when correcting, or it is also possible for the operator to specify LV # arbitrarily (It is not LV#A, and, for instance, it is assumed LV#7). In this case, warning to the operator is released. 
         [0045]    Next, using following  FIGS. 6-8 , the flow chart for the double allocation prevention system for the logical volume according to this invention is explained. 
         [0046]      FIG. 6  shows a flow chart for managing a zone data set by an operator. 
         [0047]    First, in step S 11 , WWN of the server  1  which accesses the storage device  6  is registered into the management table  30  (zone setting table), and in step S 12 , Zone# (zone number) in the storage region  40  is set up to the management table  30  in the storage device  6 . 
         [0048]    Next, in step S 13 , with reference to the managed table  30 , it is registered and it is already confirmed in Zone# under operation, the system judges whether a double allocation of the logical volume LV# is existing or not. 
         [0049]    In the judgment step of step S 14 , when there is a double allocation, while assigning automatically a different another temporary logical volume LV# instead of the targeted doubly allocated logical volume LV# in step S 15 , the temporary allocation flag of the target logical volume in the management table  30  is set up as “valid” in step S 16 . 
         [0050]    Further, in step S 17 , the LV# concerned is registered into Zone# of the management table  30 , and it is ended. Moreover, in step S 14 , when there is no double assignment, registration processing of step S 17  is performed and this flow is ended. 
         [0051]      FIG. 7  shows a flow chart for checking logical volumes of a common storage device accessed by two or more servers according to this invention. 
         [0052]    First, in step S 21 , WWN of the management table  30  (zone setting table) is checked, and in the judgment of step S 22 , if there is not the target WWN, in step S 24 , an error is notified to a server  1  and it ends. 
         [0053]    Moreover, if there is the target WWN in the management table  30 , server  1  is specified in step S 23 . And in step S 25 , whether there is the target server or not is judged. Next, if the target server is detected, in step S 26 , it will be judged whether the flag of a temporary logical volume is effective in a logical volume to access or not. 
         [0054]    If the flag of the temporary logical volume is valid in step S 26 , while changing the access position of the logical volume of the target server in the management table  30  into the temporary logical volume L#, in step S 28 , the message flag to the operator in the management table  30  (message table) is set up as it is effective. 
         [0055]    Next, in step S 29 , a data accessing is performed to the logical volume which the target server required access. Moreover, in step S 26 , if the logical volume to be accessed is not a temporary logical volume, in step S 29 , a data accessing will be performed by the logical volume as it is. 
         [0056]    Moreover, in step S 30 , it is judged whether a message flag is effective in the logical volume for the concerned access. If a flag is effective, while answering to the operator of the management terminal  7  by the warning message of double assignment being carried out, in step S 31 . And in step S 32 , the real data in the storage device  6  is returned to the server  1 . Further, in step S 30 , if the message flag is null and void, return processing of the real data will be performed in step S 32 . 
         [0057]      FIG. 8  shows a flow chart for altering a temporary number of another logical volume according to this invention. 
         [0058]    First, it checks about the logical volume which the operator tried to correct at step S 41  according to the warning message received in the management terminal  7 . 
         [0059]    In step S 42 , it judges whether a temporary allocation flag is effective or not, and if the temporary allocation flag is not effective, in step S 43 , the message of the purport which the logical volume LV# specified by an operator is not doubly allocated will be transferred to the management terminal  7 . 
         [0060]    Moreover, if the temporary allocation flag is effective, it will progress to step S 44  and it will be checked whether an operator inputted at the management terminal  7  to share the logical volume of double allocation or not. 
         [0061]    As a result, if the sharing of the target logical volume is not inputted, in step S 45 , it is checked whether the allocation number of the logical volume which an operator wishes was inputted as a formal logical volume in stead of the logical volume concerned or not. 
         [0062]    And if the desired assignation number is not in agreement with logical volume LV# (volume number) set up temporarily, progressing to step S 47 , it is judged whether it is already registered on the managed table  30  or not. 
         [0063]    And if desired logical volume LV# (volume number) is registered, in step S 49 , an another logical volume LV# is specified by the operator, further, step S 46 -step S 47  are repeated until assignation input of another volume number is performed by the operator and an assignation volume number is determined. 
         [0064]    On the other hand, in step S 47 , if desired logical volume LV# (volume number) is not yet registered, it will progress to step S 48 , logical volume LV# of the request concerned will be determined as an assignation volume number, and temporary logical volume LV# will be registered as formal logical volume LV# in step S 50 . And in step S 51 , a double allocation flag and a message flag are repealed, and this flow is ended. 
         [0065]    Furthermore, in step S 44 , if the logical volume which the operator did double assignment serves as a common indication, after changing temporary LV# (volume number) into same LV#, cancellation processing of the double allocation flag &amp; message flag of step S 51  will be performed, and this flow will be ended in step S 52 .