In guest OS virtualization, the host basically partitions its resources into several independent machines that can support different operating systems and applications concurrently. A virtual machine is a self-contained operating environment that runs on top of the virtualization layer and behaves as if it is a separate computer.
Both Microsoft and VMware offer free commercial virtualization solutions. Microsoft offers Virtual Server 2005 R2 and Virtual PC 2007. VMware offers VMware Server, and also offers Workstation 6.0, which is designed to run on PCs; Virtual Infrastructure 3.x or ESX Server 3.x, the company's most comprehensive solutions; and Virtual Desktop Infrastructure (VDI), which is designed to virtualize desktops.
Other manufacturers offering guest OS virtualization solutions include SWsoft, Virtual Iron and XenSource. For example, any Xen-enabled version of Linux includes a core virtualization engine.
OS virtualization liberates OS from hardware
The reason guest OS virtualization is so powerful is that it 'liberates' the OS from the hardware it runs on. After all, a virtual machine is nothing more than a set of files in a folder, as shown in the depiction of the directory below.
These files mostly include configuration, virtual hard drive and memory files, as shown in the table below.
|Virtual hard drive file||.VHD||.VMDK|
Once a guest OS is 'liberated', you can do all sorts of things. For example, you can move it from one host server to another. In addition, you can easily protect a virtualized guest OS—just use a replication engine to copy the files from one host to another, even in another site. The possibilities are endless.
There are several types of guest OS virtualization tools. The most common is a virtualization engine that sits atop an existing OS. For example, you install Windows Server 2003 on the host, then install either Microsoft Virtual Server or VMware Server, and now you can create and run virtualized operating systems.
However, this approach is more suited to test and development environments than production systems. For production systems, you should rely on a virtualization hypervisor. A hypervisor is an underlying piece of software that runs directly on top of the hardware to manage multiple virtualized operating systems. The purpose of the hypervisor is to expose hardware resources to the virtualized OS.
Hypervisors are actually small pieces of code that run between 180 KB to 500 KB. Because of their small size, they are non-obtrusive.
You can usually run several virtualized OSes on one physical box. On average, organizations that rely on hypervisors can run 10 to 20 virtualized OSes on one box. And because they are nothing but files in a folder, virtualized OSes can easily be protected and fully support business continuity scenarios.
Software vendors are even building custom features into their server operating systems to make them behave better as guest OSes. For example, Microsoft has added features to Windows Server in Service Pack 2 to make it interact with the host in a better manner.
Revamped licensing models
But what makes guest OS virtualization even more popular are some changes in licensing made recently by vendors. For example, Microsoft has changed its server OS license model. In the old license model, you needed to buy one Windows license for any instance of an OS, either physical or virtual.
But now, with Windows Server 2003 R2 Enterprise Edition (WS03 R2 EE), each license you buy lets you install it on the host as well as create and run four virtual machines. So you buy one license for your physical OS and you can add four free guests of any version of Windows. If you want more than four virtualized OSes, buy another license of WS03 R2 EE to get four more free virtualized OSes.
In addition, Microsoft has removed the OEM restriction from the R2 Datacenter Edition. If you buy Datacenter, you can run an unlimited number of virtualized instances of Windows. And here's the cherry on top of the sundae: It doesn't matter which virtualization platform you use.
The beauty of this model is that it supports faster virtual machine provisioning because you don't have to worry about licensing. Think about it. You get an automatic 75 percent discount on WS03 licenses when you install it in a virtual instance instead of on a physical host. This makes server consolidation through OS virtualization a no-brainer.
Microsoft has also made some changes in the way it licenses its other server technology. The easiest way to calculate how many licenses you need is to use one of the two free Windows Server Virtualization calculators that Microsoft now provides.
The first calculator lets you configure your server based on virtualization technology, sockets and clustering requirements, as you build the virtual machines.
The second calculator lets you estimate the number and cost of licenses according to Windows Server edition. It offers you two options.
- Option A calculates the average number of virtual machines that will run on each server according the number of servers by processor you have in your network.
- Option B calculates the same thing but this time for each individual server according the number of processors on that server.
Microsoft is not alone in making licensing changes, though some manufacturers have yet to approve of the virtualization model and reflect it in their licensing schemes. Make sure you talk to your software provider before you decide to virtualize an instance of a server product.
More on server consolidation:
|Danielle Ruest and Nelson Ruest are IT professionals specializing in systems administration, migration planning, software management and architecture design. They have written several books and are currently working on the Definitive Guide to Vista Migration for Realtime Publishers as well as the Complete Reference to Windows Server Codenamed "Longhorn" for McGraw-Hill Osborne. They have extensive experience in systems management and operating system migration projects. For more tips, write to them at firstname.lastname@example.org.|
This was first published in July 2007