IP Library › Granted Patent US 9,110,704
Granted Patent B2
US 9,110,704 · App. 13/484,753 · Granted Aug 18, 2015

Pre-warming of multiple destinations for fast live migration

Inventor: Michael Tsirkin (Yokneam Yillit, IL)
Assignee: Red Hat Israel, Ltd.
G06F9/45558G06F11/1438G06F11/1484G06F2009/4557
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,110,704
App. No.
13/484,753
Granted
Aug 18, 2015
Kind
B2
Abstract

A method for fast migrating of a source virtual machine located on a source host to one or more destination hosts is provided. A source migration manager of a hypervisor receives identities of a plurality of destination hosts. The source migration manager copies at least one data segment corresponding to a portion of a state of a source virtual machine to the pluralities of destination hosts. The source migration manager receives a command to migrate the source virtual machine to one or more selected destination hosts of the plurality of destination hosts after copying the at least one data segment to the destination hosts. When the source migration manager receives an indication of successful booting of at least one destination virtual machine, the source migration manager terminates transmission of the state of the source virtual machine to the remaining plurality of destination hosts.

Claims (43)

1. A method, comprising:

identifying, by a source host processor, a plurality of destination hosts as an indication to the source host processor to enter a pre-warm-up phase for live migration of a source virtual machine residing on the source host processor to the plurality of destination hosts;

responsive to the source host processor entering the pre-warm-up phase, copying, by the source host processor, at least one data segment corresponding to a portion of a state of the source virtual machine to the plurality of destination hosts, the at least one data segment corresponding to a portion of memory employed by the source virtual machine; and

receiving a command to migrate the source virtual machine to one or more selected destination hosts of the plurality of destination hosts after copying the at least one data segment to the plurality of destination hosts.

2. The method of claim 1 , further comprising, before receiving a command to migrate the source virtual machine, remaining in the pre-warm-up phase and continuing copying data segments corresponding to the state of the source virtual machine to the one or more selected destination hosts of the plurality of destination hosts when a complete state has been copied to at least one of the plurality of destination hosts.

3. The method of claim 1 , further comprising remaining in the pre-warm-up phase of migration corresponding to the source virtual machine and continuing copying data segments corresponding to the state of the source virtual machine to the one or more selected destination hosts of the plurality of destination hosts when a warm-up exit condition has not been attained corresponding the source virtual machine.

4. The method of claim 3 , wherein a warm-up exit condition corresponding to the source virtual machine is defined as a condition that a warm-up exit condition has been attained corresponding to a predetermined percentage of selected destination hosts.

5. The method of claim 1 , further comprising exiting the pre-warm-up phase of migration corresponding to the source virtual machine after a warm-up exit condition has been attained corresponding to the source virtual machine.

6. The method of claim 1 , further comprising:

receiving an indication that a virtual machine was successfully started on at least one of the plurality of destination hosts; and

terminating copying the state of the source virtual machine to the remaining plurality of destination hosts.

7. The method of claim 6 , wherein terminating copying the state of the source virtual machine comprises transmitting a termination command to the remaining plurality of destination hosts.

8. The method of claim 7 , wherein transmitting the termination command comprises transmitting an indication to remove a portion of the state of the source virtual machine copied to the respective one of the remaining plurality of destination hosts.

9. The method of claim 6 , wherein terminating copying the state of the source virtual machine comprises stopping the source virtual machine.

10. The method of claim 6 , further comprising terminating the source virtual machine.

11. The method of claim 1 , wherein the state of the source virtual machine is copied to the plurality of destination hosts from a proxy host separate from the source host processor and the command to migrate the source virtual machine to the plurality of destination hosts is received from the source host processor.

12. The method of claim 1 , wherein the state of the source virtual machine is transmitted to at least one of the plurality of destination hosts over a network.

13. The method of claim 1 , wherein the source virtual machine and at least one of the plurality of destination hosts is located on the source host processor.

14. The method of claim 1 , further comprising:

detecting a failure in copying the state of the source virtual machine to at least one of the plurality of destination hosts;

restarting the source virtual machine; and

copying the state of the source virtual machine to at least one other machine that is not one of the plurality of destination hosts.

15. The method of claim 1 , further comprising:

detecting a failure in starting a virtual machine corresponding to the copied state of the source virtual machine on at least one of the plurality of destination hosts;

restarting the source virtual machine; and

copying the state of the source virtual machine to at least one other machine that is not one of the plurality of selected destination hosts.

16. The method of claim 1 , wherein copying the state of the source virtual machine to the plurality of destination hosts is performed concurrently.

17. A system, comprising:

a memory;

a source host processor, operatively coupled to the memory, to:

identify a plurality of destination hosts as an indication to the source host processor to enter a pre-warm-up phase for live migration of a source virtual machine on the source host processor to the plurality of destination hosts;

responsive to the source host processor entering the pre-warm-up phase, copy at least one data segment corresponding to a portion of a state of the source virtual machine to the plurality of destination hosts, the at least one data segment corresponding to a portion of memory employed by the source virtual machine; and

receive a command to migrate the source virtual machine to the plurality of destination hosts after the at least one data segment is copied to the plurality of destination hosts.

18. The system of claim 17 , wherein the source host processor is further to:

receive an indication that a virtual machine was successfully started on one of the plurality of destination hosts; and

terminate copying the state of the source virtual machine to the remaining plurality of destination hosts.

19. A non-transitory computer-readable storage medium comprising instructions that, when accessed by a source host processor, cause the source host processor to:

identify, by a source host processor, a plurality of destination hosts as an indication to the source host processor to enter a pre-warm-up phase for live migration of a source virtual machine residing on the source host processor to the plurality of destination hosts;

responsive to the source host processor entering the pre-warm-up phase, copy at least one data segment corresponding to a portion of a state of the source virtual machine to the plurality of destination hosts, the at least one data segment corresponding to a portion of memory employed by the source virtual machine; and

receive a command to migrate the source virtual machine to the plurality of destination hosts after the at least one data segment is copied to the plurality of destination hosts.

20. The non-transitory computer-readable storage medium of claim 19 , wherein the source host processor further to:

receive an indication that a virtual machine was successfully started on one of the plurality of destination hosts and

terminate copying the state of the source virtual machine to the remaining plurality of destination hosts.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2013
From: TSIRKIN, MICHAEL
To: RED HAT ISRAEL, LTD.
Reel/Frame 030143/0997 →
Continuity (1)
Related Publication 20130326175A1 · Dec 5, 2013