Citrix VDI-in-a-Box (Part 3)
If you would like to read the other parts in this article series please go to:
In Part 3 of this series, I will cover the ins and outs of VDI in a box to include prerequisites, architecture and sizing.
Citrix VDI-in-a-Box is supported on a number of different hypervisor platforms, including, as you would expect, Citrix XenServer as well as on Hyper-V and VMware ESXi/vSphere. This allows organizations to deploy VDI-in-a-Box using a familiar hypervisor or to deploy the product on a hypervisor different than the one that supports server workloads. Personally, I like the flexibility provided by the product.
VDI-in-a-Box supports three major hypervisors of specific versions. Here they are:
- Citrix XenServer 6.0. Platinum, Enterprise, Advanced, and Free editions.
- Citrix XenServer 5.6 Feature Pack 1. Platinum, Enterprise, Advanced, and Free editions.
- Citrix XenServer 5.6. Platinum, Enterprise, Advanced, and Free editions.
Microsoft Hyper-V (this is new in the latest release)
- Microsoft Hyper-V Server 2008 R2 with Service Pack 1.
- Windows Server 2008 R2 with Service Pack 1, Enterprise edition.
- Windows Server 2008 R2 with Service Pack 1 Server Core.
VMware ESXi or VMware vSphere - You need at least a VMware Essentials license
- ESXi 5.0 or higher
- ESXi 4.0 or higher
In addition to having a hypervisor on which to run the VDI-in-a-Box product and the associated virtual desktops, you need to make sure that a number of other things are in order:
- Microsoft licensing. Check with your Microsoft reseller to make sure that you have the rights to run Windows XP or Windows 7 in a virtual environment. Microsoft has specific licenses for this purpose. Where I work, we do have this kind of licensing and have also implemented a Microsoft Key Management Server (KMS) host so that we don’t have to worry at all about volume licensing keys for either Windows 7 or Office 2010.
- Third party software vendors. Although virtualization in its current form has been around for a decade or more, many desktop software vendors continue to struggle with how to monetize this deployment model, particularly since VDI is still a nascent part of the virtualization race. Carefully peruse the license agreements of all of your vendors to determine if you’re allowed to deploy virtually. Don’t assume that a concurrent licensing arrangement automatically allows you the flexibility to deploy virtually.
You’ll notice that there is no Active Directory requirement listed. Some companies don’t use Active Directory. In order to truly target VDI-in-a-Box at the SMB space, Citrix provides the ability to authenticate against both Active Directory as well as the Citrix product itself. As such, although Active Directory is a good thing to have for other reasons, it’s not a requirement.
With its focus squarely on the SMB market, VDI-in-a-Box eschews some of the entrapments of other VDI solutions. In the figure below, which is from the Citrix web site, you can see a side-by-side look at traditional VDI vs. VDI-in-a-Box. Although it’s possible that Citrix has somewhat embellished things a bit on the traditional VDI side, they’re not too far off the mark but I would question just how many SMBs actually use redundant load balancers, connection brokers and management servers. It’s absolutely a best practice but is one that some SMBs would forgo.
That said, it’s pretty clear that the VDI-in-a-Box solution does provide simplicity. Further, the solution doesn’t require the use of a SAN and uses typical off-the-shelf servers running the VDI-in-a-Box software.
Figure 1: VDI and VDI-in-a-Box architectural comparison
VDI in a box works on a concept the product refers to asgrids, which are groups of servers combined into a single administrative entity. You can expand the grid simply by adding more servers.
As is the case with most virtualization solutions, you don’t need to exactly match hardware between different servers in the same grid. You can run servers that have different hardware specification and from different vendors. If you want to add availability to the VDI-in-a-Box equation, simply ensure that you have enough servers to support an N+1 workload.
When you’re sizing your servers, keep three resources in mind
Citrix indicates that you can expect to be able to support anywhere from 6 to 10 desktops per server processor core. If you’re using newer processors that support hyper threading, you may be able to push to 12 desktops per core.
The exact number of desktops supported per core really depends on the kind of work that users will be performing. If you have users that are simple task workers, the higher end of the range will work for planning purposes but if you have users that push the limits, stay on the lower end of the scale.
As is the case with server virtualization, RAM will probably be one of the biggest challenges in a VDI-in-the-Box environment. Citrix makes the following recommendations:
- 1 GB of RAM dedicated to the VDI-in-a-Box virtual appliance.
- 1 GB of RAM or more for the hypervisor itself.
- Hold back 10% of physical RAM so that the server can operate.
- For Windows XP desktops: 512 MB to 1 GB per desktop.
- For Windows 7 desktops: 1.5 GB to 2 GB per desktop.
So, compare the RAM requirements to the aforementioned processor recommendations. Let’s suppose that you go with a 1.5 GB per desktop Windows 7 desktop image on a server with dual quad core processors. Let’s further assume that all of the workers are task workers, so we’ll assume 10 desktops per server core.
Since this server has eight processing cores, looking at processor capability alone, you would expect to be able to deploy up to 80 virtual Windows 7 desktops on the machine.
However, here’s what the RAM calculation would look like:
- 80 desktops x 1.5 GB per desktop = 120 GB of RAM
- 1 GB of RAM for the hypervisor
- 1 GB of RAM for the VDI appliance
- 12 GB or so of RAM for the server and operating system
So, expect to need a server with greater than 130 GB of RAM. Obviously, that’s a lot of RAM so you should do a cost benefit analysis to determine if it makes more sense to reduce the virtual desktop density on a per server basis or buy a server with that much RAM.
There are two components you need to keep in mind with regard to storage. Capacity is the obvious area of scrutiny, but overall storage performance is equally important. After all, if you deploy to your users a virtual desktop that has plenty of space but it takes ten times longer to perform tasks than it should, your users are likely to revolt… and loudly!
That said, capacity is still important. Citrix makes a sizing recommendation. I will use those recommendations with the 80 desktop example from before.
- Host operating system dependent on hypervisor choice
- VDI-in-a-Box appliance needs 70 GB on the high end
- 2 desktop master images of 20 GB each
o This results in a need for 80 GB of space for the master images since Citrix recommends that you have twice as much space as needed for the actual images.
- 80 virtual desktops
o 20 GB in size each = 1.6 TB of space needed but because of VDI-in-a-Box’s use of linked clones, you can save 85% of this space, requiring that you have only 240 GB of space available. This is a beautiful thing!
- In this scenario, Citrix also recommends you allocate 100 GB or so for swap activity.
So, in this scenario, around 500 GB of space would be sufficient, but you might want to consider more for growth.
Capacity is just the first consideration. You also need to consider disk performance in the form of Input/Output operations Per Second (IOPS).
Recommended IOPS range:
- Windows XP desktops: 5 to 10 IOPS per desktop; for 80 desktops, that’s 400 to 800 IOPS needed.
- Windows 7 desktops: 10 to 20 IOPS per desktop; for 80 desktops, that’s 800 to 1,600 IOPS necessary.
Here’s a quick reference for IOPS based on disk type:
- 5,400 RPM disks. 50 IOPS per disk.
- 7,200 RPM disks. 75 IOPS.
- 10,000 RPM disks. 125 IOPS.
- 15,000 RPM disks, 175 IOPS.
- SSD disks. Thousands of IOPS per disk.
Now, it’s time for some simple math. Let’s assume that you need 1,600 IOPS of disk performance. It would take:
- 32 x 5,400 RPM disks.
- 22 x 7,200 RPM disks.
- 13 x 10,000 RPM disks.
- 10 x 15,000 RPM disks.
- One or two SSDs.
All that said, the next wrinkle in the storage equation comes with your RAID decision. From an IOPS perspective, RAID adds overhead. With VDI-in-a-Box, there is some built in replication so, in theory, you could use RAID 0 which provides no redundancy and simply reply on the product’s redundancy. However, many companies won’t feel comfortable with this, particularly since disk failures are relatively common. If you decide to use RAID 1/10, understand that you will take a 2x IOPS hit when performing write operations. With RAID 5, that jumps to a 4x IOPS hit on writes and with RAID 6, it jumps to a 6x IOPS hit. So, plan accordingly.
Fortunately, servers these days aren’t super expensive so adding additional hardware to support more desktops won’t be a massive financial hit, but will drive up the cost on a per virtual machine basis.
Here, you learned about the requirements that go into creating a VDI-in-a-Box environment. In the next part in this series, you will learn how to perform an installation.
If you would like to read the other parts in this article series please go to: