|
Tools to Manage Virtualization in Your Data Center
Starting this month, we would be regularly featuring a section on data centers. This time, we'll focus on virtualization management tools and new trends in data centers
Rakesh Sharma and Swapnil Arora
Saturday, August 02, 2008
Rising energy costs in data centers is forcing most CIOs to think and go
'green.' This means buying equipment that consumes lesser power and deciding
future IT purchases more carefully. Another alternative would be to use idle
resources in a more efficient manner through virtualization. We have covered a
lot of articles on how you can deploy virtualization across your data center and
what all benefits you can draw post its deployment. This time, we bring you
another key aspect of virtualization management.
While server virtualization reduces the number of physical servers in the
data center, it increases the total number of virtual machines per physical
server. As a result, you could end up having hundreds of virtual machines
running on a handful of physical hardware server boxes. This obviously leads to
a number of challen-egs. First is to ensure availability. Since one physical
server is running multiple virtual machines, it becomes even more important to
keep it up and running. So you will add failsafe and redundant virtual machines,
thereby adding to the complexity of the setup. Moreover, with so many virtual
machines, it's just not possible to have a different management interface for
each. This would increase administrative overheads, and also increase the
training requirements for the manpower. What's needed therefore, is a solution
to manage all the virtual machines from a single console, and also do
provisioning, migration and modification without any downtime. In this article,
we will discuss some of the best virtualization management solutions that are
available in the market, after of course, having tried them out ourselves.
Virtualization: What, why and where?
Before proceeding, let's recall why you need virtualization in the data center.
Virtualization can be explained as an abstraction of physical hardware (PC,
workstation or server) from the OS. So one physical server could run multiple
Operating Systems independantly in their own environments. This reduces the
number of servers required in the datacenter, and therefore creates a compelling
case for server consolidation.
So before consolidation, you would have lots of physical server boxes or
racks, each running a differnet application. They would consume a lot of power
and floor space. You might even have a backup or redundant server for the ones
running business critical applications. After consolidation using server
virtualization, you can have multiple applications running on a single server
box, which reduces the total number of servers. This reduces floor space
requirement, as well as power consumption in the data center. Plus, you could
easily replicate a virtual machine for failover.
You can deploy virtualization in two different ways. One, by first creating a
virtual machine and then installing a fresh OS, and later customizing it for
your needs. The other is to make use of virtual appliances which are
preconfigured virtual HDDs of someapplication that can match the requirements of
your enterprise. Simply setup a virtualization platform and dump the virtual
appliance on top of it, and your application is up and running. There are
appliances available for a host of applications, e.g. an ERP appliance, CRM
appliance, WAN accelerator, content manager, or document management appliance,
to name a few. You have virtual appliances for different platforms as well, like
Xen, VMware, Microsoft's Hyper V, etc. This adds another problem in the data
center. How do you manage virtual appliances for different platforms? One way
is to convert a virtual appliance from one platform to the predominant one in
your data center. There are different tools available for converting appliances.
You can find out more about them at http://pcquest.ciol.com/
content/technology/2008/ 208050701.asp.
VM manager: Why and how?
As discussed earlier, a VM manager lets you manage virtual machines on
different physical servers from a single console. Let's now discuss what you can
do with a single VM management console and how it can help you keep all VMs
organized and updated.
 |
Let's start by identifying the tools. There are a number of them from
different vendors like XENCenter, VMWare ACE Manager, MS System Center Virtual
Machine Manager, etc. Apart from these there are other tools like ConVirt and
Virt-Manager for managing virtual machines locally on XEN platform. There are in
general two types of client interfaces available for such VM Managers: for
installation as a client utility, for eg in XENCenter, where it can be installed
on any machine with a decent configuration. The client can connect back to the
VMManager server and perform various operations. The other type are
virtualization solutions where the manager can be accessed over the browser, as
in VMWare. Such kind of managers help administrators manage VMs remotely without
even entering the datacenter. This also helps in enhancing the security of the
datacenter as you can reduce the physical entry.
Functions of a VM Manager
So what all can you do with a VM manager? Apart from the usual create, remove
and modify features, they also provide features like migrating a VM from one
server to another, backup or copy a VM from one server to another, etc. Then
there are some unique features that are only available with some specific VM
managers, like creating High availability servers and virtual DR sites. Using a
VM manager, you can keep track of the processes that run on each virtual
machine. You can also record stats on the performance of VMs, such as memory
usage, network I/O and disk I/O. In most cases to get such functionality an
agent is required to be installed on the guest OS.
Some virtualization solutions like VMWare, facilitate automatic resource
provisioning, which means that if one VM Server is overloaded and the other has
free resources then some hardware resource can be allocated from the overloaded
server to the free server and that too without any downtime. Unlike others, the
soon to be launched MS VMM 2008 will support different virtualization platforms
such as VMWare and Citrix Xen, hence you can manage VMs of other platforms also
from a single console
Now let's do a quick 'how to' on some VM managers and explore their features:
XenCenter: Migration of VMs
XenCenter by Citrix provides you a complete solution for managing one or more
Xen Servers within your enterprise. With its remote management capabilities one
can create, remove or even migrate different virtual machines remotely. Creating
virtual machines is very common but managing more than one virtual machine at
the same time is difficult if you don't have proper tools. Let's see some of the
tasks that can be done via XenCenter for managing virtual machines efficiently.
Installing XenServer is easy and it gets installed in minutes. Installation
of XenServer is somewhat similar to the usual Linux distro, such as Centos (in
text mode). Make sure that the machine you install it on has support for Intel
VT or AMD V, else it will not work. Once XenServer is installed it's time to
install administrator management console i.e. the XenCenter. Installing
XenCenter is also a simple task. A Windows installer is provided with this
month's DVD (included in XenServer ISO). Just double click on the installation
file and follow screen instructions. But you have to burn the ISO image
initially to any CD or DVD (as you wish).
 |
Once installation is finished and your XenServer is up and running (on the
same network), it's time to connect the administrator management console to
XenServer. Click on 'Add new server' from the tool bar; provide host IP address,
root password and then click on 'Connect'. This will connect you to XenServer
remotely, providing every single control to you for instance, terminal access.
Once connection is established, it gives you a complete real time details about
that machine, such as number of virtual machines, memory utilization, loads of
each CPU if there are multiple CPU's, etc. If you want stats on memory usage,
network IO and disk IO, then you have to install an agent of XenServer on the
guest OS.
Now let's see how one can migrate a virtual machine from one XenSever to
another without facing any downtime. But why should you do this? Supposing there
are two virtual machines running on two different XenServer, and if the load on
one XenServer increases then one of the virtual machines can be transferred to
another XenServer having less load.
In XenCenter, virtual machine can only be migrated if the VM's are using a
shared storage resources and that too within the particular pool. If the machine
is using a local storage it should first be converted to shared storage. Once
you are done with prerequisites, select VM that you want to shift, drag and drop
the VM to the server which you want to shift to, and that's all.
Convirt: Dynamic resource provisioning
The recently released open source tool for managing virtual machine over the
OpenXen platform was earlier known as 'xenman'. With it's easy to use GUI, you
can manage complete life cycle of a Xen virtual machine and manage them from one
single console. It provides features like user defined resource pool, dynamic
resource provisioning, template based rapid provisioning and XEN 3.1+ support.
Convirt makes use of SSH for connecting to remote servers providing you a
completely secure access. Convirt automatically finds you the suitable server to
help you deploy the next VM on. Like the other VM manager it also supports live
migration. The appliance store provides you with different software appliances
free of cost. You just need to select required appliance and click on 'Import'.
Convirt takes cares of the rest. These appliances are contributed mainly by two
vendors: rpath and jumpbox.
Installation of Convirt is pretty simple, but it requires python-paramiko.
Python-paramiko is a module of python which lets Convirt to implement SSH
connection to remote servers. It is available on the online repository of Fedora
8. Just install it using yum. Others can download rpm from rpmfind.net. Convirt
is still not on the online repository, so download the rpm from
xenman.sourceforge.net/. To install Convirt, use the following command:
# rpm -ivh convirt-0.9-1.fedora.noarch.rpm
Once installation is finished, start Convirt by using run utility. When
convirt window comes up, you can view resource pool on left hand side. On the
right panel it shows you CPU and memory utilization of individual server pool.
You can further click on 'Resource pool' and see the details of each server.
Also you can view details of each virtual machine on each server.
For creating VM, it provides you with templates using which we can create VM
easily. You can create your own VM as well. During creation you can specify
server the VM will be residing on, else right click on the 'Template', click on
'Provisioning' and select 'Resource pool' where you want VM to reside on. After
that click on 'Ok', Convirt will automatically search for appropriate server and
place the VM onto it. For taking the advantage of different appliances that it
provide, click on 'Appliance' menu and click on 'Import'. Select appliance from
the list, for example, we selected a VOIP appliance 'Asterisk' and then clicked
on 'Import'. Now it will download the appliance from respective vendor site
which may take some time depending upon your bandwidth. Once appliance is
downloaded follow provision process as we did for others.
Page(s) 1 2
|