Managed orchestration of virtual machine instance migration
Abstract
A virtual machine running on a source host is determined to be migrated away from the source host. The virtual machine is migrated away from the source host at least by a target host being selected for the virtual machine and a state of the virtual machine being copied from the source host to the target host while the virtual machine continues to run on the source host. The virtual machine is further migrated from the source host by a change to the state of the virtual machine t running on the source host that resulted during the copying being propagated to the target host. The virtual machine is run on the target host such that the virtual machine running on the target host includes the change to the state.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A computer-implemented method, comprising:
determining that a virtual machine running on a source host is to be migrated away from the source host; and migrating the virtual machine away from the source host at least by:
selecting a target host for the virtual machine;
copying, while the virtual machine continues to run on the source host, a state of the virtual machine from the source host to the target host;
propagating, to the target host, a change to the state of the virtual machine, the change resulting from the virtual machine running on the source host during the copying; and
running the virtual machine on the target host such that the virtual machine running on the target host includes the change to the state.
2 . The computer-implemented method of claim 1 , wherein the change to the state of the virtual machine occurs as a result of fulfilment of a request received at the virtual machine running on the source host during the copying.
3 . The computer-implemented method of claim 1 , wherein:
the computer-implemented method further comprises pausing the virtual machine running on the source host; and propagating the change to the target host further comprises propagating the change to the target host while the virtual machine running on the source host is paused.
4 . The computer-implemented method of claim 1 , wherein determining that the virtual machine is to be migrated away from the source host is based at least in part on a change in availability of a resource associated with the source host.
5 . The computer-implemented method of claim 4 , where the change in availability of the resource is due to an insufficiency of at least one of:
computing power, memory, or network bandwidth.
6 . The computer-implemented method of claim 1 , wherein selecting the target host is based at least in part on a capability of the target host.
7 . The computer-implemented method of claim 6 , wherein migrating the virtual machine further comprises determining that the capability of the target host is sufficient to fulfill a desired capability specified for the virtual machine.
8 . The computer-implemented method of claim 7 , wherein the desired capability is one or more of:
a type of processor to run the virtual machine, a quantity of or processors to run the virtual machine, or an amount of memory to allocate to the virtual machine.
9 . A system, comprising:
one or more processors; and memory including executable instructions that, if executed by the one or more processors, cause the system to:
determine to perform a migration of a virtual machine away from a source host;
identify a target host for the migration; and
perform the migration by causing the system to at least:
while a first instance of the virtual machine continues to execute on the source host, copy a state of the first instance of the virtual machine from the source host to the target host;
propagate, to the target host, a change to the state of the virtual machine, the change resulting during execution of the first instance during copying the state; and
execute a second instance of the virtual machine on the target host such that the second instance includes the change to the state.
10 . The system of claim 9 , wherein the executable instructions further cause the system to:
terminate the first instance; and reclaim a resource associated with the first instance.
11 . The system of claim 9 , wherein the executable instructions further cause the system to identify the target host based at least in part on resource availability, location, or operation cost.
12 . The system of claim 9 , wherein the executable instructions further cause the system to begin execution of the second instance during copying the state.
13 . The system of claim 9 , wherein the executable instructions further cause the system to:
obtain, during copying the state, a request directed to the first instance; determine, based at least in part on a type of the request, to perform an operation that results in the change to the state of the first instance; and perform the operation.
14 . The system of claim 13 , wherein the executable instructions further cause the system to at least:
lock the first instance of the virtual machine; compare the state of the first instance of the virtual machine to a second state of the second instance of the virtual machine; determine that a difference between the state and the second state exceeds a threshold; and in response to determining that the difference exceeds the threshold, cancel migration of the virtual machine.
15 . The system of claim 9 , wherein the executable instructions further cause the system to:
lock the first instance of the virtual machine; determine that the state of the first instance including the change has been copied to the second instance of the virtual machine; and forward a request directed to the virtual machine to the second instance.
16 . The system of claim 9 , wherein the executable instructions further cause the system to:
pause the first instance of the virtual machine; and propagate, to the target host while the first instance of the virtual machine is paused, the change to the state of the virtual machine.
17 . One or more non-transitory computer-readable storage media storing executable instructions that, if executed by one or more processors, cause the one or more processors to at least:
receive a command to migrate a virtual machine running on a source host to a target host; copy, while the virtual machine continues to run on the source host, a state of the virtual machine from the source host to the target host; identify a change to the state of the virtual machine resulting from the virtual machine running on the source host during copying the state; and propagate the change to the target host.
18 . The one or more non-transitory computer-readable storage media of claim 17 , wherein the executable instructions further cause the one or more processors to:
determine that the virtual machine running on the source host is to be migrated away to fulfill a request from a customer associated with the virtual machine, the request indicating to reduce a cost associated with the virtual machine running on the source host; and select the target host as a result of a determination that a cost associated with the virtual machine running on the target host is reduced compared to the cost associated with the virtual machine running on the source host.
19 . The one or more non-transitory computer-readable storage media of claim 17 , wherein the executable instructions further cause the one or more processors to:
detach a resource from the virtual machine running on the source host; and attach the resource to the virtual machine running on the target host.
20 . The one or more non-transitory computer-readable storage media of claim 17 , wherein the executable instructions further cause the one or more processors to:
determine that the virtual machine is to be moved logically closer to a computing resource; and select the target host at least in part as a result of the target host being logically closer to the computing resource.
21 . The one or more non-transitory computer-readable storage media of claim 17 , wherein the executable instructions further cause the one or more processors to:
obtain, while the virtual machine continues to run on the source host during copying the state, a request directed to the virtual machine running on the source host; determine, based at least in part on the request, an operation to perform; and perform the operation, resulting in the change to the state of the virtual machine.
22 . The one or more non-transitory computer-readable storage media of claim 17 , wherein the executable instructions further cause the one or more processors to:
lock the virtual machine running on the source host; determine that the state of the virtual machine including the change has been copied to the virtual machine running on the target host; and forward a request directed to the virtual machine to the target host.Join the waitlist — get patent alerts
Track US2019310880A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.