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.
At least, it did under XP Professional x64 w/ IIS installed, back when I was using that.
It runs under WoW64, but seems to work fine. I did it for months without incident.
VMWare supports x64.. but not by providing x64 binaries, just by insuring their code runs under Windows on Windows.
<3 your f*cked up penny pinching configuration.. I used to work for a company like that, and it sucks.
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
I have not tried Citrix on Vmware but have Citrix running on M$ Virtual Server with no problems. Yes I know Virtual Server is a bit slow but the users didn't notice the swap over to a virtual Server.
The host Server is running a 64bit Version of 2k3R2 and the guest is 2k3R2 32 bit. 4gb Ram.
The host does have 2 other Virtual servers also running on it.
lp.
You have no reason to go 64-bit in the corporate right now. Its still not there yet. You have almost nothing to gain from going 64-bit.
So whats the problem again?
"Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
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.
I was recently at a VMWare User Group meeting where the company rep was talking about the new version of ESX Server (the version of VMWare that runs on the bare metal - eg, their own tweaked OS, although I'm guessing that's probably Linux - instead of being a client app).
The rep made a point of saying that ver. 3 has made great performance improvements in a number of areas, and specifically mentioned Citrix.
So, if you haven't already, you should look at ESX Server 3 (and some of their management tools, the demo was very slick). It hasn't been out very long, but if you're a VMWare user, the improvements are worth it.
One of our customers has a completely virtualized environment. Everything is published through Citrix or Terminal server, and all of it is running on Windows running in VM provided by Microsoft and VMWare both. Everything is 2003 and XP VM's 64-bit or otherwise as the need arises for them. It is a hospital managed by just a couple of people. The best part is they can restart 10-15 seconds behind an error I guess for recovery. Pretty cool stuff, it can be done so good luck.
The situation I'm in has more to do with our existing infrastructure than anything else. Terminal Services environments such as Citrix require large amounts of RAM, and moving to 64-bit allowed us to put as much RAM as we wanted in some new boxes. Now, the question is whether or not to change our existing architecture completely. Users are *accustomed* to running Citrix and published apps now, and this is the most important thing for us to consider in our new implementation. Sure, there may be overall better ways to do things, but what will have the smallest effect on how our end users are accustomed to doing things?
Per the previous Ask Slashdot, we have 3 main offices and because of the architecture of our accounting system, they are required to run the published application to do essentially anything related to their job.
The "oh sh!t" moment occurred when I realized how big of a hurdle Novell would present (and for reasons that are beyond my comprehension). All of our file servers run NetWare, and to make a terminal services environment work, we need users to be able to connect to all of their files the same way they connect to them now. For this reason, it is not an option to upgrade to NetWare 6.x.
Now, thinking futher down the road, I would like to see my company leave Novell. Maybe they'll pull the proverbial rabbit out of the hat and make the NetWare -> Linux transition worthwhile in an enterprise environment like ours, but right now it's not an option.
I've downloaded the trial version of VMWare ESX and plan on getting it running today (hopefully), but I understand that there would be complications running two virtual environments. Is it likely that Citrix is not even needed? If it's not blatantly obvious, I have little experience with VMWare, but we were actually going to install it on one of our X4200s and compare it to a strictly Citrix environment to see what the performance differences would be.
VMWare + Citrix presents an interesting new way of looking at providing remote access, but IMO it hooks VMWare's very strong wagon to Citrix' aging horse. IT Administrators tend to like Citrix because it gives them an easy way of centrally managing their remote users, but non-LAN-connected users hate Citrix because of the reduced graphics quality and poor performance over slow links.
There are some other interesting solutions out there that use virtualization concepts to provide better end user experiences. (Thats not my site, or anyone I know, in case anyone thinks I'm trying to boost my blog -- I have no idea who it is, I just ran across that the other day).
Anyway, its an interesting concept...
If you are memory bound, adding more memory is the best way to increase capacity and/or performance.
Win2K3 Std 32-bit supports 4GB RAM, which is fine unless you need more than 4GB.
Win2K3 Enterprise 32-bit supports like 32GB, but you'd have to pony up for the new OS (cost = cost of RAM + cost of Win2K3)
Win2K3 Std 64-bit supports 6GB RAM (cost = cost of RAM)
Moving to 64-bit allows more memory usage without paying a larger M$ tax.
Test it, though. Then, test some more.
Don't believe anything I say. I crash test crack pipes for a living.
There's a lot of overlap between VMware and Citrix to be honest. People usually have multiple citrix servers in a farm for 2 reasons. First is to handle large loads. Second is to have a testbed and make it easier for your admins. (I'm assuming you're not virtualizing to do something specialized like training classes or simulate geographically separate sites...)
In your case, based on what you've told us, the only reason I can see VMize your citrix servers is making your testbed alongside production. (The MAIN reason people do Citrix in VMware is because their citrix system is already established, and the large citrix farms can be reduced and virtualized on more powerful modern hardware to further reduce maintenance. But you've got a new install here, and all options are open.)
Spend a little time asking yourself what those novell desktop apps do. Can they be delivered without client32? Novell is constantly pushing to pull off the desktop and into server stacks, but keeps faltering. There's enough tools to do it if you want to, but they're harder to use than the deskside tools that integrate with windows... And everyone constantly sees issues like you are where Novell lags behind Microsoft's changes to windows. (In the past I do think Microsoft did this intentionally) It sounds like you were surprised or maybe hit politically with a "we don't do it any other way!"
We have a small citrix farm, with 4 real servers running the software, and one VMWare virtual server on another computer. As we only have 150 employees, load balancing isn't necessary. We've found that this will work with the version of Citrix we use (Metaframe Server XP) and the free beta VMWare. However, you will see significant performance degredation on users on the VM machine. This probably comes from VMWare running on top of the OS in the beta release. When you get the full paid for version of VMWare, it's my understanding the system will run in between the OS and the hardware, so performance should increase. Only problem is, I'd like to see if it would be feasible to actually run a regular version of VMWare to see if it's worth it. What we have found is that having a 'fail-over Citrix Server' never hurts. We're currently getting an off site location up and running for fail over purposes, and plan to run failover VMWare citrix servers up there off one or two machines. If your options are having a enterprise critical resource run slow or not run at all, better to have it run slow on a virtual machine when your IT HQ connection goes down. As always, YMMV. One point though that I've seen - Citrix isn't a virutal machine. It's allowing multiple users on a single machine. Only difference between it and Windows XP is that windows XP machines will lock out the current user. If you put a shortcut in the C:\documents and settings\all users\desktop folder, it'll show up on the desktop of everyone who logs into the computer, whether connecting via citrix or using the console to log in directly. It's a remote user set up.
Why is this important? Because Citrix is a network hog. Running multiple Citrix instances via VMWare is going to seriously kill the network card - if not the network - unless you can isolate the traffic of greatest interest. Since these are different instances, you can't even rely on the built-in Citrix controls to give meaningful information or bounds.
At present, Linux' netfilter is capable of tagging by the contents of the payload, but I have been unable to find any work on how to use this to get the best from Citrix. The only information I have found was a program for finding what Citrix apps were being published - and that was under a security advisory! You'd have thought something like that would be circulated as a utility, but noooooo...
Has anyone here done much with QoS'ing Citrix or analyzing their protocols?
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
If you're just looking for a Novell client, isn't the MS Client for Netware provided for x64 platforms? Of course, it would run IPX only and you'd probably need to adjust your search drive mappings as it behaves differently than Novell's.
...Goodbye!
You know, usually I just ignore crap on here...but your post is waaaaay over the top.
My first reaction was you were trolling for laughs. I guess I'm the only one who thinks that the typical 'when all you have is a hammer, everything looks like a nail' response is hilarious.
Your response is so generic, that it's laughable.
Ah yes...so you want to . That's a pretty good choice.
Definately start to switch your entire infrastructure, (which you've had no problems with), to something that I've heard about. (Though you've made no indication that you're a web-developer at all) when your company asks you to create a web portal, is a good ally to have.
eh...why bother?