This example describes how Horizon Cloud provisions a new farm's RDSH virtual machines (VMs) and manages them for rolling maintenance.
In the New Farm wizard, this farm is sized as:
- Min VMs = 1
- Max VMs = 3
- Sessions per VM = 20
In the creation workflow:
- All three RDSH VMs are fully configured in Microsoft Azure: powered on and joined to the domain.
- Then VMs 2 and 3 are powered down to save the cost of running them.
VM 1 remains powered up and ready to provide user sessions.
As users log on, they are given sessions on VM 1. When the occupancy of the available VMs, VM 1 here, reaches the power management threshold, then another VM is powered on (VM 2). When two VM are powered on, new user sessions are placed on the least loaded VM so that sessions are load balanced between the two powered-on VMs. When the number of user sessions reaches the next occupancy threshold as calculated across both powered-on VMs, the next VM powers on (VM 3).
As users log off of their sessions:
- When the occupancy drops below the low threshold, then one of the VMs is marked for quiescing. Typically, the system marks the least loaded VM for quiescing.
- Once marked, existing sessions stay on that VM, but no new user sessions are accepted for that VM. At that point, any new sessions are only placed on the running VMs.
- When all of the users with existing sessions on the marked VM have logged off their sessions, Horizon Cloud powers off that VM.
The above steps repeat until the number of running VMs reaches the Min VMs value.
A best practice for virtual machine maintenance is to restart the VMs from time to time, to clear out cached resources or any memory leaks from third-party applications in the VM. The Horizon Cloud rolling maintenance feature provides for restoring normal health across the farm in an automated way. The typical action is to restart the VMs. Horizon Cloud offers an additional option to rebuild the farm's VMs, by deleting the VMs and reprovisioning them based on the latest published image used for that farm. The rebuild option provides a convenient way to ripple image updates across the farm's VMs automatically and regularly. The rebuild option avoids needing manual intervention as a part of routine operations.
At any one time, the system only quiesces the number of VMs configured for the farm's Concurrent Quiescing VMs value. As set by the Maintenance Type configured for the farm's rolling maintenance, the system goes through each of the VMs and performs the specified maintenance action. The action is not performed on VMs that have active user sessions nor on more than the number set in Concurrent Quiescing VMs.