Welcome to the TechExams.net Virtualization Forum!

This blog article is an announcement of the unveiling of the new Virtualization technology discussion forum here at TechExams.net. This new forum is for all discussions about virtualization products, information, training, and certification. Also welcome are questions about setting up a virtualization lab, configuring, using and troubleshooting virtualization software, and generally discovering what virtualization is.

What is Virtualization?

The term virtualization refers to a few different things, but in computer science it is the emulation of an entire computer in a running software program. What this means is that you can have an application running in a window on your computer that is a fully functional computer, be it Windows, Linux, Mac OS X, MS-DOS, or practically any other operating system you can think of. In fact, you can run multiple operating systems at the same time and on the same physical computer, each in their own window. You can then interact with the desktop of each virtual operating system simply by clicking on its window and using it as if the operating system were installed on the computer itself.

Does this sound confusing? Have a look that this screen shot of Ubuntu Linux 7.10 running on my old Dell Pentium III laptop. In the application window is a live copy of Windows XP Media Center Edition running in a virtualization program. I can switch between using Linux or Windows XP just by clicking with the mouse, and both operating systems are running at the same time.

clip_image002

What is Virtualization Used For?

Virtualization (or Virtual Machine) software allows operating systems to be used in ways that are not possible, or at least terribly inconvenient to do, when installed conventional computer hardware.

  • Reducing the number of physical hardware computers needed. One computer can run multiple VM operating systems, each of which operate as if it were installed on it own hardware box.
  • Quick backup and restore. A VM can be quickly backed up and restored to a separate disk image in the event of a catastrophic error or disaster. VM images can be moved to different computers in the event of hardware failure.
  • Sharing pre-installed data and programs. A VM can be equipped with a pre-configured OS, application, and data that can be easily ported to multiple computers.
  • Legacy OS support. Many older operating system will not run properly on modern computer hardware. Such OSes might be more compatible with the hardware emulation offered by a VM product.
  • Evaluate software. A VM allows the installation and use of programs that you don’t want to install on your computer, such as trial software and evaluations, shareware, and LiveCDs.
  • Reusable OS environments. The ability to save and restore a VM image (snapshot) also allows the VM to start a work session a “clean slate,” which is useful for removing changes made by the previous user or program, similar in concept to a restore point.
  • Safe experimental environment. A VM creates an isolated sandbox environment useful for people who test software and experiment with malicious software and security issues. The VM can be easily restored to a standard baseline.
  • Special-purpose computers. Using VM software, an image can be configured for only a specific task, such as software demonstration, product training, educational testing, or a service kiosk.

How Does Virtualization Work?

Virtualization software is essentially a computer hardware emulator that tricks an operating system into behaving as if it is installed and running on a physical computer. The hardware emulation provided by virtualization software is referred to as a virtual machine or virtual computer. The hardware emulated is typically that of a generic PC and provides each virtual machine (VM) with its own CPU, RAM, hard disk(s), I/O devices (keyboard, mouse, floppy, CD, network), and video adapter. (This type of VM should not be confused with software run-time environments that use application-level virtual machines, such as Java and Microsoft .NET, which is not the same thing.)

The virtualization software itself runs on a host operating system (or host OS), which is the operating system that is running on the physical computer. (For example, if you installed VM software on Windows XP the host OS is Windows XP.) The operating system running inside of the VM software itself is the guest operating system (or guest OS). (For example, if you run a virtual disk image of Ubuntu Desktop 7.10 in VM software the guest OS is Ubuntu Desktop 7.10.) The host and guest OSes are typically isolated form each other. However, some VM software packages allow the easy transfer of files from the guest and host OSes using simple drag-and-drop operations between the OS’ desktops. With VM that do not allow this type of interaction, the network interface is typically the only way to transfer data into, out of, and between guest and host OSes.

All VMs running on a host OS are controlled by the hypervisor, which acts as a both a monitor and an interface between all VMs and the host OS. The hypervisor itself can be either a programming running in the host OS, or the host OS itself (that is, the hypervisor that is loaded on to and boots as the OS the physical computer). The hypervisor controls all aspects of the interaction between the host and guest OSes and the physical hardware.
The “save file” of a VM software package is a virtual disk image. When a guest OS is first installed in VM software, it is saved as a virtual disk image. This image will be one or more physical files on the host OS’ hard drive or network share. All changes made to a guest OS are saved to its virtual disk image. Because a guest OS is installed using the virtual drivers in the VM software and not the drivers installed on the physical computer, a virtual disk image can be easily copied and move between host OSes.

A special type of virtual disk image is a snapshot. The state of a guest OS can be saved to a snapshot file. The state is everything that has happened in a guest OS from the time it has started to the time the snapshot was made. (A snapshot is identical in concept to a restore point in Windows.) Multiple snapshots made be made of a guest OS. The previous state of a guest OS can be restored by reverting to the snapshot. This is the method used to restore a guest OS to a baseline configuration.

When a VM is first started, it does not contain a guest OS. One must be loaded from an existing virtual disk image file or be created. One of the big misconceptions about VM software is that it gives you a free copy of different operating systems. This is by no means the case. A VM is simply a program capable of “playing” a guest operating system. In most cases, the guest OS image itself must be created from a licensed installation of an operating system from an ISO file or an installation CD. If software activation is necessary for the guest OS, you must have a valid license key as well. In some VM software, the guest OS is built directly into the VM software itself (such as MS-DOS is in DOSBox), but in most cases the guest OS will need to be installed in the VM software just as it would be installed on a physical computer.

For more information on how virtualization works, read VMWare’s Web page VMWare Virtualization Basics and technical paper Understanding Full Virtualization, Paravirtualization, and Hardware Assist.

Virtualization Software

In the Comparison of virtual machines article in the Wikipedia, over 50 different virtualization products are listed, most of which run on Windows, Linux, or Mac OS X, and many of which are also free. To get an idea of what’s available, let’s take a look at a few of the more popular (and interesting) VM software packages.

VMWare

VMWare is the major player in the virtualization software market. VMWare released its first product in 1999 and is generally regarded as the most mature and stable of all virtualization products (as in, “Nobody ever got fired for buying VMWare”). VMWare has also driven the virtualization market by making several of its product for free (VMWare Player, Server, and Converter Starter Edition), forcing its commercial competitors to follow suit. VMWare has many different products:

VMWare Workstation is the flagship product of VMWare. Introduced in 1999, VMWare Workstation is capable of creating, cloning, modifying, and running over 60 different 32- and 64-bit guest OSes on Windows and Linux host OSes. Workstation VM’s can have one or two CPUs, up to 8GB of RAM, multiple I/O devices (floppy, CD, DVD), network support (bridged and NAT), 64-bit audio drivers, and USB 2.0. Workstation can also load virtual disk images create by virtualization products from Microsoft, Symantec and Storage­Craft. Workstation is a commercial product that is available as a 30-day evaluation for either Windows or Linux. For more information see the VMWare Workstation 6.0 Product FAQ.

VMWare Player is freely available, functionally limited, release of VMWare Workstation for both Windows and Linux. Player is capable of running–but not creating or cloning–all guest OSes supported by VMWare Workstation. Player supports the use of pre-built, read-to-run virtual appliances (such as virtual network monitors, backup tools, and pre-configured LAMP servers) available from the VMWare Virtual Appliance Marketplace. Player cannot co-exist on the same host OS as other VMWare products. For more information and to download VMWare Player, see the VMWare Player 2.0 FAQ.

VMWare Server (formerly VMWare GSX Server) is another free VMWare product that allows a physical server to be created that runs multiple virtual machines. VMWare Server installs on a Windows or Linux host OS and allows multiple guest OSes to be run and controlled simultaneously. Each VM runs in an isolated environment and cannot communicate with the host OS or other VMs (except via pre-configured network connections). The look and feel of VMWare Server is very similar to Player and Workstation, but is lacking some features found in Workstation, such as the ability to manage multi-tier configurations and multiple snapshots, and ESX Server. For more information and to download VMWare Server, see the VMWare Server FAQ.

VMWare ESX Server is the commercial, enterprise-class release of VMWare’s server product. ESX Server is used for virtualizing entire datacenters, where very large amounts of memory, disk space, and network connections must be utilized by many VM guest OSes. ESX Server improves over VMWare Server by adding more performance, use of more memory and disk space, running directly on physical hardware, and integration into VMware Virtual Infrastructure.

VMWare Fusion is VMWare Workstation for Intel-based Macintosh computers. Fusion allows Mac OS X system to run virtual 32- and 64-bit guest OSes, including Windows, Linux, Solaris, or Netware. Virtual disk images created by Fusion are compatible with other VMWare products. VMWare Fusion is a commercial product that is available as a 30-day evaluation and compete with Parallels Desktop (see Comparison of VMware Fusion and Parallels Desktop and VMWare Fusion Wikipedia article).

VMWare ACE (Assured Computing Environment) is used to deploy and manage virtual desktops across an enterprise network. ACE is capable of deploying virtual work environments to PCs and laptops (Windows and Linux) and to portable media devices (USB Flash drives) in the form of guest OSes created by VMWare Workstation. Features such as security, copy protection, expiration, and Virtual Rights Management (VRM) can be applied to the deployment package. All ACE virtual desktops are managed from a central management console. For more information and to download a 30-day evaluation of VMWare ACE, see the VMWare ACE 2.0 FAQ.

VMWare Wikipedia article

Microsoft Virtual PC

Microsoft Virtual PC (VPC) is Microsoft’s offering to the VM software market. VPC is actually two products: Virtual PC (2004 and 2007) and Virtual Server 2005. Virtual PC is capable of running one guest OS at a time on a computer, while Virtual Server is capable of running multiple guest OSes simultaneously on the same computer. Both products offer the same hardware emulation and are based on the same code, so any differences between the two products is entirely intentional.

Virtual Server 2005 may be hosted on Windows XP, Server 2003 (all editions), or Small Business Server, and support guests OSes of Windows Server 2000 and 2003 (except Datacenter Edition) and NT4 Server. For more information, see the Virtual Server 2005 Administrator’s Guide.
VPC 2004 supports as guest OSes MS-DOS, Windows 95, 98, 98SE, Me, NT4 Server, 2000 (Professional and Server), Windows XP (Home, Professional, and Tablet PC), and OS/2 Warp. VPC 2004 runs on host OSes Windows 2000, XP, and Server 2003. Virtual PC 2004 was also released for the Macintosh for Power PC, but was never ported to Intel-based Macintosh hardware.

Microsoft Virtual PC 2007 is the latest release of VPC, which added support for Windows Vista as both a guest and host OS, and Windows XP x64 and Vista x64 a host OS. Neither VPC 2004 nor 2007 will run any 64-bit guest OS. VPC 2007 dropped support for Windows 2000 as both a host and guest OS, and also for guest OSes MS-DOS, Windows 95, 98, Me, and NT4 Server, although those OSes still run as they did on VPC 2004. For more information, see the Virtual PC 2007 Release Notes. You can get Microsoft Virtual PC 2007 for Windows free at Microsoft’s Web site.

Although not officially supported, many distributions of Linix also run as a guest OS on VPC. Check the Web page What works and what doesn’t in Microsoft Virtual PC 2004 for what Linux distros and other OSes have been tested.

Hyper-V

Hyper-V is Microsoft’s hypervisor for Windows Server 2008.. Hyper-V competes for server market share with VMWare and XenSource. Actually, the word “competes” is somewhat inaccurate, as Mirosoft has a partnership with XenSource’s owner, Citrix. Citrix’s desktop virtualization products support Hyper-V, and Hyper-V supports interoperability with Xen. Hyper-V is currently offered as a beta in Windows Server 2008 and should be officially released in late 2008.

Microsoft Virtual PC Wikipedia article

Microsoft Virtual Server Wikipedia article

Microsoft Hyper-V Wikipedia article

Xen

Xen is a free VM software package by XenSource, Inc. Xen is the major competitor to VMWare in the virtualization market. Xen supports both 32- and 64-bit hardware and supports running multiple, simultaneous guest OSes, including Linux, Solaris, NetBSD, and Windows. Xen is the native hypervisor included with Oracle, Virtual Iron, Novell SUSE Linux, Red Hat Enterprise Linux, and Sun Microsystem’s xVM. The Xen hypervisor can boot directly on the computer, allowing special management privileges and direct access to the physical hardware. Citrix Systems acquired XenSource in 2007 and Microsoft has also worked with XenSource to port Windows Server to Xen. Xen is released under the GPL license and its source code is freely available.

Xen Wikipedia article

Parallels Desktop

Parallels Desktop for Mac is the first VM software package released for the Intel-based Macintosh OS X computers. Parallels is a commercial program produced by Parallels, Inc. and is available for host OSes Windows and Linux as well as OS X. Guest OSes include MS-DOS, Windows XP, Vista (Home Basic and Home Premium) and many 32-bit Linux distros. 64-bit guest OSes are not supported. Parallels’ principle market competitor is VMWare Fusion (see Comparison of VMware Fusion and Parallels Desktop).
Parallels is sometimes confused with Boot Camp, which is a dual-booting program that was included on the first Intel-based Mac OS X (Leopard) system and used to boot either Windows XP or OS X on an Intel Mac.

Parallels Desktop for Mac Wikipedia article

VirtualBox

VirtualBox is a free (Open Source and GPL) VM software package produced by German software company innotek GmbH, a subsidiary of Sun Microsystems. VirtualBox supports as host OSes: Windows, Linux, Mac OS X, OpenSolaris, and OS/2 Warp. Supported guest OSes include Windows, Linux, Solaris, FreeBSD, OpenBSD, and OS/2 Warp. VirtualBox is a popular choice for running Windows as a guest OS in Linux as a host OS (the above screenshot is of VirtualBox).

VirtualBox Wikipedia article

DOSBox

I must mention DOSBox because if you love playing DOS-based games from the 1980’s and 1990’s you need to know about it. DOSBox is a self-contain emulation of the MS-DOS operating system that runs in a window in Microsoft Windows, Linux, OS/2, and Mac OS X. DOSBox will run most MS-DOS software, including games like DOOM, Duke Nukem, Warcraft II, Ultima III, King’s Quest, and Leisure Suit Larry. DOSBox is an excellent example of a self-contain virtualization environment.

DOSBox Wikipedia article

Getting started with Virtualization

Now that you have decided that virtualization is something you need to try, how do you get started? You will need the following items:

1. A Computer

2. An operating system

3. VM software of your choice

4. Another operating system

The computer should have a powerful processor, a network card, and lots of memory and hard disk space. While a 3GHz Pentium 4 CPU with Hyperthreading is a decent processor, a Core 2 Duo or Quad would be a better choice if you have it. Fast hard disks are inexpensive, so don’t use that circa 1999 15GB Western Digital on your bookshelf. VM run better in high-performance hard drives and you will need extra space for the (frequent) disk defragmenting you will be doing. The computer’s RAM will be also used by the VM and guest OSes, so now is the time to decide if you need 64-bit hardware for more than 3.5GB of free RAM.

The operating system that boots on the computer will be your VM’s host OS. Use Windows if you must, but I think Linux is a better choice. If you will be making a computer that only runs VMs, a really small Linux server that comes with VM software (CentOS ) is the way to go. Remember your choice to use 32- or 64-bit hardware when you pick your OS.

The VM you choose will probably be based on the recommendation of people you know who are already up and VMing. It is likely you will pick the favorites of VMWare Player (or Server) or Virtual PC. But don’t be afraid to try others, like Virtual Box, or the 50+ VMs not mentioned in this post. In any case, pick a free VM package that is compatible with your hardware and host OS.

Finally, you will need one or more guest operating systems to run in your VM(s). As previously mentioned, virtualization software does not make Windows free to use. You must have a licensed copy of any OS to install and use it, even if it is free. If you do not choose a VM package capable of making its own virtual disk images, you will need to use a utility like VMWare Converter to convert existing disk images, or a service like EasyVMX that allows the (free!) creation of virtual disk images. Fortunately for the IT person on a budget, many Linux distros are available already in VHD format. It is also possible to create load a guest OS in Microsoft Virtual PC and convert it to a VHD image file using VMWare Player.

Certifications for Virtualization Software

With VM software packages becoming more popular and complex, it is not surprising to see the arrival of vendor-specific VM certifications. The only virtualization certification currently available is from VMWare.

VMWare Certified Professional (VCP)

The VMWare Certified Professional (VCP) is VMWare’s only certification. VMWare began offering VCP certification in 2005 for its ESX Server 2.x and VirtualCenter products. These certifications have been replace by the VCP on VI3 (Virtual Infrastructure 3) certification (exam code VCP-310). There is an upgrade path for people who have the older VCP certifications. There are 75 questions on the VCP on VI3 exam and 90 minutes is given to finish.

The only prerequisite for taking the VCP exam is attending the VMWare authorized VI3: Install and Configure class. The class training is mandatory and there is no “self-study only” option. Classroom training is available from both VMWare and Hewlett-Packard, and a “high intensity” 5-day class is available. Testing for the VCP certification is only available through Pearson Vue. For more information, see the VMWare Certification FAQ.

VMWare Education Services

VMWare Certification Portal

VMWare Course Schedule

There are computer-based training materials available for VMWare products from both Train Signal and CBT Nuggets. Both of these products focus on the VMWare Infrastructure and ESX Server training. Several blogs mention VCP certification and offer opinions and exam notes:

VCP Certified

VCP Training Notes

The Value of the VCP (VMware Certified Professional)

Tips on VMware and Linux

Books, Articles, and Blogs on Virtualization

VirtualizationReview.com

Redmondmag.com

NetworkWorld.com

How to…Perform Server Virtualization - CertMag.com

Here Come the Hypervisors - CertMag.com

What Is Virtualization - WindowsDevCenter.com

Mac Virtualization News - O’Reilly Mac DevCenter Blog

VMWare books at Amazon.com

Microsoft Virtual PC books at Amazon.com

XenSource books at Amazon.com

Leave a Reply