VMware View Composer and recomposing a Pool (Video included)

One of the best features of VMware View is Linked Clones and VMware View Composer. In this article I will discuss what composer is, the benefits and I will add a short video in which I will recompose a pool. Just for everyone to see how easy it is to recompose a pool, in just a couple of clicks.

View Composer is a tool/mechanism, which helps you streamline virtual desktop provisioning. Also, it helps you introduce single image management and reduce cost on storage capacity. Composer uses Linked Clone technology. Instead of creating multiple Full Clone VM’s for your users, you only create 1 Parent VM (Golden Image is another term I hear a lot) and roll out Linked Clones, which all are unique and point to a Master. The Master VM is Read-Only. The user writes in the Linked Clone Delta disk. The Master+Linked Clone is the complete VM for a user.

The steps to create a Linked Clone pool are;

  • Create a VM in vCenter with the View Agent installed (the Parent VM),
  • Turn off that VM and create a Snapshot,
  • In View Manager, create an Automated Pool, Linked Clone. See video.

What happens next (KB 1021506);

  1. View Manager creates the linked-clone entry in View LDAP and puts the virtual machine into the Provisioning state.
  2. View Manager calls View Composer to create the linked clone
  3. The View Composer Server creates the machine account entry in Active Directory for the new clone and creates a random binary password for the newly created computer account.
  4. If a replica for the base image and snapshot does not yet exist in the target datastore for the linked clone, View Composer creates the replica in the datastore. If a separate datastore is configured to store all replicas, the replica is created in the replica datastore. (In View 4.5 and later, replicas can be stored in a separate datastore.)
  5. View Composer creates the linked clone using the vCenter Server API.
  6. View Composer creates an internal disk on the linked clone. This small disk contains configuration data for QuickPrep or Sysprep. The disk also stores machine password changes that Windows performs every 30 days, according to the policy setting. This disk data ensures that domain connectivity is maintained when a checkpointed desktop is refreshed.

So, now you have a Linked Clone Pool. But, what do you do when you need to update this pool? Think about patches for Windows or other applications installed in the Parent VM. My recommendation; Don’t let every user update his/her VM, nor push updates with a deployment tool. All these updates will end up in the Linked Clones. They will grow but more importantly, when you do a recompose or a rebalance, you will loose all these updates.

Use VMware View Composer and Recompose pools to push updates out to users. In this scenario you start the Parent VM again, apply the updates/changes, turnoff the VM and create a second Snapshot. From that point, use VMware View Manager to recompose the pool. The video will show which steps need to be taken to recompose the pool.

These steps occur during a recompose operation:

  1. View Manager puts the linked clone into the Maintenance state.
  2. View Manager calls the View Composer resync API for the linked clones being recomposed, directing View Composer to use the new base image and snapshot.
  3. If a replica for the base image and snapshot does not yet exist in the target datastore for the linked clone, View Composer creates the replica in the datastore. If a separate datastore is configured to store all replicas, a replica is created in the replica datastore.
  4. View Composer deletes the current OS disk for the linked clone and creates a new OS disk, linked to the new replica.
  5. The rest of the recompose cycle is identical to the customization phase of the provisioning and customization cycle.

The beauty is you only update 1 VM and push it out to multiple users. You also have the option to leave certain pool on Snapshot 1 and recompose other pools to use Snapshot 2. Do realize all changes inside a Linked Clone will be lost after a recompose. That’s the reason you need to separate the “user” when you want to deploy a Linked Clone Pool. Changes should be saved centrally. In case a users needs to be able to install software, provision a Full Clone VM for that user so a recompose won’t delete all the user’s work.

Two more small things at the end of this article;

  1. Can you keep recomposing a pool? Meaning, can you add Snapshot after Snapshot? Well, good question and I don’t have an official answer.  Adding Snapshots can’t be good performance wise but the Linked Clones aren’t reading from the Parent+Snapshots. Every time a new Replica is being created, so it shouldn’t be an issue but again, I cannot find an official statement.
  2. In vSphere, you see 3 different numbers being mentioned what a VM uses, storage capacity wise. I admit, confusing. The “Not-Shared” number is the one to track. This is what the actual size is of your Linked Clone VM. You can read more about this here.

Creating a Floating Linked Clone Pool (video included)

One of the things I always show during a demo of View Manager is the creation of a pool. I show which choices you have as an admin; dedicated/floating pools, 3D turned on/off, storage tiering etc. I created a video in which I provision a Floating Linked Clone Pool. My message; it is very easy to create pools in VMware View and also that for different user groups you can create different pools, which behave differently.

In this post I would like to discuss the creation of a Floating Linked Clone Pool with Refresh after first use. Why start with this pool? Because I think this is the pool to aim for, to go for, which will give you flexibility, efficiency and the least management.

A Floating Linked Clone Pool is a pool mechanism where there is no permanent relationship between user and VM. On a random day I could log on to VM1 and the next time logon to VM20. When you know, on average, 70% of your employees are working every day you only need to provision 70% of the workspaces/VM’s. You don’t have to create a VM for every employee. This way you can work more with concurrency. With 70 VM’s you can provide a workplace for 100 employees.  This impacts the size of your VMware View environment but also 3rd party software running on your VM’s. So, you could save on hardware and software when working with concurrency.

Linked Clone Pools mean that you work with a Parent VM, or also known as Golden Image. Instead of giving every concurrent user a VM, which is 30GB in size, you can create a pool based on a 30GB Parent VM and users start with a small “Linked Clones”. These Linked Clones will grow over time but you will save on storage capacity. With a Linked Clone Pool, you only have to patch and manage the Parent VM so you will have single image management.

You can delete/refresh these Linked Clones after first use so storage management will be reduced. You don’t have to monitor these Linked Clones in detail. Most likely, they won’t grow that much during a user’s workday. In my opinion, do use the delete of refresh option when you use Floating Linked Clone Pools. The pool is floating, so delete changes made by a user before the next user logs on. Everybody starts with a clean VM, with his/her set of applications.

A couple of things you have to keep in mind;

  • Profiles; because you delete/refresh the Linked Clones, profiles/user settings need to be saved centrally. Use View 5’s Persona Management or any other 3rd party tool like Roaming Profiles, RES, Appsense etc. This way a user will get his/her settings back when logging on to a clean VM.
  • Local Admin/Installation rights; when users have Local Admin rights, giving them a Floating Linked Clone Pool is most likely not the best choice. After a refresh/delete, all user installed applications are gone and the next time your users have to install the applications again..and again.
  • Virtualizing your applications will make this mechanism even more flexible and efficient.  You can then reduce the amount of different Parent VM’s with a specific application set locally installed.

After knowing the boundaries I believe most employees/users can be placed on a Floating Linked Clone Pool. You will get storage savings, you can work with concurrency, single image management and users will see a full, complete Windows desktop with applications

Next, I will discuss the options you get during the creation of a Floating Linked Clone Pool. To check out the options, see the video.

A video tour through VMware View Manager; Overview

VMware View Manager is an enterprise-class virtual desktop manager. It is the place for desktop administrators to provision pools of VM’s, entitle users to pools and deploy virtualized applications, ThinApps.

I bet there still are a lot of people who haven’t seen or touched the View Manager Console. With this video, I wanted to give you an overview of what it looks like, how navigation via links is been done and how you can find information about users, pools and your environment.

This video is part 1 of multiple videos. I will cover other topics with videos as well. Stay tuned.

Videos coming up

I have noticed a lot of people haven’t seen or touched VMware View Manager, ThinApp Capture etc. Of course I can talk and write articles about them but people also like to see what it looks like, the interface, buttons…

My plan is to add videos (where I can and it is beneficial, of course) to articles, to give people a better idea what I’m talking about.

If you have an idea about a short video, let me know and I will see if I can make it work.