How cloning and attaching a vDisk works in ThinkAgile CP
Disk clones have all of the capabilities of any other disk, including the ability to be resized, to be deduplicated and compressed, to be the source of a backup, or to be cloned. The technology that makes this all possible is integral to how ThinkAgile CP manages storage.
Backups simply make a copy of the metadata associated with a disk. As data is changed in the base disk, the original blocks stay associated with the backup rather than getting marked for reuse. All metadata updates that occur are just pointer changes, so they are very fast. The backups are immutable; a clone is simply a backup that is writable.
You can think of a disk clone as a transparent, writable layer in front of a backup. Because a disk clone is writable, it needs disk space to store data that is written to the clone. A backup simply links to existing data that was overwritten in the base disk; a clone stores the data written to it on disk and then links to the new data as well. The disk space associated with the backup and the clone is accounted for separately from the data in the base disk.
When a disk clone is created, it requires an application-consistent backup of the disk to use as a base. The disk clone gets a copy of the backup metadata and then updates its metadata as the disk clone is created. Creating the clone takes just a few seconds because the copied metadata is very small compared to the actual data. All changes to the disk clone are copy-on-write operations and contain only the changed blocks.
The original active disk can change independently of the disk clone because the clone is based on the contents of its base backup. Because backups are read-only, they can be reused as the base for multiple disk clones. Space is used very efficiently because the only new disk space used is associated either with the small amounts of metadata and/or unique writes to the disk clone.