This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2008-201433, filed on Aug. 5, 2008, the entire contents of which are incorporated herein by reference.
The embodiment discusses herein is directed to a technology for performing automatic network setting on servers each of which is applied with a virtualization technology.
In recent years, demands for implementing outsourcing of information processing systems of service enterprises and the like are increased, and the market thereof is expanded. A data center collectively undertaking such outsourcing includes a server node pool configured by a plurality of servers. Then, service programs for processing customers' services of which outsourcings are consigned are discretely allocated to the plurality of servers configuring the server node pool, according to functions thereof, and also, these servers are physically network-connected.
In the server node pool described above, in order to separately administrate the services of the plurality of customers, a technology for setting a virtual machine environment in each server is generalized. To be specific, in each server, as a virtual operating system (hereunder, “operating system” is to be referred to as an OS (operating system), i.e., virtual OS, and the same rule will be applied to other operating systems), a host OS being a basis in the virtual machine environment is operated, and also, a guest OS as an environment for executing the service program is operated. Thus, even in the case where the service programs for the plurality of customers are processed on the same server, it is possible to avoid that data processed by the service programs for the customers are mixed among the customers. Further, in such a server node pool, since the physical network among the servers is shared by the plurality of customers, in order to avoid information leakage among the customers, unauthorized access and the like, a method described below is further adopted. Namely, the physical network among the servers is sectioned in L2 (Layer-2) sections using a VLAN (Virtual Local Area Network) technology or is sectioned using a VPN (Virtual Private Network) technology to thereby virtually divide the physical network, so that a virtual intranet is set up for each customer (refer to Japanese National Publication of International Patent Application No. 2004-503011).
Here, during consecutive operations of such a system, there may be caused necessity of alteration or relocation of system configuration. In such a case, a guest OS that has operated in a certain server is shifted (migrated) to another server. At this time, it is necessary to establish a virtual network connection between connection target servers which have been virtually network-connected to a migration source server, and a new migration target server. Therefore, it is necessary to perform again virtual network setting on both of the migration target server and the connection target servers.
However, since a virtual network configuration of the server node pool is complicated, the virtual network setting work for the migration target server and all of the connection target servers requires a large burden and also takes a long time. Further, it is firstly difficult to grasp what servers the migration source server has been virtually network connected to, and also, mistakes such as setting failure or the like are susceptible to arise. Furthermore, during the migration of the guest OS, data transmitted from the connection target servers to the migration objective guest OS may not be normally processed and returned as errors to the connection target servers being transmission sources. Therefore, at every migration of the guest OS, processing of customer's service is interrupted to thereby cause troubles in the customer's service.
According to an aspect of the embodiment, a computer connected to a plurality of servers each including a virtual machine environment in which a host OS and a guest OS are operable as virtual OS, executes the following processes. Namely, when an operator issues an instruction to migrate the guest OS from a migration source server to a migration target server, a connection target server of the migration source server is specified, and also, connection information necessary for establishing a virtual network connection between the connection target server and the migration target server is acquired. Then, before the guest OS is migrated, in the connection target server, transmission data transmitted to the migration objective guest OS is set to be looped back. Further, after the guest OS is migrated, the virtual network connection is set to the migration target server, so that the transmission data for the guest OS that operates in the connection target server is transmitted from the migrated guest OS. On the other hand, in place of loopback setting, the virtual network connection is set to the connection target server, so that the transmission data is transmitted to the migration objective guest OS migrated to the migration target server.
The object and advantages of the embodiment will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the embodiment, as claimed.
In the plurality of servers 20 configuring the server node pool, service programs for processing the services of plural customers who consigned outsourcing to the data center are arranged. Further, each server 20 is provided with a virtual machine environment capable of operating a virtual OS. Furthermore, the servers 20 establish the VPN connection to one another in P2P (Peer to Peer) using a virtual (private) network (VPN: Virtual Private Network), and the system is divided for each customer to thereby set up a virtual intranet. Incidentally, the above virtual intranet divided for each customer is connected to own system of individual customer.
Next, referring
In the server 20, the virtual machine environment is set up, and a host OS 30 and a guest OS 40 operate as virtual OS. The host OS 30 and the guest OS 40 are controlled on a hypervisor functioning as an OS control program.
Further, the server 20 is provided with a physical NIC (Network Interface Card) 50 for performing communications with other computers. Then, the server 20 is allocated with a physical IP address which is uniquely identified in the server node pool. Furthermore, each of the host OS 30 and the guest OS 40 operating in the server 20 is provided with virtual NIC 60, and communications between the host OS 30 and the guest OS 40 in the same server are performed using this virtual NIC 60. Then, the guest OS 40 operating in the server is allocated with a customer IP address as a virtual IP address which is a unique address different from the physical IP address.
Further, the host OS 30 includes an element described below. Namely, the host OS 30 includes a routing section 30A that, when transmission data is received from the guest OS 40, specifies tunnel information for transmitting the transmission data via the VPN connection. As illustrated in
On the other hand, the guest OS 40 includes a customer's service processing section 40A that executes the service program. Incidentally, in an example of
Here, referring the example of
By adopting the configuration described above, in the case where the data transmission and reception is performed between the own server 20 and the other server 20 in the service program, in the guest OS 40, only the customer IP address of the transmission target may be set to the transmission data, and the setting of the physical IP address and the VPN connection is performed by the host OS 30. Therefore, when the customer accesses the server to execute the service program and communicate with the other server, it becomes possible to perform such communications without the necessity of directly controlling the host OS 30. Accordingly, it becomes possible to perform the communications with the other server without providing a control authorization of the host OS 30 to the customer, and consequently, it is possible to prevent troubles, such as erroneous alteration of the environment setting of the host OS 30 by the customer.
Next, there will be described the administrative manager 10 that administrates the entirety of servers 20 described above.
The service migrating command receiving section (unit) 10A is connected to an input device which can be operated by an operator. Then, the service migrating command receiving section 10A receives a service migrating command to migrate the guest OS 40 operating in the server 20 to the other server 20, which is input by the operator. In this service migrating command, the guest OS being a migration objective and a migration source server in which the migration source guest OS operates, and also, a migration target server being migration target of the migration objective guest OS, are designated.
The connection target specifying section 10B specifies a connection target server which establishes the VPN connection to the migration source server.
The connection information acquiring section 10C acquires connection information necessary for establishing the VPN connection between the connection target server and the migration target server.
The guest OS migrating section 10D is network-connected to each of the servers 20, and migrates the migration objective guest OS from the migration source server to the migration target server. At this point, the service program which has been executed on the guest OS in the migration source server becomes executable on the guest OS migrated to the migration target server.
The network setting section 10E is network connected to each of the servers 20, and makes VPN setting of the host OS 30 in the connection target server to be in a loopback state, before the guest OS is migrated. On the other hand, the network setting section 10E sets the connection information to the host OS 30 of the connection target server and the host OS 30 of the migration target server, after the guest OS is migrated.
The service administration table 10F indicates, for each of service program types based on functions of the service programs, the servers 20 in which the service programs of respective service program types are executed. As illustrated in
The physical IP address table 10G indicates the physical IP addresses of the servers 20, and, as illustrated in
The interface administration table 10H indicates the tunnels to be used for the VPN connection among the servers 20, and, as illustrated in
In step 1 (to be abbreviated as S1 in
In step 2, referring to the physical IP address table 10G, the physical IP address of the connection target server is acquired.
In step 3, referring to the service administration table 10F, the customer IP address of the guest OS 40 of the connection target server is acquired.
In step 4, the tunnel addressed to the customer IP address of the migration objective guest OS, which is set to the routing setting table in the host OS of the connection target server, is changed to loopback (lo). Similarly, the tunnel information which is set in the interface administration table 10H, in which the connection target server is set as the transmission source server, and also, the migration source server is set as the transmission target server, is updated to be in the loopback state.
In step 5, the tunnel settings between the host OS in the connection target server and that in the migration source server, in the tunneling setting tables, are deleted. Similarly, the tunnel information which is set in the interface administration table 10H, in which the migration source server is set as the transmission source server, is deleted.
In step 6, the migration objective guest OS is migrated from the migration source server to the migration target server. Incidentally, at this point, the customer IP address of the migration objective guest OS is maintained as it is.
In step 7, in the tunneling section 30B of the migration target server, a new tunnel to be used for establishing the VPN connection to the connection target server is set. Namely, the tunnel to be used for establishing the VPN connection to the connection target server is determined, and the tunnel information of the new tunnel and the physical IP address of the connection target server are set to the tunneling setting table in the tunneling section 30B of the migration target server. Further, similarly to the above, a tunnel to be used for the VPN connection from the connection target server to the migration target server is determined, and the tunnel information of the set tunnel and the physical IP address of the migration target server are set to the tunneling setting table in the tunneling section 30B of the connection target server.
In step 8, the customer IP address of the connection target server and the tunnel information to be used for the VPN connection to the connection target server are set to the routing setting table in the routing section 30A of the migration target server. Further, the loopback setting of the tunnel information corresponding to the customer IP address of the migrated guest OS, in the routing setting table in the routing section 30A of the connection target server, is cancelled, and alternatively, the tunnel information to be used for the VPN connection to the migration target server is set.
In step 9, information of the guest OS of the migration target server is registered in the service administration table 10F and the interface administration table 10H.
Incidentally, when a plurality of connection target servers is determined in step 1, the above steps 2 to 9 are executed for the plurality of connection target servers.
Here, there will be described the network setting process executed by the administrative manager 10 by indicating a specific example. An example of server configuration as illustrated in
Further, in this example, the service administration table 10F, physical IP address table 10G and interface administration table 10H of the administrative manager 10 are set as illustrated in
Furthermore, in this example, the settings as illustrated in
Then, when the service migrating command is received in the service migrating command receiving section 10A, the connection target specifying section 10B refers to the interface administration table 10H illustrated in
Here, the network setting section 10E changes the tunnel (tun0) addressed to the migration objective guest OS, that is, to the customer IP address of the guest OS in the server α, which is set to the routing setting table in the host OS of the server γ as illustrated in
Further, as illustrated in
Further, as illustrated in
Further, as illustrated in
Then, by the above process, the guest OS is migrated from the server α to the server β, and also, the VPN connection is established between the server γ and the server β, as illustrated in from
According to the network setting process described above, by referring to the interface administration table 10H in the administrative manager 10, the connection target server which has been connected to the migration source server in which the migration objective guest OS operates, is specified. Further, by referring to the service administration table 10F and the physical IP address table 10G, the information necessary for the VPN connection from the migration target server to the connection target server, that is, the customer IP address of the guest OS which operates in the connection target server and the physical IP address of the connection target server, is acquired. Then, after the guest OS is migrated from the migration source server to the migration target server, using the connection information thereof, the customer IP address of the migration objective guest OS and the physical IP address of the migration target server, the VPN connection is set so as to enable the mutual VPN connection between both of the host OS of the migration target server and the host OS of the connection target server. Thus, the VPN connection between the migration target server and the connection target server is automatically set, so that time and burden necessary for the setting can be considerably decreased. Further, mistakes during the setting work can be prevented.
Further, in the process described above, before the guest OS is migrated, the setting of the VPN connection from the connection target server which has been connected to the migration source server in which the migration objective guest OS operates, to the migration source server, is changed to loopback. Then, the guest OS is migrated, and thereafter, the VPN connection is set between both of the host OS of the migration target server and the host OS of the connection target server. Therefore, the data transmitted from the guest OS of the connection target server to the migration objective guest OS during the migration of the guest OS, is not returned as errors to the connection target server being the transmission source. Accordingly, although the service program executed in the guest OS of the connection target server being the data transmission source may transmits data again, the service program processing itself is not interrupted immediately as errors. Consequently, the service program processing is not interrupted during the migration of the guest OS, and therefore, it becomes possible to perform the migration work without interfering with the customer's service processing.
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor for furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiment of the present invention has been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2008-201433 | Aug 2008 | JP | national |