https://cwiki.apache.org/confluence/display/CLOUDSTACK/Volume+snapshot+enhancements+for+VMware
Current volume snapshot operation flow is described as below
In the above work flow, exporting volume content into mounted NFS share and packaging it into OVA are very time consuming operations, there are two ways to speed up the process
There is no API change for this enhancement feature
This is no schema change for this enhancement feature
Internal storage format for snapshot, template and volume on Secondary storage will no longer be OVA. In stead of packing .OVF and .VMDK into .OVA file, CloudStack only stores OVA meta information into a property file. The property file will be named with postfix .ova.meta. Content of the property file includes meta information of .VMX and .VMDK files, stored there to help generate OVA for exporting or importing into vCenter. Following gives some example content of the property file
version=1 (meta file version)
ovf=xxx.ovf
numDisks=1
disk1.name=xxxx.vmdk
disk1.size=xxxxx
CreateTemplateCmd
RegisterTemplateCmd
CopyTemplateCmd
DeleteTemplateCmd
ExtractTemplateCmd
After the snapshot is create, in the snapshot directory on SEcondary Storage host, we will see the ovf and the vmdk files.
in dir: ~/Secondary/snapshots/2/13/
For example:
1 root root 68608 Apr 5 16:36 aa44054a-d099-4b9d-8fbf-211217381da0-disk0.vmdk
1 root root 3835 Apr 5 16:36 aa44054a-d099-4b9d-8fbf-211217381da0.ovf
In the previous scheme, we will see one ova file after the create snapshot command completes:
in dir ~Secondary/snapshots/2/7/,
ls:
1 root root 81920 Mar 27 15:18 db92a8e4-079f-4055-84f5-08d33f6f9fef.ova
It will delete the snapshots related ovf, vmdk files for the new scheme. In the old scheme, it delets the ova file.
CreateVolumeCmd
ExtractVolumeCmd
Of all these commands, it does not have any change to the semantics of the command, but to changes caused by changing of the underlying storage format.
In a upgraded system, volume/snapshot/template on secondary storage are stored in OVA format, after customer system has been upgraded, in order to avoid unneccessary data conversion (which could be very slow and time consuming), we will support co-existence of both format. Therefore existing system could continue operating but all newly created templates/snapshot/volume will start to use the new storage format.
CloudStack can distinguish two different formats by checking the existence of .ova.meta file.
Suggest following but not limited use cases