Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

 

Disk-only Snapshot
as VM in running state

Disk-only Snapshot
as VM in Stopped State

Memory-Disk snapshot

Xenserver Free Edition

Yes

Yes

No

Xenserver Enterprise Edition

Yes

Yes

Yes

KVM

No

Yes

Yes

VMware

Yes

Yes

Yes

VM Snapshot deletion

  • Deleting a snapshot should not have any impact to its subsequent snapshots
  • Snapshots will be destroyed when VM is destroyed

...

  • when create or delete a VM snapshot, used capacity of the snapshot is re-calculated and an event is published for each of VM's volume, the size of memory image is added to ROOT volume
    because volume could reside on different kind of storage pool, which suggests VM snapshot usage is tracked on a volume basis, a usage record will include: volume_id, zone_id, account_id, domain_id, vm_id, size, disk_offering, startdate and enddate

Restriction on VM with vmsnapshots

  • attach/detach volume to/from this VM is not allowed
  • attach/detach this VM to/from network is not allowed.
  • volume resize for this VM is not allowed.
  • change offering is not allowed.
  • volume snapshot is not allowed, which is not major use case, we may revisit this later
  • volume migration for this VM is not allowed
  • VM storage migration for this VM is not allowed
  • VM scale for this VM is not allowed.

Architecture and Design description

...

New tables: vm_snapshots (only import columns are listed here)

column

comment

id

primary key, auto-increment

uuid

unique key

name

unique internal name generated by system, like i-2-58-TEST_VS_20121118140427

display_name

snapshot name provided by user when creating VM snapshot

description

a short description provided by user when creating VM snapshot

account_id

owner

domain_id

 

vm_snapshot_type

enum {Disk, DiskAndMemory}

state

VM snapshot state

parent

parent VM snapshot Id

current

if this VM snapshot is current

vm_id

VM id

updated

 

created

 

revmoed

 

HighLevel WorkFlow

VMSnapshot state machine

...

Revert to previous snapshot when VM is  (running, stopped)

Create multiple VM snapshot with snapshotMemory (on, off, mixed) for (vmware, xenserver, KVM) when VM is (running, stopped), the snapshots should form a tree hierarchy, such as:

...

Revert to any snapshots in the tree when VM is  (running, stopped)

Delete  (current, any, all) VM snapshots for (vmware, xenserver, KVM)

...