IP Library Granted Patent US 8,478,725
Granted Patent B2
US 8,478,725 · App. 12/881,970 · Granted Jul 2, 2013

Method and system for performing live migration of persistent data of a virtual machine

Inventors: Ali Mashtizadeh (El Cerrito, CA); Osten Kit Colbert (San Francisco, CA)
Assignee: VMware, Inc.
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 8,478,725
App. No.
12/881,970
Granted
Jul 2, 2013
Kind
B2
Abstract

Persistent data of virtual machines are migrated between and across data stores using a method that provides for a bounded disk size, low performance overhead, arbitrarily low downtimes, atomic switch-over, and ability to build optimizations based around block level heuristics. The method includes the steps of copying the persistent data at the source data store to the destination data store, updating a bitmap data structure during the copying step to indicate which blocks of the persistent data have been modified during the copying step, identifying the blocks that have been modified during the copying step using the bitmap data structure, and copying the identified blocks to the destination data store. The method may further include the step of determining that the number of the identified blocks is below a predetermined threshold and suspending the virtual machine prior to the second copying step.

Claims (10)

1. A method for migrating persistent data associated with a virtual machine (VM), the method comprising:

copying static persistent data from a source data store to a target data store, the static persistent data being persistent data associated with the VM that is not accessible by guest software;

creating a new VM using the copied static persistent data:

copying a virtual disk associated with the VM from the source data store to the target data store, wherein dynamic persistent data includes the virtual disk;

monitoring input and output (I/O) disk operations during the copying of the virtual disk, the monitoring including maintaining a data structure identifying each disk block written to by the VM during the copying of the virtual disk, wherein disk blocks that are written to are dirty disk blocks;

iteratively copying dirty disk blocks until a set of dirty blocks is smaller than a threshold number of disk blocks; and

after the set of dirty blocks is smaller than the threshold number of disk blocks, stunning the VM, copying remaining dirty disk blocks to the target data store, and when all the persistent data of the VM has been copied to the target data store, resuming execution of the VM using persistent data stored on the target data store.

2. The method of claim 1 , further comprising:

modifying the copied static persistent data so that all file handles of the new VM identifying persistent data on the source data store are modified to identify corresponding persistent data on the target data store,

wherein after said stunning and before said resuming, the state of the VM is copied to the new VM, and upon said resuming, the new VM continues execution using persistent data stored on the target data store.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2010
From: MASHTIZADEH, ALI; COLBERT, OSTEN KIT
To: VMWARE, INC.
Reel/Frame 025355/0732 →
Continuity (3)
Provisional Application 61242360 · Sep 14, 2009
Provisional Application 61242340 · Sep 14, 2009
Related Publication 20110066597A1 · Mar 17, 2011