This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2016-158605, filed on Aug. 12, 2016, the entire contents of which are incorporated herein by reference.
The embodiment discussed herein is related to a storage medium, a method, and a device.
In recent years, along with the improvement of the performance of physical machines, study of virtualization technology for integrating multiple Virtual Machines (VM) into one physical machine has been advanced. The virtualization technology lets, for instance, virtualization software (hereinafter also referred to as hypervisor) assign a physical machine to multiple virtual machines, and enables services to be provided by an application program (hereinafter also referred to as an application) installed in each of the virtual machines.
In the above-mentioned virtual machines, an administrator who manages the virtual machines (hereinafter also simply referred to as an administrator) performs migration (hereinafter referred to as migration) of a virtual machine between physical machines as desired, This allows the administrator to reallocate virtual machines according to a situation of usage of services by users, for instance. Thus, it is possible for the administrator to achieve efficient use of physical resources of the physical machine.
Related techniques are disclosed in, for example, Japanese Laid-open Patent Publication Nos. 2010-244524 and 2015-011569.
According to an aspect of the invention, a non-transitory storage medium stores a program that causes a computer to execute a process. The process includes, for each of a plurality of virtual machines set as targets for migration between a plurality of physical machines included in an information processing system, first obtaining information on a virtual machine from among the plurality of virtual machines, migration information, first state information, and time information, the migration information including information in which information on a physical machine at a migration source of the virtual machine and information on a physical machine at a migration destination of the virtual machine are associated with each other, the first state information indicating a state of each of the plurality of physical machines and the plurality of virtual machines, the time information indicating a time taken for the migration of each of the plurality of virtual machines between the plurality of physical machines, The process further includes first determining a priority of each of the plurality of virtual machines based on the time information, first identifying a first virtual machine group based on the migration information and the first state information, the first virtual machine group including each, virtual machine which is migratable to the physical machine of the migration destination, among the plurality of virtual machines, first instructing each virtual machine included in the first virtual machine group to migrate to the physical machine of the migration destination respectively, based on the determined priority. The process further includes, in response to completion of the migration of one virtual machine included in the first virtual machine group to the physical machine of the migration destination, second obtaining second state information indicating a state of each of the plurality of physical machines and the plurality of virtual machines, second identifying a second virtual machine group based on the migration information and the second state information, the second virtual machine group including each virtual machine which is migratable to the physical machine of the migration destination, among the plurality of virtual machines, and second instructing each virtual machine included in the second virtual machine group to migrate to the physical machine of the migration destination respectively, based on the determined priority.
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 as claimed.
When migration of a virtual machine as mentioned above is performed, an administrator sets, for instance, a physical machine with remaining physical resources to a migration destination among physical machines in which virtual machines operate, and performs the migration of the virtual machine. However, in this case, physical machines which may be set to a migration destination of a virtual machine are limited to those physical machines that have remaining physical resources at the present moment. Therefore, allocation of virtual machines after the migration of the virtual machines is performed may not be optimal allocation of the virtual machines from the viewpoint of efficient use of the physical resources of the physical machines.
To cope with this, an administrator may utilize mathematical programming such as an optimization solver, thereby making it possible to determine an allocation (hereinafter referred to as an optimal allocation) of virtual machines in advance, which enables the most efficient use of the physical resources of physical machines. However, in the allocation of virtual machines calculated by the mathematical programming, a situation of remaining physical resources of each physical machine during migration of each virtual machine, and a difference in the times taken for migration of the virtual machines are not taken into consideration. For this reason, it may be difficult for the administrator to identify a migration order of virtual machines for reallocating the virtual machines in the optimal allocation.
In an aspect of this embodiment, a migration order of virtual machines in reallocation of the virtual machines is determined
The physical machine 2 includes multiple physical machines, for instance. Each of the physical machines has a central processing unit (CPU), a dynamic random access memory (DRAM), and a large capacity memory such as a hard disk drive (HDD). The physical resources of the physical machine 2 are allocated to multiple virtual machines 3.
The information processing apparatus 1 is accessible to the virtual machines 3, and manages the virtual machines 3 generated in the physical machine 2. The information processing apparatus 1 may be generated by the virtual machines 3, for instance.
The virtual machines 3 provide their infrastructure to users via a network (hereinafter also referred to as a cloud service).
The cloud service is service that provides the foundation for implementing and operating a computer system via a network, that is, infrastructure such as the virtual machines 3 and a network. Also, a user selects, for instance, the specification for the virtual machines 3 via a user terminal 11, for instance, the clock frequency of a CPU, the capacity of a memory, the capacity of a hard disk and the communication bandwidth of a network. Then the user signs a contract with the cloud service. In addition, a user is allowed to monitor an operating state of the virtual machine 3 and to operate the virtual machine 3 via a user terminal 11, for instance.
A virtualization software 4 is an infrastructure software that allocates a CPU, a memory, a hard disk and a network of the physical machine 2 to the virtual machine 3 according to an instruction from the information processing apparatus 1, thereby causing the virtual machine 3 to operate. The virtualization software 4 is operated in the physical machine 2, for instance. In addition, the virtualization software 4 performs migration of the virtual machine 3 between physical machines 2, for instance,
Next, an example virtual machine 3 allocated in the physical machine 2 will be described.
In the example illustrated in
In the example illustrated in
In the virtual machines 3 as illustrated in
When migration of a virtual machine 3 is performed, the administrator performs migration, for instance, on a physical machine 2 with remaining physical resources among the physical machines 2 in which virtual machines 3 operate. However, in this case, physical machines 2 to which a virtual machine 3 is migratable are limited to those physical machines 2 that have remaining physical resources at the present moment, Therefore, allocation of the virtual machines 3 after the migration of the virtual machine 3 may not be optimal allocation of the virtual machine 3 from the viewpoint of efficient use of the physical resources of the physical machines 2,
To cope with this, the administrator may utilize mathematical programming (for instance, an optimization solver). Thus, it is possible for the administrator to calculate an optimal allocation of the virtual machines 3, which allows the most efficient use of the physical resources of the physical machines 2 as indicated by the arrows of FIG, 2. However, in the allocation of the virtual machines 3 calculated by the mathematical programming, a situation of remaining physical resources of the physical machines 2 during migration of each virtual machine 3 is not taken into consideration,
In the example illustrated in
However, in the example illustrated in
Also, in the example illustrated in
However, in the example illustrated in
Therefore, the virtual machine 3C and the virtual machine 3F are not concurrently migratable to the physical machine 2 as a migration destination.
Also, in the example illustrated in
However, in the example illustrated in
Therefore, even when the administrator calculates an optimal allocation utilizing mathematical programming, it may be difficult to identify a migration order of the virtual machines 3 for reallocating the virtual machines 3 in the optimal allocation.
In addition, the times taken for the virtual machines 3 to migrate between the physical machines 2 may be not fixed. Thus, due to the necessity for reducing the total time taken for migration of all the virtual machines 3, it is preferable for the administrator to determine a migration order of the virtual machines 3 in consideration of a difference in the times taken for migration of the virtual machines 3.
Thus, the information processing apparatus 1 in this embodiment determines a priority of each virtual machine 3 based on information (hereinafter also referred to as time information) which indicates the time taken for migration of each virtual machine 3 between physical machines 2. The information processing apparatus 1 identifies a virtual machine 3 (hereinafter also referred to as a first virtual machine group) which is migratable to the physical machine 2 at a migration destination based on information (hereinafter also referred to as migration information) on the physical machine 2 of the migration source and migration destination of each virtual machine 3, and state information (hereinafter also referred to as first state information) which indicates the state of each physical machine 2 and each virtual machine 3. In addition, the information processing apparatus 1 instructs each virtual machine 3 included in the first virtual machine group to migrate to the physical machine 2 at a migration destination based on the priority of the virtual machine 3.
Subsequently, the information processing apparatus 1 identifies a virtual machine 3 (hereinafter also referred to as a second virtual machine group) which is migratable to the physical machine 2 at a migration destination, based on the migration information and state information (hereinafter, referred to as second state information) indicating the state of each physical machine 2 and each virtual machine 3 after migration of one of the virtual machines 3 is completed. The information processing apparatus 1 then instructs each virtual machine 3 included in the second virtual machine group to migrate to the physical machine 2 at a migration destination based on the priority of the virtual machine 3.
Specifically, the information processing apparatus 1 determines a higher priority of the virtual machine 3, for instance for a larger time indicated by the time information of the virtual machine 3. Also, the information processing apparatus 1 determines a higher priority of a virtual machine 3, for instance for a larger number of virtual machines 3 each of which is not migratable to the physical machine 2 at a migration destination unless the virtual machine 3 is first migrated. The information processing apparatus 1 refers to the priority determined for each virtual machine 3, and determines an order of the virtual machines 3 for instructing migration to the physical machine 2 at a migration destination.
Thus, when multiple migratable virtual machines 3 are present in the physical machine 2 at a migration destination, the information processing apparatus 1 is able to preferentially migrate a virtual machine 3 that produces the greatest effect on reducing the time taken for migration of all the virtual machines 3. Thus, even when the times taken for migration of the virtual machines 3 are varied, it is possible for the information processing apparatus 1 to determine an order of migration that reduces the time taken for migration of all the virtual machines 3 to the physical machine 2 at a migration destination.
Also, when migration of one of the virtual machines 3 is completed, the information processing apparatus 1 again acquires the state information (the second state information) the reflects the state after migration of the virtual machine 3 is completed, and identifies a virtual machine 3 which is migratable to the physical machine 2 at a migration destination.
Thus, in response to a change in available state of the physical resource of each physical machine 2, the information processing apparatus 1 is able to identify a new virtual machine 3 which has become migratable. Thus, it is possible for the information processing apparatus 1 to update selection of a virtual machine 3 as desired for instructing migration to the physical machine 2 at a migration destination. Therefore, it is possible for the information processing apparatus 1 to search for an order of migration for reallocating virtual machines 3 based on the optimal allocation of the virtual machines 3.
Next, the hardware configuration of the information processing apparatus 1 will be described.
The information processing apparatus 1 has a CPU 101 which is a processor, a memory 102, an external interface (I/O unit) 103, and a storage medium (storage) 104. Those components are coupled to each other via a bath 105.
The storage medium 104 stores a program 110 in a program storage area (not illustrated) in the storage medium 104 for executing the processing (hereinafter also referred to as migration control processing) that controls migration of the virtual machines 3.
As illustrated in
The storage medium 104 has, for instance, an information storage area 130 (hereinafter also referred to as a memory unit 130) that stores information which is used when the migration control processing is performed. Also, an external interface 103 communicates with the physical machines 2.
Next, the software configuration of the information processing apparatus 1 will be described.
As illustrated in
The allocation determination unit 111 utilizes mathematical programming (for instance, an optimization solver) to calculate the optimal allocation of the virtual machines 3, which allows the physical resources of the physical machines 2 to be used most efficiently. The allocation determination unit 111 then generates migration target information 131 which includes information on the calculated optimal allocation. The migration target information 131 is information in which information by which the virtual machine 3 is identifiable, information by which the physical machine 2 at a migration source of the virtual machine 3 is identifiable, and information by which the physical machine 2 at a migration destination of the virtual machine 3 is identifiable are associated with each other for each of multiple virtual machines 3 that migrate between the physical machines 2. Also, the migration target information 131 may include, for instance, the time (hereinafter also referred to as time information 131a) taken for migration of each virtual machine 3 between the physical machines 2. Hereinafter, description is given under the assumption that the migration target information 131 includes the time information 131a. An example of the migration target information 131 will be described later.
The information acquisition unit 112 acquires the migration target information 131 generated by the allocation determination unit 111. In addition, the information acquisition unit 112 acquires state information 132 (hereinafter also referred to as first state information 132a) that indicates the state of each of multiple physical machines 2 and multiple virtual machines 3. The state information 132 provides, for instance, information on available capacity in the physical resource of each of multiple physical machines 2, and information on the amount of use of the physical resource used for operating each of multiple virtual machines 3. An example of the state information 132 will be described later. In addition, the information acquisition unit 112 acquires, for instance, the time information 131a included in the migration target information 131.
Also, after migration of the virtual machine 3 is completed, the information acquisition unit 112 acquires the state information 132 (hereinafter also referred to as second state information 132b) that reflects a change in the state due to the completion of migration of the virtual machine
The priority determination unit 113 determines the priority of each of multiple virtual machines 3 based on the time information 131a included In the migration target information 131, The priority determination unit 113 then generates the priority information 133 that includes information indicating the determined priority.
The information management unit 114 generates the migration candidate information 134, the migration determination information 135, the migration incomplete information 136 and the remaining resource information 137. The migration candidate information 134 is information that identifies a virtual machine 3 migratable to the physical machine 2 at a migration destination among the virtual machines 3 each of which has to be migrated to the physical machine 2 at a migration destination. Also, the migration determination information 135 is information that identifies a virtual machine 3 which is migrating to the physical machine 2 at a migration destination among the virtual machines 3 with their information included in the migration candidate information 134. Also, the migration incomplete information 136 is information that identifies a virtual machine 3 which is not migratable to the physical machine 2 at a migration destination among the virtual machines 3 each of which has to be migrated to the physical machine 2 at a migration destination. Furthermore, the remaining resource information 137 is information on the current remaining amount of the physical resource of each physical machine 2 and on the current remaining amount of the network resource between the physical machines 2. An example of each of the migration candidate information 134, the migration determination information 135, the migration incomplete information 136 and the remaining resource information 137 will be described later.
The virtual machine group identification unit 115 identifies a virtual machine group (the first virtual machine group) that includes virtual machines 3 each migratable to the physical machine 2 at a migration destination among multiple virtual machines 3, based on the migration information 131 and the first state information 132a. Also, the virtual machine group identification unit 115 identifies a virtual machine group (the second virtual machine group) that includes virtual machines 3 each migratable to the physical machine 2 at a migration destination among multiple virtual machines 3, based on the migration information 131 and the second state information 132b.
The migration instruction unit 116 instructs each virtual machine 3 included in the first virtual machine group to migrate to the physical machine 2 at a migration destination based on priority information 133. In addition, the migration instruction unit 116 instructs each virtual machine 3 included in the second virtual machine group to migrate to the physical machine 2 at a migration destination based on priority information 133.
It is to be noted that hereinafter, description is given under the assumption that the physical resources of the physical machine 2 are the disk capacity and the memory capacity of the physical machine 2. However, the physical resources of the physical machine 2 may include, for instance, the number of CPUs and the usage rate of each CPU. The information processing apparatus 1 may perform the migration control processing by utilizing information on at least one of the disk capacity, the memory capacity, the number of CPUs, and the amount of CPUs, for instance. The dependence virtual machine information 138 and the dependence virtual machine group information 139 will be described later.
Next, the outline of a first embodiment will be described.
As illustrated in
When migration timing of a virtual machine 3 occurs (YES in S1), for each virtual machine 3, the information processing apparatus 1 acquires the migration target information 131 in which information on the virtual machine 3, information on the physical machine 2 at a migration source of the virtual machine 3, and information on the physical machine 2 at a migration destination of the virtual machine 3 are associated with each other (S2). Also, the information processing apparatus 1 acquires the first state information 132a that indicates the state of each of multiple physical machines 2 and multiple virtual machines 3 (S3). In addition, the information processing apparatus 1 acquires the time information 131a that indicates the time taken for migration of each virtual machine 3 between the multiple physical machines 2 (S4).
Next, the information processing apparatus 1 determines the priority of each of the multiple virtual machines 3 based on the time information 131a acquired by the processing in 54 (S5). That is, when time information 131a corresponding to each virtual machine 3 indicates different information, in order perform migration of all the virtual machines 3 efficiently, it is preferable that the information processing apparatus 1 first migrate, for instance, a virtual machine 3 for which the time information 131a indicates a longer time. Thus, in the processing of S5, the information processing apparatus 1 determines a priority which serves as a determination criterion used when an order migration of the virtual machines 3 is determined.
Next, the information processing apparatus 1 identifies the first virtual machine group that includes virtual machines 3 each migratable to the physical machine 2 at a migration destination among the multiple virtual machines 3, based on the migration information 131 acquired by the processing of 52 and the first state information 132a acquired by the processing of S3 (S6). Based on the priority determined by the processing of S5, the information processing apparatus 1 instructs each virtual machine 3 included in the first virtual machine group identified by the processing of S6 to migrate to the physical machine 2 at a corresponding migration destination (S7).
In other words, when multiple migratable virtual machines 3 (virtual machines 3 included in the first virtual machine group) are present in the physical machine 2 at a migration destination, the information processing apparatus 1 refers to the priority determined by the processing of S5, and determines a virtual machine 3 to be migrated to the physical machine 2 at a migration destination, Thus, the information processing apparatus 1 is able to preferentially migrate a virtual machine 3, which produces the greatest effect on reducing the time taken for migration of all the virtual machines 1
Subsequently, as illustrated in
In other words, when migration of one of the virtual machines 3 is completed, available state of the physical resource of each physical machine 2 changes. Therefore, with the completion of migration of the one virtual machine 3, there is a possibility that a virtual machine 3 may occur, which is newly migratable to the physical machine 2 at a migration destination. Thus, when migration of one of the virtual machines 3 is completed, the information processing apparatus 1 acquires the state information 132 (the second state information 132b) the reflects the state after migration of the virtual machine 3 is completed, and identifies a virtual machine group (the second virtual machine group) that includes virtual machines 3 each of which has become migratable to the physical machine 2 at a migration destination.
Subsequently, based on the priority determined by the processing of S5, the information processing apparatus 1 instructs each virtual machine 3 included in the second virtual machine group identified by the processing of S12 to migrate to the physical machine 2 at a corresponding migration destination (S14). The information processing apparatus 1 then repeats the processing of S11 to S14 until migration of each of all the virtual machines 3 to the physical machine 2 at a migration destination is completed, for instance.
In this manner, the information processing apparatus 1 in this embodiment determines a priority of each virtual machine 3 based on the time information 131a that indicates the time taken for migration of each virtual machine 3 between the physical machines 2. The information processing apparatus 1 then identifies a first virtual machine group that includes virtual machines 3 each migratable to the physical machine 2 at a migration destination, based on the migration information 131 on the physical machines 2 at a migration source and a migration destination of each virtual machine 3, and the first state information 132a that indicates the state of each physical machine 2 and each virtual machine 3. In addition the information processing apparatus 1 instructs each virtual machine 3 included in the first virtual machine group to migrate to the physical machine 2 at a migration destination based on the priority of the virtual machine 3.
Subsequently, the information processing apparatus 1 identifies the second virtual machine group that includes virtual machines 3 each migratable to the physical machine 2 at a migration destination based on the migration information and the second state information 132b indicating the state of each physical machine 2 and each virtual machine 3 when migration of one of the virtual machines 3 is completed. The information processing apparatus 1 then instructs each virtual machine 3 included in the second virtual machine group to migrate to the physical machine 2 at a migration destination based on the priority of the virtual machine 3.
Thus, when multiple migratable virtual machines 3 are present in the physical machine 2 at a migration destination, the information processing apparatus 1 is able to migrate a virtual machine 3, which produces the greatest effect on reducing the time taken for migration of all the virtual machines 3. Thus, even when the times taken for migration of the virtual machines 3 are varied, it is possible for the information processing apparatus 1 to determine an order of migration that reduces the time taken for migration of all the virtual machines 3 to the physical machine 2 at a migration destination.
Also, in response to a change in available state of the physical resource of each physical machine 2, the information processing apparatus 1 is able to identify a new virtual machine 3 which has become migratable. Thus, it is possible for the information processing apparatus 1 to update selection of a virtual machine 3 as desired for instructing migration to the physical machine 2 at a migration destination. Therefore, it is possible for the information processing apparatus 1 to search for an order of migration for reallocating virtual machines 3 based on the optimal allocation of the virtual machines 3.
Next, the details of the first embodiment will be described.
First, the processing (hereinafter also referred to as allocation determination processing) for determining an optimal allocation of the virtual machines 3 will be described.
As illustrated in
When allocation determination timing occurs (YES in S101), the allocation determination unit 111 calculates (determines) a new allocation (an optimal allocation) of the virtual machines 3 (S102). The allocation determination unit 111 utilizes, for instance, mathematical programming to calculate the optimal allocation of the virtual machines 3, which allows the physical resources of the physical machines 2 to be used efficiently.
Subsequently, the information management unit 114 generates migration target information 131 based on the optimal allocation of the virtual machines 3 calculated by the processing of S102 (S103). For instance, for each virtual machine 3, the allocation determination unit 111 generates migration target information 131 in which information on the virtual machine 3, information on the physical machine 2 at a migration source of the virtual machine 3, and information on the physical machine 2 at a migration destination of the virtual machine 3 are associated with each other. The information management unit 114 then stores the generated migration target information 131 in the information storage area 130, for instance. Hereinafter, an example of the migration target information 131 will be described.
The migration target information 131 illustrated in
For instance, in the migration target information 131 illustrated in
Returning to
First, a dependence graph generated by the information management unit 114 when the dependence virtual machine information 138 is generated will be described. The dependence graph is a graph that indicates a relationship between each dependence virtual machine and a virtual machine 3 (hereinafter also referred to as a virtual machine 3 depending on the dependence virtual machine) for which whether or not the virtual machine 3 is migratable to the physical machine 2 at a migration destination changes by a migration Mate of the dependence virtual machine.
For instance, when a dependence graph is generated, the information management unit 114 generates a partial dependence graph which is dependence graph for each of the physical machines 2 included in the information processing system 10, Hereinafter, an example of a partial dependence graph will be described. It is to be noted that hereinafter, the virtual machines 3A, 3B, 3C, 3D, 3E, and 3F are also denoted by VM-A, VM-B, VM-C, VM-D, VM-E, and VM-F, respectively. Also, hereinafter, the partial dependence graphs of the physical machines 2A, 2B, 2C, 2D, 2E, and 2F are also denoted by the partial dependence graphs A, B, C, D, E, and F, respectively.
In the example illustrated in
Thus, as illustrated in the partial dependence graph E of
Also, in the example illustrated in
Thus, as illustrated in the partial dependence graph l of
For instance, in the dependence graph illustrated in
It is to be noted that hereinafter the migration control processing performed based on the dependence graph described in
Next, an example of the dependence virtual machine information 138 will be described.
The dependence virtual machine information 138 illustrated in
For instance, the detail of the dependence virtual machine information 138 illustrated in
Returning to
The dependence virtual machine group information 139 illustrated in
In the dependence graph described in
This allows the information management unit 114 to manage the dependence virtual machine group including a dependence virtual machine which has to temporarily retreat to a physical machine 2 other than the physical machine 2 at a migration destination in order to complete the migration control processing.
Returning to
As illustrated in
When it is determined that the first dependence virtual machine is present (YES in S71), the priority determination unit 113 determines that time information 131a corresponding to each of the virtual machines 3 other than the first dependence virtual machine serves as the priority of the virtual machine 3 (S73). On the other hand, when it is determined that the first dependence virtual machine is not present (NO in S71), the priority determination unit 113 determines that time information 131a corresponding to each of the virtual machines 3 serves as the priority of the virtual machine 3, and completes the processing of S106 (S72).
For instance, in the dependence virtual machine information 138 described in
Subsequently, the priority determination unit 113 refers to the migration target information 131 described in
After the processing of S73, the priority determination unit 113 determines whether or not a dependence virtual machine group is present (S74). The priority determination unit 113 refers to, for instance, the dependence virtual machine group information 139 stored in the information storage area 130, and determines whether or not a dependence virtual machine group is present.
When it is determined that a dependence virtual machine group is present (YES in S74), the priority determination unit 113 calculates the sum of a first number and a second number for each dependence virtual machine group, the first number being the smallest value indicated by time information 131a which corresponds to, a virtual machine 3 included in the dependence virtual machine group, the second number being indicated by time information 131a corresponding to the first dependence virtual machine on which a virtual machine 3 corresponding to the smallest value is dependent. The priority determination unit 113 further determines that each calculated sum is the priority of the first dependence virtual machine on which a virtual machine 3 corresponding to the smallest value in the time information 131a is dependent (S75).
For instance, in the dependence virtual machine group information 139 described in
Thus, as the smallest value indicated by time information 131 which may correspond to a virtual machine 3 included in the dependence virtual machine group, the priority determination unit 113 identifies “2” as the information set for “time information” in the information with “virtual machine name” of “virtual machine C”, for instance. Also, as the time information 131a corresponding to the first dependence virtual machine on which a virtual machine 3 corresponding to the smallest value in the time information 131a is dependent, the priority determination unit 113 identifies “2” as the information set for “time information” in the information with “virtual machine name” of “virtual machine F”, for instance. The priority determination unit 113 then determines that “4”, the sum of the identified values is the priority of the virtual machine 3F that is the first dependence virtual machine on which a virtual machine 3 corresponding to the smallest value in the time information 131a is dependent (S75).
That is, in the processing of S75, the priority determination unit 113 determines that a virtual machine 3 having a shortest time information among the virtual machines 3 included in the dependence virtual machine group retreats to a physical machine 2 other than the physical machine 2 at a migration destination. The priority determination unit 113 determines a priority under the precondition that a virtual machine 3 having a shortest time information among the virtual machines 3 included in the dependence virtual machine group is to retreat. This allows the priority determination unit 113 to determine a priority so as to reduce the time taken for retreat of a virtual machine 3.
It is to be noted that in the processing of S73, the priority determination unit 113 does not determine a priority for each virtual machine 3 included in the dependence virtual machine group but in the processing of S75, determines a priority for each virtual machine 3 included in the dependence virtual machine group. Thus, in the later-described processing of S82, the priority determination unit 113 may determine a priority for other virtual machines 3 (virtual machines 3 for which a priority has not been determined in the processing of S75) included in the dependence virtual machine group.
Subsequently, as illustrated in
When it is determined that the second dependence virtual machine is present (YES in S81), the priority determination unit 113 identifies the time information 131a of each virtual machines 3 other than the second dependence virtual machine among the virtual machines 3 with priority undetermined. Also, in this case, for each of the virtual machines 3 with priority undetermined, the priority determination unit 113 identifies the priority of the virtual machine 3 which becomes migratable to the virtual machine 3 at a migration destination by first migrating a virtual machine 3 other than the second dependence virtual machine. The priority determination unit 113 determines that the sum of the identified values is the priority of each virtual machine 3 other than the second dependence virtual machine among the virtual machines 3 with priority undetermined (S82). Subsequently, the priority determination unit 113 performs the processing in and after S81 again.
On the other hand, when it is determined that the second dependence virtual machine is not present (NO in S81), the priority determination unit 113 identifies time information 131a corresponding to each of the virtual machines 3 with priority undetermined. In this case, the priority determination unit 113 identifies the priority of each virtual machine 3 which becomes migratable to the virtual machine 3 at a migration destination by migration of the virtual machines 3 with priority undetermined. The priority determination unit 113 then determines that the sum of the identified values is the priority of each of the virtual machines 3 with priority undetermined (S83).
For instance, in the dependence virtual machine information 138 described in
Thus, the priority determination unit 113 identifies the virtual machine 3C as the second dependence virtual machine (YES in S81). Also, among the virtual machines 3 with priority undetermined, the priority determination unit 113 identifies the virtual machine 3 with “virtual machine name” of “virtual machine A” and “virtual machine E” as the virtual machines 3 other than the second dependence virtual machine. The priority determination unit 113 then refers to the migration target information 131 described in
Furthermore, the priority determination unit 113 refers to the dependence virtual machine information 138 described in
Thus, as the priority of the virtual machine 3A, the priority determination unit 113 identifies “3” which is the sum of “2” as the time information 131a on the virtual machine 3A and “1” as the priority of the virtual machine D. Also, as the priority of the virtual machine 3E, the priority determination unit 113 identifies “2” which is the sum of “1” as the time information 131a on the virtual machine 3E and “1.” as the priority of the virtual machine B. (S82).
Subsequently, the priority determination unit 113 performs the processing in and after S81 again, and identifies “6” as the priority of the virtual machine 3F, and completes the processing of S106 (NO in S81, S83). Hereinafter, an example of the priority information 133 will be described.
For instance, in the priority information 133 illustrated in
Next, the details of the migration control processing in the first embodiment will be described.
As illustrated in
The physical machine state information 141a illustrated in
For instance, in the physical machine state information 141a illustrated in
The virtual machine state information 142a illustrated in
For instance, in the virtual machine state information 142a illustrated in
Returning to
The remaining physical resource information 151 illustrated in
For instance, in the remaining physical resource information 151 illustrated in
Hereinafter, as illustrated in
Next, the remaining network resource information 152 illustrated in
For instance, in the remaining network resource information 152 illustrated in
Returning to
The virtual machine group identification unit 115 then determines whether or not a virtual machine 3 corresponding to the information extracted by the processing of S32 is migratable to the physical machine 2 at a migration destination (S33). When the virtual machine 3 is migratable to the physical machine 2 at a migration destination (YES in S33), the information management unit 114 adds the information extracted by the processing of S32 to the migration candidate information 134 (S34).
On the other hand, when the virtual machine 3 corresponding to the information extracted by the processing of S32 is not migratable to the physical machine 2 at a migration destination (NO in S33), the information management unit 114 adds the information extracted by the processing of S32 to the migration incomplete information 136 (S35). Hereinafter, an example of each of the migration candidate information 134, the migration determination information 135, and the migration incomplete information 136 will be described.
The migration state information illustrated in
For instance, the information management unit 114 refers to the dependence virtual machine information 138 described in
Thus, for instance, as illustrated in
Returning to
For instance, the dependence graph described in
Thus, the virtual machine group identification unit 115 refers to the priority information 133 described in
After the processing of S44 or when it is determined that a linked component, for which information is not included in the migration candidate information 134, is not present (NO in S41), as illustrated in
For instance, in the migration state information described in
Subsequently, the virtual machine group identification unit 115 determines whether or a network used for migrating a virtual machine 3 corresponding to the information extracted in the processing of S52 is available (S53). When it is determined that the network is not available (NO in S53), the information management unit 114 performs the processing in and after S51 again. On the other hand, when it is determined that the network is available (YES in S53), the information management unit 114 performs the processing in and after S54.
For instance, when the physical machine 2 at a retreat destination of the virtual machine 3C is the physical machine 2D, the virtual machine 3C has to retreat from the currently operating physical machine 2B to the physical machine 2D. Specifically, in this case, as illustrated in
Thus, the information management unit 114 refers to the remaining network resource information 152 described in
Subsequently, when it is determined that each network is available (YES in S53), the information management unit 114 adds the information extracted by the processing of S52 to the migration determination information 135 (S54). In this case, the information management unit 114 updates the remaining resource information 137 based on the information extracted by the processing of S52 (S55). Furthermore, in this case, the migration instruction unit 116 instructs a virtual machine 3, to migrate, which corresponds to the information extracted by the processing of S52 (S56).
The information management unit 114 and the migration instruction unit 116 repeatedly performs the processing in S52 to S56 until extraction of all the information included in the migration candidate information 134 is completed. Subsequently, when extraction of all the information included in the migration candidate information 134 is completed (YES in S51), the information management unit 114 performs the processing in and after S61.
For instance, in the migration state information described in
As illustrated in
Next, an example of the migration state information when the processing in S52 to S56 is performed for the virtual machine 3A, the virtual machine 3C, and the virtual machine 3E will be described.
When the migration state information illustrated in
Returning to
When completion of migration of one of virtual machines 3 is detected (YES in S61), the information management unit 114 updates the remaining resource information 137 based on the information detected by the processing of S61 (S62). In other words, the physical resource of the physical machine 2 and the network resource between physical machines 2 are released after completion of migration of the virtual machine 3. Thus, in the processing of S62, the information management unit 114 updates information on the physical resource and the network used by the virtual machine 3 for which information is detected by the processing of S61, the information on the physical resource and the network being part of the remaining physical resource information 151 and the remaining network resource information 152.
Subsequently, the information management unit 114 determines whether or not a dependence virtual machine, which is dependent on the virtual machine 3 detected by the processing of S61, is present (S63). In other words, the information management unit 114 determines whether or not a newly migratable virtual machine 3 has occurred after completion of migration of the virtual machine 3.
When it is determined that a dependence virtual machine is present, which is dependent on the virtual machine 3 detected by the processing of S61 (YES in S63), the information management unit 114 adds information corresponding to the virtual machine 3 to the migration candidate information 134 (S64). On the other hand, when it is determined that a dependence virtual machine is not present, which is dependent on the virtual machine 3 detected by the processing of S61 (NO in S63), the information management unit 114 does not perform the processing of S63. Hereinafter, an example of migration state information when migration of the virtual machine 3E is completed will be described.
In the migration state information described in
Thus, in this case, as illustrated in
Here, in the dependence virtual machine information 138 described in
Returning to
When it is determined that information is not present in the migration candidate information 134 (YES in S65), the information management unit 114 determines whether or not information is present in the migration determination information 135 (S66). When it is determined that information is present in the migration determination information 135 (YES in S66), the information management unit 114 performs the processing in and after S61 again.
On the other hand, when it is determined that information is not present in the migration determination information 135 (YES in S66), the information management unit 114 determines whether or not information is present in the migration incomplete information 136 (S67). When it is determined that information is present in the migration incomplete information 136 (YES in S67), the migration instruction unit 116 instructs the virtual machine 3 which has migrated by the processing of S56 to migrate back to the physical machine 2 at a migration source, and completes the migration control processing (S68). In other words, in this case, the migration instruction unit 116 determines that it is not possible to migrate the virtual machine 3 based on the migration target information 131. For this reason, in the processing of S68, the migration instruction unit 116 restores the allocation of each virtual machine 3 to the initial state.
Also, when it is determined that information is not present in the migration incomplete information 136 (NO in S67), the migration instruction unit 116 completes the migration control processing without performing the processing of S68. In other words, in this case, the migration instruction unit 116 determines that migration of all the virtual machines 3 has completed based on the migration target information 131.
For instance, in the migration state information described in
When information on the virtual machine 38 is extracted in the processing of S52, the information management unit 114 determines whether or a network, which has to be used for migration of the virtual machine 38 to the physical machine 2 at a migration destination, is available (S53).
For instance, when the virtual machine 38 is migrated from the physical machine 2A to the physical machine 2E, the virtual machine 38 goes through the networks with “network name” of “physical machine A->switch B”, “switch B->switch A”, “switch A->switch C”, and “switch C->physical machine E”.
Here, in the remaining network resource information 152 illustrated in FIG, 27, “migration number” in each information with “network name” of “switch B->switch A”, and “switch A->switch C” is set with “2” which is the value set for “migratable number”, Thus, in this case, the information management unit 114 determines that it is not possible to migrate the virtual machine 3B (NO in S53). Thus, as illustrated in
Subsequently, when migration of the virtual machine 3A and the virtual machine 3C is completed (YES in S51, YES in S61), the information management unit 114 identifies the virtual machine 3D and the virtual machine 3F as migratable virtual machines 3 after completion of migration of the virtual machines 3A and 3C (YES in S63).
Thus, in this case, as illustrated in
Subsequently, the information management unit 114 determines that the virtual machine 3B, the virtual machine 3D and the virtual machine 3F are concurrently migratable (YES in S53), and moves “O” set for “migration candidate” of the information of each virtual machine 3 as in the migration state information illustrated in
Subsequently, when migration of the virtual machine 36 and the virtual machine 3D is completed (YES in S61), the information management unit 114 identifies the virtual machine 3C as migratable virtual machine 3 after completion of migration of the virtual machines 36 and 3D (YES in S63).
Thus, in this case, as illustrated in
Subsequently, the information management unit 114 determines that the virtual machine 3C is migratable (YES in S53), and moves “O” set for “migration candidate” of the information of the virtual machine 3C as in the migration state information illustrated in
Then, when migration of the virtual machine 3F is completed (YES in S61), the information management unit 114 determines that no migratable virtual machine 3 is present after completion of migration of the virtual machines 3F (NO in S63). Although no information is set for the migration candidate information 134, information is set for the migration determination information 135 (YES in S65, YES in S66).
Thus, as illustrated in
Subsequently, when migration of the virtual machine 3C is completed (YES in S61), the information management unit 114 determines that no migratable virtual machine 3 is present after completion of migration of the virtual machines 3C (NO in S63). In this case, no information is set for the migration candidate information 134 and the migration determination information 135 (YES in S65, NO in S66). Furthermore, no information is set for “migration incomplete” in the migration state information illustrated in
In this manner, the information processing apparatus 1 in this embodiment determines a priority of each virtual machine 3 based on the time information 131a that indicates the time taken for migration of each virtual machine 3 between the physical machines 2. The information processing apparatus 1 then identifies the first virtual machine group that includes virtual machines 3 each migratable to the physical machine 2 at a migration destination, based on the migration information 131 on the physical machines 2 at a migration source and a migration destination of each virtual machine 3, and on the first state information 132a that indicates the state of each physical machine 2 and each virtual machine 3. In addition, the information processing apparatus 1 instructs each virtual machine 3 included in the first virtual machine group to migrate to the physical machine 2 at a migration destination based on the priority of the virtual machine 3.
Subsequently, the information processing apparatus 1 identifies the second virtual machine group that includes virtual machines 3 each migratable to the physical machine 2 at a migration destination based on the migration information and the second state information 132b indicating the state of each physical machine 2 and each virtual machine 3 when migration of one of the virtual machines 3 is completed. The information processing apparatus 1 then instructs each virtual machine 3 included in the second virtual machine group to migrate to the physical machine 2 at a migration destination based on the priority of the virtual machine 3.
Thus, when multiple migratable virtual machines 3 are present in the physical machine 2 at a migration destination, the information processing apparatus 1 is able to migrate a virtual machine 3 that produces the greatest effect on reducing the time taken for migration of all the virtual machines 3. Thus, even when the times taken for migration of the virtual machines 3 are varied, it is possible for the information processing apparatus 1 to determine an order of migration that reduces the tine taken for migration of all the virtual machines 3.
Also, in response to a change in available state of the physical resource of each physical machine 2, the information processing apparatus 1 is able to identify a new virtual machine 3 which has become migratable. Thus, it is possible for the information processing apparatus 1 to update selection of a virtual machine 3 as desired for instructing migration to the physical machine 2 at a migration destination. Therefore, it is possible for the information processing apparatus 1 to search for an order of migration for reallocating virtual machines 3 based on the optimal allocation of the virtual machines 3.
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 to 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 |
---|---|---|---|
2016-158605 | Aug 2016 | JP | national |