Using VMWare and Citrix in Tandem?
Dysfnctnl85 asks: "As a follow up to the previous discussion 'Alternatives to Citrix Remote Computing?', I've hit another brick wall in my quest to enhance the way my company does remote computing. Right now I've setup Windows Server 2003 Enterprise x64 R2 on two 64-bit machines with 16gb of RAM each. Before I can setup Presentation Server 4, I need to install the Novell client to allow access to our NetWare servers. After doing some research on Google, and hopping forums on the Novell Support boards, I've determined that Novell has no plans to release a 64-bit client for any Microsoft OS until Vista launches." Has anyone managed to get VMWare, Citrix and 64-bit Windows working together?
"Now I'm sure there are other companies out there in a similar situation (as noted on the forums and Google Groups), so I then decided to look into the virtualization market to see if I can still make my dream happen. I've been emailing my Citrix rep who in turn has been speaking with a Citrix engineer who is currently training with VMWare, coincidentally. I'm wondering if anyone has successfully ran a VMWare + Citrix solution in order to fully take advantage of dual 64bit procs, a Windows 64-bit OS, and 16GB of RAM. I was thinking of running 2 Citrix Servers within VMWare to handle maybe 8GB, effectively making 4 public Citrix servers, but I'm not sure what the best solution would be."
I'll try to get technical details tomorrow from the Citrix team (I'm on the VMS end of things), but we're a large healthcare system running a moderately large Citrix farm (~100 servers) for our clinical systems. We've got 4 DL-585's (IIRC) running 2k3 and six VMWare Citrix instances per server in production. User loading is about 20-25 users / "server". Once we got through some initial headaches, it's been quite solid. One very nice thing is that if a "server" gets bollixed up, we don't go through the usual Ghost re-imaging process to restore the server, but just copy over the VM disk image again.
Citrix is a virtual computing environment. Users are given virtual workspaces on top of their own workspace. You're wanting to put two virtual workspace servers, inside of an already virtual environment. Doubling up layers of something aren't always a good thing. Think double nat'ing - yeah, you can access resources on the other side of your double nat, but it will always cause problems eventually.
:-P I was also working with a Citrix engineer about a month ago who was testing out the same very thing you are talking about (stress tested to be a production environment not just "oh yeah, it boots, connects, NEXT") and his findings were basically "yes, it is possible, is it worth it? will it continue to work well? will performance be maintained?" The answers were all no. This was tested on both 32 and 64-bit environments all with large ammounts of RAM.
I was working with someone who wanted to do this very same thing recently and the answer from both myself, and Citrix was "no, what the hell is wrong with you."
while true ; do echo this is my sig; done
I currently have a duel 3.4 64 bit Xeon box / 8GB RAM running VMware server beta and it's really not worth persuing. Any qualified Citrix consultant would tell you the same...I'm almost certain Citrix themselves don't recomment a setup like this.
;)
I know this because I'm an avid fan of VMware, and inquired myself... (I'm also currently upgrading to PS4).
If you want to use VMware, get ESX...At least you can retain some performance, and VMotion offers nice flexibity. (At a price, though!)
It's not to say that VMware can't play a role in a Citrix rollout...It's a fine testing platform, and also a solid choice for Installation Manager...but aside from that you're wasting your time.
After speaking with a couple of Citrix consultants, I've used VMware exactly as I've described, and it's worked out fairly well. Virtualization is godsend, but not fit for *every* problem... yet
We have about 10 Citrix Servers running on a VMware ESX 2.5.3 system on HP BladeCenter (AMD Opterons). It works pretty well overall. We found out that you definitely need the SMP upgrade component so each Citrix instance can access two physical processors. VMware ESX 2.5.3 only supports 3600 MB max memory per guest OS and only 32-bit guest OS's, however, VMware ESX 3 just came out and it now supports 64-bit guests, with up to 16GB of RAM each, and up to 4 processors each (physical processors, not just virtual).
The benefits of ESX server are pretty great. Secure remote console. Remote power. Ability to clone your VMs (with VirtualCenter, or a free perl script). Ability to migrate a running VM to a different server without shutting it down (google vmotion). The benefits of running virtualized are even greater than maximizing the use of hardware. Manageability is a big plus to going virtual.
Anyway, in your situation, I would recommend installing ESX server on your two big boxes, and using many smaller 4GB 32-bit Citrix servers. Citrix will automatically load balance your apps among your server farm, and ESX will let you load about 4-5 Citrix servers on a single physical box/blade.
Also, get some shared storage (SAN, or even SCSI disk shelf attached to both servers) so you can use Vmotion to migrate VMs around. Imagine how cool it is when you need to do a hardware upgrade or fix a bad component to just migrate the VMs off, do your maintenance, then migrate them back on, without scheduling downtime or the users even noticing. I've even run a countinuous ping to a VM, done a migration from one blade to another, and watched it never miss a single ping. It dumps the contents of memory across a gigabit ethernet connection to the other node, then somehow points it at the shared disk drive on storage, never missing a beat/ping...
As always, YMMV.
"When the president does it, that means it's not illegal." - Richard M. Nixon
Port 1604 is unknown? Hardly. It's the older-style ICA browsing service, used by the Citrix ICA client to find server and application lists. Modern Citrix deployments should be at least using HTTP or Secure Gateway instead of using the UDP browsing (which can be very unreliable ... imagine that).
And I can attest that at least one commercial product (PacketShaper by Packeteer) can identify individual published applications and apply shaping policies accordingly.
And a network hog? ICA is a pretty dang light protocol. It's fairly sensative to latency and packet loss, but calling it a bandwidth hog isn't really fair or correct. We serve about 270 concurrent Citrix sessions, and it consumes (on average) about 1MBps of bandwidth, rarely spiking over 2MBps.
There's plenty I don't like about Citrix MetaFrame, but managability sure isn't one of them. Unless you're talking about the CMC. That fucker can go to hell.