If you are looking at this web site now the chances are you are a Windows administrator with some Citrix experience trying to fix a problem on Citrix XenApp servers that were installed by someone else years before you arrived at your company. Over the years your servers will have been modified and "fixed" by a stream of different people all of whom had different ideas about Citrix. I guess your Citrix servers are in a bit of a mess by now.
I have many friends who are senior Citrix administrators who, like me, really know their business and most of us agree that about 80% of sites are severely compromised by poor design, installation or subsequent changes. So the chances are that the problems are not your fault.
Citrix XenApp (Presentation Server) is not an application but a whole new paradigm on Windows. It takes heaps of study to get any good at it so don't take it on lightly. Below are a grab bag of mistakes:
What do you think the biggest threat is to your systems? Virus attack? Fire, theft, flood or terrorism? Hardware failure? Think for a moment, what is the biggest threat?
The biggest threat is miss-administration by systems administrators. ie. Mistakes by people like us. Companies buy too much technology without realising how difficult it is to fully support the technology over its full lifecycle. Managers are persuaded to buy complex software and hardware it may be installed by the vendor but it is then handed over to poor overworked systems admins like you and me to support. The sales people always claim how easy it is to administer it form the "simple web interface" ... we have all heard that story. Then things don't work quite as advertised and then it gets complex. Then you need the BIOS upgrade and the patch and it is not compatible with the (whatever you have.) etc.
There is also a strong tendency to underestimate the skills needed and the cost of those skills. For Example doing a 5 day Citrix course won't leave you fully equipped to administer Citrix serves. Just as getting you P plates as a driver won't leave you qualified to compete in the Paris to Dacha rally.
It is so common for managers to think they can put Citrix XenApp in and just send a Windows generalist off on a short Citrix XenApp course and then think they have their Citrix admin covered. Wrong! Spend the money and hire the specialist.
Even if your current staff learn the new technology they will move on it time and the company will end up with a diverse and hard to fulfil skills matrix required for the next guy into the role. Because of this the company ends up with a "Jack of all trades, master of none." Then the miss-administration starts.
If you are building an SQL Server then it may be a good idea to put your OS on a RAID1 pair, a RAID1 pair for log files and your data on a RAID5 set. Citrix servers are not SQL Servers.
I see this so often where people build their Citrix according to the similar principals but with partitions. The usual trick is to use a 10GB to 20GB C:\ drive a D:\ drive of about 10GB and the e:\ drive is the balance. When you ask about this arrangement they talk about fragmentation and Microsoft best practice. Don't do it, partitioning physical disks is a BAD idea that should have gone out with Windows NT 4.
A year or so later they are almost always running out of space on their C:\ drive. Programs put things like log files in the %systemdrive% and this is often hard coded into the application. Also when things like patches are installed all the old files are save in a restore point on the %systemdrive%. Some applications insist on installing parts of themselves on the %systemdrive%. Sooner or later you are going to have to rebuild your servers with larger C:\ drives.
Build the whole server on the one partition and fix the size of the swap file to 4096MB (for a 32 bit OS). Once the size of the swap file is fixed it won't fragment across your disk. You should not be putting data on your Citrix server so you really don't need a data partition.
Going mad with partitioning does not mean that you never have to defragment you disks.
REDIRECTING DOCUMENTS AND SETTINGS
I once encountered a large site where they had done the disk partition as shown above and then redirected the Documents and Settings folder to the E:\ drive. These guys were having all sorts of problems. I know Microsoft supports this and so does Citrix providing it is done according to Microsoft's instructions BUT I have never heard of an application vendor supporting Documents and Settings not being on the %systemdrive%.
Programmers often use the following path: %system drive%\Documents
and Settings\%username%\...
So what is that program going to do if Documents and Settings is not on
%systemdrive%? It will produce an error.
*********************************************
Installed all in one box: "There you go, that is the Citrix server. Install Citrix there." are common words by project managers. They expect you to install the DataStore, Web Interface, Citrix Licensing server, Terminal Services Licensing Service and all your applications for 40 users all on one server.
While you can do it all on one box don't.
(You could do it in one box if you used Citrix XenServer or VMware to turn it
into several virtual servers.)
Printer Drivers: Keep the number of printer drivers to a minimum number of Citrix compatible printer drivers. Check out the printers to the right and notice this guy has 3 drivers for the HP LaserJet 4000 and doubles up for the LJ 8000 and the LJ 8100. The worst I have seen is a site with 5 different drivers for the same type of printer.
Every time you install a new driver you risk clashes between .dll files.
Don't use PCL 6 drivers.
Just because a driver works well on a Windows print server does not necesiceraly mean it will work with Citrix. It could actually stuff the whole server if it did something like overwrite the Microsoft unidrv.dll file.
For a printer driver to work under Citrix it has to have been written to robustly support multiple threads. Don't make any assumptions, test them. Then only reasonable safe source it the Windows 2003 or 2008 CD.
Never use host based drivers: Use printers that will take PCL or PostScript print jobs. Host based drivers are very chatty on the network and should not be used on an Enterprise network at all. Host based drivers can put a heavy load on the CPU and can stop the print spooler service.
This include Canon BubbleJets, many HP DeskJets and most cheap colour laser printers.
Better yet, why not just avoid printer drivers altogether and use the Citrix Universal Printer Driver wherever possible.
You might think the more RAM the merrier. Not true. 32 bit applications can only address the first 2GB of memory in a server. It does not matter how much more memory you have the application will be blind to all but the first 2GB of RAM shared between all users of that server.
Terminal Services runs in Kernel mode and thus is limited to using 4GB of RAM. The /PAE switch in the boot.ini file does not help. That is a hard limit, 32 bit Citrix servers can only use 4GB of RAM and anything more is a waste of money.
Don't keep your data on Citrix servers. The way you restore a Citrix server after some disaster is to rebuild the server. Keep your data across the network on a file server that is backed up and in a place where people expect it to be.
Once you load balance an application across several Citrix servers then you need the data in a central location. I have seen users say, "I have to keep trying to log on until I get Citrix server number 3 because the data I need is there".
Go with best practice and keep all data away from your Citrix servers.
How many times have I seen a Citrix XenApp server farm full of individually configured servers with 1 or 2 applications on each. Here is how it happens: Say there is a project to put in a new Asset Management System run by the accounts department. They decide to deploy it on Citrix and buy a new Citrix XenApp server to host their application. This server gets added to your farm and is configured with the Asset Management System, Oracle client etc. This is the "Accounts Department Citrix Server" and they add 2 or 3 applications over the years.
It all works fine until one day the server dies. There is panic as it is the end of month and everyone needs it desperately. You are trying to get the server repaired (you are told a new motherboard will take 2 weeks) so you are trying to install the asset management system on another server only to find the guy who installed it has left the company and the users have critical data in their local profiles.
The application should have been set up across a group of servers and when one server failed the load balancing should have directed all users to the other working servers and roaming profiles should keep their data safely on file server that is fully backed up.
Citrix Consulting will often recommend all applications should be installed on all Citrix servers. The Citrix Application Isolation Environments will assist greatly with this. Every time you get a new application it is tested and installed on a common server build.
COMPLEX LOG ON SCRIPTS
Some people go crazy with scripting. Try to use Citrix and Windows policies for setting up printers etc. Think policies first and scripts last.
I have seen log in scripts in 3 different languages calling one script after another. Errors on running were frequent.
Peer review. I value your feedback. If you have any questions or comments about any area of this web site please e-mail. Thanks and abuse are equally welcome.
Copyright © 2007, 2008, 2009 Mark Ellis www.citrixexpert.biz info@digitalharmony.com.au