This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2014-243835, filed on Dec. 2, 2014, the entire contents of which are incorporated herein by reference.
The present invention relates to an information processing system and a method of controlling the same.
According to a virtualization technique, a hypervisor operating on an information processing device which is a computer or a physical machine (hereinafter, the information processing device will be also referred to as a computer or a physical machine, or simply as a host machine or a host) emulates hardware of a physical machine and boots and creates a plurality of virtual machines (VMs) on the physical machine. The virtualization technique creates a plurality of virtual machines on a plurality of physical machines to realize a service system for a plurality of users. A physical machine on which a virtual machine is booted and created is also referred to as a host machine or simply as a host.
In such a virtualization technique, a live migration of migrating a virtual machine from a migration source host to a migration destination host is needed when performing maintenance of a physical machine and concentrating virtual machines on another physical machine. A live migration is a technique of migrating a virtual machine from one physical machine to another physical machine while maintaining the operating state of the virtual machine. The use of the live migration enables virtual machines to migrate to another physical machine without suspending a service system constructed by the virtual machines.
The virtualization technique is disclosed in Japanese Laid-open Patent Publication No. 2011-248616, No. 2011-118557, No. 10-283210 and No. 2004-133894.
A live migration of virtual machines includes (1) transmitting a memory content of a virtual machine in operation in a migration source host to a migration destination host, (2) transmitting a memory content changed during the transmission, the context which is CPU register information, a hardware emulation state including I/O states, and the like to the migration destination host while pausing the virtual machine on the migration source host, and (3) resuming the virtual machine on the migration destination host.
Thus, memory content transmission time is longer and therefore a load on a network between the hosts is increased. In particular, in a virtual machine in which data is frequently rewritten to a memory, the time taken for memory content transmission increases, and it is difficult to predict the transmission time due to occurrence of retransmission of modified data (dirty pages). Further, in a large-scale cloud system in which a large number of virtual machines are booted on a large number of host machines, a live migration of virtual machines for maintenance of host machines needs a long period and consumes a large network bandwidth.
Moreover, in a live migration, when a hypervisor of a migration source host has a different version from a migration destination host, the migration may fail due to some reasons such as the inability of a migration destination host to inherit a hardware emulation state in a migration source host.
In order to improve the live migration, a method of compressing a memory content to shorten the memory content transmission time has been proposed. However, since compression of memory content increases the CPU usage rate, it is difficult to obtain such an improvement effect as expected. Moreover, transmitting the memory content of a virtual machine to a migration destination host in advance is a waste of the memory resources of the migration destination host and is not desirable.
An information processing system comprises: a plurality of information processing devices; and a management device that manages the plurality of information processing devices, wherein a first information processing device among the plurality of information processing devices includes: an booting unit configured to boot a virtual machine; a reboot detecting unit configured to detect reboot of the virtual machine; and a destroying unit configured to destroy the virtual machine in response to detection of the reboot, and a second information processing device among the plurality of information processing devices includes: an booting unit configured to boot the destroyed virtual machine upon receiving a boot instruction to boot the destroyed virtual machine after the virtual machine of the first information processing device is destroyed.
According to the first aspect, virtual machines are migrated quickly and reliably without impairing user's convenience of virtual machines.
The object and advantages of the invention 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 invention.
In the following description, it will be appropriately expressed that software installed in a physical machine which is an information processing device executes a function of the software. To express exactly, such an operation means that the physical machine executes the software whereby a certain function of the software is executed. However, in the following description, sometimes, it will be simply expressed that software executes its function.
[Information Processing System of Present Embodiment]
Each of the hosts 1, 2, and 3 executes the hypervisor HV to boot and execute one or a plurality of virtual machines VMs. In another expression, the hypervisor HV boots and executes the virtual machine VM. The shared storage 20 stores image files such as a guest operating system (OS) and an application program of the virtual machine VM. The virtual machine VM executes the guest OS and the application program in the image files stored in the shared storage 20 to construct a desired service system.
VM management software 4_1 of the management server 4 causes the hypervisor HV to boot a virtual machine based on configuration information and to pause, resume, and destroy the virtual machine as appropriate. Moreover, the VM management software 4_1 of the management server 4 collects an operation state of a virtual machine from the hypervisor HV and causes the virtual machine to migrate to another physical machine from a physical machine in operation as appropriate. Further, the VM management software 4_1 of the management server 4 provides a portal site to a user terminal 6 of a service system constructed by virtual machines so that the user terminal 6 of the service system performs maintenance of the service system.
The hosts 1, 2, and 3, the management server 4, and the shared storage 20 communicates with each other via a management network M_NW. The user terminal 6 accesses a portal site 4_3 of a cloud computing service provided by the management server 4 via an external network EX_NW. Further, an administrator terminal 7 of the information processing system can access the management server 4 via the management network M_NW, for example. Moreover, the respective virtual machines VMs communicate with each other via a VM network VM_NW. In
The information processing system illustrated in
The large-capacity storage device 16 of the hosts 1, 2, and 3 stores an OS, a hypervisor HV, and the like, for example. The large-capacity storage device 16 of the management server 4 stores an OS, VM management software 4_1, and the like, for example. Moreover, the large-capacity storage device 16 of the software update service sever 5 stores an OS, a software update service program, and the like, for example. Moreover, the OS and the software stored in the large-capacity storage device 16 are loaded into the RAM and are executed by the CPU.
The hypervisor HV of each of the VM hosts 1, 2, and 3 boots a virtual machine corresponding to the image file in the shared storage 20 to execute a virtual machine VM in response to a command to create a virtual machine VM from the VM management software 4_1 of the management server 4.
The configuration information of a virtual machine VM is described in a configuration file of a virtual machine managed by the VM management software 4_1. The configuration file of the virtual machine includes the number of CPUs or CPU cores used by the virtual machine, a CPU usage rate, a memory usage rate, a network bandwidth, and the like, for example. The management server 4 transmits a create command to a hypervisor HV of a VM host by attaching the configuration file of the virtual machine thereto (or indicating the path information of the configuration file).
The process related to a pause command is a process of pausing an operation of a virtual machine VM. When the pause command is issued, although a virtual machine VM still uses the resources such as a memory area, the control of virtualization by a hypervisor HV stops and the execution or the like of an application by the virtual machine VM stops. The process related to a resume command is a process of resuming the paused operation of a virtual machine VM. Moreover, the process related a destroy command is a process of destroying an operation of a virtual machine VM and deleting a virtual machine VM having been created on a VM host. When the destroy command is issued, the data in a memory having been used by the virtual machine VM and information on the commands in the CPU are saved in the image file in the shared storage 20 as appropriate.
[Live Migration]
Subsequently, the VM management software 4_1 boots a migration target virtual machine VM on the migration destination host and puts the virtual machine into a pause state (S2). This process is performed in such a way that the VM management software 4_1 of the management server 4 causes a hypervisor HV of the migration destination host to execute a create command and then execute a pause command.
After that, the hypervisor HV of the migration source host acquires a snapshot (current data) of a memory area being used by the migration target virtual machine VM (S3) and transmits the acquired snapshot to the memory of the migration destination host (S4). The memory data is transmitted continuously until the amount of memory data that needs to be transmitted becomes equal to or smaller than a threshold (S5). When the amount of memory data is not equal to or smaller than the threshold, the hypervisor HV of the migration source host transmits dirty pages written to the memory of the migration source host during transmission of the snapshot to the memory of the migration destination host after the transmission of the snapshot ends.
When the amount of memory data that needs to be transmitted becomes equal to or smaller than the threshold (S5: YES), the hypervisor HV of the migration source host pauses the virtual machine VM of the migration source host and transmits the operation data of the virtual machine in the CPU and the memory of the migration source host to the migration destination host (S7). As a result, the virtual machine VM of the migration destination host has the same operation state as the virtual machine of the migration source host. After that, the hypervisor HV of the migration destination host resumes the virtual machine VM in the pause state (S8). At the same time, the hypervisor HV of the migration source host destroys the migration target virtual machine VM and sends a notification of completion of migration of the virtual machine to the VM management software 4_1 of the management server 4 (S10).
As described above, in a live migration, the same virtual machine VM as that of the migration source host is booted on the migration destination host without destroying the virtual machine VM of the migration source host. The operation of the virtual machine VM is stopped for a very short period until the virtual machine VM is booted on the migration destination host in step S8 after the virtual machine VM of the migration source host is paused in step S6. Thus, the virtual machine VM migrates from the migration source host to the migration destination host without stopping its operation substantially.
However, this live migration has the following problems. A first problem is that a large network bandwidth is consumed since the snapshot of the memory area of a migration source host is transmitted to the memory of a migration destination host. Further, when the volume of the memory data to be transmitted increases, the transmission time also increases. In particular, in a virtual machine VM in which data is frequently rewritten to a memory, it is difficult to predict the time taken until the volume of the memory data to be transmitted reaches a threshold or smaller. Thus, in a large-scale cloud system in which a large number of virtual machines are created and executed on a large number of hosts, maintenance of hosts needs a long period and consumes a large network bandwidth.
A second problem is that, when a hypervisor HV of a migration source host has a different version from a hypervisor HV of a migration destination host, even if a virtual machine VM is booted on the migration destination host, the virtual machine VM does not operate properly, and the live migration may fail. One example of the causes of the failure is a case in which the memory area for storing an operation state is different due to a difference in hypervisor version, and the operation state of a virtual machine in a migration source host is not able to be inherited to a migration destination host.
[Migration in Present Embodiment]
Returning to
Further, the hypervisor HV has a RDM management module RDM_M that destroys a reboot target virtual machine VM in response to detection of a soft reboot by the reboot detection module RDM and notifies the management server 4 of the destruction of the virtual machine.
Moreover, the VM management software 4_1 of the management server 4 has a VM reboot management module 4_2 in addition to a general VM management function. The VM reboot management module 4_2 enables a reboot detection module RDM of a migration target virtual machine VM and sets processes before and after a reboot of a virtual machine VM is detected to a RDM management module RDM_M of a hypervisor HV so that a VM host is changed using a soft reboot of a virtual machine VM as a trigger.
Moreover, the software update service sever 5 provides and applies an OS software updater to a virtual machine VM in operation. For example, the VM management software 4_1 of the management server 4 sets schedules for OS software updates for a migration target virtual machine VM in the information processing system illustrated in
In the present embodiment, the reboot detection module RDM of the hypervisor HV detects the reboot of the virtual machine VM and notifies the RDM management module RDM_M of the reboot. Using this reboot as a trigger, the RDM management module RDM_M destroys the migration target virtual machine VM on the migration source host and notifies the VM reboot management module 4_2 of the VM management server 4 of the destruction of the virtual machine. In response to the notification, the VM reboot management module 4_2 instructs the hypervisor HV of the migration destination host to boot the destroyed virtual machine VM so that the destroyed virtual machine is booted.
Instead of the VM reboot management module 4_2, the RDM management module RDM_M in the hypervisor HV may directly notify the hypervisor HV of the migration destination host of the boot of the destroyed virtual machine VM so that the destroyed virtual machine is booted.
Moreover, it is preferable that the RDM management module RDM_M has a setting for distinguishing a migration target virtual machine from a non-migration target virtual machine. By referring to such a setting, when a reboot of a virtual machine is detected and the virtual machine is a migration target virtual machine, the RDM management module RDM_M causes the virtual machine to be booted on another host rather than booting the virtual machine on the same host. When the virtual machine is a non-migration target virtual machine, the virtual machine is booted on the same host similarly to a normal reboot.
As described above, in the present embodiment, a migration of virtual machines is executed in such a way that, when the hypervisor HV detects a soft reboot of a migration target virtual machine VM, the migration target virtual machine VM on the migration source host is destroyed, and the migration target virtual machine VM is booted on a migration destination host. That is, unlike a live migration, in the present embodiment, a cold migration is executed upon detecting a timing of a reboot of a virtual machine, and the virtual machine is migrated to another host.
As means for causing a reboot of a virtual machine, a forced soft reboot of a migration target virtual machine VM caused by the administrator terminal 7 of the information processing system and an arbitrary soft reboot caused by the user terminal 6 of a virtual machine may be used in addition to a soft reboot accompanied by the OS software update. The forced soft reboot of a migration target virtual machine caused by the administrator terminal 7 is executed when a soft reboot command, the Ctrl-Alt-Delete key, is transmitted to the virtual machine. Moreover, an arbitrary soft reboot realized by the user of a virtual machine is realized when the administrator terminal 7 of the information processing system sends an email to the user of a virtual machine to request a reboot of the virtual machine and waits for a reboot operation on the user terminal 6 which the user performs at an arbitrary timing.
It is assumed that the VM management software 4_1 causes a hypervisor HV of the host 1 to boot a virtual machine VM_1. Moreover, it is assumed that the virtual machine VM_1 on the host 1 migrates to a host 2 for the purpose of maintenance of the host 1 as illustrated in
First, the VM management software 4_1 secures hardware resources, a CPU, a memory capacity, a network bandwidth, and the like needed for creating a virtual machine VM_2 on the migration destination host 2. A specific process of the VM management software 4_1 securing the hardware resources of the virtual machine is the same as that described in step S1 of
The VM management software 4_1 enables a reboot detection module RDM of the migration target virtual machine VM of the migration source host 1 and sets a process in the event of reboot detection to the RDM management module RDM_M (S12). The process in the event of reboot detection is set in the form of a table in which a flag indicating whether or not to execute a reboot migration in the event of reboot detection, a notification destination IP address to which destruction of the migration target virtual machine VM is notified, an IP address, a port number, and the like of a migration destination virtual machine of the migration destination host are stored in association with all virtual machines VMs.
Thus, when a soft reboot occurs in the virtual machine VM_1 in operation on the host 1, a reboot detection module RDM corresponding to the virtual machine VM_1 detects the soft reboot (S13). The reboot detection module RDM notifies a RDM management module RDM_M of the detection of the soft reboot and causes the RDM management module RDM_M to execute a process to be performed after the detection of the soft reboot.
If the virtual machine VM_1 corresponding to the reboot detection module RDM is a migration target virtual machine, the process to be performed after the detection of the soft reboot has been set to the RDM management module RDM_M. Thus, when the virtual machine VM_1 is not a migration target virtual machine, the process in the event of reboot detection has not been designated to the RDM management module RDM_M (S14: NO), and the process ends with not process executed. On the other hand, when the virtual machine is a migration target virtual machine, since the process in the event of reboot detection has been designated to the RDM management module RDM_M (S14: YES), the virtual machine VM_1 in the migration source host 1 of which the reboot has been detected is destroyed (S15). Moreover, the RDM management module RDM_M notifies the VM management software 4_1 of the destruction of the virtual machine VM_1 (S16). When the virtual machine VM_1 is destroyed, data that needs to be stored such as the data in the memory during operation of the virtual machine VM_1 or the CPU register information is saved in the image file of the shared storage 20.
In the example of
On the other hand, in the example of
In a reboot migration according to the present embodiment, a virtual machine on a migration source host is destroyed using a reboot of a migration target virtual machine as a trigger and thereafter a virtual machine on a migration destination host is booted. Thus, there is no need to transmit data in the memory of a virtual machine in operation from a migration source host to a migration destination host. Further, even when a hypervisor HV of a migration destination host has a different version from a hypervisor of a migration source host, since the migration destination host does not inherit the operation state of the virtual machine on the migration source host, there is little possibility that boot of a virtual machine on the migration destination host fails.
That is, after the process S18 of booting the virtual machine VM, the hypervisor HV of the migration destination host 2 checks whether boot of the virtual machine VM on the migration destination host 2 was successful (S19). When the boot has failed due to some reasons, the hypervisor HV of the migration destination host 2 notifies the VM management software 4_1 of the management server 4 of the failure of boot (S20). In response to this notification, the VM management software 4_1 instructs the hypervisor HV of the migration source host 1 to boot the destroyed virtual machine VM so that the virtual machine VM is booted by the hypervisor HV (S21). Since the hypervisor HV is a hypervisor HV of the migration source host 1, there is little possibility that boot of the virtual machine VM fails. However, migration of the migration target virtual machine VM to a migration destination host is not completed.
In
[Virtual Machine Reboot Detection Process]
First, when a soft reboot operation is performed in a virtual machine VM of a migration source host (S30: YES), a guest OS on the virtual machine VM starts a process of destroying (shutting down) the virtual machine VM (S31). After the shutdown process starts, the guest OS on the virtual machine VM stops all programs (S32). Further, the guest OS on the virtual machine VM calls a reboot routine using a BIOS call (S33). A reboot detection module RDM of the hypervisor HV of the migration source host detects the call of the reboot routine of the virtual machine VM (S34) and notifies the RDM management module RDM_M of the detection of the reboot of the virtual machine VM (S35).
As described above, according to the present embodiment, by adding a reboot detection module RDM that detects the call of the reboot routine of the virtual machine to the hypervisor HV, a soft reboot of the virtual machine VM is detected.
In the process table example illustrated in
On the other hand, since virtual machines VM_02 and VM_03 are migration target virtual machines, the reboot migration flags thereof are set to “1”. Thus, when a soft reboot of the virtual machines VM_02 and VM_03 is detected, the RDM management module RDM_M executes a reboot migration process on the virtual machines VM_02 and VM_03.
Although the IP address of a notification destination management server is set for the virtual machine VM_02, the IP address and the port number of a migration destination host are not set. Thus, when a soft reboot of the virtual machine VM_02 is detected, the RDM management module RDM_M destroys the virtual machine VM_02 and notifies the VM management software 4_1 of the management server 4 of the destruction. In response to this notification, the VM management software 4_1 instructs the hypervisor HV of the migration destination host to boot the virtual machine VM_02 so that the virtual machine VM_02 is booted. That is, the reboot migration process illustrated in
On the other hand, the IP address of a notification destination management server and the IP address and the port number of a migration destination host are set for the virtual machine VM_03. Thus, when a soft reboot of the virtual machine VM_03 is detected, the RDM management module RDM_M destroys the virtual machine VM_03 and notifies the VM management software 4_1 of the management server 4 of the destruction. Further, the RDM management module RDM_M instructs a hypervisor HV of the migration destination host to boot the virtual machine VM_03 so that the virtual machine VM_03 is booted. That is, the reboot migration process illustrated in
[Migration Triggered by Reboot in Second Embodiment]
Returning to
Further, the VM management software 4_1 sets the process to be performed after a soft reboot is detected to the RDM management module RDM_M of the hypervisor HV of the migration source host for all virtual machines VMs of the migration source host (S43).
[Migration Triggered by Reboot in Third Embodiment]
Further, the VM management software 4_1 sets the process to be performed after a soft reboot is detected to the RDM management module RDM_M of the hypervisor HV of the migration source host for all virtual machines VMs of the migration source host (S63).
Subsequently, the VM management software 4_1 instructs the software update service sever 5 to apply software updates to a migration target virtual machine VM (S64). Moreover, the VM management software 4_1 sets a migration plan table based on an approximate update time of the software update service sever 5 (S65). These steps S64 and S65 are different from
Although the software update service sever 5 sends a notification to the respective virtual machines to apply updates, the approximate time taken for the updating executed in response to the notification is approximately 15 minutes. Thus, it is expected that a soft reboot occurs 15 minutes after the notification, and migration of most of the virtual machines is completed in the elapsed time of 18 minutes.
However, depending on the usage condition of virtual machines, there is a case in which an update is not executed and a soft reboot operation is not performed after the update. Thus, it is preferable that the VM management software 4_1 checks the number of migrated virtual machines in an intermediate elapsed time, and the VM management software 4_1 causes a hypervisor HV to live-migrate a virtual machine to which the update has not being applied based on a live migration.
In the third embodiment, the software update service sever 5 notifies virtual machines on a maintenance target host of application of software updates according to a plan. Thus, it is expected that the virtual machines apply the updates and a soft reboot occurs in the virtual machines unless other special circumstances occur. Therefore, it is expected that a migration target virtual machine is rebooted according to a plan, and using the reboot as a trigger, the migration target virtual machine is destroyed on a migration source host and is booted on another host.
Thus, the VM management software 4_1 asks the software update service sever 5 of an update application state in the non-migrated virtual machine (S73). When the non-migrated virtual machine VM has not applied or has failed to apply the updates (S74: YES), the VM management software 4_1 notifies the hypervisor HV to start a live migration of the virtual machine so that the live migration starts (S75). A The reason why a virtual machine has not applied or has failed to apply the updates may be for example a situation in which a target virtual machine is not able to be soft-rebooted. On the other hand, if the non-migrated virtual machine is applying updates, a standby is performed until the updates are completely applied to the virtual machine.
In the present embodiment, a migration is executed using a soft reboot caused by the user of virtual machines as a trigger. However, a forced reboot of virtual machines caused by an administrator terminal of an information processing system of a server facility, or a soft reboot caused by a user in response to a soft reboot request email sent from the VM management software 4_1 to a user terminal of a virtual machine may be used, in addition to a soft reboot of virtual machines caused by a user terminal of virtual machines.
As described above, according to the migration triggered by a reboot according to the present embodiment, since it is not needed to transmit data in the memory of a migration source host to a migration destination host in the case of live migration, the migration does not need a long period and does not consume a large network bandwidth. Further, even when a hypervisor HV of a migration source host has a different version from a migration destination host, there is little possibility that boot of a virtual machine on the migration destination host fails.
Moreover, according to the migration triggered by a reboot according to the present embodiment, it is possible to control the time to migrate a virtual machine to some extent using an update service provided by a software vendor and to facilitate the planned maintenance of hosts and the host sizing.
All examples and conditional language provided herein are intended for the pedagogical purposes of aiding the reader in understanding the invention and the concepts contributed by the inventor to further the art, and are not to be construed as limitations 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 one or more embodiments of the present invention have 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 |
---|---|---|---|
2014-243835 | Dec 2014 | JP | national |