US12267257B2ActiveUtilityA1

Virtual machine migration in cloud infrastructure networks

49
Assignee: NUTANIX INCPriority: Aug 30, 2019Filed: Jan 31, 2020Granted: Apr 1, 2025
Est. expiryAug 30, 2039(~13.1 yrs left)· nominal 20-yr term from priority
H04L 45/745H04L 2101/622H04L 61/5061H04L 61/5007H04L 61/50H04L 61/103G06F 2009/45595H04L 12/4633G06F 9/45558G06F 2009/4557H04L 61/2592H04L 61/255H04L 61/2596H04L 67/10H04L 49/3009H04L 49/70H04L 45/66H04L 12/4641
49
PatentIndex Score
0
Cited by
75
References
24
Claims

Abstract

Methods, systems and computer program products for deploying a virtualization system onto cloud computing infrastructure. Virtual machines of a virtualization system are deployed onto computing nodes that are interconnected via a cloud provider's networking infrastructure. When migrating a virtual machine from a source computing node to a target computing node that is also interconnected to the cloud provider's networking infrastructure, the addressing of the to-be-migrated virtual machine changes. Dynamically-updated media access control translation tables are maintained at the computing nodes. The media access control translation tables are populated with cloud provider media access control addresses received from the cloud provider. A virtual switch at each computing node modifies incoming and outgoing packets of a to-be-migrated virtual machine based on contents of that node's media access control translation table. On an ongoing basis, addressing information for migrated virtual machines is received at the computing nodes by operation of address resolution protocols.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A non-transitory computer readable medium having stored thereon a sequence of instructions which, when executed by a processor cause acts comprising:
 providing, by a tenant or by a third party on behalf of the tenant, a tenant virtualization system deployed on a bare metal infrastructure, the bare metal infrastructure provided by a cloud provider and comprising a plurality of bare metal computing nodes interconnected over a cloud provider communications network of the cloud provider, wherein the plurality of bare metal computing nodes are addressable by respective cloud provider media access control (MAC) addresses provided by the cloud provider; 
 receiving, by the tenant virtualization system, the cloud provider MAC addresses from the cloud provider, wherein individual cloud provider MAC addresses correspond to individual hardware network interfaces of the bare metal computing nodes; 
 generating, by the tenant virtualization system, tenant virtualization system MAC addresses, wherein individual tenant virtualization system MAC addresses correspond to individual virtual machines provided by the tenant, or by a third party on behalf of the tenant, on the bare metal computing nodes; 
 maintaining, on multiple bare metal nodes corresponding to the tenant virtualization system, respective MAC translation tables having at least a subset of the cloud provider MAC addresses received from the cloud provider and at least a subset of the tenant virtualization system MAC addresses generated by the tenant virtualization system, wherein at least one cloud provider MAC address of a bare metal computing node is mapped to multiple tenant virtualization system MAC addresses that each correspond to a respective virtual machine of the individual virtual machines on the bare metal computing node; 
 routing a packet to an individual virtual machine on an individual bare metal computing node of the plurality of bare metal computing nodes corresponding to the tenant virtualization system at least by:
 sending the packet from a sender bare metal computing node, wherein the packet is outgoing from a sender virtual machine; and 
 modifying the packet by changing a sender tenant virtualization system MAC address corresponding to the sender virtual machine to a sender cloud provider MAC address corresponding to a sender hardware network interface of the sender bare metal computing node based at least on an entry having the sender tenant virtualization system MAC address in a sender MAC translation table; 
 receiving the packet at the individual bare metal computing node, wherein the packet is addressed to the individual bare metal computing node of the tenant virtualization system using an individual cloud provider MAC address; and 
 modifying the packet by changing the individual cloud provider MAC address to an individual tenant virtualization system MAC address based at least on an entry having the individual tenant virtualization system MAC address in an individual MAC translation table. 
 
 
     
     
       2. The non-transitory computer readable medium of  claim 1 , wherein the acts further comprise creating a virtual network interface card (vNIC) at a target node and assigning a cloud provider media access control address to the vNIC. 
     
     
       3. The non-transitory computer readable medium of  claim 2 , wherein the acts further comprise updating the MAC translation table to associate an IP address of a virtual machine to be migrated with a MAC address of the vNIC. 
     
     
       4. The non-transitory computer readable medium of  claim 2 , wherein the acts further comprise updating a routing table of the cloud provider to associate a to-be-migrated virtual machine (VM) with the vNIC of the target node. 
     
     
       5. The non-transitory computer readable medium of  claim 1 , wherein the acts further comprise updating a routing table of the cloud provider to disassociate an IP address of a to-be-migrated virtual machine (VM) with the sender hardware network interface of the sender bare metal computing node. 
     
     
       6. The non-transitory computer readable medium of  claim 1 , wherein the acts further comprise determining if a to-be-migrated virtual machine (VM) is still operational at the individual bare metal computing node to receive an incoming packet. 
     
     
       7. The non-transitory computer readable medium of  claim 1 , wherein the acts further comprise configuring an encapsulation tunnel between the individual bare metal computing node and a sender bare metal computing node. 
     
     
       8. The non-transitory computer readable medium of  claim 7 , wherein the acts further comprise sending an address resolution protocol (ARP) request to the sender bare metal computing node over the encapsulation tunnel. 
     
     
       9. A method comprising:
 providing, by a tenant or by a third party on behalf of the tenant, a tenant virtualization system deployed on a bare metal infrastructure, the bare metal infrastructure provided by a cloud provider and comprising a plurality of bare metal computing nodes interconnected over a cloud provider communications network of the cloud provider, wherein the plurality of bare metal computing nodes are addressable by respective cloud provider media access control (MAC) addresses provided by the cloud provider; 
 receiving, by the tenant virtualization system, the cloud provider MAC addresses from the cloud provider, wherein individual cloud provider MAC addresses correspond to individual hardware network interfaces of the bare metal computing nodes; 
 generating, by the tenant virtualization system, tenant virtualization system MAC addresses, wherein individual tenant virtualization system MAC addresses correspond to individual virtual machines provided by the tenant, or by a third party on behalf of the tenant, on the bare metal computing nodes; 
 maintaining, on multiple bare metal nodes corresponding to the tenant virtualization system, respective MAC translation tables having at least a subset of the cloud provider MAC addresses received from the cloud provider and at least a subset of the tenant virtualization system MAC addresses generated by the tenant virtualization system, wherein at least one cloud provider MAC address of a bare metal computing node is mapped to multiple tenant virtualization system MAC addresses that each correspond to a respective virtual machine of the individual virtual machines on the bare metal computing node; 
 routing a packet to an individual virtual machine on an individual bare metal computing node of the plurality of bare metal computing nodes corresponding to the tenant virtualization system at least by:
 sending the packet from a sender bare metal computing node, wherein the packet is outgoing from a sender virtual machine; and 
 modifying the packet by changing a sender tenant virtualization system MAC address corresponding to the sender virtual machine to a sender cloud provider MAC address corresponding to a sender hardware network interface of the sender bare metal computing node based at least on an entry having the sender tenant virtualization system MAC address in a sender MAC translation table; 
 receiving the packet at the individual bare metal computing node, wherein the packet is addressed to the individual bare metal computing node of the tenant virtualization system using an individual cloud provider MAC address; and 
 modifying the packet by changing the individual cloud provider MAC address to an individual tenant virtualization system MAC address based at least on an entry having the individual tenant virtualization system MAC address in an individual MAC translation table. 
 
 
     
     
       10. The method of  claim 9 , further comprising creating a virtual network interface card (vNIC) at a target node and assigning a cloud provider media access control address to the vNIC. 
     
     
       11. The method of  claim 10 , further comprising updating the MAC translation table to associate an IP address of a virtual machine to be migrated with a MAC address of the vNIC. 
     
     
       12. The method of  claim 10 , further comprising updating a routing table of the cloud provider to associate a to-be-migrated virtual machine (VM) with the vNIC of the target node. 
     
     
       13. The method of  claim 9 , further comprising updating a routing table of the cloud provider to disassociate an IP address of a to-be-migrated virtual machine (VM) with the sender hardware network interface of the sender bare metal computing node. 
     
     
       14. The method of  claim 9 , further comprising determining if a to-be-migrated virtual machine (VM) is still operational at the individual bare metal computing node to receive an incoming packet. 
     
     
       15. The method of  claim 9 , further comprising configuring an encapsulation tunnel between the individual bare metal computing node and a sender bare metal computing node. 
     
     
       16. The method of  claim 15 , further comprising sending an address resolution protocol (ARP) request to the sender bare metal computing node over the encapsulation tunnel. 
     
     
       17. A system comprising:
 a storage medium having stored thereon a sequence of instructions; and 
 a processor that executes the sequence of instructions to cause acts comprising,
 providing, by a tenant or by a third party on behalf of the tenant, a tenant virtualization system deployed on a bare metal infrastructure, the bare metal infrastructure provided by a cloud provider and comprising a plurality of bare metal computing nodes interconnected over a cloud provider communications network of the cloud provider, wherein the plurality of bare metal computing nodes are addressable by respective cloud provider media access control (MAC) addresses provided by the cloud provider; 
 receiving, by the tenant virtualization system, the cloud provider MAC addresses from the cloud provider, wherein individual cloud provider MAC addresses correspond to individual hardware network interfaces of the bare metal computing nodes; 
 generating, by the tenant virtualization system, tenant virtualization system MAC addresses, wherein individual tenant virtualization system MAC addresses correspond to individual virtual machines provided by the tenant, or by a third party on behalf of the tenant, on the bare metal computing nodes; 
 maintaining, on multiple bare metal nodes corresponding to the tenant virtualization system, respective MAC translation tables having at least a subset of the cloud provider MAC addresses received from the cloud provider and at least a subset of the tenant virtualization system MAC addresses generated by the tenant virtualization system, wherein at least one cloud provider MAC address of a bare metal computing node is mapped to multiple tenant virtualization system MAC addresses that each correspond to a respective virtual machine of the individual virtual machines on the bare metal computing node; 
 
 routing a packet to an individual virtual machine on an individual bare metal computing node of the plurality of bare metal computing nodes corresponding to the tenant virtualization system at least by:
 sending the packet from a sender bare metal computing node, wherein the packet is outgoing from a sender virtual machine; and 
 modifying the packet by changing a sender tenant virtualization system MAC address corresponding to the sender virtual machine to a sender cloud provider MAC address corresponding to a sender hardware network interface of the sender bare metal computing node based at least on an entry having the sender tenant virtualization system MAC address in a sender MAC translation table; 
 receiving the packet at the individual bare metal computing node, wherein the packet is addressed to the individual bare metal computing node of the tenant virtualization system using an individual cloud provider MAC address; and 
 modifying the packet by changing the individual cloud provider MAC address to an individual tenant virtualization system MAC address based at least on an entry having the individual tenant virtualization system MAC address in an individual MAC translation table. 
 
 
     
     
       18. The system of  claim 17 , wherein the acts further comprise creating a virtual network interface card (vNIC) at a target node and assigning a cloud provider media access control address to the vNIC. 
     
     
       19. The system of  claim 18 , wherein the acts further comprise updating the MAC translation table to associate an IP address of a virtual machine to be migrated with a MAC address of the vNIC. 
     
     
       20. The system of  claim 18 , wherein the acts further comprise updating a routing table of the cloud provider to associate a to-be-migrated virtual machine (VM) with the vNIC of the target node. 
     
     
       21. The system of  claim 17 , wherein the acts further comprise updating a routing table of the cloud provider to disassociate an IP address of a to-be-migrated virtual machine (VM) with the sender hardware network interface of the sender bare metal computing node. 
     
     
       22. The system of  claim 17 , wherein the acts further comprise determining if a to-be-migrated virtual machine (VM) is still operational at the individual bare metal computing node to receive an incoming packet. 
     
     
       23. The system of  claim 17 , wherein the acts further comprise configuring an encapsulation tunnel between the individual bare metal computing node and a sender bare metal computing node. 
     
     
       24. The system of  claim 23 , wherein the acts further comprise sending an address resolution protocol (ARP) request to the sender bare metal computing node over the encapsulation tunnel.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.