Snapshots and linked clones
A snapshot saves a point-in-time state of a given virtual machine. Changes beyond the snapshot of the point-in-time state are written to a delta disk while the original virtual disk (.vmdk
) is marked as read-only. This preserves the point-in-time state of the virtual machine until the snapshot is deleted by an administrator. Multiple snapshots of a given virtual machine can be taken, and it is these point-in-time snapshots that are used as the basis for View Composer linked clones.
A linked clone is a copy of a virtual machine based on a specific snapshot of that virtual machine (known as the parent). When a linked clone pool is created, View Composer creates a replica.
A replica is the original read-only base virtual machine disk merged with a specific point-in-time snapshot chosen to be the point of deployment for a given View desktop pool. Replicas are always thin-provisioned.
A View desktop pool can only point to one specific snapshot at a time, but this can be changed easily through techniques discussed later in this book. A virtual machine can have multiple snapshots; thus, a single virtual machine with multiple snapshots could be the foundation for all the View desktop pools in an environment. This allows each pool to be based off of their own (or the same) point-in-time snapshot. This is possible because View desktop pools using the linked clone technology do not actually use the base virtual machine snapshots; instead, they use a replica (base virtual machine plus snapshot).
While linked clones are based off of an original parent VM, each linked clone still has a unique name, Media Access Control (MAC) address, and a virtual machine Universal Unique Identifier (UUID).
The preceding figure illustrates a parent virtual machine with three snapshots (Snap 1, Snap 2, and Snap 3). Each snapshot represents a different point-in-time of the virtual machine. For example, the Snap 1 snapshot may have Office 2007 installed, the Snap 2 snapshot may have Office 2010 installed, and the Snap 3 snapshot may have Office 2010 and Visio 2010 installed. In this example, the Snap 2 snapshot was chosen for virtual desktop deployment. Once this snapshot has been selected and the desktop pool has been enabled for provisioning, a replica is created. The replica does not copy the other Snap 1 or Snap 3 snapshot states.
The use of a replica that preserves the original parent vDesktop's snapshot state allows the parent vDesktop to be powered on, patched, or altered without impacting the state of the vDesktop using the replica. Again, this is because the replica is a copy of a parent vDesktop's snapshot and not the actual parent vDesktop itself.
View Composer uses the linked clone technology. A virtual desktop using this technology contains a pointer to a replica of the original gold snapshot. To clarify, the pointer is not pointing to the original (parent) vDesktop but to an exact copy (replica) of the parent vDesktop from a specific point in time. View Composer uses this technology so that each vDesktop doesn't need its own full-sized virtual disk. The pointer uses the replica only for read-only access and writes all changes to a secondary disk, called the delta disk.
Delta disks can be viewed as a change of record. Instead of defiling a gold snapshot, all changes (deltas) to the original disk are recorded outside of the gold snapshot to the delta disk. This leaves the original gold snapshot in pristine condition while still ensuring a usable operating system that accepts changes made by the user and other applications.
Templates
A template is a virtual machine that has been marked read-only by converting it into a template. A template is simply a virtual machine, which has had its .vmx
configuration file converted into a .vmxt
configuration file. Virtual machines are read-only virtual machines that are then used for cloning purposes. A virtual machine created from a virtual machine template is a direct copy of the original template. However, customization specifications can be used to alter certain aspects (for example, SID, hostname, IP address, and so on) of the newly-created virtual machines. Customization specifications are created by using the Customization Specification Wizard in the vSphere Client when connected to a vCenter Server.
Full provisioning versus linked clones
View has the ability to use both full clones and linked clones. A full clone is a 1:1 independent copy of an existing VM template. This follows the same procedure as deploying a virtual machine from a template in VMware vCenter. A template is selected as the base for the vDesktops, and (likely) a customization specification is also chosen.
A vDesktop that has been deployed using full provisioning (for example, a virtual machine template) does not require access to the original template once it has been built.
A linked clone uses one master VM and then creates a delta disk for each additional VM. The additional VMs have a pointer back to the master VM when they need to talk to their base image (for example, to access the core Windows OS components), but use their delta disk for any unique data for that particular VM or user (for example, ...\Documents and Settings\
). A desktop built using the View Composer technology will have read-only access to the replica VM and read/write access to its delta disk.
Note
Full clones are based off a VM template, whereas linked clones are based off a VM snapshot.