In a recent installment of the "Linux Letter," I discussed the complications that arise from combining virtualization software, such as the excellent VMware product, with proprietary, license-encumbered software, such as the OS from Redmond. In summary, I was concerned that such draconian licensing restrictions could preclude companies from benefiting from the many advantages delivered through virtualization.
In this installment, I'll revisit the topic by describing a simple use-case for virtualization that provided one of my clients with an elegant upgrade path for the Windows 2000 server in his office. Had the nasty licensing provisions in the latest OSes applied to this situation, an easy upgrade would have been squelched—replaced, instead, by a much more expensive proposition.
One day, I received a call from one of my clients. Call him Larry. The Windows 2000 server that I had installed a few years ago at his shop was getting long in the tooth, and Larry had two concerns: 1) that the server was getting old and could fail and 2) that even if the server didn't fail, there was only one gigabyte of free disk space remaining in his RAID array. What Larry wanted me to do was offer my advice and service for upgrading his server hardware, with the least amount of pain possible. He was happy with everything about his system, except for the aforementioned concerns, so he wasn't interested in upgrading to Windows 2003 Server if it wasn't absolutely necessary. My guess is that the price quote he had received for Windows 2003 Server turned him off, since it offered nothing over Windows 2000 for Larry except a useless expenditure of almost $2000.
Having chosen to simply transfer his existing installation, he placed an order for a new IBM xSeries server, and while I waited for it to arrive, I turned my attention to the actual process of migrating to the new box. Anyone who has spent any time with Windows will know that migrating a Windows system from one computer to another is rarely an easy backup-and-restore proposition. For that to be an option, you typically need to purchase backup software with that capability, such as Veritas, or be lucky enough to be restoring to identical hardware. Neither condition was true in this situation. Having pretty well resigned myself to a long and boring reinstall session, I took an inventory of the applications and data added since I had last been to the place and then left for home, instructing Larry to call when the new server arrived.
I pondered the upcoming installation and thought about ways to make this system more manageable. When the system was purchased, I had been called in as a subcontractor to install and configure the bevy of software packages sold to Larry. I hadn't been involved in the software selection, and to be honest, I wasn't all that excited by the melange of software that the vendor had foisted upon Larry. I won't enumerate the titles, but suffice it to say that there was software for anti-virus and anti-spyware, software for backup and restore (but not to bare hardware), and software to provide the utilities that Microsoft doesn't provide but that are necessary to keep Windows running smoothly. None of this stuff could be reliably set for auto-pilot, so Larry's system maintenance regime depended upon his staff taking overt actions; thus, it had always been suspect. My desire was to create a system in which I could script the backups and system monitoring to make them more automatic, without forcing Larry to invest large sums of money in software for an operating system that I eschew.
My plan was to install Linux on the bare hardware, run VMware server on top of Linux, and then install Windows into a virtual machine. By doing that, I would have the full suite of Linux tools at my disposal to back up the Windows instance—even to the point of being able to restore the complete Windows system to ersatz bare metal. Performance wouldn't be a problem, even given the slight penalty caused by virtualization, since the new system could leave the old one in the dust. Besides, performance hadn't been an issue before, so anything I gained in performance would be gravy. I laid the whole thing out on paper and was quite satisfied that this time the system would be maintained properly.
Before I heard again from Larry, I heard from VMware in the form of an email announcing a newly released product called VMware Converter, which promised to "Convert Physical Machines to Virtual Machines—Free!" Talk about a fortuitous email! If this thing worked as advertised, then I might be able to skip the torture of installing Windows and all of those applications, a process that I find even less desirable than having root canal work done without anesthesia.
Just a Few Questions
I got the call that the new hardware was in, so I made arrangements to meet with Steve, Larry's office manager, for installation. Once on site, I installed the memory and drives into the server, booted the CentOS 4 install CD and, an hour later, had the system installed and updated, had VMware server installed and configured, and had Samba providing Windows client access to the new machine. Next, I went to the original server and installed the VMware Converter software and then started the program. To say that it's simple is an understatement. I was asked just a few questions. First, I was asked which system I wanted to convert, the answer being the one that the program was running on. Next, I was asked where I wanted to store the resulting virtual machine. I pointed the program to a share that I had created on the new server for just this purpose. Finally, the program identified the two partitions that made up the current Windows installation and asked the question that I really wanted to hear: Did I want to keep the partitions the same size, reduce their size, or increase their size? Since the issue that really propelled this upgrade was the impending space crunch, I chose to make the drives bigger...much bigger. A final verification of my selections and a click on "OK" kicked off a process that took a little over three hours, during which time the converter created virtual disks on the new server share and then copied the existing Windows installation to the new virtual disk. All I had to do was sit back and watch, so Steve and I went to lunch and then went to the new server for an orientation session.
Once Converter had done its job, I shut down the original Windows box and then started its virtual clone on the new Linux box. Frankly, I didn't know what to expect, having never seen this software before. Being a pessimist (an optimist with practical experience), I wasn't surprised to receive an alert that a service had not started. With some trepidation, I logged onto the domain administrative account and looked. The problem? The original NIC had changed, so Windows couldn't start networking. Once I removed the old NIC definition and created a new one using the VMware virtual hardware (with the same IP address), I restarted the virtual machine one last time, and it came up without a hitch and much faster than it used to. Moving over to one of the client machines, I was able to log into the domain and access the applications without a hitch. Ye gods! That was pretty painless.
Saving Space, Energy, and Money
In this scenario, the client was a tiny office (fewer than 10 employees), so you may feel that there is little relevance between his situation and yours. Many of you work for companies that spend more annually for bathroom tissue than Larry does on his entire payroll, so you may not think twice about buying a new server and all new software. Larry wanted to upgrade a single server, but I would guess that if you look around your company, you could probably point to a number of servers that could be consolidated onto a single box, thus saving space, energy, and, ultimately, money.
That Larry was able to legally move his installation to new hardware boils down to the fact that Larry was using a version of the Redmond OS that wasn't burdened with the restrictive licensing terms that newer incarnations of the OS seem to be. Those terms will have relevance to you, no matter what the size of your company or budget.
Make no mistake; the new licensing terms that companies are employing are all geared to maximize the profits of the vendors at the expense of the customers' freedoms. It behooves you to spend some time analyzing your actual needs and determining if there is open-source software that suits you before jumping into the deep end with proprietary software. My grandmother used to say, "No one can take advantage of you without your permission." It seems to me that the sentiment applies to software acquisition as well.