Method and system for transferring a virtual machine
First Claim
1. A method for transferring an operating environment from a first host to a second host, the operating environment including a storage and a memory implemented on the first host, the method comprising:
- identifying the first host as the active host;
receiving, at a hardware network interface component of the first host, a message addressed to the first host from a cluster monitor coupled to the first host and second host, the message further including an identification of the second host to which the operating environment is to be transferred;
creating, by at least one hardware processor of the first host, a first snapshot of the storage implemented on the first host in response to the message received by the hardware network interface component of the first host;
defining a logical container on the second host identified by the message as a target for the first snapshot of the storage implemented on the first host;
transferring the first snapshot of the storage to the logical container on the second host identified by the message addressed to the first host while the first host is still active;
transferring a differential update of the storage implemented on the first host to the second host identified by the message addressed to the first host;
transferring a memory image from the first host to the second host; and
identifying, by the cluster monitor, the second host as the active host.
5 Assignments
0 Petitions
Accused Products
Abstract
A virtual machine management system is used to instantiate, wake, move, sleep, and destroy individual operating environments in a cloud or cluster. In various embodiments, there is a method and system for transferring an operating environment from a first host to a second host. The first host contains an active environment, with a disk and memory. The disk is snapshotted while the operating environment on the first host is still live, and the snapshot is transferred to the second host. After the initial snapshot is transferred, a differential update using rsync or a similar mechanism can be used to transfer just the changes from the snapshot from the first to the second host. In a further embodiment, the contents of the memory are also transferred. This memory can be transferred as a snapshot after pausing the active environment, or by synchronizing the memory spaces between the two hosts.
-
Citations
18 Claims
-
1. A method for transferring an operating environment from a first host to a second host, the operating environment including a storage and a memory implemented on the first host, the method comprising:
-
identifying the first host as the active host; receiving, at a hardware network interface component of the first host, a message addressed to the first host from a cluster monitor coupled to the first host and second host, the message further including an identification of the second host to which the operating environment is to be transferred; creating, by at least one hardware processor of the first host, a first snapshot of the storage implemented on the first host in response to the message received by the hardware network interface component of the first host; defining a logical container on the second host identified by the message as a target for the first snapshot of the storage implemented on the first host; transferring the first snapshot of the storage to the logical container on the second host identified by the message addressed to the first host while the first host is still active; transferring a differential update of the storage implemented on the first host to the second host identified by the message addressed to the first host; transferring a memory image from the first host to the second host; and identifying, by the cluster monitor, the second host as the active host. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A system allowing the transfer of an operating environment from a first host to a second host, the system comprising:
-
a first host including a first host storage, a first host memory, a first host processor, a first hardware network interface component, and a first hypervisor; the first hypervisor further including first transfer module, a first logical container, the first logical container containing a first container storage, a first container memory, and an active operating environment, wherein the operating environment uses the first container storage and the first container memory, and wherein the contents of the first container storage and first container memory are accessible to the first transfer module, the first transfer module further containing a disk capture module and a memory capture module; a second host including a second host storage, a second host memory, a second host processor, and a second hypervisor; the second hypervisor further including a second transfer module, a second logical container, the logical container containing a second container storage and a second container memory; a cluster monitor including at least a processor; a communications medium coupling the first host the second host, and the cluster monitor; wherein the disk capture module reads the first container storage and creates a snapshot of the first container storage in response to a message received by the first hardware network interface component from the cluster monitor, wherein the message is addressed to the first host and includes an identification of the second host to which the operating environment is to be transferred, followed by a differential update of the first container storage; wherein the memory capture module reads the first container memory and creates a memory representation indicative of at least part of the first container memory; and wherein the second container storage and the second container memory are synchronized, via the communications medium, with the first container storage and the first container memory via the transfer of the snapshot, the differential update, and the memory representation to the second host. - View Dependent Claims (15, 16, 17, 18)
-
Specification