Virtualization With Dual-Core Systems
Extra processing power also lets users multitask more effectively. For example, one core could be used for surfing the Web, while the second core is handling an anti-virus scan. (Processor affinity settings handle this; it is usually an automatic process, with no user intervention required.)
The simple equation: Two heads are better than one. Both AMD and Intel offer dual-core CPUs, and both chipmakers describe dramatic speed advantages offered by the technology. Unfortunately, much of the hype has been focused on how dual-core CPUs can speed applications, games and other multitasking functions. It's ignored what may be the biggest opportunity for those selling dual-core systems: virtualization.
While virtual technology has received a great deal of press—even Microsoft has unveiled a virtualization licensing plan—the message has become overly complicated and is usually mentioned in the same sentence as "data center" or "servers."
In fact, virtualization holds promise for users of everything from notebooks to the data center, and multicore technology makes that possible. Basically, virtualization lets users maximize their productivity. Users can deploy a single computer to emulate several systems, better known as virtual machines. These virtual machines, in turn, can be used to solve compatibility problems, migrate to new operating systems, or even create test environments.
For system builders, selling virtualization is a matter of simplifying the technology to a layperson's terms and extolling the benefits. Here are several bullet points you may wish to use in your pitch to customers and other users:
- Virtualization lets users maximize the capabilities of their PCs and servers by allowing multiple operating systems to run concurrently. Examples include running multiple applications—each in its own isolated environment—to maximize CPU usage. Another example: Running legacy applications or proprietary software without impacting the performance or availability of newer applications or operating systems.
- Virtual machines are portable. Simply put, a virtual environment is nothing more than a special data file—or virtual hard disk—run by the virtualization software. That file can be copied from one physical machine to another or duplicated (cloned) and run from a removable device.
- Virtual machines can be used as part of a business-continuity plan. Most virtualization software on the market supports "snapshot technology," which lets a virtual machine be quickly backed up and rolled back to a working version in case of a hardware or software failure.
- Virtualization costs next to nothing. Both Microsoft and VMware offer free virtualization products. Today's hardware should need little or no upgrading to get started.
- Virtualization offers flexibility for supporting training tasks and testing software. Virtual machines provide an ideal environment for learning new products or testing new software. Users can mess around with a virtual machine to see what works and what doesn't with a new software package or operating system, all without interrupting production environments. Also, virtual machines can be pre-defined with as a test environment, making installation and removal of software to be tested a simple process. Users no longer have to dedicate a PC to a test environment.
In essence, virtualization offers something for everyone. Its benefits should not be ignored. And the biggest challenge for system builders is to clearly present the technological benefits in terms that nontechnical users can understand, appreciate, and ultimately buy. Building a Virtual PC: How Much Hardware?
Properly sizing the environment is the most important part of building a virtual PC. This comes down to three elements: Processor capabilities, installed RAM, and hard disk space.
The easiest element to understand is processor speed. Basically, the question is: How much is enough? To answer, system builders need to take several factors into account. Most operating systems and software packages advertise a minimum CPU requirement, which proves to be a good starting point. For example, if an OS calls for a Pentium IV processor at 1 GHz, the system builder can calculate that a 3 GHz Pentium IV processor should be able to run three instances of the OS (one host and two virtual). While that may prove to be an oversimplification of processor capability, it still proves to be a good starting point.
The same concept goes for determining how much RAM is needed. There is one caveat here: With RAM, more is always better.
Hard-drive space can follow the same rules. System builders should not only consider the virtual PC requirements, but also add space for backups, clones and snapshots. Just as with RAM, more hard-drive space is almost always better.
Components for a Virtualized System
To fully explore what virtualization has to offer, I built a PC based on the latest, greatest technology: the recently announced AMD AM2 CPU platform. The AM2 CPUs all share a common-keyed zif socket, which makes building a white box system much easier. Technically speaking, AMD standardization on a 940-pin Zero Insertion Force (ZIF) socket allows system builders to choose from a variety of AMD processors without having to stock multiple models of motherboards—while the common-keyed insertion feature prevents CPUs from being installed incorrectly.
Builders need only select a motherboard that supports AM2—in our case, an ASUS M2N32-SLI Deluxe. Then select any one of the AM2 based CPUs from AMD. In this case, I chose an AMD Athlon 64 X2 5000+. For additional performance and multivirtual PC support, I populated the motherboard with 2 GB of 800-MHz DDR2 Memory (2x DIMMs of 1 GB Corsair CM2X1024-8500). For storage, I chose Seagate's latest SATA drive, the Barracuda 7200, which offers 750 GB of storage.
The last critical element was an EVGA NVidia GeoForce 7800 GT PCIx Video Adaptor. While high-speed video is a nice thing to have, on a virtual PC it's not as important as you might assume. Virtual PCs emulate a standard video card and feed the host system's video card.
The rest of my test system's components include a generic DVD-RW drive, keyboard, mouse, and an Antec Case with power supply. While I chose top-of-the-line hardware for our virtual host system, this level of hardware is by no means a requirement to hop on to the virtualization bandwagon. Having said that, always keep in mind, the better the hardware, the better the virtual machine performance. But for those looking to experiment with virtual machine solutions, a basic Pentium IV with 384 MB of RAM would be an adequate starting point.
Virtual Host and Guest: Software Options
Next, it's time to select the virtualization software and deploy it. When it comes to selecting software, system builders have three good options: Microsoft, VMware, and up-and-coming vendor Parallels Inc. All three vendors offer virtualization software, but for this Recipe, I'll focus on free products from Microsoft. (Parallels Workstation 2.1 costs $50 and lets users run Windows alongside Mac OS X. And VMware is still in beta testing.) How to Install Microsoft Virtual Server 2005 R2, Enterprise Edition
Let's first look at Microsoft's Virtual Server 2005 R2, Enterprise Edition (VS2005). Microsoft offers VS2005 at no charge.
VS2005 is designed to run on a Windows-based PC. Both Windows XP and Windows Server 2003 are supported as the host OS. In other words, either can be the default OS installed on the PC before you install the virtualization software.
VS2005 can be downloaded from Microsoft's Virtual Server page, after you complete a brief online form.
But first, make sure the system you're working on meets the minimum hardware requirements for running VS2005. The specs are quite light, and should be easy to fulfill:
- Processor: At least 550 MHz; 1.0 GHz or faster is recommended. The acceptable list of Intel processors includes the Celeron, Pentium III, Pentium 4, and Xeon. Acceptable AMD processors are Opteron, Athlon, Athlon 64, Athlon X2, Sempron, and Duron.
- All physical processors supported by the host operating system. Any processor that supports the host OS can be virtualized. In other words, if the master OS boots, the accompanying processor is suitable.
- Operating System: Windows Server 2003 Standard Edition, Enterprise Edition, or Data Center Edition or later....or Windows Small Business Server 2003 Standard Edition or Premium Edition...or Windows XP Professional (for non-production use only).
- Memory: At least 256 MB of RAM. Additional memory is needed for each guest OS.
- Disk: At least 2 GB of available hard-disk space. Additional disk space is needed for each guest OS.
- Display: Super VGA (800 x 600 pixels) or higher-resolution monitor is recommended.
These hardware requirements cover the minimums. But my test system far exceeded those minimums. For example, I installed Windows XP SP2 and applied all of the latest updates and patches. I then visited Microsoft's Virtual Server page, where I proceeded to download Virtual Server. Installation of the product was straightforward, but did require a few pre-requisites to be completed. Here's a screenshot of the primary install screen:
Next, you'll see Microsoft's Licensing Agreement screen. Click Accept, then click Next to continue.
Next, input your user name and company information, and input your product key information.
On the next setup menu, select the type of Installation. "Complete" is usually the best choice.
For remote administration and control, the system requires Internet Information Services (IIS) to be installed. While this is an optional step, the features added—remote access and management of virtual machines via the Web—makes IIS well worth the installation time. Note: ISS is a set of Internet-based services for Web servers using Microsoft Windows. It's the second most popular Web server behind the Apache HTTP Server.
One caveat: WinXP's version of IIS is not configured to handle multiple Web sites. So for remote access, users must run the management console from a virtual directory under the default Web site.
Next, you'll see the Configure Components screen. Select a Web site port to use, and click Next.
After that, the install automatically adjusts the Windows firewall to allow remote access. The install will then copy the needed files and set up the environment.
Once installation is complete, a Web page will be displayed highlighting any critical information. You should see a page similar to the one shown in the screenshot below. Note the locations for the administrative Web site. Also, you should bookmark this page, since it tells you where to find documentation you may need later.
To verify that the installation was successful, visit the administration Web page which you've bookmarked (see the preceding paragraph). You should see a screen similar to this:
The install and setup is done. Now we can move onto creating a virtual machine. Microsoft Virtual Server 2005 R2 Enterprise Edition: Create a Virtual Machine
Creating virtual machines is done using the Virtual Server Manager, which can be accessed from the Virtual Server Administration Web site, which is referenced in the summary page or via the Start menu. On the Virtual Server Administration Site, there are several submenus on the left side. Notice the Virtual Machine subset and the Create option, as shown in this screenshot:
The create dialog brings up a new Web page with all of the information needed to build a virtual PC. Note the options on this screen:
Once the virtual PC is created (as outlined in the preceding steps), a status screen will appear that will show how the system is configured and provide access to the virtual machine. To boot the virtual machine, click on the thumbnail of the machine. When it loads, you should see a screen like this:
After the user clicks on the thumbnail, an active control will run, giving the user access to the system. Note the status information and the options on the screenshot here:
A new machine will try to auto-boot from either a wired remote boot connection or via the local CD-ROM. In our case, we'll be installing beta of Vista, the forthcoming replacement for Windows XP. Note our status on the following screen:
To install the OS, follow the normal installation procedure. In our case, Vista will format the virtual hard drive, copy on the OS files, and auto-install the drivers. The end result will be a functioning virtual PC.
The screenshot below shows the running virtual machines. Note that the Vista system is up and running:
For all intents and purposes, the "guest" OS—in this case, Vista—will function normally. But Virtual Server users will also be able to run multiple instances of the OS, remotely access a virtual machine, and even back up a complete system. Still, for added functionality for those three features, some other steps must be taken. For example, Virtual Server offers something called Virtual Machines Additions, which are programs that can improve the performance of a Windows "guest" OS. Note the red hyperlink on the screenshot below:
For the best virtual experience, you should install the additional applications that enable all of the virtual functions to operate properly.
With the Virtual Server configured, you now have access to multiple virtual PCs that can run concurrently, individually, or even copy to other systems. A quick look at the Master Status screen shows the power you now have and the convenience associated with it. The screenshot below shows which virtual machines are accessible—including their status and shortcuts—to the management menus:
There you have a basic Recipe for getting started with virtual technology. With virtualization, better performance means a better experience. Here is where dual core technology, fast RAM, and hard drives really come into play.
CAROL ANN MUFF is the operations manager for Magnum Computer Consulting, a New York-based systems integrator specializing in custom accounting solutions for the small-business market.