By now, you've probably heard of virtualization technology. VMware, a virtual software provider, had a very successful IPO earlier this year, and there has been other high profile market activity, such as Dell's $1.4B acquisition of Equal Logic, a virtual storage company. Virtualization is really a hotbed of development and growth, with industry analysis indicating that most IT departments either have or will undertake virtualization projects within the next year.
The concept of virtualization has been around for some time, but in the last few years, has really grown in application and utility, even for the small network. Simply put, virtualization is the ability to pool computing resources such as CPUs, memory, disk space and network interfaces for multiple functions, instead of the traditional 1-1 mapping of hardware to operating system functionality.
Quoting a white paper from a virtualization-focused website, "a single eight-core host will easily accommodate 32 virtual machines on average, which is more than enough to build a complete data center for many small businesses." For a single core CPU, running a host OS and three virtual machines is quite possible.
In this article, I'm going to leverage free virtualization software for both a Linux-based VoIP application and a FreeBSD Storage application. I'm going to use an older Windows XP Pro machine with a 3.2E P4 CPU and 2 GB of DDR400 RAM.
One of the cool things about virtualization technology is that most virtualization companies offer free full or trial versions of their software. For a network administrator looking to evaluate options, this can be a useful, low-risk means of determining if and how virtualization can be of value in your network. For long term use, businesses typically require supported and licensed software, but the free versions can be useful for getting started, and certainly valuable in lab environments.
Virtualization companies make money by selling advanced software that works with the underlying virtualization software. VMware offers products like Vmotion that enable centralized management and other features, such as moving a virtual machine from one server to another in real time and without service interruption. This can be highly useful for multiple purposes, including peak demand management, redundancy, and maintenance.
VMware is one of the more well known providers of virtualization software, with solutions for desktop, server, and data center management. VMware Player is the free version for desktop PCs, and VMware Server is the free version for servers, as shown in Figure 1. VMware Fusion is a virtualization product for running Windows on a Mac.
Figure 1: Webpage for VMware Server
A key difference between the Server and Player is the Server version allows for installing an operating system from scratch and creating a virtual machine, while the Player version will run a previously created virtual machine. For experimenting with various operating systems and applications, the Player version is probably adequate, especially if you're looking to run multiple OSes on a laptop. The Server version makes more sense when creating and customizing a virtual machine.
Microsoft virtualization software includes their free desktop program, Virtual PC 2007, which enables running multiple OSes on a Windows desktop simultaneously. In addition, Microsoft offers Virtual Server 2005—also free—for server-based virtualization. Further, Microsoft just announced a new product, called Hyper-V, to directly compete with some of VMware's more advanced products.
Citrix is a well known remote access software vendor who has also joined the virtualization game with their recent acquisition of XenSource, makers of products such as XenDesktop and XenServer. Citrix offers a free version called XenServer Express Edition. Virtual Iron is another virtualization vendor. Virtual Iron also has a free version available for download.
Before I start in the installation section, let's clarify a few terms. Host is the term for the computer/OS running VMware, while Guest is the term for the computers/OSes running within VMware. For example, I have a Windows XP Pro computer, which is my Host. I'll be loading VMware server software on this host, and have installed Linux and FreeNAS as virtual machines (VMs). The Linux and FreeNAS VMs are Guests. Keep in mind that sufficient OS licenses are still required, whether the OS is running as the Host or Guest.