Wednesday, January 14, 2009

The virtualization products

Virtualization software products can be divided in two groups: 1) Hosted and 2) Bare Metal.
Hosted products require a general purpose OS to be running directly on the hardware, such as Windows, Linux and Mac OS X. The Mircosoft Hyper-V product and VMware workstation, VMware server are hosted products. The bare metal products released by VMware are ESXi and ESX Servers.
In host environment, the virtualization layer needs to provide both OS specific user-level components to access the general purpose OS, and kernel components to build virtual environment. The virtualization overhead is higher on this model because every I/O operation needs to go through a general purpose OS.
In bare metal product, the virtualization overhead is much lower since the I/O operation will be on the hardware directly.
Since the performance concern, I would use the hosted virtualization products on my desktop, and bare metal products for enterprise usage.
The popular hosted products are:
1. VMware Workstation: It is targeted to power users and developers. The concept is quite like the Windows workstation: it can perform most of the virtual features, but it only focus on one virtual machine.
2. VMware Server: It allows installing and running multiple VMs on a small server. The customer can control multiple servers remotely via a remote client. This product is targeted to small environments, mostly development and testing. The concept of VMware server is quite similar to Windows server: it focus on multiple virtual machines, and provide services for all the virtual machines. It should be all right to support 2~8 virtual machines, but if we have more virtual machines, the performance will be hugely impacted by the indirect accessing hardware.
3. VMware Fusion: this is the only VMware product for the Macintosh. It allows the user to run
Windows, Linux or any other supported OS as a virtual machine on a Mac. It includes several
advanced features not available on other products such as complete application integration with the Mac OS look-and-feel.
4. VMware Player: Free product and it allows users to run-only virtual machine created in other VMware products such as Workstation or Server. It does not have many management functions as other VMware product, but it is a good product for less powerful machines.
5. Windows Hyper-V: I would describe it as the prodcut in the same level as VMware server. Basically it is a windows OS with capability to run other OS. It is all right to run multiple Virtual Machines, but when come to more virtual machines, the performance degrade dramatially.
Since the bare metal products are mostly used on enterprise, and used as IT infrastructure , it always goes with Virtualization Infrastructure. I will spend more effort on these bare metal products in the later articles. The current popular bare metal products are:
1. VMware ESX: It is very scalable, and have a lot of fancy features. It typically has better performance than hosted products. The number of Virtual Machines in one physical server is much higher.
2. VMware ESXi: It is free! ESXi is a thin version of ESX. It almost has the same features as ESX, but spends less amount of system resources: It only uses 32M harddrive. It is a perfect version to play with. The ESXi does not have the host console as ESX, so the virtualization client needs to be downloaded by customers to manage the virtual host and virtual machines.


Monday, January 12, 2009

What is Virtualization

Virtualization is a technology that is changing the IT deployment and the way that people use servers. Current powerful computer hardware was designed to run a single operating system and a single application. However, this leaves most machines vastly underutilized. Each virtual machines can run different operating systems and multiple applications on the same physical computer. Virtualization technology can lets you run multiple virtual machines on a single physical machine, and sharing the resources of that single computer across multiple platforms.
In the market, we can find two major branches of products: Microsoft Virtualization with Hyper-V, and VMware Virtualization.
VMware products provides a virtualized set of hardware to the guest OS. The hardware includes video adapters, network adapters, and hard drive adapters. The virtual host can also provides pass-through drivers for guest USB, serial, and parallel devices. The virtual machines become highly portable between computers, because every host looks identical to the guests OS. A systems administrator can pause operations on a virtual machine guest, move or copy that guest OS to another physical computer, and there resume execution exactly at the point of suspension. VMotion product allows the virtual host to move a running virtual machine from one virtual host to another.
Microsoft Hyper-V is also called as Windows Server Virtualization, is a hypervisor-based virtualization system for x86 64bits systems. In Hyper-V, a partition is a logical unit which is supported by the hypervisor.
A hypervisor instance has to have at least one parent partition, running Windows Server 2008. The virtualization stack runs in the parent partition and has direct access to the hardware devices. The parent partition then creates the child partitions which host the guest OSs. A child partition can also spawn further child partitions of their own. A parent partition creates child partitions using the hypercall API, which is the application programming interface exposed by Hyper-V.
Child partitions do not have direct access to hardware resources, but instead have a virtual device. Any request to the virtual devices is redirected via the VMBus to the devices in the parent partition, which will manage the requests.