|
Virtualization inserts a thin layer of software directly on the computer hardware or on a host operating system. This software layer creates virtual machines and contains a virtual machine monitor or “hypervisor” that allocates hardware resources dynamically and transparently so that multiple operating systems can run concurrently on a single physical computer without even knowing it. Thus a hypervisor (also known virtual machine monitor) is a virtualization platform that allows multiple operating systems to run on a host computer at the same time. Generally hypervisors are categorized in two types – Type 1 and Type 2. Type 1 is a software that runs directly on a given hardware platform (as an operating system control program). A guest operating system thus runs at the second level above the hardware. Type 2 (or hosted) hypervisor runs within an operating system environment. A "guest" operating system thus runs at the third level above the hardware. There are a number of virtualization technologies available – such as VMware and Virtual PC. The Open Source offerings include User Mode Linux, QEMU, and the latest offering on the block is XEN. This is a hot topic in the Linux world at the moment, with XEN, in particular, receiving a lot of press and support. There's even the possibility that it may be bundled with upcoming distributions of Linux. This can only be a good thing for Web developers, as the more widespread the use of virtualization and VPS is in Web hosting, the more freedom it will provide at a lower cost. Xen is a free hypervisor for IA-32, x86-64, IA-64 and PowerPC 970 architectures. The system is structured with the hypervisor as the lowest and most privileged layer. Above this layer are one or more guest operating systems, which the hypervisor schedules across the physical CPUs. The first guest operating system, called "domain 0" (dom0), is booted automatically when the hypervisor boots and given special management privileges and direct access to the physical hardware. The system administrator logs into dom0 in order to start any further guest operating systems, called "domain U" (domU). Modified versions of Linux, NetBSD and Solaris can be used as the dom0. Several modified Unix-like operating systems may be employed as guest operating systems (domU). Xen may also be used on personal computers that run Linux but also have Windows installed. Traditionally, such systems are used in a dual boot setup, but with Xen it is possible to start Windows "in a window" from within Linux, effectively running applications from both systems at the same time. Xen operates through a system of virtualization which is known to computer buffs as “paravirtualization”. Through paravirtualization, Xen can achieve high performance even on its host architecture (x86) which is notoriously uncooperative with traditional virtualization techniques.

Only some time back Intel played a part in modifying Xen to support their VT-x (formerly Vanderpool) architecture extensions. Similarly AMD has also contributed support for their AMD-V extensions. These technologies, while differing quite substantially in their implementation and instruction sets, are managed by a common abstraction layer in Xen and enable unmodified guest operating systems to run within Xen virtual machines, starting with Xen 3.0. This implies a significant development because it allows proprietary operating systems (such as Microsoft Windows) to be virtualized since the guest system's kernel does not require modification when the host runs on VT-x or AMD-V hardware. Xen Management Consoles To make the task of administering a Xen host easier, a number of third-party tools (known as Xen Management Consoles) have been developed. These tools make the tasks of configuring, starting, monitoring and stopping of Xen guests more manageable. Some of the more popular among such tools are the Python-based Enomalism dashboard (LGPL), Xen Tools, Google's Ganeti, the Perl-based MLN, the web-based HyperVM, and the GUI applications ConVirt (formerly XenMan) and Red Hat's Virtual Machine Manager, virt-manager.
 Enomalism – Console 1
Xen – when it suits you best Since Xen employs paravirtualization, an administrator can modify the kernel modules and utilize swap space to meet memory allocation demands. The virtual private server’s boot process can also be observed as Linux loads onto virtual devices. It also allows the option of choosing from five popular Linux Operating Systems It is a very appropriate option if you plan to use your VPS hosting to complete one-off tasks which have a high memory overhead like Java development, compiling applications, and encoding video. But if you plan to rely heavily on swap space instead of acquiring enough RAM for day-to-day operations - although Xen might appear to be a cost-saver at first glance, the declining performance associated with constant swap space usage will make an overloaded Xen server not an attractive proposition. Another open source version of virtualization software is SWsoft's OpenVZ. It offers compartmentalized file systems, full root access, and reliable performance to virtual private server administrators. If you are transitioning from shared hosting or you intend to run a LAMP or RoR production site, it is very likely that OpenVZ VPS hosting is the right choice for you. Though it uses fewer resources in comparison to Xen, it has a hard memory limit with no swap space and also supports only a limited number of netfilter (iptables) modifications. But the speed and consistency it provides possibly more than compensates the interface limitations. The commercial sibling of OpenVZ is Virtuozzo. It replaces the hardware abstraction layer with a modified version enabling it to run with better performance of the OS, but forces all the VMs on a hardware box to run the same OS, with some flexibility to support various Linux distributions on the same server. Currently they have a version for Windows 2003 and for Linux.

Virtuozzo Architecture
Numerous VPSs can be created on a single server through “fair sharing technology” of Virtuozzo and each VPS performs and executes exactly like a stand-alone server for its users and can be rebooted independently and has its own root access, users, IP addresses, memory, processes, files, applications, system libraries and configuration files. Light overhead and efficient design of Virtuozzo makes it the right virtualization choice for production servers with live applications and real-life data.
VMware, recently acquired by EMC, was founded in 1998. Its first product was VMware Workstation (1999). The GSX Server and ESX Server products were introduced in 2001. ESX Server can run multiple virtual CPUs per physical CPU. Multiple physical network interface cards can be logically grouped into a single, high-capacity, virtual network device. Thus the initial higher cost for more memory and disk space will easily be made up for by the number of server a host can present on top of one physical server. Less hardware to maintain, less support contracts to pay for, less heat in the data center, and less electricity used obviously make it a very attractive option for the VPS hosts. However all is not hunky dory – VPSs have their downsides too. Though these downsides are not too many in number and neither are they all that forbidding, still it’d be better to have a quick glance at the disadvantages of hosting a website on a VPS.
- Total control of the server also makes the administrator responsible for all installation, maintenance, security and updates. If the administrator is not very adept at managing a server, and is not willing to learn with time, this may eventually become a big problem. However, an experienced webmaster is usually not all that uptight and always tries to remain at the cutting edge of emerging technology.
- While a VPS hosting plan gives the freedom of an entire operating system to work with, the hardware resources (CPU, RAM, etc.) are still shared with other VPSs on the same host server. Therefore, if performance is the key, or RAM-intensive programs are being run on most of the VPSs, co-location might actually be a better alternative.
The providers of virtualization software have also been thinking about the bottleneck RAM might create in a VPS environment. So they had been thinking on creating a setup where several physical servers can be combined into a farm-style environment also known as “clustering”. This idea received a tremendous boost with the introduction of the concept of “live” migration. Xen virtual machines can be "live migrated" between physical hosts across a LAN without loss of availability. During this procedure, the memory of the virtual machine is iteratively copied to the destination without stopping its execution. Stoppage of around 60–300 ms is required to perform final synchronization before the virtual machine begins executing at its final destination, providing an illusion of seamless migration. Similar technology is used to suspend running virtual machines to disk and switch to another virtual machine, and resume the first virtual machine at a later date. VMware has also introduced its offering Vmotion Technology and it's creating waves in the VPS space. With the help of this technology an administrator is capable of migrating a virtual server from one physical host server to another physical host server. This process takes somewhere between 30 seconds and 1.5 minutes on average. However, there is no interruption in availability of the virtual machine at that time. The end-user using the virtual server does not notice that the machine is moving to a different physical host. If you would do a persistent ping against the virtual server you might see a few pings with higher ping times, but that is pretty much it.
 VMware Vmotion
But there are certain infrastructural requirements for Vmotion technology to work. The sending and the receiving server must be connected to the same shared storage and same network connections. To make the matter a little more lucid let us take a concrete example. The source ESX host is connected to the 192.168.10.x network and the 10.10.5.x network. The VM that is going to be “vmotioned” is using the 10.10.5.x network. The receiving physical host must therefore have a connection to the 10.10.5.x network else the VM would lose network connectivity instantly if moved over. However, Vmotion verification process would discover a mismatch upfront and prevent an administrator from moving the machine accordingly.
 VMware High Availability
Another extremely important requirement relates to CPU. At present Vmotion is not possible between different CPU families. If host A uses Intel processors while Host B is using AMD CPUs, it is a mismatch and Vmotion would not be possible. Thus a farm-style environment should have equal, or at least, compatible hardware. Dell and HP servers can be mixed as long as the CPUs are in the same core family. It does not matter if Host A has only 16 GB RAM while Host B has 32 GB of RAM. This is not all. ESX Server hosts need to use a single Virtual Machine File System (VMFS) volume, too. Also, Vmotion requires a Gigabit Ethernet network between virtual machines. This network is usually a dedicated management Vlan that all VMware hosts have access to. By taking advantage of unique OS virtualization, dragging and dropping a live site or hundreds of running applications to another physical server to allow planned system maintenance or hardware upgrades is possible with only a few seconds of downtime. This obviously dramatically increases availability.
Who would not like to avail of this path breaking technology? But like all good things it also comes at a price. It is for you to do a cost-benefit analysis and conclude whether you’d really like to be a part of it.
back to index
|