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.
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.
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”
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
Time required for VC to linked clone VM
Time required for VC to customize VM
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. What is 3rd VM? Don’t fear, I’ll explaining the entire process below, hopefully it should be clear.
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’ Button
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
Below is screen capture from vCenter, when entire process is completed.
Now when 3rd User logs in, below is state in vCenter.
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.
Sessions view in view administrator console
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
When 8th user logs in, 9th , 10th VMs are created, powered on, provisioned and customized
Below is what is observed in vCenter
In above screen we see all 8 sessions are using desktops, 2 desktops are available as spare desktops
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
How many spare Desktops we should configure
Why persistent desktop pool is less impact by it.
Which use cases support configuration of spare VMs
VCS: View Connection Server