Readers of Dirk Grobler's blog are directed to the deployment guide for VDI 3 for its discussion of sizing. The goal of this sizing guide was to get statements around the question: "How much gear do I need in order to serve a 1000 desktops?" The data are preliminary.
The information provided here is derived from a sizing test with 1000 desktops which were running a script to simulate an office workload that is different for every single installation. Since relatively small changes in the usage patterns can have noticeable effects on the hardware requirements, it is a good practice to size every deployment individually.
What the exercise has so far demonstrated is that the primary VDI core server requires a dual-core CPU and 2 GB of memory. As long as the VDI services are not configured on that server (which is not recommended) these hardware requirements do not change with the number of running desktops.
Findings concerning the secondary VDI core server requirements are that the number of cores and memory size varies with the number of running desktops supported, as well as the required network bandwidth. The bandwidth also varies with the content displayed. The numbers given below are typical for office work. Users should note that displaying videos or web pages with flash content can multiply the required bandwidth.
VDI Core Servers
- Number of cores = number of running desktops / 20
Example: Two secondary VDI core servers with 8 CPUs and 4 cores per CPU can serve 2 * 8 * 4 * 20 = 1280 running desktops
- Memory size [MB] = number of desktops * 110 MB + 2048 MB
Example: Two secondary VDI core servers with 64 GB of memory can serve (2 * 64 * 1024 MB - 2 * 2048 MB) / 110 MB = 1154 running desktops
- Network bandwidth [Mb/s] = number of running desktops * 0.15 [Mb/s]
Example: One secondary VDI core server with one 1 Gb Ethernet interface can serve 1024 / 0.15 Mb/s = 6827 running desktops
VDI 3 supports any server running Solaris 10u6 to host VirtualBox.
- Number of cores = number of running desktops / 4
Example: A server with 8 CPUs and 4 cores per CPU can support up to 8 * 4 * 4 = 128 running desktops
- Memory size [MB] = number of running desktops * memory size of a desktop * 1.2 + 1024 MB
Example: A server with 64 GB of memory can support 64 * 1024 MB - 1024 MB / (512 MB * 1.2) = 105 running desktops of 512 MB in size
The VDI Wiki outlines the following rule of thumb for VirtualBox servers: "A server with 32 cores and 64 GB of memory supports 100 desktops." While the CPU power of the server chosen for the examples above allows support for 128 desktops it is not advisable to increase the memory size to do so, the wiki's authors relate. At least 20% of the available CPU power should be available as security margin.
The guide points out that if more than 100 VMs is desired to run on a single VirtualBox server, the SYSV semaphores on the VirtualBox server needs to be increased. "You need to set the number of available semaphores to the number of VMs you intend to run including a security margin for other processes," notes the wiki. The maximum number of virtual machines on a single VirtualBox server is 1023.
VDI 3 supports any Sun Storage 7000 Unified Storage System and any server running the OpenSolaris 2008.11 operating system.
The guide recommends a disk layout as RAID 10 (mirrored sets in a striped set; ZFS stripes the data automatically between multiple sets). It is called 'Mirrored' by the 7000 series. While this disk layout uses 50% of the available disk capacity for redundancy it is faster than RAID 5 for intense small random read/writes which is the typical access characteristic for iSCSI.
The storage provides the virtual disks which are accessed by VirtualBox via iSCSI. iSCSI is a CPU-intensive protocol, therefore, the number of cores of the storage are a decisive factor for its performance which makes the x7410 the best-suited solution for heavy-duty installations as it can be equipped with up to 16 cores. Other important factors are the memory size (cache), the number of disks, and the available network bandwidth.
Network bandwidth is very volatile, warns the guide, and it can be determined by the relation of desktops starting up (peak network bandwidth) and desktops that have cached the application(s) in use (average network bandwidth).
Typically there is no shortage of disk space. VDI 3 in combination with VirtualBox uses the 'sparse' volume feature of ZFS which allows for the allocation of more space for volumes than physically available as long as the actual data written does not exceed the capacity of the storage. This feature in combination with the fact that cloned desktops reuse unchanged data of their templates results in a very effective usage of the available disk space.
In this light, the calculation for disk space below is a worst-case scenario assuming that all volumes are completely used by data which differs from the template.
- Number of cores = number of virtual disks in use / 200
Example: A x7210 storage with 2 CPUs and 4 cores per CPU can serve up to 2 * 4 * 200 = 1600 virtual disks
- Memory size. The more the better as the free memory can be used as disk cache which reduces the access time
- Average Network bandwidth [Mb/s] = number of virtual disks in use * 0.032 Mb/s
Example: A x7210 storage with one Gigabit Ethernet interface can serve up to 1000 / 0.032 = 31250 virtual disks
- Peak Network bandwidth [Mb/s] = number of virtual disks in use * 40 Mb/s
Example: A x7210 storage with one Gigabit Ethernet interface can serve up to 1000 / 40 = 25 virtual disks
- Disk space [GB] = number of desktops * size of the virtual disk [GB]
Example: A x7210 storage with a capacity of 46 TB can support 46 * 1024 GB / 2 / 8 GB = 2944 8 GB disks in a RAID 10 configuration
Finally, the guide notes that the graphic performance of desktops is better without background images and urges users to avoid processes which generate constant or, even worse, burst disk I/O, as for example the indexing service of MS Windows or virus scanners with a scheduled scan every Friday at 9 pm.
Sun Virtual Desktop Infrastructure Software
Sun Ray Technology Server Sizing Recommendations
Read More ...