ESX – Tips for running Citrix on VM

This is a collection of tips I’ve collected (from various sources) over time for running Citrix on an ESX virtual machine. I currently use all of these items in my environment.

  1. Use Windows Server 2003 or 2008. Do not use Windows 2000!
  2. Start with one vCPU. You may need a second, depending on your environment. Citrix is an application where scaling OUT is better scaling UP.
  3. Specify the correct HAL (single processor or multiprocessor) via device manager of your windows OS.
  4. Use 2GB of memory to start. Increase memory as needed (based off performance logs, charts, etc.).
  5. Split your OS, Data, and Page partitions onto separate VMDK files. If at all possible, put these on separate LUNs (you can used a tiered storage strategy so not all of your VMDKs are on FC disk).
  6. Disconnect  any mounted floppy disks or CDs.
  7. Disable sound for applications (via the Citrix Management Console)
  8. When installing VMware Tools, do a custom install. Do not install the memory ballooning driver.
  9. Disable COM ports, hyper-threading, visual effects & use speed-screen technology where possible.
  10. Disable the “Show VMware Tools icon” in the VMware Tools properties. This will prevent users from seeing the icon when launching applications.
  11. Remove all hardware devices that are not required on your VM (serial ports, parallel ports, etc.).
  12. If at all possible, build from scratch. You’ll get a better performing system if you build it from scratch. P2Vs are a good “band aid” option until you can rebuild.
  13. Remove any and all 3rd party agents from the P2V’d server. These include vendor specific NIC teaming software, video drivers, HBA drivers, SAN management tools, etc.

This list will be modified as I come along more tips/tricks. It is a work in progress!

2 Responses to “ESX – Tips for running Citrix on VM”

  1. Steve,

    Do you have any updates for this procedure or suggestions? Our Citrix administrators complain about Citrix being virtualized…etc.

    I just don’t want them to say “we can’t virtualize Citrix because it is slow, bad…etc”

    Thanks!

  2. Hey Mike.. No updated on my end, I follow these basic rules for all of our Citrix VMs (my team also manages Citrix). Do you know what version of presentation server they are running? Is the web interface virtualized as well? What are they indicating is “slow”?

    At my day job we are running all of our presentation servers, and 2 load balanced web servers completely on VM. We haven’t had any issues at all with Citrix on VM, especially since we started using ESX 4.X when it was released. The main thing I suggest for Citrix VMs is to almost always use 1vCPU.

Leave a Reply

Spam Protection by WP-SpamFree