(For more resources related to this topic, see here.)
Sizing the servers
There are a number of tools and guidelines to help you to size Citrix VIAB appliances. Essentially, the guides cover the following topics:
- Disk IO
In their sizing guides, Citrix classifies users into the following two groups:
- Knowledge workers
Therefore, the first thing to determine is how many of your proposed VIAB users are task workers, and how many are knowledge workers?
Citrix would define task workers as users who run a small set of simple applications, not very graphical in nature or CPU- or memory-intensive, for example, Microsoft Office and a simple line of business applications.
Citrix would define knowledge workers as users who run multimedia and CPU- and memory-intensive applications. They may include large spreadsheet files, graphics packages, video playback, and so on.
Citrix offers recommendations based on CPU cores, such as the following:
- 3 x desktops per core per knowledge worker
- 6 x desktops per core per task user
- 1 x core for the hypervisor
These figures can be increased slightly if the CPUs have hyper-threading.
You should also add another 15 percent if delivering personal desktops.
The sizing information has been gathered from the Citrix VIAB sizing guide PDF.
If you wanted to size a server appliance to support 50 x task-based users running pooled desktops, you would require 50 / 6 = 8.3 + 1 (for the hypervisor) = 9.3 cores, rounded up to 10 cores.
Therefore, a dual CPU with six cores would provide 12 x CPU cores for this requirement.
If you wanted to size a server appliance to support 15 x task and 10 x knowledge workers you would require (15 / 6 = 2.5) + (10 / 3 = 3.3) + 1 (for the hypervisor) = 7 cores.
Therefore, a dual CPU with 4 cores would provide 8 x CPU cores for this requirement.
The memory required depends on the desktop OS that you are running and also on the amount of optimization that you have done to the image.
Citrix recommends the following guidelines:
- Task worker for Windows 7 should be 1.5 GB
- Task worker for Windows XP should be 0.5 GB
- Knowledge worker Windows 7 should be 2 GB
- Knowledge worker Windows XP should be 1 GB
It is also important to allocate memory for the hypervisor and the VIAB virtual appliance. This can vary depending on the number of users, so we would recommend using the sizing spreadsheet calculator available in the Resources section of the VIAB website. However, as a guide, we would allocate 3 GB memory (based on 50 users) for the hypervisor and 1 GB for VIAB. The amount of memory required by the hypervisor will grow as the number of users on the server grows.
Citrix also recommends adding 10 percent more memory for server operations.
If you wanted to size a server appliance to support 50 x task-based users, with Windows 7, you would require 50 x 1.5 + 4 GB (for VIAB and the hypervisor) = 75 GB + 10% = 87 GB.
Therefore, you would typically round this up to a 96 GB memory, providing an ideal configuration for this requirement.
Therefore, if you wanted to size a server appliance to support 15 x task and 10 x knowledge workers, with Windows 7, you would require (15 x 1.5) + (10 x 2) + 4 GB (for VIAB and the hypervisor) = 75 GB + 10% = 51.5 GB.
Therefore, a 64 GB memory would be an ideal configuration for this requirement.
As multiple Windows images run on the appliances, disk IO becomes very important and can often become the first bottleneck for VIAB.Citrix calculates IOPS with a 40-60 split between read and write OPS, during end user desktop access.Citrix doesn't recommend using slow disks for VIAB and has statistic information for SAS 10 and 15K and SSD disks.The following table shows the IOPS delivered from the following disks:
Hard drive RPM
IOPS RAID 0
IOPS RAID 1
The following table shows the IOPS required for task and knowledge workers for Windows XP and Windows 7:
Some organizations decide to implement RAID 1 or 10 on the appliances to reduce the chance of an appliance failure. This does require many more disks however, and significantly increases the cost of the solution.
SSD is becoming an attractive proposition for organizations that want to run a larger number of users on each appliance. SSD is roughly 30 times faster than 15K SAS drives, so it will eliminate desktop IO bottlenecks completely. SSD continues to come down in price, so can be well worth considering at the start of a VIAB project.
SSDs have no moving mechanical components. Compared with electromechanical disks, SSDs are typically less susceptible to physical shock, run more quietly, have lower access time, and less latency. However, while the price of SSDs has continued to decline, SSDs are still about 7 to 8 times more expensive per unit of storage than HDDs.
A further option to consider would be Fusion-IO, which is based on NAND flash memory technology and can deliver an exceptional number of IOPS.
If you wanted to size a server appliance to support 50 x task workers, with Windows 7, using 15K SAS drives, you would require 175 / 10 = 17.5 users on each disk, therefore, 50 / 17. 5 = 3 x 15K SAS disks.
If you wanted to size a server appliance to support 15 x task workers and 10 knowledge workers, with Windows 7, you would require the following:
- 175 / 10 = 17.5 task users on each disk, therefore 15 / 17.5 = 0.8 x 15K SAS disks
- 175 / 20 = 8.75 knowledge users on each disk, therefore 10 / 8.75 = 1.1 x 15K SAS disks
Therefore, 2 x 15K SAS drives would be required.
Storage capacity is determined by the number of images, number of desktops, and types of desktop. It is best practice to store user profile information and data elsewhere.
Citrix uses the following formula to determine the storage capacity requirement:
2 x golden image x number of images (assume 20 GB for an image)
- 70 GB for VDI-in-a-Box
- 15 percent of the size of the image / desktop (achieved with linked clone technology)
Therefore, if you wanted to size a server appliance to support 50 x task-based users, with two golden Windows 7 images, you would require the following:
- Space for the golden image: 2 x 20 GB x 2 = 80 GB
- VIAB appliance space: 70 GB
- Image space/desktop: 15% x 20 GB x 50 = 150 GB
- Extra room for swap and transient activity: 100 GB
- Total: 400 GB
- Recommended: 500 GB to 1 TB per server
We have already specified 3 x 15K SAS drives for our IO requirements. If those were 300-GB disks, they should provide enough storage.
This section of the article provides you with a step-by-step guide to help you to build and configure a VIAB solution; starting with the hypervisor install.
It then goes onto to cover adding an SSL certificate, the benefits of using the GRID IP Address feature, and how you can use the Kiosk mode to deliver a standard desktop to public access areas.
It then covers adding a license file and provides details on the useful features contained within Citrix profile management. It then highlights how VIAB can integrate with other Citrix products such as NetScaler VPX, to enable secure connections across the Internet and GoToAssist, a support and monitoring package which is very useful if you are supporting a number of VIAB appliances across multiple sites. ShareFile can again be a very useful tool to enable data files to follow the user, whether they are connecting to a local device or a virtual desktop. This can avoid the problems of files being copied across the network, delaying users.
We then move on to a discussion on the options available for connecting to VIAB, including existing PCs, thin clients, and other devices, including mobile devices. The chapter finishes with some useful information on support for VIAB, including the support services included with subscription and the knowledge forums.
Installing the hypervisor
All the hypervisors have two elements; the bare metal hypervisor that installs on the server and its management tools that you would typically install on the IT administrator workstations.
Bare Metal Hypervisor
Hyper V Manager
It is relatively straightforward to install the hypervisor. Make sure you enable linked clones in XenServer, because this is required for the linked clone technology. Give the hypervisor a static IP address and make a note of the administrator's username and password.
You will need to download ISO images for the installation media; if you don't already have them, they can be found on the Internet.
Importing Citrix VIAB
You can download the VIAB software appliance from the download section of the Citrix website. There is a version for each of the three hypervisors, so make sure that you download the right one.
Prior to importing VIAB, make sure that you have the following information:
- The administrator username and password for the hypervisor
- DHCP server on the network
- If you are using MAK activation, you need a Windows volume license key, although not immediately required
- If you are using KMS, you need a KMS server that has already activated at least 25 desktops, although not immediately required
- IP addresses and user ID/passwords for all you Microsoft Active Directory servers
Download the correct version of the appliance, click on Install, and save the ZIP file. You then need to extract the ZIP file.
Then, from the hypervisor management software, import the appliance into the hypervisor. This is slightly different for all three hypervisors, so it is best to follow the relevant Citrix eDocs to ensure you follow the correct stages.
Creating the Citrix VIAB grid
Your DHCP server will have allocated an IP address to your VIAB appliance, so find out what it is in the hypervisor management tool by connecting to the remote display on the virtual machine. Once you have found out the IP address, type the following string into a browser:
This will connect you to the VIAB management console. Accept the certificate as trusted each time it asks you. Then perform the following steps:
- In the Username box, type vdiadmin.
- In the Password box, type kaviza.
- You will now see the following four steps to go through:
- Set up your hypervisor and grid
- Generate a base desktop image
- Create desktop templates from the image
- Assign users to desktops
Setting up the Hypervisor and Grid
The first thing to do is to connect VIAB to the hypervisor that it is running on. You will need to input the IP address, user ID, and password for the hypervisor.
The next screen asks you to set up the data store(s). You can configure up to three data stores in Hyper v 2012 and ESXi: one for images, one for desktops, and one for personal vDisks. Select the network label for each data store and save it.
You can then either join a grid, or set up the grid. If you are setting a grid up for the first time, you will need to input your Microsoft Active Directory server details. The user account will require domain administration privileges. VIAB can now contain numerous AD servers, in case there is a failure. If you do not want to join a Microsoft domain, you can select a workgroup and use the local workgroup feature of VIAB. You will then need to create user accounts for this later.
It will then ask if you have reserved an IP address for your VIAB appliance. It is important that you do this and later allocate your VIAB appliance a permanent IP address. This is done in the admin console. You will need to deactivate your server and add the fixed IP address before reactivating it.
Also, remember to change the admin password to a secure password.
If you wish to join an existing grid, simply input the user ID and password for one of the existing appliances in the grid and the appliance will automatically join the grid.
Creating the first Windows image
Prior to importing a Windows image into VIAB, you will need to create an image in your chosen hypervisor. This is slightly different for each hypervisor, so please follow the documentation. You may be able to take an image from an existing physical machine and virtualize it; however, this is not recommended, as it is better to start with a clean image. Building a Windows desktop inside a hypervisor is very similar to installing it on a PC. Make sure that you have the latest service packs and hotfixes, which may require numerous reboots to install.
It is important to check the following, else you could be waiting a while to be told the import has failed.
- The virtual machine is running, Windows XP, Windows 7 (32 or 64 bit), Windows 8, or Windows Server 2008 R2.
- The Remote Desktop Connection (RDP) functionality is enabled on the virtual machine. This allows VIAB to initially connect to the desktop, during the import process.
- The virtual machine has only one network interface card (NIC) and it must be assigned to Device 0.
- The virtual machine only has one disk image.
- The virtual machine is started and in a powered-on state before importing into VDI-in-a-Box. If it is not powered, VIAB will say it can't import the image.
- The virtual machine has at least 4 GB of disk space available.
- The Local Administrator account is enabled on the virtual machine, as VIAB requires this during the import. However, this step is not necessary if the VM is running Windows XP.
- Your hypervisor's management tools are installed on the virtual machine. The documentation for your hypervisor should describe how to do this. It should also warn you in the management console if it is not installed.
- If you plan to connect to your Active Directory Domain, you can join the virtual machine to the domain.
- The File and Printer Sharing options in firewall settings are enabled to allow remote agent installation. See the firewall manufacturer's documentation for details. Ensure that your network is identified as a private or domain network.
- If the VM is running Windows XP, in the Advanced Settings section of the View dialog box (navigate to My Computer | Tools | Folder Options | View), disable Use simple file sharing.
Once you have checked through this list, you can begin to run the import. Your VIAB console should be on the Generate a base desktop image tab. Click on Continue and a list of importable images will be displayed. Select the image that you want to import, and then provide a name and description.
VIAB 5.2 can now automatically install the Citrix HDX client, plus additional components, which used to be a manual process. You can select the check box and still do this manually if required; but it is recommended to allow VIAB to do this.
Then click on Import and input the local images administrator account and password to allow VIAB to make changes to the image.
The console will then update the screen to show you how the import is progressing. During this stage, you will have the ability to edit the image, add software and so on. However, we would recommend that you initially create a clean Windows image in VIAB and then copy this to create images with applications.
You should now be at the prepare image stage. Firstly, select the domain you wish to connect to and add an organizational unit (OU) if you have one. Then click on Prepare and confirm.
You then have the option to test the image you have created. Once selected, you have the options to connect with HDX and RDP. Select HDX, and it may also be a good idea to click on the Peripheral Drives options to test things such as USB sticks and local printers, where possible. If you have provided your active directory information, you can test with a domain account and check that the active directory policies have been applied. You can also run through the test again with RDP, if required, just to check that it is working correctly and your applications work as expected.
Once you are satisfied with your base Windows image in VIAB, you may decide to copy the image and start to add applications to your copied image. We would always recommend keeping a base Windows image without applications as a fallback. After installing your chosen set of applications in your copied image, go through the testing again and check that the applications are working correctly.
This article provides a comprehensive breakdown of the decision-making process prior to the implementation. There are a number of options to consider, plan, and size required before implementation can begin. It also aims to work you through a typical VDI-in-a-Box setup starting with the hypervisor installation to the importing of VDI-in-a-Box and the configuration.
Resources for Article :
- Getting Started with the Citrix Access Gateway Product Family [Article]
- Managing Citrix Policies [Article]
- Content Switching using Citrix Security [Article]