On Mac Virtualization
I've been collecting data and experiences for this post for a little over three months now, so I can speak with some level of certainty on the topic. This is one of those long ones, so either grab some coffee and a comfy chair or bookmark for later review.
I've posted several times over the last couple of years about my experiences with VMWare Fusion and Parallels on my Mac. A quick historical recap: I acquired an Intel-based Mac Mini as soon as they came out and immediately purchased Parallels so that I could run Windows XP and Office 2003 on the system (Fusion wasn't available at the time). This combination worked really well for me for a long time. I was able to use Outlook for my e-mail (Entourage, while a nice e-mail client in its own right, hasn't had the level of Exchange integration that I needed for my business) and Internet Explorer for those sites that forced me to use IE instead of Safari or Firefox. I ran the occasional Windows tool in Parallels as well (GoToMeeting, LogMeIn Rescue, etc.) but as the bulk of work that I do is in e-mail or hosted solutions, I spent about half my time in Outlook and the other half in a Mac-based web browser.
When Fusion became available, I played with it, and the choice of the word "played" is deliberate - I never did any serious work with Fusion because of a couple of issues I ran across that basically made it useless for me. I've become so used to working with the Coherence mode in Parallels, where my Windows and Mac apps present their own application windows seamlessly on my desktop, including the Windows Task Bar across the bottom of my screen just above the Mac Dock, that I insisted on trying to use Unity mode in Fusion, but that either required me to turn off the Windows task bar (not an option since I access tools in the system tray on a regular basis) or to move the task bar to a different area of the screen (yes, I could have moved the Mac dock, too, but the point is I didn't have to do either with Parallels). So, Fusion never got a serious look.
The second factor in my aborted look at Fusion was that I was trying to see if I could get Vista to run well inside Fusion. That's at the point where I started to realize the limitations of the Mac Mini hardware. It just didn't have the horsepower to run Vista in Fusion or Parallels plus the Mac OS.
I also had issues updating to later versions of Parallels on the Mac Mini because of screen display issues in Coherence mode, and since the version of Parallels I was resigned to using to avoid those issues would not run at all on Mac OS 10.5, I really was running on "old" stuff.
Late last year, after updating to Office 2007, XP SP3, and IE 7 in my Parallels virtual machine, the overall performance of the system began to seriously deteriorate. I was waiting on applcations to load data, waiting on screen updates, and my efficiency began to suffer significantly. It was time to do something about it. So, in December, I welcomed my new Mac Pro into the fold. I overpurchased on the hardware, getting an 8-core 2.8GHz sytem with 1.5TB of disk and 10GB of RAM, but I knew I wanted to be able to run multiple virtual machines on the box for testing, including possibly sticking a virtual SBS 2008 on there for a standard platform.
That's when the first law of virtualization really hit home: Virtualization only works well when you've got appropriate hardware underneath. That ultimately was the issue with my Mac Mini. It was a great little machine for virtualizing a fairly basic XP system with Office 2003, but trying to load newer software and OS updates on it pushed the boundaries of what it could do in 2GB of RAM and a dual-core 1.6GHz processor.
Currently, my production PC is running Vista Ultimate under Parallels in Coherence mode (Fusion still doesn't have Unity working the way I wanted, but I did run Vista Ultimate for a week as a production system under Fusion before I just gave up on having the Windows taskbar anywhere on the screen except just above the Dock, somethign that Fusion surprisingly still isn't able to do). I've turned off the Vista Gadgets due to an odd screen artifacting issue in Parallels, but quite frankly I haven't found a Vista gadget worth having present anyway, so it's not a huge loss. I'm running Office 2007, IE8, Chrome, and a couple of support tools quite nicely in this configuration. Speed and performance are very nice, and I have 2 CPUs "dedicated" to that Vista system.
I should note that I'm runnign the 32-bit version of Vista Ultimate. I did load up the 64-bit install of Vista Ultimate under Parallels, but ironically it ran slower than the 32-bit version, so I moved back to 32. Plus I didn't have to fight any printer driver issues that I know I'll have to deal with ultimately.
I am also running Fusion, but in a different way. Currently, I have a Windows 2008 Terminal Server box running in windowed mode under Fusion, and I also have a Windows 7 64-bit box running in a Fusion window as well. One lesson I learned quickly was trying to run more than one virtual machine in Coherence or Unity mode caused great confusion to the operator. Also, Parallels has this annoying habit that when something happens in one of its virtual machines, it brings that machine to the forefront, and if you have multiple virtual machines running, the "alerted" machine jumps to the foreground, no matter what mode its in (windowed or Coherence) and no matter what you were doing in the other VMs. That got to be really annoying, really quickly. I had hoped to have my main production Vista running in Coherence along with another Parallels VM running in windowed mode, but that quickly proved impossible.
Interestingly enough, when I initailly built the 2008 Terminal Server that's now running on my Mac, I had created it as a VM under VMWare Workstation on a 2003 server I have as a test platform. Performance on that platform was pathetic, so I shut down the VM, copied the files from the 2003 server over to my Mac, and loaded up the VM in Fusion. It loaded right up, did a couple of platform conversions, requested a re-registration of the OS with Microsoft, but otherwise ran exactly as it had done under VMWare Workstation, save for being a WHOLE LOT faster. [Note: I ended up rebuilding the box in a new VM on the Mac for unrelated reasons. Had I not inadvertantly nuked something in the config, I'd still be running the same VM that I pulled over from VMWare workstation.]
Bottom line, I have a working system that is doing what I need it to do and more. I have a Vista environment that is very stable and runs very quickly. I have a Leopard environment that is very stable and runs very quickly. I've got a 2008 Terminal Server that runs faster now than it did before, and I'm spending some serious time with Windows 7. I will be testing a load of SBS 2008 on here at some point in the (hopefully) not-too-distant future, and fully recognize that I'll probably have to scale back some of the other stuff that I'm doing on this thing, but as my overall processor utilization is still under 10% across the board, I might not have to scale back too far. And I've learned a couple of good lessons about virtualizing on the Mac. It's certainly doable, and I'd say that you wouldn't even have to go as far as a super-decked-out Mac Pro to do it. My wife's iMac 20" has more than enough horsepower to run all the photo and video stuff she's doing plus running a Windows environment of some sort. And the new Mac Mini should be able to do virtualization nicely, but you'll have to probably go to the full 4GB to make it work. For me, though, Parallels is still the better solution, simply for the way it handles the full-screen integration with the Mac OS. If Fusion would ever figure out how to display the Windows task bar on top of the Dock like Parallels does, I'll be more than happy to give it another go, as in general I feel a bit better about recent developments from VMWare than I do from Parallels. But I'm running and not having any issues, so I'm not complaining.