F.Schmidt - Fotolia
There are many actions you can perform from the vSphere Web Client that can be automated with a tool, such as, PowerCLI or vRealize Orchestrator (formerly vCenter Orchestrator.) When you want to modify a group of virtual machines, for example, to add RAM, then several tools are at your disposal to automate that. And vRealize Orchestrator is one of the more convenient ones for many administrators because of the graphical nature of designing workflows without the need of too much scripting knowledge.
But what not many administrators know is that vRealize Orchestrator can also be used for tasks that normally can't be performed with the vSphere Web Client.
Creating linked clones on vSphere
The linked clone technology has been around for a while. It allows you to create VM clones that use a central parent VM to read from and to write changes to the VM into a separate disk file that grows when adding data. Linked clones can save you a lot of disk space in certain scenarios; for example, when you need to build a test environment with a large number of machines and a short life span.
You cannot create linked clones from the vSphere Web Client directly. This feature is only available when you purchase Horizon View or with the combination of vCloud Director and vRealize Automation -- formerly vCloud Automation Center.
But with vRealize Orchestrator you can now create linked clones on your vSphere host. The workflows to do this are available by default without the need to design your own workflows or write scripts.
Before you can start using these workflows you first need to create a VM to use as the parent. Create this like you would a template for your environment, including the installation of the operating system, installing the VMware Tools, any patches and additional software you want to use in all VMs created from this parent.
To run the linked-clone workflow, find it in the folder Library>vCenter>Virtual Machine management>Clone>Linked Clone. This workflow is named Set up virtual machine for linked clone. This workflow creates a snapshot of the parent VM to keep the original .VMDK file the same while any changes will go into a delta file that all linked clone VMs can read simultaneously.
After this, you can use one the available workflows to create linked clones with Windows and Linux customizations. The simplest one is named Linked clone, no customization. Put the number of VMs for the workflow to create -- for example, 5.0 -- in the first parameter field named 1a. In the next parameter, provide the prefix name for the linked clone, folder, host, resource pool and data store for the virtual machines. In the last parameter, enter the parent VM that will be used as the basis for the linked clones.
Creating a snapshot based on a previous snapshot
Another useful procedure that can only be done with additional tools is to clone a VM based on a particular snapshot.
First, you need to import a vRealize Orchestrator package with the needed actions and workflows created by Joerg Lew. After importing the package, execute the workflow named Clone from Snapshot.
Select the VM, then select the snapshot to use as the basis for the new clone. Next, specify the name of the new VM, the folder to place the VM, whether to power on the VM, mark it as a template, select to use thin or thick provisioning. (This is the last setting in the parameter window; the default of No means a thick-provisioned disk will be used.)
In the last window of the workflow, you can specify optional parameters such as the data store to use, and the host and resource pool for the clone. If not specified, the same location of the original VM will be used. After completing the workflow, a VM will be created from the chosen snapshot.
Creating snapshots of multiple VMs in a folder
In the vSphere Web Client, you can only create a snapshot of a single VM but may want the ability to create a snapshot of multiple VMs. I created a workflow you can download here that gives that functionality.
This workflow gives the choice of powering off the VMs before creating the snapshots for consistency. This might be necessary because creating multiple snapshots normally is done sequentially with a delay between snapshots. Another parameter powers on the VMs when the snapshot are created.
The package comes with two workflows. The other workflow allows you to remove all snapshots for the VMs in a folder.
While these workflows are convenient, it can be a nuisance to first log in to the vRealize Orchestrator client to perform these actions every time. This is where the integration of Orchestrator with the vSphere Web Client can be helpful. It's possible to assign the workflows in the vSphere Web Client so you can execute them directly.
To enable this integration, register the Orchestrator Server as an extension to vCenter. This is done automatically when Orchestrator is installed with a vCenter Windows installation. When using the Linux appliance, you can install the extension through a default Orchestrator workflow. Once the extension is registered, you will find the Orchestrator plugin on the home page of the vSphere Web Client. When you click the icon, the administration page opens and displays the workflows that are available as context actions. This is where you can add your own workflows as actions for objects in the inventory such as VMs, folders and hosts.
Find orphaned VMs and miscellaneous unlisted files
Another interesting Orchestrator workflow not available in the vSphere Web Client is to find orphaned VMs that take up disk space, but are not being used. This happens when VMs are removed from an inventory but not from a disk.
You find the Find orphaned virtual machines workflow in the folder Library>vCenter>Virtual Machine management>Others.
The workflow accesses all VMs in the inventory and reads through all data stores to find orphaned VMs. It also finds VM and template files on the file system that are not in the inventory.
How else can vRealize Orchestrator help admins do more with less?
Which VMware automation tools work for your peers?