I thought it would be helpful to do a post on VDI sizing, and show the importance of leveraging SSD in the storage design. I am going to be using some general estimates, but let me encourage you to always conduct an assessment to determine the current and predicted resource utilization of your users' desktops. You should use a tool like Liquidware Labs' Stratusphere Fit and Lakeside Software's SysTrack MVP.
For our example, I am going to size out the infrastructure for 300 users which are mostly composed of knowledge workers. We are going to be going with two pools, one is for consultants and the second is for sales.
For our virtual desktops, we are going to go with a Windows 7 with the applications consisting of Microsoft Office, IE, Firefox, Adobe Reader, and proprietary sales and consulting software. Our configuration is going to be 2 vCPU and 2048 MB of memory per desktop.
- 2 vCPU per virtual desktop
- 200 MHz average CPU per virtual desktop
- 120,000 MHz required for 300 virtual desktops
- 18,000 for virtualization overhead
138,000 MHz total required for 300 virtual desktops
- 2,048 MB of memory per virtual desktop
- 614,400 MB required for 300 virtual desktops
- 30 percent sharing benefit 184,320 MB
430,080 MB total required for 300 virtual desktops
Now lets focus on the host servers, in our example we are going to use Hewlett Packard DL360P Generation 8 servers. We are going to use two physical processors with 8 cores that are 2.7 GHZ, and 131 GB of memory. We are going to estimate the number of hosts required based on the above desktop calculations.
Hewlett Packard DL360p Gen 8 Hosts
- 16 cores per ESX host
- 2700 MHz per core
- 43,200 MHz total per ESX host
- 80 percent maximum host CPU use
- 34,560 MHz available per ESX host
- 138,000 MHz/34,560 MHz = 3.99
4 hosts required per CPU usage
- 131,072MB total per ESX host
- 80 percent maximum host memory use
- 104,858 MB available per ESX host
- 430,080 MB/104,858 MB = 4.10
5 hosts required per memory usage
Last, and most important, lets look at the storage design. Storage performance is vital for adequate desktop performance. In this example, I am going to show two configuration options and give you the price estimates. The first is going to be strictly using 300 GB 15k drives, and the second will be a mix of 100 GB SLC SSD drives and 450 GB 10k drives. We will perform two different calculations for the storage, the first is going to be the I/O calculation and the second will be the capacity calculation.
HP 3PAR Storage
- iSCSI VMFS datastores support 64 linked clones per datastore
- 300 virtual desktops/64 linked clones per datastore = 5 datastores
- 64 linked clones x 20 IOPS = 1,280 (average IOPS)
- 50/50 read-write with RAID 5 penalty = 640 + (640X4) = 3,200 IOPS per datastore
- 16,000 IOPS total
16,000 IOPS/150 IOPS (300 GB 15K SATA disk) = 106 disks total
- Parent Image = 81,920 MB
- Replica Image = 163,840 MB
User Linked Clones
- Delta Image = 4,096 MB
- Log File = 100 MB
- Memory vSwap = 2,048 MB
- Video vSwap = 111 MB
- Memory Overhead = 147 MB
Total desktop VM Storage required = 2.23 TB
2283 MB/300 MB (300 GB 15K SATA disk) = 8 disks total
Now, if we size a 3PAR storage array with just 15K SATA disks we need 106 total disks to meet the IOP requirements of 16,000 IOPS. That would put us into the 3PAR 7400 with 9 drive enclosures and 152 disk for redundancy. The cost is around $400,000.00 for the storage array alone!
If we look at using a 3PAR storage array with a mix of SSD and 10K drives with Dynamic Optimization, we need 16 SATA disks and 8 SLC SSD disks to meet the 16,000 IOPS requirement. This drops us down to the 3PAR 7200 with 3 drive enclosures and 24 disks for redundancy. The cost is around $100,000.00 for this storage array.
As you can see, by leveraging SSD you can dramatically reduce the price of building out the infrastructure necessary for a Horizon View deployment. For this Horizon View Design, we would go with 5 Hewlett Packard DL360P servers to ensure failover with a Hewlett Packard 3PAR 7200 with 3 drive enclosures.