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 feel for you, buddy. I've been at the "Oh shit!" stage of realizing during implementation that I missed something $REALLY_IMPORTANT in planning myself.
I am also hoping for some interesting and informative answers, since I am currently investigating using Windows Enterprise x64 to do a Terminal Services environment within MS Virtual Server using the "free" licensing of the virtual OSes. (My $ORK_PLACE steps on your neck for buying a 6-pack of Coke when on the road, penny-pinching *EXPLETIVE DELETED*.)
--
"Outlook not so good." That magic 8-ball knows everything! I'll ask about Exchange Server next.
The problem seems to be Novell drivers, not anything else. Try running it without Novell connectivity first.
I am government man, come from the government. The government has sent me. -- G.I.R.
You could always run a 32 bit OS on the servers (at least till novell releases the 64bit client). If theres nothing you need specifically from the 64bit-ness you won't really be losing anything really (though I don't really know what hardware or software you plan on running).
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.
The main question is what are you running behind Citrix. Citrix itself does very little but present a screen to a virtual server. My experience has been that the thing behind Citrix- Netware in your case -is the thing that causes the most problems. Definately consider switching to an A/D setup if you have not already started migrating users from Netware to A/D. With A/D and cool projects like OpenLDAP you can do some pretty neat web based things with Java or PHP. (I have not checked in to other languages as of yet) When your company asks you to implement a fully customizable web portal using IIS (eek!) that accesses all this information, PHP is a good ally to have.
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
First off decide of you really need Citrix or not. There are a few things it does well, mostly on a management / printing basis. Take a look at some sort of SSL Presentation box (F5 Firepass / etc) to do your presentation. Using basic Termainal Services works fine for some situations.
Now Microsoft is allowing 4 free instances of their OS when you're running on Windows 2003 R3 Enterprise/Advanced, and using Virtual Server 2005 R2. I know it's a MS hot dog next to VMWare's Prime Rib, but when $$ matters there is compromise to be had.
I've used ESX for Win2003 std Terminal Server - due to the users each mapping 4 printers back each (yea Windows Server with 35 people connected, each bringing 4 printers - didn't work well). There's a check box in ESX for "Citrix Workload".
In a perfect situation, I'd use Citrix to publish applications. I'd create 1-3 VM's on each server for each application published (5 apps = 5-15 VM's per server). Use Citrix to balance the load across those servers (or an external appliance). This would allow for a fairly consistant load across the servers without any additional features. If you're in it for the money, create 2 VM's per task and use the new Vitual Infrastructure 3 DRS feature to allow automatic VMotion if a single server gets overloaded.
Something to think about, but remember using a Vitrual platform has so many advantages to strictly hardware I'd overlook the Citrix people saying "no". Rebuilding a server in 3 short mouse clicks is just too amazing.
Elaborating on the Parent further, WMWare Workstation (5.5.1 if anyones keeping track, not tried Server or had the luck to get grubby with ESX) does run as a 32-bit process on x64 Windows, BUT on x64 it allows you to also have x64 Guest OSs, whereas if you run it on a 32 bit host OS, you are (obviously) restricted to to 32-bit only Guest OSs.
The thing I don't get is, how can a 32-bit Application (VMWare), host 64-bit Operating Systems?
Anyway, I have x64 Windows (Svr 2003 SP1), VMWare, and Citrix hosted in a 32-bit Guest OS . It all runs quite happily, albeit slightly sluggish.
-Jar.
Together, We Can Make Slashdot Better. I Do NOT Mod ACs. - Check Me Out
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.