Tips: Citrix PS 4 on VMware

Found this article on another blog, its very usefull for deploying citrix on vmware, I have performed most of these in the past so can vouch for this, the tuning list is from personal experience the blog and the experience of several users on the VMware forum.

Needed:

  • Virtual Infrastructure 3 (Latest Version)
  • Windows 2003 Std (or Enterprise) Edition R2 (x86, do not use x64)
  • Citrix Presentation Server 4.0

How To:

  • First this: it all depends on the applications used! Context switches is the key here...
  • Use Windows 2003, not Windows 2000
  • Don't P2V your servers, but use clean templates
  • Make sure the correct HAL (single or multi) is installed in the virtual machine. Otherwise, your vCPU will spike.
  • Always assign 1vCPU. If necessary, add a 2nd vCPU. Do not use 4 vCPUs!
  • Use 2 GB to start. Scale up to +-4 GB of vRAM if necessary
  • Use 1 .vmdk for your system partition (C:\ or other remapped drive letter) and 1 separate .vmdk for your program files.
  • Put the page file on the 2nd .vmdk
  • Important: disconnect any .iso file in your virtual CD-Rom
  • Use roaming profiles and cleanup your profiles at logoff
  • Disable sound for your published apps
  • Install the UPH service (download it here)
  • User sessions: for me, 30 users on a VM. Do not expect to get as many users on it as on a physical box!
  • Scale out, not up. A major advantage of VM is to clone/NewSID/sysprep existing servers and put them into your existing Citrix farm. Just stop & disable your IMA service, clean up your RMLocalDB (if you use enterprise) and NewSid the thing. Refer to this support article for more info.
  • Use dual core or quad core systems. This because ESX will have more CPU to schedule its vCPUs on.
  • Don't ever use a 2 vCPU Citrix virtual machine in a 2 pCPU physical machine!
  • Do not install the memory ballooning driver while installing the VMware Tools
  • Do not use a complete installation Vmware tools: there is an issue with roaming profiles and the shared folders component. See this previous article for more info.
  • Disable COM ports, hyperthreading, visual effects & use speedscreen technology where possible.
  • Use snapshots when installing applications or patching your servers (yes! With VMware you can do this!). In case of disaster, you can still revert to the original working server without using backups. Make sure all snapshots are removed ASAP when finished!
  • Always check that there are no snapshot leftovers (f.e. the infamous _VCB-BACKUP_ when using VCB)
  • Don't forget you can use DRS rules to run your citrix servers on separate physical hosts.
  • Check out this vmworld 2006 presentation
  • And last but not least: do not forget to read ESX's (excellent) performance tuning white paper.

Can I have one please OLPC XO-2

Take a look at this blog, it's a combination of a laptop, e-ink and a Nintendo DS. All I can say is, send me a prototype and I'll be happy to test it and write a review.

Install ESX from a USB drive

Recently I needed to install multiple ESX servers by CD, the CD's kept getting lost and scratched, I wondered if there was a way to install from USB, surely this would be faster too.

I looked through the forums and found a couple of people that had managed it, I have amended there instructions slightly to get this working….

Requirements

You will need SYSLINUX, a Linux boot loader for removable media.

This can be downloaded here: http://www.kernel.org/pub/linux/utils/boot/syslinux/


These instructions are based on a Windows PC for my simplicity.

If you're a Linux guru (you know who I'm talking about!), then you can obviously do this under Linux. You'd need to know how to mount .ISO images in order to extract files, etc.

Steps Required

Throughout this example my USB hard drive was I: replace this with your letter.


1.  Plug in your USB flash disk and format it in dos using the following command: FORMAT I: /FS:FAT

2.  From Windows Explorer, find the boot.iso file in the /images directory on the ESX 3.x CD-ROM. Copy boot.iso into a temporary directory on your hard drive.

3.  Using your ISO extraction or mount program, extract the contents of the boot.iso file to your USB flash drive.

4.  Delete the isolinux.bin and updatecd.cfg files from the USB disk.

5.  Rename the isolinux.cfg file on the USB flash disk to syslinux.cfg

6.  Using WordPad (not Notepad), open the syslinux.cfg file and add the keyword usb to the end of every line that begins with append. Here's what the file should look like when you're done:

default esx

prompt 1

timeout 600

display boot.msg

F1 boot.msg

F7 snake.msg

label debug

  kernel vmlinuz

  append initrd=initrd.img noapic nomediacheck debug usb

label esx

  kernel vmlinuz

  append initrd=initrd.img usb

label text

  kernel vmlinuz

  append initrd=initrd.img text usb

label expert

  kernel vmlinuz

  append expert initrd=initrd.img usb

label ks

  kernel vmlinuz

  append ks initrd=initrd.img usb

label lowres

  kernel vmlinuz

  append initrd=initrd.img lowres usb

7.   Extract the syslinux.zip file into another temporary directory on your hard drive.

8.  Open up a command prompt and navigate into the win32 directory. For example:

C:\temp\syslinux-3.36\win32

9.   Now, run the syslinux program to apply the boot loader and boot sector to the USB flash drive:

syslinux -s –ma I:

10.   Copy the ESX 3.x ISO image onto the USB drive root
 
11.   Confirm that your USB flash drive contains the following files:

boot.cat

boot.msg

initrd.img

snake.msg

splash.lss

vmlinuz

syslinux.cfg

esx-X.iso

12.   Your ready to go, ensure your bios on the server you want to install too is setup to boot from USB or select USB from the alternate boot menu.

13.   The ESX installer will detect the USB device and whatever SCSI / disk controllers you have. When the installer asks you what the installation source will be, choose Hard Disk.

14.   You will need to choose the right disk device (ie. /dev/sda, /dev/sdb) that corresponds to your USB disk. Chances are it will be /dev/sdb.

15.   Finally, the installer will ask you what directory to find the ESX installation CD image in. Just use / and it will find the .ISO image for you.

That's everything, my servers managed to install in around 4 minutes which is not bad really!  I have now modified my 4GB USB drive to include other tools like Knoppix and a dos boot disk all amendable from the main menu with not too much work.  I might blog how to do these on another day.

ESXi for just $99

Dell announced yesterday that ESXi will cost only $99. (source: virtualization.info) Citrix Xenserver will cost you $299. Will be good to see what HP, Fujitsu and IBM are going to release next. What will Microsoft do with this very competitive pricing.  Will be good to see UK pricing too !

Citrix Hotfix RSS Feeds

It has always been hard to find where and what are the latest hotfixes for the Citrix products, no more !

With the new revision of Citrix's Support site (support.citrix.com), now it's easier to find  the latest fixes and patchs for your Citrix products.

Here's the list:

  Presentation Server 4.5 for Windows Server 2003 - x86

  Presentation Server 4.5 for Windows Server 2003 - x64

  Presentation Server 4.0 for Windows Server 2003 - x86

  Presentation Server 4.0 for Windows Server 2000 - x86

  Access Gateway 4.5 Advanced Edition

  Access Gateway 4.5 Standard Edition

  Access Gateway 8.0 Enterprise Edition

  Provisioning Server 4.5

  Citrix NetScaler 8.0

  Citrix NetScaler 7.0

  Citrix WANScaler 4.x


Select the products you have, subcribe to its RSS feed and stay in-sync with all later patches and fixes for it.

OpsMgr 2007 Capacity Planner Tool (Final Version)

Satya from the Operations Manager Product Team: Last week the Operations Manager team attended the Microsoft Management Summit 2008 in Las Vegas and one of the big questions we got from almost all customers was when is the System Center Capacity tool going to be available? I'm glad to announce that the OpsMgr 2007 SCCP RTM model is now officially available today from the link below. The model covers Gateway Servers, Audit Collection and Client Monitoring scenarios as well as the complex enterprise deployment scenarios. A note of caution, please review the model with your technical account manager or your Microsoft consultant before doing a full blown deployment. It is also essential that all customers do a pre-production deployment before doing a final production deployment.

Download: OpsMgr 2007 Capacity Planner Tool (Final Version)

Upgrade to ESX 3.5 and VirtualCenter 2.5

VMware has just published: Upgrading to ESX 3.5 and VirtualCenter 2.5 Best Practices. This document provides valuable steps which may be useful when upgrading to ESX 3.5 and VirtualCenter 2.5.  VMwarewolf is re-printing it here because he wants to emphasize a few of the point in bold.

New Patches for ESX Server 3.5/3i

VMware just released a whole bunch of new patches.

New patches are available for ESX Server 3.5/3i.

Please follow the instructions on the appropriate patch download page.

VMware ESX Server 3.5 Patch Download Page

ESX350-200804401-BG (Critical): Prevent DHCP from resetting the IP address and netmask when trying to acquire or renew a lease. Change the default multipath policy for all HDS modular storage arrays such as AMS, SMS, WMS, 9500V to "fixed".

ESX350-200804402-BG (Critical): Prevent the guest from stalling for a long time during snapshot operations. Prevent the ESX Server host from crashing during snapshot consolidation. Prevent the ESX Server host from rebooting while powering on a vSMP virtual machine on a Unisys ES7000/one with eight or fewer logical CPUs. Fix emulation of instructions that access I/O ports. Fix emulation of string instructions on 64-bit guest operating systems.

ESX350-200804403-BG (Critical): Prevent hostd from crashing due to incompatible entries in /etc/vmware/hostd/authorization.xml. Allow spaces in a password while creating and editing local ESX Server users through the VI Client. Set the executable bit for .vmx configuration files. Fix a vmware-vpxa crash caused by invalid UTF-8.

ESX350-200804404-BG (General): Allow Windows virtual machines to boot when DataDigest is enabled in software iSCSI.

ESX350-200804405-BG (General): Include a megaraid2 driver fix for UNISYS platforms.

ESX350-200804406-BG (General): Add support for the Intel PRO/1000 PF Quad Port Server Adapter.

ESX350-200804407-BG (Critical): Add support for the Broadcom HT-1100 SATA/IDE controller. Prevent path thrashing during an Invista all paths down condition.

VMware ESX Server 3i Patch Download Page

ESXe350-200804401-I-BG (Critical): Fix typographic errors in the message strings of storage controller battery status, which is displayed in the VI Client. Include fixes for issues addressed by the following 3.5 patch bundles: ESX350-200804401-BG, ESX350-200804405-BG, ESX350-200804405-BG, ESX350-200804403-BG, and ESX350-200804407-BG.

We expect the next patch release in May 2008

Capacity Planning

So you have convinced the company that Virtualisation os the saviour of the IT world, you have purchased the kit and the software and the licensing, now you have no money left, how do I know what I can virtualise ?


You can either go out and spend lots of money on Capacity planning software which usually charges you per server which can get quite expensive or you can use the old fashioned way....Perfmon !

Counters should be run for at least two weeks, but preferably up to a month. The reason for this is that for most businesses, one month incorporates that company's business cycle. So, setting up counters to run for a month ensures that you capture the slow periods as well as the high use times, end of month reports etc.

Here are some counters you should consider enabling. For any of these, if the counter's resulting performance for any server is significantly higher than on other systems, it may indicate that that server won't play well when squished together with others in the virtualisation environment:

Disk\% Disk Time
If disk time is high, then that server likely does a lot of reading from and writing to its hard disk subsystem. Since virtualisation environments encapsulate whole machines into single files, a high disk time counter can mean an excess of writes to its disk file, potentially becoming a performance bottleneck.

Memory\Pages/sec
When the processor is looking for data that doesn't reside in physical RAM or when the server needs to move unused data from RAM to disk, this increases the metric for Memory\Pages/sec. A high counter here could indicate often-changing processes or workloads that require lots of dynamic data. Since the physical RAM on a virtual machine is also just a file on disk, an overly high counter here could signal a potential performance concern.

Physical Disk\Current Disk Queue Length
Related to both of the above counters, if your server is reading and writing to its disk so much that its disk subsystem cannot keep up, you will see a high Current Disk Queue Length counter. As with the previous three counters, the disk-based nature of virtualization lends itself toward the potential for disk bottlenecks. Not virtualising servers that are disk-bound may be necessary for the total performance of your virtualisation environment.

Processor\% Processor Time
The processor in each virtual server is a component of the physical processors on the host. Most of what virtualization software does is schedule physical resource use based on the needs of each virtual server. So, if you are seeing servers with a high Processor Time, then that server is constantly needing the attention of its processor. That constant need could prevent other virtual servers from getting their fair share unless you establish resource limits on the host -- in the end, it slows everyone down.

System\Processor Queue Length
If you're seeing a high percentage Processor Time metric, you may also see a high Processor Queue Length metric as well. This metric deals with a processor's ability to "keep up with the load." To complicate things, it can also mean that the hardware of your physical server is not good enough to support its hosted applications. So, keep an eye on this metric.

If you see a high count for this metric, but you know your physical server is too old and slow to support its applications, you may improve performance by moving to virtualisation. But, if you see a high count on a fast server, it could indicate that that server is not the best candidate for virtualisation.

System\Context Switches/sec
A context switch is when the processor swaps out the thread that it's currently processing with another. Your processor does this all the time, as it's a part of its ability to multitask. But, when this number is very high, that's an indication of too many processes vying for attention of the processor. Where you usually see a high context switch count is on Terminal Servers or servers with very old applications. Because of the high process count on servers like Terminal Server and Citrix, they can sometimes not be good candidates for virtualisation.

System\Threads
The thread count on a system directly relates to the number of things the processor needs to accomplish. Lots of threads potentially means lots of context switches to process them all. Like with high context switches, a high thread count can also mean a well-used processor and a suspect virtualisation candidate.

Memory\Available Mbytes
Unlike the other counters, a high Available Mbytes count can be a good thing. This means that your system isn't using much of its installed RAM. Where this counter comes in handy is in right-sizing the RAM assigned to your virtual machines. Typical physical machines have too much RAM installed, which means much of it goes unused. This happens because RAM prices are cheap at the time you buy the server, but more expensive later on. So, many administrators over-spec their servers with high amounts of RAM.

In the virtualisation environment, you want to conserve RAM as much as possible so it can be used by other virtual servers. A good rule of thumb for the starting amount of RAM a virtual server needs is to subtract the amount of physical RAM from your available Mbytes and then add a little bit for breathing room. So, if you have 2GB of RAM in the server and your Available Mbytes shows 1024 megabytes, then you might start out by giving that server 1GB and working from there.



Other counters may be viable, at the end of the day it depends on your environment, these counters are just general usage.

Early Hyper-V

Microsoft confirmed Tuesday that its Hyper-V server virtualization technology is likely to ship up to a couple months ahead of the previously projected date.

The company has said all along that Hyper-V, which is currently in beta, would ship within 180 days of the release of Windows Server 2008.

The server officially launched at the end of February, and the company had tagged August as the likely ship timeframe, a full use of the 180 days.

"We are feeling pretty good that it won't be up to the full 180 days," said Dai Vu, director of virtualization products and solutions in Microsoft's server and tools division.

Last week, Larry Orecklin, general manager of the Windows enterprise and management division, said during a meeting with Network World editors that Hyper-V would ship in June or July.

Vu added that Virtual Machine Manager (VMM) 2008, which adds support for Hyper-V, would ship 30 to 60 days after Hyper-V hits its release-to-manufacturing stage. VMM 2008 is currently in beta.

When Hyper-V ships Microsoft will be adding a third hypervisor option to go along with those already available from VMware and Xen-based derivatives marketed by Citrix, Oracle, Red Hat, and Novell.

Hypervisor technology is a base technology layer that acts as the virtualization foundation for guest operating systems.

Microsoft's Hyper-V will support as guest operating systems Windows Server 2003 SP2, Novell SUSE Linux Enterprise Server 10 SP1, Windows Vista SP1 (x86) , and Windows XP SP3 (x86).

Experts believe that the hypervisor will eventually become a commodity, although VMware disputes that notion.