We all have plenty of reasons to procrastinate, and many of us had a good reason for prolonging the migration process from Windows NTapplication incompatibility. If my NT applications can't reliably run on a Windows Server 2003 or Windows 2000 system, then I'm better off addressing the known concerns of running these programs on NT and planning for periodic reboots than tackling new problems associated with a new OS. Although some companies can replace or upgrade legacy applications to facilitate a migration, other organizations don't have that luxury and must maintain legacy OSs to support needed applications.
Many administrators discover that the answer to the migration dilemma is to use virtual machine (VM) technology. VMs let you run multiple OSs on the same physical system at the same time. In fact, neither computers on the network nor applications can distinguish a VM from a physical machine. Before you can begin to use VMs, you need to determine which application you'll use to provide the management overhead for each VM. VMware Workstation (or VMware GSX Server or VMware ESX Server) and Microsoft Virtual Server are two possibilities. These applications let you create a VM, complete with virtual hard disks (IDE or SCSI), virtual RAM, and other virtual resources such as network interfaces that let you connect to your physical network. After you define the machine's virtual hardware, you can power it on and install the OS. If you're interested in using the VMware products, be sure to check out "VMware GSX Server 2.5," July 2003, http://www.winnetmag.com, InstantDoc ID 39182, and "VMware Workstation 2.0," February 2001, InstantDoc ID 16446. I've used Virtual Server in the migration process, so let's begin by examining the product's origins and features.
New Kid on the Block
Virtual Server is still in beta and rapidly changing, so I can't go into too much detail about operating the software. However, Windows & .NET Magazine will continue to follow the software as it develops.
Virtual Server was born when Microsoft acquired the Connectix Virtual Server line of products. Unlike VMware's products, Virtual Server is designed to be hosted exclusively by Windows OSs (specifically, Win2K or later running Microsoft IIS). Because Virtual Server VMs can fully integrate with the host OS, they don't require third-party graphics or network drivers. Instead, virtual hardware devices emulate hardware that's natively Plug and Play (PnP) with Windows OSs. In addition to this PnP integration, Virtual Server offers performance counters for monitoring VMs and supports a couple of features that VMware users have come to know and love, including support for legacy OSs and script-based management.
System Monitor counters on the host system for monitoring VMs. In addition to OS support, when you install Virtual Server, the software adds System Monitor counters to the host system. The counters let you collect performance data on all your VMs from the host system. Figure 1 shows a sample collection of VM data that I collected using System Monitor.
Support for running legacy OSs (i.e., NT, Win2K, OS/2). Virtual Server's legacy OS support gives you an easy path for eliminating some of the antiquated systems that you maintain for running certain applications. I recently worked with an organization that maintains a server running NT to support one specific application. That company could scrap the NT server and move its contents to a VM.
Script-based management. Another valuable feature of Virtual Server is its integration with scripting tools. In fact, the product ships with several sample scripts to get you started, including a script called FailOver.vbs that can monitor the state of a running production VM and automatically fail over to a backup VM if the first VM stops responding. One other valuable script called DuplicateVM.js that ships with Virtual Server lets you clone VMsthis script even works with live VMs. DuplicateVM.js is ideal for creating backup copies of your VMs so that if a virtual server becomes corrupted or crashes, recovery is as simple as starting the backup version of the server and restoring applications or file data from backup.
Now that you know a little bit about Virtual Server's features, you need to know how to put it to work and how to move your legacy applications from the physical world to the virtual world. In the remainder of this article, I walk you through my favorite methodology for making this transition. Let's start by setting up and configuring the host server, then configuring virtual representations of your production NT servers.
Configuring the Host Server
You need to ensure that the host system for the VM is running Win2K Service Pack 3 (SP3) or later and IIS. The latter is required to send commands to the Virtual Server service because Virtual Server doesn't contain a standalone application for this task (as of beta 1). If you don't want to run IIS on the host system, you can configure the Virtual Server Web site on an alternative server (the online Help file contains information explaining how to do this). If you absolutely can't run IIS, Microsoft recommends using Microsoft Virtual PC instead of Virtual Server to control your VMs (Virtual PC isn't as robust as Virtual Server, but it doesn't require IIS).
Jay December 03, 2003