The present invention relates to a technique such as an information management method for generating management information to control connection to a server and usage of it.
With the recent development of large-scale system, the number of servers and administrators has increased and the type of server has changed. Further, the number of management products for managing these servers has also increased, so that the form of the system has been expanded and complicated.
Under these circumstances, the user may use a plurality of servers. Here, in order to prevent the influence of user error from spreading and to prevent the user from viewing unnecessary information, it is necessary to configure permissions that match the role of the user with respect to each server (see Patent Literature 1). However, the configuration process should take into account the expansion of the system as well as the hierarchical relationship between servers. Thus, there is a problem that the configuration process is complicated and time-consuming.
The present invention has been made in the background of these circumstances and aims to effectively generate management information appropriate for a plurality of servers.
In order to solve the problem described above, the present invention is a management information generation method for a management information generation apparatus in a system including a plurality of managed objects, to generate management information to the managed objects. A control part of the management information generation apparatus stores configuration information of the managed objects in the system, as well as management information previously configured for some managed objects of the plurality of managed objects, into a storage part. A configuration part of the management information generation apparatus generates the management information for the other managed objects of the plurality of managed objects by using the configuration information and the previously configured management information.
Other solutions will be described accordingly with reference to exemplary embodiments.
According to the present invention, it is possible to effectively generate management information appropriate for a plurality of servers.
Hereinafter, a first embodiment of the present invention will be described with reference to
As shown in
The management server 20 connects to the physical server 14, the disk array apparatus 30, and the related management server 10 through the network switch 11.
The physical server 14 connects to the other physical servers 14, the management server 20, the disk array apparatus 30, and the related management server 10 through the network switch 11. Further, the physical servers 14 connect to the disk array apparatus 30 through the storage switch 15.
The network switch 11 is the network equipment including a network switch, a router, a load balancer, a firewall, and the like.
The disk array apparatus 30 includes FC (Fiber Channel) and LAN (Local Area Network) interfaces. The disk array apparatus 30 is a storage system including one or more disks used by the management server 20, each of the physical servers 14, and the related management server 10.
The related management server 10 works with the management server 20 so that the management server 20 connects to each part of the management information generation system 1. The related management server 10 contains functions to allow the management server 20 to perform information acquisition, state change, configuration change, and the like, with respect to each part of the management information generation system 1. Further, the related management server 10 also includes external interfaces (API (Application Program Interface), CLI (Command Line Interface), and the like). The management sever 20 can perform the functions of the related management server 10 through the network and the like.
Virtual servers 12 (12a, 12b, 12c, 12d, 12e, 12f) and server virtualization mechanisms 13 (13a, 13b, 13c) will be described below.
It is to be noted that the related management server 10, the virtual server 12, the server virtualization mechanism 13, and the physical server 14 are collectively referred to as “each server” as appropriate.
Next, the configuration of the management server 20 will be described with reference to
As shown in
Note that the propagation table 400 is required in the second embodiment, and the group definition table 500 is required in the third embodiment. In the first embodiment, these tables may not be required.
The configuration part 21 configures permission information to the management server 20, the virtual server 12, the server visualization mechanism 13, the physical server 14, and the related management server 10. The permission information is the information for controlling the connection to each server, and the like, by the user. The permission information includes Administrator permission, Modifier permission, and Viewer permission. Administrator permission is the permission allowed for the execution of all operations. Modifier permission is the permission allowed for the control (which is the execution of the function of the change in the state and configuration) and the information acquisition. Viewer permission is the permission only allowed for the information acquisition.
The configuration management part 22 collects the configuration information (host name, internet protocol (IP) address, and the like) of each server. Further, the configuration management part 22 uses the configuration information table 300, which will be described below, to store the collected information.
The utilization management part 23 configures the permission information to the use state table 100. The utilization management part 23 provides an interface (GUI (Graphical User Interface), and the like) for configuring the permission information to the administrator.
NIC (Network Interface Card) 26 is a card that is used to connect to a network 27. The management server 20 connects to the physical server 14, disk array apparatus 30, and the related management server 10 through the network 27. The management server 20 may include a plurality of NICs.
The control part 24 is the main control part to control the entire management server 20. The control part 24 determines the operation based on the control information notified from each function part, and instructs the other function parts.
Details of the use state table 100, the permission definition table 200, the configuration information table 300, the propagation table 400, and the group definition table 500 will be described later.
The user information table 600 stores the authentication information (user ID, password, and the like) necessary for the user to perform information acquisition and control, directly or through the management server 20. This information is configured by the user in advance through the GUI of the management server 20, or another user interface.
Note that in the first embodiment, the configuration part 21, the configuration management part 22, and the utilization management part 23 are described as programs (management information generation programs) executed by a CPU (Central Processing Unit) 25. However, these parts may also be implemented by the hardware and firmware installed in the management server 20, or by a combination thereof. Further, the configuration part 21, the configuration management part 22, and the utilization management part 23 are stored in an auxiliary storage device included in the management server 20. Upon execution, the configuration part 21, the configuration management part 22, and the utilization management part 23 are loaded in the memory 28 and executed by the CPU 25.
The physical server 14 is the computer operated by a program control. The physical server 14 is connected to the network 27 through the NIC 26. Further, the physical server 14 is connected to the disk array apparatus 30 through HBA (Host Bus Adapter) 29. Note that the physical server 14 may include a plurality of NICs 26 and a plurality of HBAs 29.
Business software 41 is the program for executing the process necessary for the operation. An operating system (OS) 42 is the basic software for controlling the physical server 14.
A system disk 33 is a disk volume containing the OS that is installed in the physical server 14. A data disk 34 is a disk volume containing data used by the virtual server 12 and the physical server 14 for the operation.
The server virtualization mechanism 13 includes a virtual server management part 40 and a control I/F (Interface) 43.
The virtual server management part 40 collects, stores, and updates the load information of the virtual servers 12, the information about the configuration, and the state information. The load information is, for example, the information on the CPU usage, the memory usage, and the like. The information about the configuration is, for example, the information on the type of OS, the assigned virtual device, and the like. The state information is the information on the power source, enabled/disabled device, and the presence of a device failure.
The control I/F 43 provides an access for the virtual server management part 40 to the outside (the management server 20, each server, and the like).
One or more virtual servers 12 run on the server virtualization mechanism 13.
The virtual server 12 is a hypothetical server device that runs with the resources of the physical server 14 assigned by the server virtualization mechanism 13. The business software 41 and the OS 42 run in the virtual server 12. Further, other server virtualization mechanisms 13 may also run within the virtual server 12.
The disk array apparatus 30 also includes a virtual server image storage disk 31 and a definition information storage disk 32.
The virtual server image storage disk 31 is a disk volume containing a virtual server OS image 131 which is a disk image of the virtual server 12. The definition information storage disk 32 is a disk volume containing a virtual server definition 132 that describes the contents of the OS installed into the virtual server 12, as well as the CPU, the memory, and the like, which are hypothetical devices assigned to the virtual server 12.
The management information generation system 1 assumes an administrator 50, a user A51, and a user B52 as the users of this system. The administrator 50 is a person who manages the whole system. In general, each system has one administrator but may have a plurality of administrators. The users A51 and B52 are persons who perform the management operation on behalf of the administrator 50. It is also possible that the system have one user instead of two.
The administrator 50, the user A51, and the user B52 connect to the physical server 14, the virtual server 12, and the server virtualization mechanism 13, through the management server 20 or the related management server 10, or directly, to use the functions (information acquisition, state change, configuration change, and the like) required for the management operation. The functions that the administrator 50, the user A51, and the user B52 can use in the connected device are determined based on the permission configured for each device.
The administrator 50 can use all the functions for all the devices. Further, the user A51 and the user B52 can use all or part of the functions for a part of the system. For example, the user B52 may not connect to the virtual server (for A) 12a whose permission is configured only for the user A51. Further, both the user A51 and the user B52 can connect to the server virtualization mechanism (common to A and B) 13a whose permission is configured for both the user A51 and the user B52. The administrator 50 determines the range of the functions that the user A51 and the user B52 can use for the device, based on the management policy in advance.
Next, the use state table 100 will be described with reference to
The use state table 100 stores the permission information necessary for the user (administrator) to connect to each server through the management server 20. A managed object field 110 stores the identifier for identifying each server. Note that in the present specification, the managed object is the device to which the management information is configured. For example, the managed object includes the physical server 14 managed by the management server 20, the virtual server 12, the server virtualization mechanism 13, and the related management server 10. Here, the management information is the concept including the permission information. A use state (permission information) field 120 stores the permission information for each user with respect to the managed object. The first embodiment includes a user A field 121 and a user B field 122 to store the permission information for each user.
For example, in the case in which Modifier permission is configured for the user A field 121 corresponding to the record of node 1 for the managed object field 110 in the table 100, Modifier permission is configured for the user A51 with respect to the node 1. In this case, the user A51 can control the node 1 and obtain information from the node 1 by using the management server 20. Similarly, in the case in which Viewer permission is configured for the user A51 with respect to node 10, the user A51 can only obtain information from the node 10 by using the management server 20. If no permission is configured for the user A51 with respect to node 3, the user A51 may not connect to the node 3 by using the management server 20.
The user adds an initial record to the use state table 100 based on the operation management policy. For example, the user configures in advance the permission information for the nodes 1 to 6 (the virtual servers 12a, 12b, 12g, 12c, 12d, 12e) (circle numbers 1 to 6 in
In order to manage the server in which the business software is running, it is necessary to configure the permission information also for the nodes 7 to 10 (the server virtualization mechanisms 13a, 13b, 13c, and the related management server 10) (circle numbers 7 to 10 in
For example, as shown in
The permission information of the nodes 7 to 10 is configured by the configuration part 21 of the management server 20 based on the initial record of the state table 100, the type of the node (object type), and the information on the parent-child relationship between nodes (parent information).
In other words, the user configures the permission information for the nodes 1 to 6, which are the children, in advance. Then, the configuration part 21 of the management server 20 automatically configures the permission information for the nodes 7 to 10 which are the parents. In this way, it is possible to effectively generate the management information appropriate for a plurality of servers. The details of this will be described below.
Next, the permission definition table 200 will be described with reference to
The permission definition table 200 stores the information associated with the permission information defined by the management server 20 and the permission information defined by each server.
An object type field 210 stores the object type which is an identifier for identifying the type of each server. It is assumed that the same permission information is defined for the same server type. A permission definition field 220 stores the permission definition. The permission definition is the permission information described differently for each product. In general, the permission definition is defined in advance for each product. The permission information represents the abstract permission definition.
For example, as shown in
Next, the configuration information table 300 will be described with reference to
The configuration information table 300 stores the object type of each server to which the management server 20 connects, the connection information, and the configuration information. The configuration management part 22 obtains these information resources from each server periodically, and updates the configuration information table 300.
A managed object field 310 stores the identifier for identifying each server. An object type field 320 stores the object type which is an identifier for identifying each server type. The value of the object type field 320 corresponds to the value of the object type field 210 (see
A parent information field 340 stores the parent information which is an identifier for identifying the parent of each server. The value of the parent information field 340 corresponds to the value of the managed object field 310. In the first embodiment, it is assumed that the parent-child relationship between servers, which is configured as the parent information, corresponds to the relationship between the managed object and the object being managed (for example, the related management server 10 and the server virtualization mechanism 13 shown in
Next, the process operation (1) of the management server 20 will be described with reference to
First the outline of the process is given. The process is designed to use the permission information on each server configured in the management server 20, to trace the parent server of the particular server as well as the parent server of the particular parent server sequentially, in order to configure the permission for these parent servers, within the permission range corresponding to the particular permission information. Further, this process starts immediately after the respective servers are registered in the use state table 100 (see
As shown in the flow chart of
In Step S102, the configuration part 21 refers to the use state table 100 (see
For example, as shown in
In Step 103, the configuration part 21 refers to the configuration information table 300 (see
For example, as shown in
In Step S104, the configuration part 21 refers to the permission definition table 200 (see
For example, as shown in
In Step S105, the configuration part 21 refers to the configuration information table 300 (see
For example, as shown in
In Step S106, the configuration part 21 determines whether the obtained managed object has a parent node. In other words, the configuration part 21 refers to the configuration information table 300 (see
For example, as shown in
When it is determined that the parent managed object is present (Yes in Step S106), the configuration part 21 defines the particular parent managed object as the current managed object in Step 107. Then, the process returns to Step S103 to repeat the same process. In other words, the configuration part 21 obtains the object type of the particular parent managed object (Step S103), and generates the permission definition from the obtained object type and use state (Step S104). Then, the configuration part 21 connects to the particular parent managed object to configure the user information and the permission definition (Step S105). At the same time, the configuration part 21 also configures the permission information corresponding to the permission definition, to the use state table 100 (see
For example, as shown in
Then, the configuration part 21 configures the permission information “Modifier” corresponding to the permission definition “Power Users”, with respect to the managed object “node 7” of the user A51 of the use state table 100 (see
On the other hand, if it is determined that the parent managed object is not present (No in Step S106), in Step S108, the configuration part 21 refers to the use state table 100 (see
If it is determined that the use state is configured for the other managed object or user (Yes in Step S108), the process returns to Step S102. Then, the configuration part 21 repeats the same process.
On the other hand, if it is determined that the use state is not configured for the other managed object or user (No in Step S108), the configuration part 21 ends the process.
According to the first embodiment, it is possible to use the use state 120 (the permission information) of each server configured in the management server 20, to trace the parent server of the particular server as well as the parent server of the particular parent server sequentially, in order to configure the permission for these parent servers, within the permission range corresponding to the particular permission information.
Next, the second embodiment of the present invention will be described with reference to
In the first embodiment, it is assumed that the permission information equivalent to the permission information configured in the management server 20, is configured for each server. However, the second embodiment takes into account that the permission range is different between the permission information configured for a certain server and the permission information configured for the parent server of the particular server. In other words, if the permission information is configured for the parent server of a certain server, the permission may be configured with a smaller permission range. For example, there is a case in which the Modifier permission is desired to be configured for the server virtualization mechanism but the Viewer permission is desired to be configured for the server virtualization management product which is the parent of the server virtualization mechanism. In order to solve this problem, in the second embodiment, the management server 20 also includes the propagation table 400 which will be described below (see
The propagation table 400 will be described with reference to
By using the propagation table 400, it is possible to configure the permission information of the permission range different from the permission information configured in the management server 20, for each object type.
An object type field 410 stores the object type which is an identifier for identifying the type of each server. The value of the object type field 410 corresponds to the value of the object type field 320 (see
The permission information is configured in such a way that the permission information is propagated sequentially to each server based on the propagation table 400. This operation will be described below.
The process operation (2) of the management server 20 will be described with reference to
First the outline of the process is given. The process is designed to use the permission information (see
As shown in the flow chart of
For example, as shown in
In Step S202, the configuration part 21 refers to the propagation table 400 (see
For example, as shown in
In Step S203, the configuration part 21 substitutes the obtained permission propagation information into the use state. Then, the configuration part 21 refers to the permission definition table 200 (see
For example, as shown in
Then, similarly, the configuration part 21 determines that the managed object “node 7” has its parent managed object “node 10” (Yes in Step S106). Then, the configuration part 21 obtains the object type “server virtualization management product” of the managed object “node 10” (Step S201). The configuration part 21 refers to the propagation table 400 (see
According to the second embodiment, it is possible to use the permission information for the server configured in the management server 20, to trace the parent server of the particular server as well as the parent server of the particular parent server sequentially, in order to configure the permission for these parent servers, within the permission range smaller than the permission information of the child server.
Next, the third embodiment of the present invention will be described with reference to
The third embodiment takes into account the state in which each server belongs to a group. The group is defined by the administrator, the users, the management server 20, and the related management server 10 for the purpose of load distribution, fail over, and the like.
For example, the node 3 (the virtual server (for B) 12g) (circle number 3 in
In order to solve this problem, the permission for the user B52 is configured in advance so that the node 3 and the node 8 belong to the same group. In this way, it is possible to configure the permission for the user B52 not only to the node 3 but also to the node 8.
Further, if the node 1 is generally used but the node 7 is used in case of failure, it is necessary to configure the same permission as the node 1 also to the node 7 in advance.
In order to solve this problem, the node 1 and the node 7 are configured so as to belong to the same group, so that the permission is automatically configured for the node 7 in addition to the node 1.
Thus, in the third embodiment, the management server 20 also includes the group definition table 500 which will be described below (see
The group definition table 500 will be described with reference to
The group definition table 500 stores the information on the grouping of each server managed by the management server 20.
A managed object field 510 stores the identifier for identifying each server. The value of the managed object field 510 corresponds to the values of the managed object fields 110 and 310. A belonging group information field 520 indicates the group to which each server belongs. In the third embodiment, the belonging group information field 520 includes a resource group 1 field 521, a resource group 2 field 522, and a resource group 3 field 523. When the number of groups required to be configured increases, it is possible to increase the number of columns of the group field for the additional number of groups.
Note that in the third embodiment, it is assumed that the management server 20 holds all the contents of the group definition table 500, and the configuration management part 22 generates and updates the value of the belonging group information field 520. Note that if part of the information is managed by the related management server 10 for management load distribution, the management server 20 may obtain the information from the related management server 10 each time when it is necessary.
Next, the process operation (3) of the management server 20 will be described with reference to
First the outline of the process is given. The process is designed to use the permission information (see
As shown in the flow chart of
If it is determined that the other managed object belonging to the same group is present (Yes in Step S301), in Step S302, the configuration part 21 defines the particular other managed object as the current managed object. Then, similarly, the configuration part 21 connects to the particular other managed object to configure the user information and the permission definition (Steps S103a to S105a). Note that the process of steps S103a to S105a is the same as the process of steps S103 to S105.
On the other hand, if it is determined that there is no other managed object belonging to the same group (No in Step S301), the process proceeds to Step S108.
For example, as shown in
According to the third embodiment, it is possible to use the permission information (see
Further, it is also possible to use the permission information on each server configured in the management server 20, in order to configure the permission for the other server belonging to the same group as a certain server, within the permission range corresponding to the permission information of the other server.
Process Operation (4) of the Management Sever 20
Next, the process operation (4) of the management server 20 according to the fourth embodiment will be described with reference to
First the outline of the process is given. The process is designed to limit the user permission when the permission information may not be configured for a certain server, by changing the configuration of the parent managed object of the particular managed object.
As shown in the flow chart of
When it is determined that the configuration of the permission information for the managed object is possible (Yes in Step S401), the configuration part 21 configures the user information and the permission definition to the managed object in Step S105.
On the other hand, if it is determined that the configuration of the permission information for the managed object may not be possible (No in Step S401), in Step S402, the control part 24 changes the configuration of the parent managed object of the particular managed object. Here, the configuration of the permission information for the managed object may not be possible, which means the case in which the managed object does not include an interface to configure the user name and the permission information from the outside, or the case in which the permission definition is not present from the beginning. Further, the change in the configuration of the managed object is partitioning, migration of the server, the change from the physical server to the virtual server, and the like. In this way, it is possible to obtain the same effect as the limitation or change of the access rights of the user.
For example, in
According to the fourth embodiment, if the permission information may not be configured for a certain server, it is possible to limit the permission of the user by changing the configuration of the parent managed object of the particular managed object.
Although exemplary embodiments of the present invention have been described hereinabove, it should be understood that the present invention is not limited to these embodiments, but may be modified by those skilled in the art without departing from the spirit and scope of the present invention.
For example, in the description of the first to fourth embodiments, the permission information is used. However, the present invention can also be applied to other information such as control information and authentication information. It should be noted that in the present specification, these information resources are collectively referred to as the management information.
Further, in the foregoing embodiments of the present invention, it is assumed that the processes are performed in the order of steps in the respective flow charts chronologically, but the process steps are not necessarily processed chronologically, and processes that are performed in parallel or individually are also included in the present invention.
Further, appropriate combinations of the components disclosed in the above embodiments can form various inventions. For example, it is possible to delete some components from all the components shown in the exemplary embodiment. Further, it may be appropriately combined components in different embodiments.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/JP2011/060726 | 5/10/2011 | WO | 00 | 10/18/2013 |