VMware snapshots, clones, and templates are incredibly useful technologies, which in true VMware style, are very easy to use. Snapshots allow us to roll back a virtual machine state to a point in the past, whereas full clones can be used to take a complete copy of a virtual machine. Templates extend on the cloning technology since you can clone a virtual machine to a template, then deploy hundreds of virtual machines rapidly and automatically configure them with a customization specification.
For full clones, you use the parent as is. For linked clones and instant clones, you snapshot the parent. The reason is as follows: A full clone is a copy of the parent image. Done. A linked clone or instant clone is actually a snapshot that is read through and written to. It is a delta disk and contains only the differences between the parent image and the clone. It is forever linked to the parent and useless without.
The term "replica: appears in 3 areas
- to replicate your golden image (like clone on master image before major upgrades)
- The replica vm is a copy of the snapshot you made for your gold. It is what everything is then created from.
- replica VMs or VDI, these are sometimes seen as error VMs to be deleted (improper DB or user logoff, BSOD etc)
Some implementations are space-saving in that as you make the snapshot, not only are they creating smaller deltas or tracking the differences, but they have the ability to create a flexible clone -- when you make a clone, you can actually be doing modifications. You can be doing reads and writes, as opposed to just a straight read, such that any other subsequent clone can have less overhead than otherwise having the full model of the clone.
In some ways, clones and snapshots are closely related. This is because you can create a clone of a snapshot of a virtual machine, but you can also clone the current state of a virtual machine, which in fact creates a snapshot of the virtual machine. To understand this, you need to understand the difference between a linked clone and a full clone.
A snapshot is a virtual machine that is in a specific state. When working with snapshots, there will still be one virtual machine that can easily be restored to a specific state. The major difference between a clone and a snapshot is that a clone is a new virtual machine that is independent of the original virtual machine. Even if there is some relation between a snapshot and a clone (for instance, you can create a clone based on a snapshot), a clone basically is a new virtual machine. This means that once you have created a clone of a virtual machine, you can even start creating new snapshots of that virtual machine.
Image Template: A common use case for block device layering is to createa base image and a snapshot that serves as a template for clones. Forexample: a user may create an image for a Linux distribution (for example,Ubuntu 22.04) and create a snapshot of it. The user may occasionally updatethe image and create a new snapshot (by using such commands as sudoapt-get update, sudo apt-get upgrade, or sudo apt-get dist-upgradefollowed by rbd snap create). As the image matures, the user can cloneany one of the snapshots.
Extended Template: A more advanced use case includes extending atemplate image to provide more information than a base image. Forexample, a user may clone an image (for example, a VM template) and installother software (for example, a database, a content management system, ananalytics system) and then snapshot the extended image, which may itself beupdated just like the base image.
Template Pool: One way to use block device layering is to create a poolthat contains (1) base images that act as templates and (2) snapshots ofthose templates. You may then extend read-only privileges to users so thatthey may clone the snapshots even though they do not have permissions thatallow them to write or execute within the pool.
The template is a clone of the Master VM with the snapshot and has a naming scheme of cp-template-GUID in vCenter in ClonePrepInternalTemplateFolder. The template will be on the same datastore as the Master VM; there is 1 Template VM.
dd2b598166