Max Number of Virtual Machines and Spare Virtual Machines in Desktop Pools

In last post I discussed about impact of power policies. Well there is one more paramenter which also impacts power policies and spare virtual machines. Dependency is implicitly associated with spare virtual machines however its impact is minimal. However you must know about it. This setting is more relevant to floating pool, non-persistent desktop. And it is has nothing to do with persistent desktop pool? But then Why not persistent? I will discuss this in next post. ok, let me explain the various parameters you have to configure while creating desktop pool.

No

Parameter

Explanation

1

Max number of machines

Maximum number of virtual machines which will be provisioned in the pool. It is the limit. After this limit, you cannot create any further desktops. E.g. if you configure 10 as Max number of machines, no more than 10 virtual machines will be created. However whether all 10 VMs will be created upfront or on demand is configurable using 3rd & 4th parameter explained below. Maximum 10 users will be able to use 10 desktop concurrently.

2

Number of Spare (powered on) machines

At any given point of time how many VMs should be always available. If I configure 2, 2 VMs will be always powered on. What does this mean to user experience? 2 VMs are available for user to login, without any delay. This delay can described as

1.      Time required for VCS to send command to VC to create VM

2.      Time required for VC to linked clone VM

3.      Time required for VC to customize VM

4.      Time required for VC to gracefully shutdown VM

This adds huge delay (esp. Task 2 & 3).  If VCS is unable to allocate desktop to end user, he will always get an error message described below. An open question “how many VMs should be configured as spared VM”

3

Provision machines on demand

When the desktop pool is created i.e. when you press that ‘Finish’ button, you have choice to select how many VMs you want to provision ‘right now’. If I configure value to be 5, 5 VMs will be created & provisioned immediately. For this 5 VM following task will be completed

  1. Time required for VC to linked clone VM
  2. Time required for VC to customize VM
  3. Time required for VC to gracefully shutdown VM

Well when tasks 1 & 2 are completed, 3rd task, gracefully shuts down the VM. When 1st user logs in, VCS sends command to VC to power on 3rd VM. [1]What is 3rd VM? Don’t fear, I’ll explaining the entire process below, hopefully it should be clear.

4

Provision machines up-front

This is no brainer. It provisions all VMs upfront. E.g. If I selected Max number of machines as 10, all 10 will be provisioned immediately.

Let me explain entire procedure to you below using slides.Below is the first slide which explains how the Automatic pool with Floating assignment is configured. I have configured ’10’ to be Max size of the desktop pool, 5 must be provisioned on demand and 2 must be spare at any given time. Please note this is the configuration screen. I have yet to press ‘Finish’ Buttonimage

  1. When I fresh finish button, following tasks will be completed
    • 5 VMs will be created up front
    • These 5 VMs will be provisioned using Linked clone
    • These 5 VMs will be customized using sysprep/quick prep
    • Out of 5 VMs, 3 will be gracefully shutdown, remaining two VMs will be there as part of Spare VMs

    image

    Below is screen capture from vCenter, when entire process is completed.

    image

    [1]Now when 3rd User logs in, below is state in vCenter.

    image

    Let me first explains what is the term available desktop. Available Desktop in view is defined as when either of below conditions are true

  • View agent is running on the desktop
  • There is no session present on the desktop
  • Desktop is not allocated

Let’s assume all above conditions are true for vd-1-po, vd-2-po desktops. At this stage, Number of Spare (powered on) machines count is 2. Now user-1 logs in, he is allocated vd-1-po. Number of Spare (powered on) machines count is reduced to 1, as result VCS01 sends command to VC to power on vd-3-po to maintain spare VM count. Below table explains entire process till 4th user is logged in.

image

Sessions view in view administrator console

image

Please note when 4th user logs in, 6th VM is created, powered on, provisioned and customized. After 5th user is logged in, there will be delay in getting desktops to the user and user will get error mentioned below till VM ready for allocation

image

When 8th user logs in,  9th , 10th VMs are created, powered on, provisioned and customized

image

Below is what is observed in vCenter

image

image

In above screen we see all 8 sessions are using desktops, 2 desktops are available as spare desktops

image

There are lot of unanswered questions which I’m leaving it for next post. Length of post is already big. In future post I aim to address

  1. How many spare Desktops we should configure
  2. Why persistent desktop pool is less impact by it.
  3. Which use cases support configuration of spare VMs

VCS: View Connection Server

VC: vCenter