Live Cloning

As of VirtualCenter 2.5 Update 2, you can create a clone of a powered-on virtual machine without any downtime to the running virtual machine.

The mechanism for Live Cloning goes something like this>>

  • Whenever user selects “Live clone…”, create a snapshot (using VIM). Increment the snapshot counter for this.
  • If the user does a clone of this VM, create a delta disk off the snapshot delta disk.
  • The snapshot is protected so the user does not inadvertently destroy the snapshot chain.
  • If consolidate is called on a chain with snapshots generated by live clone, then the snapshots will be collapsed. Nothing special here, since the delta disks already have this relationship set up, so the consolidate should just work.

The snapshot taken is a quiesced snapshot and first attempts to use the sync driver to check the I/O state. However, with transactional applications, such as MS SQL Server, the I/O may not stop/pause long enough for the sync driver to work properly. (This is similar to potential issues encountered with VCB.)

Because this is the method used to implement Live Cloning it is best to not use Live Cloning on VMs with transactional applications.