Comparing Virtualization Technologies
With this chapter, we begin our exploration of several popular virtualization strategies and explain how each works. The aim is to bring you the operational information you need to make informed choices for your strategy. Each vendor's software has its own interface (console), its own methods of building, importing, and altering virtual machines (VM), and its own idiosyncrasies, tweaks, and tools.
This chapter gives you a vendor-neutral but technical overview of the types of virtualization available. We approach the various types of virtualization from an application and performance perspective—in other words, a practical look at each technology and its implication for you. Each section also includes at least two representative examples of that technology.
Guest OS/Host OS
Virtualization aficionados perhaps know Guest OS/Host OS as classic or hosted virtualization. This type of virtualization relies on an existing operating system (the host operating system), a third-party virtualization software solution, and creation of various guest operating systems. Each guest runs on the host using shared resources donated to it by the host.
Guests usually consist of one or more virtual disk files and a VM definition file. VMs are centrally managed by a host application that sees and manages each VM as a separate application.
Guest systems are fully virtualized in this scenario and have no knowledge of their virtual status. Guests assume they are standalone systems with their own hardware. They are also not aware of other guests on the system unless it's via another guest's network services.
The greatest advantage of this kind of virtualization is that there are a limited number of devices and drivers to contend with. Each VM (guest) possesses a consistent set of hardware. The major disadvantage is that disk I/O suffers greatly in this particular technology. Nondisk operation speed, however, is near native. Therefore, we tell those who use hosted virtualization to interact with their VMs over the network using Windows Terminal Services (RDP) for Windows VMs or SSH for UNIX and Linux systems.
VMware Server is used throughout this book to illustrate virtualization techniques and technologies. It is a free offering from VMware and is considered an introductory package for use in small environments, testing, or for individuals. It has limited usefulness in large environments because of its memory limitations for VMs and sluggish disk performance. VMware Server supports 64-bit machines as hosts and guests.
Sun xVM (VirtualBox)
VirtualBox, which is now Sun xVM VirtualBox, is one of my favorite virtualization packages. Like VMware Server, it is free and cross-platform, but unlike VMware Server, it is open source. With adjustable video memory, remote device connectivity, RDP connectivity, and snappy performance, it may well be the best hosted virtualization package in your arsenal.
VirtualBox is best suited for small networks and individuals for the same reasons as VMware Server.