Virtualization is nothing new, this term has been known since the early
1960s, but the concept, usages, and the benefits have changed monumentally in
last few years. Not so long back, virtualization was supposed to be only a good
platform for developers who used to do multi-platform software testing. Owing to
its feature that multiple OSs could run on top of one single hardware box, it
used to solve this purpose very nicely. But at that time it was mostly not
considered to be reliable enough for production environments. The main reasons
for this were the single point failure which it used to create for the
production machines, plus the resource consciousness was also not that great.
The virtualization layer sitting between the host and guest OS used to eat up a
lot of resources.
But today the whole story has changed. The growing density of datacenters has
made the CIOs think for the alternatives that can save power, equipment, and
most importantly the real state. And the only way to achieve this is by doing
server consolidation. Today virtualization is one of the biggest enabler for
consolidation. So what about the issues with resource allocation and single
point of failure which virtualization was prone to? Ok, the answer to this is
very simple. First of all, if you are yet not aware then let me introduce you to
the term hypervisor. This is one technology which had improved the resource
allocation in virtualization tremendously and had made it robust enough to
handle enterprise class, mission critical production servers. We will look into
its technicalities and how it works, following in this story. Plus with the
advent of concepts like virtual appliances the difficulty of deploying
applications has become so negligible that today the IT managers just love this
concept. We will also delve into this concept in detail.
And to answer the second part of the question, let's take an example. Assume
that you have four different services running on four different hardware server
boxes. Now if you want to migrate all those physical servers into one single
physical server by using virtualization, and your concern is that, if that
particulate single machine fails then all of your four services will come to a
stop. Now, to answer this, the possibility of any kind of a hardware failure is
equal in all the four servers which you were running and ideally you should have
kept backups for all those four servers. But now as you have migrated your
serviced to a virtual environment, hence as a result you have only one server
and you can keep a backup of just that. So now instead of having a one on one
fail safe for your four servers for which you had to buy eight hardware server
boxes now you have to buy just two. Isn't that better in terms of the TCO of
your datacenter?
HyperV key features
16 Core Support: HyperV can support up to Symmetric Multiprocessors (SMP) Support: Network Load Balancing: Hyper-V x64 Bit Guest support: The Virtual VHD Format Compatible: Supports the |
Now you might say that the servers which can take four such virtual machines
would be radically expensive. But believe me it's not the case. Around one year
back when we did the server shootout in our labs we have seen server with dual
quad core processors and around 16GB of RAM for less than a Lakh http://pcquest.ciol
.com/content/pcshootout/2007/1107081001.asp. And those servers were capable
enough to generate a whopping 50Gigaflops of processing which is half the
performance of Param 10000 (The super computer from CDAC build in 1995).
Now with that note, let's take a closer look to the two great virtualization
technologies of today, the hypervisor and the Virtual Appliances.
From this screen of WinImage you can select the type Virtual Disk you want to create from your physical machine. It can be either Dynamic or Fixed |
To convert a remote physical machine to a vmdk image all you have to do is to provide the IP address of the machine and continue the wizard |
The Hypervisors
The concept of hypervisor for commodity servers and desktops started with
two things, the XEN, which was one of the pioneers to bring full virtualization
in commodity servers and desktops. And the second was the hardware
virtualization initiative from chip manufacturers like Intel and AMD. Intel's VT
and AMD's V or Pacifica is the technologies which let hypervisors run directly
on top of the hardware natively using the processors. A hypervisor is a
technique to run virtualization in full-virtualization mode, which means a setup
where the virtualization layer essentially runs on top of the hardware and below
the Operating System. You will know the difference by comparing it with any
traditional virtualization system, where the virtualization layer runs on top of
the host OS. The hypervisor runs directly on top of the hardware, and uses the
virtualization features of the underlying CPU, eg. Intel's VT and AMD's
Pacifica.
As the virtualization layer sits directly on top of the hardware, it is very
thin and lightweight. It is also more resource conscious. Both of these features
make its performance much better as compared to traditional virtualization
techniques. And hence it becomes ready for mission critical applications.
Virtual Appliances
Virtual Appliances are a preinstalled and configured harddisk image of a
virtualized application with some specific feature. So for instance, PCQLinux
ERP and CRM appliance is a VirtualBox-based hard disk image of a preinstalled
Linux distro with TinyERP preconfigured in it. All you have to do to run it is
to copy the harddisk image to a machine with virtualbox and run it. No need to
install, update, or configure anything.
Virtual Appliances are a boon for IT Managers, with the help of such
appliances the deployment of software and service has become dramatically easy.
These appliances are becoming most favored mode of software delivery for IT
managers and developers. We talked about Virtual Appliances many times and our
PCQLinux 2008 distribution is also based on the same lines. But still if you are
new to this concept then you can read the story called Applications as
appliances in the JAN 2007 issue of PCQuest or you can visit the website http://pcquest.ciol.com
/content/depth/2007/107010101.asp.
To convert a VPC appliance to VMWare appliance you can use the VMWare Converter. Just select the third option in the Import wizard and proceed |
You can even natively run your VPC appliance in VMWare Workstation and Player |
And the other great thing about such appliances is that there is a Varity of
such free and opensource appliances available out there over the net. So just
name an open source application and you will find it in a preconfigured
appliance format. All you have to do is to download and boot it. But there is a
catch, if you have ever tried finding any appliance over the internet more than
ones, I am sure most of you had faced a very common problem. The appliance is
available but not for the virtual environment you want it for. So let's say you
have a production environment where you are using Microsoft Virtual Server and
suddenly you tried to search for an appliance for let's say Comp i.e ERP, you
might find it but for may be VMWare or for XEN. And hence interop had become the
need of the day, so that by any means you can convert that appliance to run on
your environment and not the other way round where you have to deploy a new
environment just to run an appliance which is actually not feasible for
production environments. But believe me it might sound impossible or difficult
for most of you, but today it's very much possible to interoperate between
different virtual environments in terms of appliances. Which means either you
can run any appliance created for let's say x virtual environment on y virtual
environment natively or you can first convert it and then run it. And so is for
physical to virtual. We will take a more hands on look into this topic but
before that, let's take a close look on the new kid in the block which is
catching a lot of eyes now a days. And that is the MS HyperV.
The Microsoft Hypervisor
Around 4 months back, we had talked about the first publicly available
Hypervisor from Microsoft. The news floating then was that, it was just going to
be a component or Role in Windows Server 2008 and will be called Windows
Hypervisor. But recently, with the RTM release of Windows Server 2008 we saw the
latest avatar of Windows Hypervisor which is now called the HyperV. Yes, it
still comes as a Windows Sever 2008 role. Currently only a beta version of
HyperV is available and we are expecting the full release somewhere in the third
quarter of this year. Today you can't buy a copy of Windows Server 2008 for your
production servers along with HyperV because it is still in its beta. But if you
want to give it a try you can download a trial version of it along with windows
server2008 x64 RTM. We also did that.
For installing HyperV you will ofcourse require a machine which has either an
Intel VT or AMD V processor. The maximum number of cores the host machine can
take is 16 and the current max ram support is 64GB. Further you can allocate 4
cores to a single virtual machine running inside HyperV. The installation is
pretty straight forward. First, do the installation of Windows Server 2008, then
open up the Add Role Wizard and select the HyperV option. Once you do that the
machine will require a reboot. This is the point where the hypervisor is slipped
between the hardware and the OS making it a full virtualization system. Once the
machine boots back, it will run a standard wizard and will install the required
files and frontend for the system. Once done, you are ready to use it. One more
good news is that you can natively run any virtual machine created with MS VPC
or MS Virtual Server on HyperV without doing any modification. All you have to
do is to copy the existing VHD file to the machine with HyperV and boot it with
the HyperV. That's really a great thing for those who will be migrating from MS
Virtual Server or MS VPC to HyperV.
But if you want to migrate from some other virtualization environment to
HyperV then you have to use the VMM or Virtual Machine manager for HyperV. It is
going to be released after a month of the final release of HyperV. VMM for
HyperV, very similar to VMM 2007 for MS Virtual Server will be capable of
converting from a physical machine to virtual machines or virtual machines
(other virtualization environment) to HyoerV virtual environment. But yet, no
public beta is available for it and hence we still haven't given it a try. Once
we get hold of it, we will surely come back to you with an article on it. But
for those who can't wait to know more about virtualization interiop, here is the
how-to.
The Interop dance
Is interop in virtual environments taking away your sleeps. Then this
section is for you. Following one by one we will see how you can convert any
environment to any other virtual environment.
Physical to MS VPC/MS VS/MS HyperV
The easiest option to do so will be by using a 30-day trial full functional
tool called WinImage. So that you don't have to pay any extra money for this.
You can download it from http://ourworld. compuserve.com/homepages/Gvollant/download.htm.
To start with, take the hard-disk of the machine you want to create the VM Image
of and connect it as a secondary hard-disk to the machine where you've installed
WinImage. Go to Disks Menu and click on the Option that says 'Create Virtual
Disk Image from Physical Disk...' This opens the Physical to Virtual wizard.
Follow the instruction and your physical harddisk will beconverted to a vhd
file. Wasn't that simple.
A lightweight tool to convert your VMware appliance into MS Virtual Hard disks |
Notice that the WinImage is actually running in a WinXP instance which is running virtually inside VirtualBox |
Physical to VMware
This is a free tool from VMWare called VMWare Converter. Download it from
VMWare's website and you are on. This is a pretty feature rich tool which can
migrate any physical machine running Windows OS connected over the network to a
VMWare appliance. It can also convert appliances create by MS VPC/VS to VMWare
appliance plus it can even read backup images such as Symantec backup images and
can convert them to VMWare virtual machines.
If you are connected through ADS then all you need to do is to start the
converter's Import machine wizard from the main interface and select the option
which says “Physical Computer”. Once you proceed it will ask you for the IP
address of the machine which you want to convert into virtual and of course its
credentials so that it can connect to the machine and read the harddisk. Once
you provide it all the necessary information, it will create the virtual
harddisk over the network and save it to your local machine.
From MS Virtual Server/VPC/HyperV to VMWare
Well, it's not actually required because VMWare products can natively
recognize and run MS VHD files. So you don't actually need to convert them to
run on VMWare platform. But still if you want to do it then use the same VMWare
convert software. It can not only convert your MS VPC/VS appliances but can also
convert Symantec backup images. All you have to do is to run the same import
machine wizard which we used in the section three, but this time select the
third option which says “Stand Alone Virtual machine/ backup or disk image” and
proceed. It will ask you to provide the path of the file vhd file, do that and
your vhd is converted into vmdk.
From VMWare to Virtual Server/VPC/HyperV
This one is also a free tool and is available from http://vmtoolkit.com/files/
folders/converters/entry8.aspx. its called the vmdk converter. Using it is as
simple as downloading, unpacking and running it. It will open up a file browser
interface. Here just browse and locate any vmdk image and say ok. And believe it
or not that's all you have to do for it. But one important thing which we would
like to bring to your notice is that, this tool doesn't come with any warranty.
And we also faced some errors while converting images to vhd using this tool.
Where the tool just used to crash in between the process of conversion. But it
still works in most of the cases. So go ahead and give it a try. If it works,
great! Else better click next time.
VirtualBox to Virtual Server or VMWare
If, you have PCQLinux appliance or for that matter any other VirtualBox
appliance but don't want to shift to virtualbox for running them? Then here is
the trick. Officially there is no tool which converts a VirtualBox image into a
VMware or a Microsoft Virtual disk format which is VHD. But still you can do it
by some nasty tricks. And believe me it works.
So you must be wondering, how to do it. Ok, then let's take the first case.
You want to convert a virtualbox appliance into a vhd appliance. To begin with,
first get hold of a virtualbox virtual machine which is running windows XP. Now
add the VirtualBox appliance which you want to convert to virtual vhd as a
second harddisk to the virtual XP machine. Now install WinImage on top of the
virtual XP machine and follow the process mentioned in section 1. The winimage
software will treat the windows XP running on VirtualBox as a physical machine
and will convert the second harddisk attached to it (which is essentially a
virtualbox image), when selected into a vhd file.
Similarly if you want to convert a VirtualBox appliance into a VMWare
appliance, then do exactly as mentioned above just instead of installing
winimage on top of the virtual XP machine, this time install the VMWare
Converter and follow the section 2.
NOTE: This trick is so simple and effective that you practically can convert
any appliance created by any virtualization environment such as XEN or even qemu
or any for that matter into vhd or vmdk. We still haven't given them a try by.
If you ever give it a try then please let us know your experiences at
http://forums. pcquest.com