In the event that you choose to determine your own vSphere infrastructure requirements, it is very important to keep in mind the concept of vSphere reserve capacity. I realize that you may choose to do maintenance after hours, so reserve capacity may not be a priority, but what about unplanned downtime, or periods where you can't do maintenance after hours? Many users simply cannot work if they do not have access to their computer, and now that you have virtualized that computer, it is your job to ensure it is available whenever it is needed.
Maintaining reserve ESXi server capacity is critical to ensuring that we can accommodate all of our desktops in the event of an ESXi server failure or host maintenance operation. Consider a vSphere cluster with eight ESXi servers hosting 128 desktops each (1,024 total desktops):
Desktop requirements will vary from one environment to the next; these figures are just an example.
-
- Each single vCPU desktop requires 10 percent of one ESXi server CPU core
- Each desktop requires 2,048 MB of memory
- Eight ESXi servers, each running 12.5 percent of the total number of virtual desktops:
- 1,024 desktops / 8 ESXi servers = 128 desktops per host
- To continue to run all of the desktops in the event one of the ESXi servers was to become unavailable; we would need to be able to accommodate 18.29 desktops on each of the remaining seven hosts:
- 128 desktops / 7 remaining vSphere hosts = 18.29 desktops per each ESXi server
- To continue to run all desktops without any degradation in the quality of service; each server needs to have an excess of capacity that is sufficient to host 18 to 19 desktops. This is entails the following:
- 19 desktops * 10% of a CPU core = 1.9 available CPU cores required
- 19 desktops * 2,048 MB of memory = 38,912 MB or 38 GB of available memory required
- 19 desktops * 121.21 MB of memory for virtual machine overhead = 2,303 MB or 2.3 GB of additional available memory required
- 19 desktops * 0.75 MB network bandwidth = 14.25 MB of available network bandwidth required
- 19 desktops * 0.23 MB storage network bandwidth = 4.37 MB of available storage network bandwidth required
These calculations assume that we want to protect the ability to provide resources for 100 percent of our desktops at all times, which is a very conservative, yet valid, approach to building a Horizon infrastructure.
The final configuration of the ESXi servers should take into account not only what percentage of desktops are actually in use at a given time, but also the cost of purchasing the additional capacity needed to support ESXi server failures or other events that require downtime.
Always take into consideration the growth of your Horizon environment. Purchasing equipment that has limited ability to scale may save money today, but could cost you dearly when you need to expand. If a piece of equipment you plan to buy for your Horizon infrastructure barely meets your needs, look into the next larger model or even a competing product, if necessary.