Virtual Servers in the Real World

Server consolidation may be a necessary evil, but either Virtual Server 2005 or GSX Server can ease the pain.

By Don Jones

10/01/2004

Server consolidation is a big deal. The "do more with less" economy in which
we're living has companies wanting to rid themselves of old, insecure and unmanageable
Windows NT file servers, Linux servers and who knows what else. Upgrading old
servers isn't always a viable option and buying new ones may not be feasible
either. There's also the time and expense required to migrate files, folders
and printers to the new servers and re-educate users, explaining that Server51
through Server55 are going away and will be replaced by the new BigServer2.

Enter virtual server software. By running multiple servers on one physical
box, IT can consolidate servers using what they have—and not spend a lot
of dough. And users can still access Server52, not realizing it's actually running
as a guest on BigServer2.

Going Virtual
Microsoft's latest virtual server offering, Virtual Server 2005, is expected
in the latter half of 2004. Virtual Server will run on Windows Server 2003 (including
Small Business Server and XP Pro). The Standard Edition supports up to four
processors, while the Enterprise Edition runs as many as 32 processors.

GSX Server
$3,025 for two processors, $6,050 for four processors
VMware Inc., a subsidiary of EMC Corp.
650-475-5000www.vmware.com

VMware, which is owned by EMC, checks in with GSX Server. This utility runs on Windows Server 2000, Windows 2003 and certain Linux installations. VMware also has a high-end edition called ESX Server, which is actually its own standalone operating system loosely based on Linux. The theory with ESX Server is that by having a single-purpose operating system, you can squeeze more virtual machines onto one physical box.

Both Virtual Server and GSX Server emulate the complete set of server hardware: memory, processor, IDE bus, BIOS, video, SCSI bus, network adapters and so on. Most emulated hardware simply passes through to the physical hardware, with that pass-through managed and arbitrated. Disks are a notable exception. Each virtual machine disk is encapsulated into a single file on the host operating system. This makes moving virtual machines from host to host a piece of cake. Just copy a configuration file and all the disk files.

Like Virtual PC and GSX Server, SWSoft's Virtuozzo (see "And Now for Something Completely Different: Virtuozzo Virtual Server Software") lets you run multiple virtual servers on one physical box, but that's where the similarities end. SWSoft takes a completely different approach to virtualization, since its original target market was application hosting providers needing large-scale virtualization on Linux-based boxes. Rather than emulating the hardware, Virtuozzo emulates the host operating system kernel.

And
Now for Something Completely Different: Virtuozzo Virtual Server
Software

Virtual Server and GSX Server both emulate a
computer's hardware, including memory, processor, and so on,
so each virtual machine appears to be a complete, standalone
computer to anything running inside the virtual machine.

Virtuozzo, on the other hand, doesn't emulate
the hardware. Instead, it emulates the operating system kernel.
It does separate virtual disks for each virtual machine, and
lets you allocate resources like memory and processors to
the virtual machines. The benefit of this technique is that
Virtuozzo has significantly lower overhead than Virtual Server
and GSX Server, which can spend up to half of the host computer's
time emulating hardware. This way, you can run many more virtual
machines per physical server. SWsoft once started 5,000 Linux-based
virtual machines on a giant IBM server with 16GB of RAM and
a handful of processors.

There's one significant downside to Virtuozzo's
technique, though. Your virtual machines must run the same
operating system as the host server. You can't run Linux virtual
machines on a Windows box, and you can't run Windows virtual
machines on a Linux box. You can't even run Windows 2000 virtual
machines if your host server is running Windows 2003.

SWsoft originally offered Virtuozzo only in
a Linux version, leaving Windows virtual servers out in the
cold. The company is working to release a Windows version
(expected to go into beta in late 2004), but right now you
can't use Virtuozzo to consolidate those old NT 4.0 servers.

Virtuozzo does have a place in the enterprise,
though. If you have a large Web farm (or need to build one),
it may be more efficient to build a single giant server that
hosts a few dozen virtual Web servers, than to purchase, configure,
and manage a few dozen boxes in your data center. Virtuozzo
also has some tools for deploying software updates to an entire
batch of virtual servers, helping make server management en
masse easier and more efficient.

SWsoft's Virtuozzo is unlikely to be your first
choice for server consolidation, due to its inability to run
different operating systems within its virtual machines. However,
if you've moved beyond the need for server consolidation and
instead need to manage large numbers of virtual servers for
things like Web hosting, Virtuozzo is worth a look. — Don Jones

Virtual Server 2005: An Eye Toward Automation
Microsoft's offering is based on the Virtual PC technology it acquired from Connectix. Installation of the release candidate on my Windows 2003 system was uneventful, and I was quickly referred to the product's HTML-based administration page, shown in Figure 1. This Web-based administration is a new and unwelcome trend in Microsoft products. Microsoft has a perfectly good management interface in the Microsoft Management Console (MMC). In the case of Virtual Server 2005, an MMC-based administrative interface would have been more functional and easier to use than the Web-based one.

Figure 1. You'll be directed to the HTML-based administration page as soon as you complete installation of Virtual Server 2005. (Click image to view larger version.)

You'll use the Virtual Machine Remote Control Client (RCC) to work with Virtual Server. As shown in Figure 2, the RCC uses a new, proprietary Virtual Machine Remote Control (VMRC) protocol to attach to running virtual servers. This gives you a "desktop-in-a-window" view, similar to running a virtual machine under Microsoft Virtual PC or VMware Workstation. Performance of the RCC seemed adequate, although less sophisticated than VMware's GSX Server Virtual Machine Console. Before you can use VMRC with a virtual server, however, you need to specifically enable it to do so.

Virtual Server 2005 also includes an ActiveX implementation of the RCC, which you can launch from within the Web-based administrative user interface (which only works with Internet Explorer, by the way). The ActiveX control is pretty bare-bones and isn't as satisfying as the RCC.

One feature that Virtual Server 2005 has over GSX Server is differencing drives. Keep in mind that all virtual machine hard drives exist as single files on the host computer. A differencing drive is a file that outlines differences between an existing, read-only virtual hard disk and the virtual machine's current condition.

Suppose you create a virtual server running Windows NT 4.0. You get the operating system fully installed and then shut it down. You then create two differencing drives, named DiffA and DiffB. Both are based on the original NT 4.0 virtual machine hard disk. You now create two new virtual machines, ServerA and ServerB, and instruct them to use DiffA and DiffB as their hard drives. Any changes made to ServerA or ServerB are written to the DiffA and DiffB drives, preserving the "base" NT drive. You can't modify the base NT drive without invalidating the two differencing drives, but you've saved disk space. Instead of having two virtual disks with a full copy of Windows NT, you have only one.

Virtual Server does let you allocate the physical machine's resources across virtual machines. As shown in Figure 3, you can specify percentage levels for processor utilization, as well as weighting information. You can reserve a percentage of the processor for a particular virtual machine and limit the processor overhead a virtual machine can consume. You can also specify memory allocations, which is done as part of each virtual machine's configuration.

Figure 3. You can specify percentages for processor utilization, reserve capacity and weighting for each of your virtual machines. (Click image to view larger version.)

Virtual Server 2005 has sensible default settings. For example, when a virtual machine stops, Virtual Server saves its status, which helps you quickly restart it later right where it left off. You can configure machines to start up when the host machine starts, ensuring that production-level virtual machines are always running.

Virtual Server 2005 is very well-suited to automation. It is completely exposed through COM interfaces, meaning you can write VBScripts (or whatever else) to create virtual machines, clone them, manage them, and so on. Building that kind of automation capability into a product isn't unusual for Microsoft. What's unusual is that they've actually documented it—Virtual Server 2005 ships with a programmer's guide that's accessible even to beginning scripters.

GSX Server: A Sensible Interface
I also installed GSX Server on a Windows 2003 test machine. GSX Server provides an administrative interface that will be remarkably familiar if you've used VMware's Workstation. As shown in Figure 4, a "Home" tab provides icons to create and manage virtual machines, while the list of configured machines appears on the left-hand side of the window. Each virtual machine has an additional tab that lets you quickly interact with any machine from the same window, as shown in Figure 5. This seems to be a much more integrated and sensible approach than Microsoft's Web-based administrative interface and separate (or ActiveX) remote-control clients.

Figure 5. Selecting a tab for a virtual machine lets you access and control that machine within the same window. (Click image to view larger version.)

GSX Server lacks the differencing drive capability of Virtual Server, meaning two virtual machines can't share an underlying virtual disk file. That's a shame, because older versions of VMware products did provide this capability. In GSX Server 3.0 (and VMware Workstation 4.5), there's a new snapshot capability instead. This essentially "bookmarks" your virtual machine's status, and you can revert to this status at any time. You only have one bookmark at a time, and once you revert, you can't undo the operation.

GSX Server also doesn't provide the same resource-control methods as Virtual Server. You can set a virtual machine's processor priority to low, normal or high for one of two conditions: When you're interacting with it (normal or high priority) and when you're not (normal or low priority). You can't reserve processor priority for a virtual machine or set a processor maximum. Like Virtual Server, you can designate specific virtual machines to start when the host starts, ensuring that production-level virtual machines are always available.

More Alike Than Not
Besides some minor interface and operating details, Microsoft Virtual Server
2005 and VMware GSX Server 3.0 have much in common. Both performed similarly
on my test machine; running the same number of similarly-configured virtual
machines at the same time with the same response levels.

Both provide industry-standard security features for administrative connections,
including SSL encryption. Virtual Server 2005 has an administrative scripting
interface that is disabled by default—a welcome change from Microsoft's
previous policy of building in scripting and leaving it enabled, giving script-based
viruses an easy point of entry. Virtual Server also leaves remote control access
to virtual machines disabled, putting any potential security risks for enabling
it squarely on your shoulders.

There was one notable difference between the two: Virtual Server 2005 took roughly three times longer to install on Windows 2003 than GSX Server. This is the same installation performance difference I've noted between Virtual PC 2004 and VMware Workstation 4.5.

Tools of the Trade
Microsoft has announced a migration toolkit that will help migrate physical servers to virtual servers, thereby easing the consolidation process. Microsoft has also announced a late-2004 "management pack" for Virtual Server 2005, which will include additional management tools.

With a head start on the virtual server scene, VMware already has a family
of tools available. VirtualCenter is a centralized management and provisioning
tool that gives you control of multiple GSX Server hosts. This includes VMotion,
a tool for quickly moving virtual machines from host to host on the same Storage
Area Network with no downtime. The VMware P2V Assistance is designed to migrate
between physical and virtual servers.

You can't go wrong with either VMware GSX Server or Microsoft Virtual Server
2005 for server consolidation. Both give you what you need. GSX Server stands
out primarily in its mature administrative interface and official support for
non-Microsoft operating systems. Virtual Server 2005 offers a slight advantage
in resource allocation and naturally integrates more tightly with related Microsoft
products, like Microsoft Operations Manager.

More Information

Virtual Servers:
The Licensing FactorBefore Microsoft had a virtual computing product, it was tough to get
a straight answer out of them on how Windows licensing applies to virtual
servers. Now that they're in the game, that answer is easier to come by: one
operating system license for each virtual computer.

In other words, a virtual computer is the same as a physical computer. Following
that logic, you might figure that only virtual computers that are running need
an operating system license. This would be in the spirit of Microsoft's recently
announced "cold spare" policy that doesn't require a Windows license
for computers that sit "cold" in a closet as spares.

That's one advantage to Virtuozzo—because they're emulating the
host operating system, rather than having you install a completely separate
operating system (which both Virtual Server and GSX Server do), you only need
the one license for the host machine. If you go with Virtual Server or any VMware
product, be prepared to shell out for an individual OS license for each virtual
computer, plus another one for the host.— Don Jones

The Computer
That Never Was
Gartner declared 2004 to be the "Year of Virtual Computing." While
that may have been a bit premature in my opinion, it is clearly garnering attention.
If nothing else, Microsoft's 2003 acquisition of Connectix Virtual PC and the
merger of VMware and EMC made the whole industry sit up and take notice.

VMware offers products for both Windows and Linux hosts, and Microsoft offers
Virtual PC in Windows and Mac flavora. These products work in essentially the
same way: They let your physical host computer run multiple guest operating
systems. Each guest, or virtual machine, is housed in its own window, and thinks
it's running on a stand-alone, physical computer.

Both products can run any x86-based operating system as a guest, although in
Microsoft's case, don't call their product support folks unless you're running
Windows as a guest. While Virtual PC is perfectly capable of running Linux guests
for example, Microsoft doesn't want to hear about it.

Even before Microsoft jumped into the ring, those two products have long played
a game of one-upmanship. Virtual PC was the first to offer features like Shared
Folders and drag and drop between guests and hosts. The latest version of VMware
(4.5) had a slick new tabbed user interface and some hot new features of its
own. Both products have their loyal fans and hardcore detractors, who often
cite performance as the reason they love their particular product. Many Microsoft
shops—primarily those on Microsoft volume license agreements—get
Virtual PC practically for free, so that's a big selling point for them. These
days, the big money for these types of utilities is in virtual servers.— Don Jones