Method and system for transferring a virtual machine
First Claim
1. A method comprising:
- providing a first host having a first identification and an operating environment,wherein the operating environment includes a storage and a memory, andwherein a first hypervisor operates on at least one hardware processor of the first host;
identifying the first host as an active host;
receiving, at a hardware network interface component of a second host, an instantiate message, the instantiate message further including the first identification of the first host from which the operating environment is to be transferred;
allocating, by a second hypervisor operating on at least one hardware processor of the second host, a logical container and operating environment in accordance with configuration information corresponding to the first host;
receiving, at a hardware network interface component of the first host, a transfer message, the transfer message further including a second identification of the second host to which the operating environment is to be transferred;
creating, by the first hypervisor, a first snapshot of the storage corresponding to the operating environment on the first host, and subsequently making the first snapshot available as a first mountable image by the second hypervisor;
mounting, by the second hypervisor, the first mountable image made available by the first hypervisor;
transferring, by the second hypervisor, the mounted image to the logical container;
providing a differential update of the storage from the first host to the second host based on the first snapshot;
buffering network packets intended for the operating environment on the first host;
transferring a memory image from the first host to the second host;
identifying, by a cluster monitor, the second host as the active host; and
directing traffic intended for the operating environment on the first host to the operating environment on the second host, beginning with the buffered network packets.
3 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.
38 Citations
13 Claims
-
1. A method comprising:
-
providing a first host having a first identification and an operating environment, wherein the operating environment includes a storage and a memory, and wherein a first hypervisor operates on at least one hardware processor of the first host; identifying the first host as an active host; receiving, at a hardware network interface component of a second host, an instantiate message, the instantiate message further including the first identification of the first host from which the operating environment is to be transferred; allocating, by a second hypervisor operating on at least one hardware processor of the second host, a logical container and operating environment in accordance with configuration information corresponding to the first host; receiving, at a hardware network interface component of the first host, a transfer message, the transfer message further including a second identification of the second host to which the operating environment is to be transferred; creating, by the first hypervisor, a first snapshot of the storage corresponding to the operating environment on the first host, and subsequently making the first snapshot available as a first mountable image by the second hypervisor; mounting, by the second hypervisor, the first mountable image made available by the first hypervisor; transferring, by the second hypervisor, the mounted image to the logical container; providing a differential update of the storage from the first host to the second host based on the first snapshot; buffering network packets intended for the operating environment on the first host; transferring a memory image from the first host to the second host; identifying, by a cluster monitor, the second host as the active host; and directing traffic intended for the operating environment on the first host to the operating environment on the second host, beginning with the buffered network packets. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
Specification