Live migration of virtual machines using packet duplication
First Claim
1. A method, comprising:
- transmitting, by a first virtualization management component of a first virtualization host of a virtual computing service, an indication to a second virtualization management component of a second virtualization host that a packet duplication phase of a migration procedure for a particular guest virtual machine being migrated to the second virtualization host from the first virtualization host has begun, wherein the migration procedure does not include a reboot of the particular guest virtual machine;
in response to determining, by the second virtualization management component during the packet duplication phase, that a migrated version of the particular guest virtual machine instantiated at the second virtualization host has generated a first baseline packet directed to a different guest virtual machine instantiated at a third virtualization host, transmitting;
(a) a first encapsulation packet comprising the first baseline packet from the second virtualization host to the third virtualization host and (b) a second encapsulation packet comprising the first baseline packet from the second virtualization host to the first virtualization host;
in response to receiving, at the first virtualization management component, the second encapsulation packet, forwarding a transformed version of the second encapsulation packet to a third virtualization management component of the third virtualization host;
in response to (a) receiving, at the third virtualization management component, the first encapsulation packet and (b) determining, at the third virtualization management component, that a network mapping database of the third virtualization host does not include a mapping indicating that the particular guest virtual machine is instantiated at the second virtualization host, discarding the first encapsulation packet by the third virtualization management component; and
in response to (a) receiving, at the third virtualization management component, the transformed version of the second encapsulation packet and (b) determining, at the third virtualization management component, that the network mapping database includes a mapping indicating that the particular guest virtual machine is instantiated at the first virtualization host,extracting the first baseline packet from the transformed version; and
providing the first baseline packet to the different guest virtual machine.
1 Assignment
0 Petitions
Accused Products
Abstract
A virtualization management component of a particular host at a virtualized computing determines that a packet duplication phase of a migration of a virtual machine from a source host to the particular host has begun. The virtualization management component detects that a migrated version of the virtual machine, instantiated at the particular virtualization host, has generated a baseline packet directed to a destination address. The virtualization management component sends a first encapsulation packet comprising the baseline packet to an encapsulation intermediary associated with the destination address. The virtualization management component sends a second encapsulation packet comprising the baseline packet to the source virtualization host, with a directive to forward the second encapsulation packet to the encapsulation intermediary.
37 Citations
20 Claims
-
1. A method, comprising:
-
transmitting, by a first virtualization management component of a first virtualization host of a virtual computing service, an indication to a second virtualization management component of a second virtualization host that a packet duplication phase of a migration procedure for a particular guest virtual machine being migrated to the second virtualization host from the first virtualization host has begun, wherein the migration procedure does not include a reboot of the particular guest virtual machine; in response to determining, by the second virtualization management component during the packet duplication phase, that a migrated version of the particular guest virtual machine instantiated at the second virtualization host has generated a first baseline packet directed to a different guest virtual machine instantiated at a third virtualization host, transmitting;
(a) a first encapsulation packet comprising the first baseline packet from the second virtualization host to the third virtualization host and (b) a second encapsulation packet comprising the first baseline packet from the second virtualization host to the first virtualization host;in response to receiving, at the first virtualization management component, the second encapsulation packet, forwarding a transformed version of the second encapsulation packet to a third virtualization management component of the third virtualization host; in response to (a) receiving, at the third virtualization management component, the first encapsulation packet and (b) determining, at the third virtualization management component, that a network mapping database of the third virtualization host does not include a mapping indicating that the particular guest virtual machine is instantiated at the second virtualization host, discarding the first encapsulation packet by the third virtualization management component; and in response to (a) receiving, at the third virtualization management component, the transformed version of the second encapsulation packet and (b) determining, at the third virtualization management component, that the network mapping database includes a mapping indicating that the particular guest virtual machine is instantiated at the first virtualization host, extracting the first baseline packet from the transformed version; and providing the first baseline packet to the different guest virtual machine. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system, comprising:
-
a plurality of virtualization hosts of a virtual computing service, including a first virtualization host comprising a first virtualization management component, a second virtualization host comprising a second virtualization management component, and a third virtualization host comprising a third virtualization management component; wherein the second virtualization management component is configured to; transmit, during a packet duplication phase of a migration of a particular guest virtual machine from the first virtualization host to the second virtualization host;
(a) a first encapsulation packet to the third virtualization host, wherein the first encapsulation packet comprises a first baseline packet generated by a migrated version of the particular guest virtual machine, and wherein the first baseline packet is directed to a different guest virtual machine instantiated at the third virtualization host and (b) a second encapsulation packet to the first virtualization host, wherein the second encapsulation packet comprises the first baseline packet; andwherein the third virtualization management component is configured to; based at least in part on an examination of a particular mapping database comprising one or more virtual-machine-to-host mappings, designate, as a valid encapsulation packet, one of;
(a) the first encapsulation packet, or (b) a forwarded version of the second encapsulation packet transmitted by the first virtualization management component to the third virtualization host; andprovide, to the different guest virtual machine, the first baseline packet after extracting the first baseline packet from the valid encapsulation packet. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer-accessible storage medium storing program instructions that when executed on one or more processors implement a virtualization management component at a particular virtualization host of a virtual computing service, wherein the virtualization management component is configured to:
-
receive an indication that a packet duplication phase of a migration of a particular guest virtual machine from a first virtualization host to the particular virtualization host has been initiated; detect that a migrated version of the particular guest virtual machine, instantiated at the particular virtualization host, has generated a first baseline packet directed to a destination address, wherein the destination address is not assigned to another guest virtual machine instantiated at the particular virtualization host; and transmit;
(a) a first encapsulation packet comprising the first baseline packet to an encapsulation intermediary associated with the destination address and (b) a second encapsulation packet comprising the first baseline packet to the first virtualization host, wherein the second encapsulation packet includes a directive to forward the second encapsulation packet to the encapsulation intermediary from the first virtualization host. - View Dependent Claims (18, 19, 20)
-
Specification