Implementing Virtualization -- Easy as 1-2-3

From the Nov. 2008 Issue

You’ve heard lots of great things about virtualization such as server consolidation to save power and physical space, quick disaster recovery with off-site storage of virtual machine images and snapshotting, and better utilization of existing investments in hardware. Now you want to ‘take the plunge’ and begin to implement this technology in your firm. The big question is HOW?

[Be sure to also check out "Why Virtualization"]

In this article, I hope to answer that question or at least get you thinking about the best way to get started. I certainly don’t want to give the impression that implementing virtualization is not a complex process, but having gone through the steps personally, I can assure you that it’s not as scary as you might think. Also, a caveat: There is a myriad of virtualization products and technologies. In this article, I’m going to focus on the technology that comes with Microsoft Windows Server 2008 aptly named ‘Hyper-V’. So, let’s dive in:

1. Make sure your hardware is capable of supporting virtualization. This includes the system (mother) board and processor. Both of the major board and processor makers, namely Intel and AMD, have a flavor that supports hardware-assisted virtualization.

Intel Virtualization Technology, branded Intel VT, is a set of hardware enhancements to Intel server and desk-top (yes, you can implement virtualization on a desktop) platforms that provide software-based virtualization solutions. Intel VT allows a platform to run multiple operating systems and applications in independent partitions, allowing one computer system to function as multiple virtual systems.

AMD’s Virtualization, branded AMD-V technology, takes some tasks that virtual machine managers (VMMs) perform in software, through emulation, and simplifies them through enhancements to the AMD Athlon 64 and Opteron instruction set.

Both hardware makers have been developing and supporting hardware-assisted virtualization in their products since 2004, so today’s hardware is pretty mature. With hardware-assisted virtualization, the operating system has direct access to resources without any emulation or OS modification. This is a significant enough benefit that Microsoft has chosen to make it a requirement to implement Hyper-V. Another requirement is that the hardware must support 64-bit operating systems. Hyper-V only operates on a 64-bit hardware platform.

Having enough processor resources isn’t as big a concern as it used to be prior to multi-core processors. In fact, most server processors run at 20 percent or less utilization, which makes the virtualization process such a good fit.

Next, you’ll need to consider sufficient memory (RAM) and hard disk space. For memory, consider the number of virtual machines you intend to support on the host hardware and the memory required for each virtual machine as well as the host. The formula for calculating the amount of memory to include on the virtual host is: virtual machine requirements X # of VMs + 32MB X #VMs (for overhead) + 512MB (for the host). For example, if I intend to host 7 VMs, and they will each have 4GB of memory, I would calculate the total as follows: 7 X 4GB = 28GB + 7 X 32MB = 224MB + 512MB. You’ll see that this doesn’t come out to a round number, which is how we purchase memory. But in this case, adding eight 4GB DIMMs in the host server for a total of 32GB covers the calculated total with some to spare.

For hard disk space, you’ll need enough to support the total expected space needed for the function you intend to run on the virtual machines. For example, with our 7 VMs, if we need an average of 200GB for our proposed functions and 200GB for the host, we’ll need at least 1.6TB. In this case, let’s go with 2TB total. You may want to consider a SAN (Storage Attached Network) or NAS (Network Attached Storage) device for your virtual machines. These devices are essentially a large separately attached storage pool that can be allocated as needed. These devices connect to your host machine via iSCSI or Fibre channel.

Finally, you’ll need to make adjustments in the BIOS (Basic Input Output System) of the system board to enable virtualization. Intel boards, for example, do not enable this functionality by default, which is required by virtualization software.

2. Well, now that that hard-ware is in place, it’s time to install the host operating sys-tem. I would recommend that you use Windows Server 2008, although you can use an open-source alternative like Linux as the host OS. If you use Windows Server 2008 as the base OS, you’ll need to use the Server Manager Management tool to add the Hyper-V role.

Once the role is added, you can begin adding virtual machines. This is accomplished by executing the Server Manager tool, expand-ing roles and then expanding Hyper-V. What you’ll see is a list of virtual machines already configured (See graphic on page 23) along with a list of actions for the host machine and each virtual machine.
The actions available for the host machine include New (for adding a VM, hard disk or floppy disk), Import VM, Hyper-V Settings, Virtual Network Manager, Edit Disk, Inspect Disk, Stop Service (which would shut down all VMs), Remove Server, Refresh, View (for management screen customization) and Help.

The actions available for each VM include Connect (which opens a new window/monitor to allow logging in to the VM), Settings, Turn Off, Shut Down, Save (for saving the ‘state’ of the VM), Pause, Reset, Snapshot (like a picture of the VM – great for testing), Revert (for ‘going back’ to a previous snapshot), Rename and Help.
A series of detailed instructions for accomplishing these tasks is available in the Petri IT Knowledgebase. Start here:

3. Now that the base OS and Virtualization roles are installed, it’s time for step three: Consider a manager. Tom Bittman, a research fellow at Gartner, Inc. in Stamford, Conn., said “Virtualization without good management is more dangerous than not using virtualization in the first place.” Microsoft’s tool for management of the virtualization infrastructure is System Center Virtual Machine Manager (SCVMM). The 2008 version of this tool at the time of this writing has been re-leased to manufacturing and includes support for Xen and VMWare, VM’s running on Windows Server 2008, and some nifty tools for performance tuning and high availability. VMWare also has some excellent management tools and one for their free server virtualization software. The VMWare tool costs $1,500, while the Microsoft tool will be in the $1,200 range.

If you want to run virtual machines on a laptop or desk-top, you should use Workstation or Server from VMware or Virtual PC 2007 from Microsoft. The VMware Workstation product is the only one of these that you would need to purchase. I’ll cover the step-by-step for Virtual PC 2007.

First, download the appropriate tool for your machine from Microsoft's website:

Next, execute setup.exe and select new installation (unless you’ve previously installed Virtual PC 2004, in which case you can select ‘Upgrade’). Accept the licens-ing terms, enter your name and organization, accept or change the installation location, and then click ‘Install.’

Once the software is installed, you’ll need to step through the New Virtual Machine Wizard. You can execute this by selecting File > New Virtual Machine Wizard. You’ll have three choices. If you’re new to virtualization, select the first option, which is Create a virtual machine. The next screen allows you to select the operating system you intend to use on the virtual machine. Based on your selection, Virtual PC recommends a certain amount of RAM. You can change this, but whatever amount you use will be taken from your host PC’s RAM, so don’t select more than you can spare to lose. Next, select ‘A new virtual hard disk’ and note the location for this VHD for backup purposes.

That’s it! Your newly created virtual machine will appear in the Virtual PC Console. Put your installation media in your CD drive or point to an *.ISO file and select ‘Start.’ One last step once the virtual machine installation is finished is to install Virtual Machine Additions. This utility allows you to move your mouse and keyboard easily from the Virtual PC to the Host and back again. Virtual Machine Additions are installed by selecting the Action menu on the new Virtual Machine window.