After experimenting with virtualization, some interesting benefits become apparent. There is no BIOS to configure or manage for my virtual machines, as each is running on a common virtual platform. Remote access to a server's BIOS requires additional devices, which are eliminated through the use of virtualization.
Rebooting my virtual machines does not require physically powering devices up/down, but is done completely within the confines of the virtualization application, without affecting the host machine. Since rebooting is done inside the Host, I can watch a machine fully power down and up, and monitor the POST messages via the VMware console.
Interestingly, the virtualization application is not required to keep the guest machines running. Once the guest machines are up, the VMware software can be closed, yet the guests continue to run, with complete functionality, in the background.
The XP Pro machine I used as a Host is running completely headless, meaning it has no keyboard, monitor, or mouse. I access this machine over my network using Remote Desktop. Simultaneously, I can access the virtual Linux machine, which runs on that XP Pro host, using SSH for secure command line operation, or VNC for more user-friendly GUI-based operations. In addition, I access the FreeNAS device via the web configuration pages, as discussed in Brandon's article.
I have run simultaneous connections to all three from my Windows Vista laptop without issue. As shown in Figure 12, all three machines are running at the same time—sharing the same physical hardware.
Figure 12: The power of virtualization: three virtual machines run simultaneously on one computer
This demonstrates how network technology enhances virtualization. Remote Desktop, SSH, VNC and Web Utilities are all network access technologies and nothing new. But using them with virtualization software produces fully functional devices without the related hardware costs.
When considering virtualization on your network, there are some key metrics to consider that could help quantify the value. Some people estimate that the typical IT server is running at 10–15% of its overall capacity, meaning that a properly configured VMware server can run 5–10 different virtual machines relatively easily.
An article in the Boston Globe (12/14/07), which is a reprint of a Reuters article, quoted a VMware spokesperson as stating, "companies can save about $600 per year and 7000kW hours in electricity for every software application put onto a virtual machine." For my small network, I doubt I'll save $600 virtualizing my little Linux machine and a single-disk NAS. However, if each of my virtualizations saves one-tenth that amount per device, I will have saved $120 in electricity this year.
In this article, I've walked through steps using entirely free software to create a virtual Linux machine to be used as a VoIP server, as well as creating a virtual FreeBSD machine to be used as a virtual NAS for data storage. Both devices function completely as would a standalone physical machine, with their own IP addresses, disk space, and network interface. Through the use of virtualization software, I've saved network ports, electricity, physical space, reduced fan noise and CPU heat output, and even eliminated the need to burn CDs; all things that would make Al Gore proud.
Through my virtual IP PBX, I can make real phone calls, and through my virtual NAS, I can store real data. The question is, do these virtual devices function as well as they would in a standalone configuration? In a follow-up article, we're going to take a look at virtualization's effect on application performance and attempt to answer that exact question.