Live migration of virtual machines that use externalized memory pages
First Claim
Patent Images
1. A method, comprising:
- running a Virtual Machine (VM) on a first compute node in a plurality of compute nodes that communicate with one another over a communication network; and
migrating the VM from the first compute node to a second compute node in the plurality, by;
generating, for memory pages accessed by the VM, page transfer state of one or more local memory pages that are accessed locally on the first compute node, and of one or more externalized memory pages whose access is not confined to the first node;
based on the page transfer state, providing for the migrated VM access to the memory pages, including both the local and the externalized memory pages, on the second compute node; and
transferring from the first compute node to the second compute node contents or unique identifiers of the local memory pages, further transferring from the first compute node to the second compute node unique identifiers of the externalized memory pages after stopping the VM on the first compute node, and transferring remaining memory pages after starting a migrated instance of the VM on the second compute node.
3 Assignments
0 Petitions
Accused Products
Abstract
A method includes running a Virtual Machine (VM) on a first compute node in a plurality of compute nodes that communicate with one another over a communication network. The VM is migrated from the first compute node to a second compute node in the plurality by generating, for memory pages accessed by the VM, page transfer state of one or more local memory pages that are accessed locally on the first compute node, and of one or more externalized memory pages whose access is not confined to the first node. Based on the page transfer state, the migrated VM is provided with access to the memory pages, including both the local and the externalized memory pages, on the second compute node.
27 Citations
15 Claims
-
1. A method, comprising:
-
running a Virtual Machine (VM) on a first compute node in a plurality of compute nodes that communicate with one another over a communication network; and migrating the VM from the first compute node to a second compute node in the plurality, by; generating, for memory pages accessed by the VM, page transfer state of one or more local memory pages that are accessed locally on the first compute node, and of one or more externalized memory pages whose access is not confined to the first node; based on the page transfer state, providing for the migrated VM access to the memory pages, including both the local and the externalized memory pages, on the second compute node; and transferring from the first compute node to the second compute node contents or unique identifiers of the local memory pages, further transferring from the first compute node to the second compute node unique identifiers of the externalized memory pages after stopping the VM on the first compute node, and transferring remaining memory pages after starting a migrated instance of the VM on the second compute node. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method, comprising:
-
running a Virtual Machine (VM) on a first compute node in a plurality of compute nodes that communicate with one another over a communication network; and migrating the VM from the first compute node to a second compute node in the plurality, by; generating, for memory pages accessed by the VM, page transfer state of one or more local memory pages that are accessed locally on the first compute node, and of one or more externalized memory pages whose access is not confined to the first node; based on the page transfer state, providing for the migrated VM access to the memory pages, including both the local and the externalized memory pages, on the second compute node; transferring from the first compute node to the second compute node contents or unique identifiers of the local memory pages, and unique identifiers of the externalized memory pages, wherein migrating the VM comprises transferring at least some of the memory pages while the VM is running on the first compute node, and transferring remaining externalized pages before starting a migrated instance of the VM on the second compute node.
-
-
8. A system comprising a plurality of compute nodes that communicate with one another over a communication network, including at least first and second compute nodes comprising respective processors, wherein the processors are configured to run a Virtual Machine (VM) on the first compute node and to migrate the VM from the first compute node to the second compute node, by:
-
generating, for memory pages accessed by the VM, page transfer state of one or more local memory pages that are accessed locally on the first compute node, and of one or more externalized memory pages whose access is not confined to the first node; and based on the page transfer state, providing for the migrated VM access to the memory pages, including both the local and the externalized memory pages, on the second compute node, wherein the processors are further configured to transfer from the first compute node to the second compute node contents or unique identifiers of the local memory pages, and to further transfer from the first compute node to the second compute node unique identifiers of the externalized memory pages after stopping the VM on the first compute node, and to transfer remaining memory pages after starting a migrated instance of the VM on the second compute node. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A system comprising a plurality of compute nodes that communicate with one another over a communication network, including at least first and second compute nodes comprising respective processors, wherein the processors are configured to run a Virtual Machine (VM) on the first compute node and to migrate the VM from the first compute node to the second compute node, by:
-
generating, for memory pages accessed by the VM, page transfer state of one or more local memory pages that are accessed locally on the first compute node, and of one or more externalized memory pages whose access is not confined to the first node; and based on the page transfer state, providing for the migrated VM access to the memory pages, including both the local and the externalized memory pages, on the second compute node, wherein the processors are further configured to transfer from the first compute node to the second compute node contents or unique identifiers of the local memory pages, and unique identifiers of the externalized memory pages, to transfer at least some of the memory pages while the VM is running on the first compute node, and to transfer remaining externalized pages before starting a migrated instance of the VM on the second compute node.
-
-
15. A computer software product, the product comprising a tangible non-transitory computer-readable medium in which program instructions are stored, which instructions, when read by processors of first and second compute nodes that communicate with one another over a communication network, cause the processors to run a Virtual Machine (VM) on the first compute node and to migrate the VM from the first compute node to the second compute node, by:
-
generating, for memory pages accessed by the VM, page transfer state of one or more local memory pages that are accessed locally on the first compute node, and of one or more externalized memory pages whose access is not confined to the first node; based on the page transfer state, providing for the migrated VM access to the memory pages, including both the local and the externalized memory pages, on the second compute node; and transferring from the first compute node to the second compute node contents or unique identifiers of the local memory pages, further transferring from the first compute node to the second compute node unique identifiers of the externalized memory pages after stopping the VM on the first compute node, and transferring remaining memory pages after starting a migrated instance of the VM on the second compute node.
-
Specification