Virtual machine migration to minimize packet loss in virtualized network
First Claim
1. A method for controlling live migration of a virtual machine from a first host to a second host, the method comprising:
- executing, by the first and second hosts, respective virtualization modules, the first and second hosts among a plurality of hosts with respective virtualization modules, the virtualization modules managed by a virtual machine manager, each host having a respective host network address and having virtual machines with respective virtual network addresses, wherein the hosts exchange packets via a network using their respective host network addresses;
prior to a determination to migrate a virtual machine, storing instances of a first mapping policy on the plurality of hosts, respectively, wherein each instance of the first mapping policy comprises the virtual network addresses and the host network addresses, wherein each instance of the first mapping policy indicates which of the virtual network addresses therein are associated with which of the host network addresses therein, and wherein prior to the determination to migrate the virtual machine, each virtualization module handles incoming packets from the network addressed to its host network address and handles outgoing packets sent by its virtual machines to other virtual network addresses, and prior to the determination to migrate the virtual machine, each virtualization module uses a respective instance of the first mapping policy to determine which of its virtual machines are to receive which of the incoming packets, and during the migration and prior to the determination to migrate the virtual machine, each virtualization module uses a respective instance of the first mapping policy to determine which host network addresses to send the outgoing packets to;
making the determination, by the virtual machine manager, to migrate the virtual machine, wherein the virtual machine is determined to be migrated from the first host to the second host;
responsive to and in conjunction with the determination to migrate the virtual machine, and prior to completion of the migrating, sending, to the hosts in the plurality, respective instances of a second mapping policy comprising the virtual network address of the virtual machine and the host network address of the second host, each instance of the second mapping policy indicating that the virtual network address is associated with the host network address of the second host, wherein during the migration the instances of the second mapping policy are in an inactive state;
after migration of the virtual machine completes, notifying the plurality of hosts to activate their respective instances of the second mapping policy for communicating with the virtual machine;
in response to the notifying, the instances of the second mapping policy begin entering active use by the plurality of hosts for communicating with the virtual machine; and
in response to the notifying, forwarding, by the first host, any packets for the virtual machine that are received by the first host while the instances of the second mapping policy are entering active use.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus are provided for controlling live migration of a virtual machine from a first host to a second host in a data center. A virtual machine manager may distribute to at least one host in a virtual network an updated mapping policy that maps a customer address of the virtual machine to a provider address of the migrated virtual machine. The updated mapping policy enables hosts in the virtual network to communicate with the migrated virtual machine. The updated mapping policy can be a shadow policy. The shadow policy is transmitted to hosts in the virtual network by the virtual machine manager before live migration of the virtual machine completes and is maintained by recipient hosts in an inactive state until triggered. The virtual machine manager notifies hosts in the virtual network to activate the shadow policy when live migration completes.
40 Citations
17 Claims
-
1. A method for controlling live migration of a virtual machine from a first host to a second host, the method comprising:
-
executing, by the first and second hosts, respective virtualization modules, the first and second hosts among a plurality of hosts with respective virtualization modules, the virtualization modules managed by a virtual machine manager, each host having a respective host network address and having virtual machines with respective virtual network addresses, wherein the hosts exchange packets via a network using their respective host network addresses; prior to a determination to migrate a virtual machine, storing instances of a first mapping policy on the plurality of hosts, respectively, wherein each instance of the first mapping policy comprises the virtual network addresses and the host network addresses, wherein each instance of the first mapping policy indicates which of the virtual network addresses therein are associated with which of the host network addresses therein, and wherein prior to the determination to migrate the virtual machine, each virtualization module handles incoming packets from the network addressed to its host network address and handles outgoing packets sent by its virtual machines to other virtual network addresses, and prior to the determination to migrate the virtual machine, each virtualization module uses a respective instance of the first mapping policy to determine which of its virtual machines are to receive which of the incoming packets, and during the migration and prior to the determination to migrate the virtual machine, each virtualization module uses a respective instance of the first mapping policy to determine which host network addresses to send the outgoing packets to; making the determination, by the virtual machine manager, to migrate the virtual machine, wherein the virtual machine is determined to be migrated from the first host to the second host; responsive to and in conjunction with the determination to migrate the virtual machine, and prior to completion of the migrating, sending, to the hosts in the plurality, respective instances of a second mapping policy comprising the virtual network address of the virtual machine and the host network address of the second host, each instance of the second mapping policy indicating that the virtual network address is associated with the host network address of the second host, wherein during the migration the instances of the second mapping policy are in an inactive state; after migration of the virtual machine completes, notifying the plurality of hosts to activate their respective instances of the second mapping policy for communicating with the virtual machine; in response to the notifying, the instances of the second mapping policy begin entering active use by the plurality of hosts for communicating with the virtual machine; and in response to the notifying, forwarding, by the first host, any packets for the virtual machine that are received by the first host while the instances of the second mapping policy are entering active use. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for facilitating live migration of a virtual machine from a first host to a second host, the method comprising:
-
executing, by the first host, the second host, and a third host, respective virtualization modules that manage virtual machines on the first, second, and third hosts, the virtual machines having respective customer addresses in a customer address space, the first, second, and third hosts having respective provider addresses in a provider address space, wherein each host maintains and stores a respective instance of a first mapping policy, each instance of the first mapping policy comprising network addresses, in the customer address space, of respective virtual machines, paired with respective network addresses, in the provider address space, of hosts hosting the virtual machines, and wherein, prior to initiating a live migration, each virtualization module uses a respective instance of the first mapping policy to exchange packets sent between the virtual machines, wherein the first mapping policy comprises the customer address of the virtual machine paired with the provider address of the first host; receiving and storing, by each host, an inactive second mapping policy that comprises the customer address of the virtual machine and the provider address of the second host paired with the customer address of the virtual machine, wherein the customer address of the virtual machine is in the customer address space and is stored in the instances of the second mapping policy, and wherein the provider address of the second host is in the provider address space and is stored in the instances of the second mapping policy; before and during the live migration of the virtual machine, using, by the third host, the instance of the first mapping policy stored thereon for communicating with the virtual machine until the second mapping policy is activated; receiving, by the third host, a packet matching the second mapping policy, and, in response to receiving the packet matching the second mapping policy, activating the second mapping policy; and using, by the third host, the second mapping policy stored thereon for communicating with the virtual machine after the second mapping policy is activated. - View Dependent Claims (9, 10)
-
-
11. A virtual machine manager for controlling live migration of a virtual machine from a first host to a second host in a data center comprised of hosts and a network, the hosts having respective virtualization components for virtual machines, the hosts including the first host and the second host, the virtual machine manager comprising:
a processing hardware device and a storage hardware device encoded with instructions that, when executed by the processing device, are configured to; provide a mapping policy that is stored on each of the hosts, the mapping policy comprising customer addresses of each of the respective virtual machines and provider addresses of each of the hosts respectively paired with the customer addresses of the virtual machines, wherein, prior to a determination to migrate the virtual machine, the virtualization components of the hosts use the mapping policy stored on the hosts to route provide packets from the network to their respective virtual machines and use the mapping policy stored on the hosts to send packets from their respective virtual machines via the network to the hosts; make the determination to migrate the virtual machine from the first host to the second host; and responsive to the determination to migrate the virtual machine and before migration of the virtual machine completes, send, to the hosts, an updated mapping policy that comprises a customer address of the virtual machine and comprises a provider address of the second host paired with the customer address of the virtual machine, the updated mapping policy stored in an inactive state on each host until being activated, wherein the updated mapping policy is activated, by the virtual machine manager, responsive to the virtual machine having finished migrating to the second host, the updated mapping policy on a third host to be used, when activated, by the virtualization component on the third host, to determine that packets sent to the virtual machine by a virtual machine on the third host are to be sent to the provider address of the second host. - View Dependent Claims (12, 13, 14, 15, 16, 17)
Specification