VMware is trying to hold on to its market-leading position by giving away some entry-level products to hook users and organizations early, before they standardize on competing products such as Virtuozzo or Xen. Given the quality of VMware Server, the strategy just might succeed.
Installing VMware Server
VMware offers the VMware Server software as an RPM or a tarball with the installer and necessary components -- no Debian package at this time, unfortunately. I decided to go with the RPM install on a dual Pentium III 1.0GHz server with 2GB of RAM, running CentOS 4.3. VMware Server should install on most x86 or AMD64 Linux distros. The main prerequisites are GCC and the kernel headers for your system.
The install consists of running the RPM, and then going through a short configuration script to set up VMware's networking. For most users, the defaults offered by VMware should be fine; so it's mostly a matter of hitting Enter several times, saying "Yes" to the VMware license, and entering a license key.
The console is installed on the host machine, but VMware also offers standalone packages -- available from the VMware Web site and as a download through the VMware Management Interface -- so you can run the console from your desktop and manage servers remotely. The console is available as an RPM or tarball for Linux, and a Windows version is available as well.
Again, installing the console isn't terribly difficult. Either install the RPM or run the installer script, then agree to the VMware license, run through a few questions, and you can fire it up.
Using VMware Server
After setting up VMware Server, I decided to start testing with the Ubuntu 6.06 LTS server install. Setting up a new VM is simplicity itself; just log into the VMware Server Console, click on "Create a new virtual machine" and walk through a GUI wizard that will ask a few questions about the OS that you want to run, and what resources you want to grant to the virtual machine.
Since the VMware virtual hosts are supposed to be portable between different VMware products, I also decided to try running a few virtual machines created under VMware Workstation under Server. The Workstation guests ran fine under VMware Server -- though Server is, apparently, fairly sensitive to permissions. The first time I tried to run a virtual machine under VMware Server, I got an obscure error. I did a bit of Googling, and discovered the problem might have been the ownership of the files. After changing the ownership of the files, the virtual machine started up with no problem.
The second VM had an error that was a little more descriptive; it complained about needing execute access for the .vmx file. That seemed weird, because I'd grabbed the guest OS off of the VMware directory of freely available virtual machines. Setting the .vmx file as executable did the trick, though, and it ran fine after that.
The virtual machine performance seems to be pretty close to performance on equivalent hardware. I ran several virtual machines simultaneously -- mostly Linux VMs, but I also threw a Windows XP virtual host in for good measure. I used the stress, dbench, and tbench utilities to generate heavier loads on the virtual machines to see if that had any impact on other VMs hosted on the same system or the host system itself. Other than an increased load on the host system, which is to be expected since VMware Server is a process running on the host system, I didn't see any impact on other VMs or the host.
I did see a little performance degradation on the host when I had several VMs running and I was at the stage of creating a new VM's disk files. By default, VMware Server allocates all of the virtual disk space when the virtual disk is created, rather than filling it as time goes on. This is designed to improve performance over time, but it seems to be somewhat resource-intensive when the disk is being created.
I was impressed that I could run a virtual Linux or Windows desktop on the server and use it on my workstation via VMware Server Console and still see performance almost equal to running the OS on my local machine natively.
The only downside to running a desktop OS remotely is that VMware Server doesn't support sound over remote connections. This isn't a problem at all if you're running server OSes, but if you're hoping to run a desktop OS via VMware Server, it'll be a silent one.
Unlike its predecessor, VMware GSX, VMware Server offers support for virtual symmetric multiprocessing (SMP). SMP support is considered experimental at the moment, but I didn't encounter any problems with SMP enabled on one of my Linux virtual hosts that has an SMP kernel. I ran benchmarks and normal system loads to see if it had any issues -- it ran just fine, no problems at all.
One of my favorite features in VMware Server is the snapshot feature. If you have a system running as a virtual host, all you need to do is to take a "snapshot" before any major system change. If all goes well, no problem. If something goes south, you can revert to the system state prior to the snapshot with one button click. This is great for testing and production use.
What have you got to lose?
The only thing that concerns me, and should concern any company investing in virtualization, is that VMware Server -- while "free" as in beer -- is still a proprietary product. VMware giveth, and VMware can take away. There's nothing to stop VMware from dropping VMware Server at a later date in favor of a product that requires an up-front license fee, or from removing features if the company deems it necessary to boost adoption of more expensive offerings. This isn't necessarily likely, and I'm not suggesting that I expect it to happen -- but it's something to be aware of.
VMware does have a plan to make money off of VMWware Server. The company sells support starting at $350 for VMware Server on a system with up to two CPUs for one year, and it also offers add-on products to make management of VMware Server easier. If you have only a handful of systems that will run VMware Server, you can easily get by using the freely available tools, but VMware is no doubt banking on bringing in support and add-on dollars after organizations get their first taste of virtualization goodness.
Licensing caveats aside, I really like VMware Server. It's a solid product, easy to use and administer, and the performance is top-notch. If you need a way to run multiple hosts on a single server, I'd put VMware Server at the top of the list.