By Fred Schimscheimer, Staff Engineer, End-User Computing, VMware
Just-in-time desktops? Really? Are you kidding me?
What Is Instant Clone Technology?
Instant Clone Technology is all about delivering VDI desktops just in time. For those of you who follow project names, think of vmFork and Project Fargo. Instant Clone Technology allows administrators to rapidly clone and deploy a virtual machine in less time than it took for you to read these two sentences. Yes, that is one clone created per second on average.
Why Are Instant Clones Created So Much Faster Than View Composer Clones?
Figure 1 shows the various steps involved in the two cloning processes—Instant Clone Technology and View Composer clones. When you eliminate or shorten the steps for provisioning View Composer clones by using Instant Clone Technology, you significantly reduce the time for a desktop to be provisioned and ready.
Figure 1: Comparison of the View Composer Cloning Process to the Instant Clone Technology Process
Note: Copy-on-write, or COW, is an optimization strategy. This means that whenever a task attempts to make a change to the shared information, it should first create a separate (private) copy of that information to prevent its changes from becoming visible to all the other tasks.
A running parent virtual machine is brought to a quiescent, or quiet, state and then forked (when a piece of software or other work is split into two branches or variations of development), and the resulting clones are then customized (receiving unique MAC addresses, UUIDs, and other information) and powered on. These clones share the disk and memory of the parent for Reads and are always ready for login instantly. After the clone is created, Writes are placed in delta disks. Both memory and disk are copy-on-write, so if a new clone modifies bits of its memory or disk, a separate copy is made for that virtual machine, thus preserving security and isolation between virtual machines.
What Use Cases Are Best Suited for Instant Clone Technology?
The most obvious use case for Instant Clone Technology is with VDI desktops. Administrators can quickly provision from a parent virtual machine whenever new desktops are needed, just in time for a user to log in. With this type of speed, you can reduce the number of spare machines needed. When you factor in VMware App Volumes and the ability to dynamic attachment of AppStacks with applications assigned to each user, as well as user-specific writable volumes, along with role-based persona and customization through VMware User Environment Manager, you now have a fully personalized desktop that feels persistent to the end user. However, this desktop is completely stateless and built on the attractive economics of nonpersistent desktops.
What Are Some of the Benefits of Instant Clone Technology over View Composer Clones?
At the top of the list of benefits of Instant Clone Technology is simplified deployment and patching for administrators. Instant clones do not need to be refreshed, recomposed, or rebalanced. When a user logs out of the desktop, that desktop always gets deleted and recreated as a fresh image from the latest patch. This process creates a staggered approach to patching, thus eliminating “boot storms,” reducing storage IOPS, and creating less of a load on the vCenter Server.
Desktop-pool image changes can also be scheduled during the day with no downtime for the users or for the availability of the desktop pool, so that the View administrator has full control over when the users receive the latest image. Horizon 7 leverages rolling refresh operations, so that users can continue to use their existing logged-in desktop, even during an image-update operation. When the user logs out of their desktop session, a new clone is instantly created using the latest image, and the desktop is immediately available for login. However, if you have an urgent patch, you can “force” the user to log out and immediately log in to the latest image.
Clone-level CBRC (Content-Based Read Cache) is no longer needed. When a virtual machine is created, Horizon 7 indexes the contents of each virtual disk file. The indexes are stored in a virtual machine digest file. At runtime, the ESXi host reads the digest files and caches common blocks of data in memory. To keep the ESXi host cache up to date, Horizon 7 regenerates the digest files at specified intervals and also when the virtual machine is recomposed. You can modify the regeneration interval. A longer regeneration interval puts less of a load on the system, but digest files tend to be “dirtier” and therefore CBRC is less useful. In the case of Instant Clone Technology, CBRC is less useful because the clones are short-lived and deleted or reimaged when the user logs out. Master virtual machines and replicas still use CBRC, which is calculated automatically.
SEsparse wipe-and-shrink operations are no longer needed. Typically, VMDKs keep growing, and SEsparse wipe-and-shrink sweeps and frees up unused blocks after they are deleted. This operation is no longer needed because the virtual machines are short-lived. They are either deleted or reimaged after the user logs out.
Unlike View Composer, Instant Clone Technology does not need a database, which greatly simplifies the Horizon 7 architecture. This also helps to lower the overall support cost of the solution, and reduces the complexity of future environment upgrades.
Are Instant Clones Easy to Set Up? And What Is the Workflow?
Yes, instant clones are easy to set up. There is virtually no change in your workflow process. Set up the desktop pool as usual, with the few new steps highlighted:
- Create the parent virtual machine.
- Install an operating system: Windows 7 or Windows 10.
- Optimize Windows, following best practices, and activate with a volume license key.
- Install VMware Tools.
- Install the Horizon Agent and (new step) select the Instant Clone feature.
- Install applications and any required system updates.
- Shut down the parent virtual machine and take a snapshot.
- Create an Instant Linked-Clone Pool.
- In View Administrator, select Catalog > Desktop Pools.
- Click Add.
- Select Automated Desktop Pool.
- Click Next.
- Select Floating.
- Click Next.
- From the Add Desktop Pool window, (new step) select Instant Linked Clones and the vCenter Server.
Figure 2: Creating an Instant Linked-Clone Pool
- Continue with the wizard as you normally would in setting up the pool. The process is virtually the same. It is just a matter of selecting a few different options.
So How Fast Is Fast?
Instant Clone Technology is very fast! I did a few quick tests in my environment to see for myself. I created a pool of 1000 View Composer linked clones (2 vCPU and 2 GB memory, Windows 7, Office 2010, Adobe 11, 7-Zip, Java, and so on) on 15 hosts (Dell R720s and R730s) using commercially available non-SSD storage. I then created a pool of 1,000 instant linked clones.
With speed like this, you do not need to keep a large number of spare virtual machines in your environment. Just expand the pool when additional virtual machines are needed.
|Type of Pool||User Assignment||Type of Clone||Pool Size||Storage||Time to Create a Pool||Average Time to Create 1 VM|
|Automated||Floating||Instant Linked Clones||1,000||Commercially available storage – non-SSD||25 minutes||1.5 seconds|
|Automated||Floating||View Composer linked clones||1,000||Commercially available storage – non-SSD||170 minutes||10.2 seconds|
Table 1: Comparison of Time to Create Pools of 1000 Instant Linked Clones and 1000 View Composer Linked Clones
Do Instant Clones Create a Higher Load on vCenter?
No, instant clones do not create a higher load on vCenter! In fact, instant clones create significantly less load on vCenter than View Composer clones do during the cloning process. The three types of vCenter calls that are made during the cloning process follow:
- Power cycle
|vCenter Call Type||View Composer Linked Clones||Instant Linked Clones|
|Cloning||1 clone call||1 vmFork call|
|Power cycle||2 power cycle calls||None|
|Reconfiguration||3-4 reconfiguration calls||None|
|Overall load on vCenter||Higher||Lower|
Table 2: Loads on vCenter for View Composer Linked Clones Compared to Instant Linked Clones
Although vmFork has a higher initial peak load on vCenter than View Composer does, that load is short-lived, because the amount of time and the number of operations to create the clones are drastically reduced. Instant clones eliminate power-cycle and reconfiguration calls, resulting in significantly lower load on vCenter overall.
|Pool Type||Clone 1000 VMs||vCenter Load|
|Instant Linked Clones||25 minutes (1 per 1.5 seconds)||CPU peaked at 21.94%|
|View Composer Linked Clones||170 minutes (1 per 10.2 seconds)||CPU peaked at 17.0%|
Table 3: Time to Clone and Peak Load on vCenter: Comparison Between Instant Linked Clones and View Composer Linked Clones
Instant Clone Technology in Horizon 7 is amazingly fast. These were just a few quick tests in my lab environment to illustrate the speed of Instant Clone Technology compared to traditional View Composer Linked Clones. Of course, your timing may vary depending on your environment. In the meantime, Instant Clone Technology will be released as a feature of the Horizon 7 Enterprise Edition.
So give it a try. You will love it in no time at all!