When people speak about the benefits of virtualisation the main benefit they reference is consilidation of physical machines, but there are many other benefits to a virtual enviroment, and just a few drawbacks. This article discusses the Pro's and Con's of virtualisation, from a system manager's point of view.
When we talk about virtualisation we are talking about enterprise level , bare metal hypervisors that run directly on the hardware without the use of an intermediary operating system.
This article is not relavant to desktop virtualisation products like VMWare Workstation, Sun Virtual Box , VMWare Fusion on the Macintosh and so on. These products are really just meant to provide an easy way use more than 1 operating system on a desktop computer.
Enterprise virtualisation offers highly available 24x7 services. It has been at the front line of consolidation for the past few years and will continue to do so for sometime.
However as the title suggests the benefits do not stop there, in some aspect virtual machines ( or VM's ) are more manageable than regular physical machines. What the virtualisation vendor's do not shout about is the limitations of virtualisation of which there are not so many, but they are a more quietly kept secret.
Physical Server Consolidation
Whilst VMware ESX does squeeze more more virtual machines in less physical space, it also manages and redistributes resources. Because ESX is a bare metal hypervisor the over head is low, however the servers that you run ESX on will be higher spec with more redundant features. These machines do not come cheaply.
For a little extra money you might also seek the more effecient servers that produce less heat and draw less power, which may or may not fit into your needs depending on your power and cooling limitations, this is particulary a problem is decade + old data centers which were built for bigger machines taking more space and producing less heat.
One thing is for sure, one rack of 42u can pack enough ESX bare metal hardware and storage to house 1000's or 10000's of virtual machines that would have previously required its own data center.
CPU / Memory Consolidation
CPU and memory resources are shared by the pool of virtual machines, so less total CPU and memory is needed per machine.
Resources pools ( where configured ) will priortize the usage of resources. These resource pool rules are only activated when there is a contention for resource , under normal conditions where the VM host is not saturated the resources are granted as needed, but when there is more demand than resources available the rules come into play.
ESX essentially shares the free CPU cycles and free RAM memory with other machines, keeping track and managing the physical hosts resources making sure each VM has its allocated memory and CPU quota available, depending on the resource configuration it can supply more resources if the VM needs them and the resources are available within the ESX server or cluster to provide performance under high usage.
Virtual Machine Performance
Does a virtual machine perform as well as a physical machine? Well the question is not really answerable, the performance of an ESX system rests on some many factors such as the actual host servers , CPU and memory used and also the storage and networking equipment in your solution. Equally important is the application itself and its behaviour and needs, not all applications are equal.
It would be simplistic enough to state that Excel runs fine in Windows XP when virtualised on your setup. If that same Excel system could be used to achieve the same performance when working very hard calculating 100's thousands of rows is another thing.
In my experience some applications do not work as well when virtualised and its usually quite obvious. The problem can be many things, and most are not directly related to being virtualised itself. The only way to be sure your applications work acceptably in a virtual enviroment is to test them.
Most of the new dual / quad core CPU's all run at lower speeds per core, so bear this kind of issue in mind, realise that not everything will virtualise well. Once you are over that hump, you can concentrate on virtualising everything else !
So, to get back to the question and try to give an answer, I would say that accross an enterprise you will find that most of the time (80-90%) the virtualised machine will run equally as well as its physical counterpart.
Managment Benefits
Vmware Consildated Backup is designed to use a base image and then differencial snapshots. Keeping only the differences or changes made since the disk was created. It works with the storage engine directly and not the virtual machine itself, in a supported enviroment with snapshot hardware this means seamless backups and the ability to revert a machine back to a previous snapshot very quickly but it this approach does have draw backs compared to a regular client server backup model.
The client cannot yet restore their own files, and individual files cannot be restored, only images and snapshots can be reverted to.
patching, imaging ( installations ) Coming soon.
Hardware upgrades are quite limited in the virtual world, the choice is not huge and the limitations are real however no hands on work is required.
Most hardware changes can only be applied when the machine is powered off, this makes sense as a virtual machine would get just as upset about losing its hard disk while running as its physical equivelant.
Dvd / CD and Floppy drives can be used with the onboard VM hosts CD/DVD/Floppy or an image file such as a CD.iso / DVD.iso or floppy.img.
This is a virtualisation standard that makes things easy to manage and simple to use, a tip here is to create a large datastore from low cost SATA storage, possibly exported by NFS to ESX. This is a cheap way to utilise almost exclusively read only data at a low cost per GB.
Your existing cloning or image applications will probably also work well inside the virtual enviroment, but they are not really the right tools for the virtual age. Inside ESX there is a templating and customisation possibility. This enables you to take a machine and clone it , the source machine could be either physical to virtual and the resulting template image can be customised with details like hostnames , ip numbers or DHCP on, dns suffixes and so on.
In practice however, cloning from a template and customising works better on supported versions of Windows , in particular I have tested XP desktops and 2003 Server templates and customisations and they have worked really well.
Unfortunately the Linux side of things is a little less supported with 64 bit OS's being completely off the map right now. This is a slight annoyance, but I can simply clone a virtual or physical machine straight into ESX and customise it myself in seconds or with a script.
Storage Considerations
A medium to large scale ESX deployment will require a medium to large scale storage solution, my personal advice here is to have multiple storage pools based on purpose and performance. Each different level of performance and features of your storage platform costs out at a different price per Gb of storage.
Storage area networks, or SAN's are large collections of disks setup in racks, each connected to a controller. It is a dedicated and expensive piece of hardware, and the software and tools that you manage the SAN with are usually just as complex. The disks are made available to the host machines via a Host Bus Adapter (HBA) with fiber optic cables and connects back to the SAN.
Large capacity, low spindle speed SATA disks are ideal for longterm storage where performance is not critical, they are easily available from many suppliers at low costs.
Low capacity, high performance 15k RPM SAS disks are ideal for IO intensive jobs like streaming data to a disk or housing a seriously used database, but they come at quite a cost and have limited capacity.
Other types of ESX compatible storage types are NFS and iSCSI though ESX requires at least one VMFS volume, which cannot reside on an NFS storage partition.
Plan your storage around your needs, how much low cost storage do you need to store your office documents, your photos and email archives, your mp3 collection, backups and so on. How much of the storage is needed for intensive uses like databases, swapfiles, virtual memory and so on, if you plan on achieving performance in your ESX setup you will need some premium storage in your arsenal.
Although ESX will install without the VM host having an HBA / SCSI / RAID controller, it is still required to use ESX properly, the installation possibility to use SATA is intended only as a courtesy to get the system setup and then connect the SAN / SCSI / RAID storage. This method of installation also happens to be an ESX best practice as it avoids the remote posibility of selecting the entire SAN for ESX to initialize !
At some point your SATA based storage will become saturated with I/O and you will notice performance slide rapidly from there on. Storage I/O bandwidth is an important feature in your ESX design, make sure you are ready for the storage challenges ahead when you roll out a large or demanding project.
Networking Considerations
Everything inside of the ESX enviroment is virtual, including the virtual switches that connect to the physical network, to think about virtualised switches is quite new for most people, but Cisco's high end routers have done this for a while !
Because ESX is enterprise level, the network components are also , the uplink of an ESX virtual switch is linked to one or more physical NIC's in the host machine, in a team or load balanced arrangment, or as seperate non redundant ports.
Some network expertise might be required outside of ESX also, as the ESX hosts connect from the NIC to the physical switches,ESX and the physical switches have to be configured to support some common form of VLAN tagging in most enterprises
Because of limitations within ESX, you can only have upto 6 PCI interfaces in a virtual machine, if you wanted to connect to 4 VLAN's in your network from a virtual machine you would be already fill 4 PCI slots, and the harddisk is also 1 PCI device, like wise the standard VGA console adapter takes a PCI slow too. This means we are already meeting the limit and cannot connect to further VLAN's
A solution to this is to get both ESX and the physical network configured for 802.1q trunking allowing a single virtual network device to access the permitted range of VLAN's specified in the physical switch side, some expertise may be required to test and implement this on the physical network side, it can be tricky as there are many variations and differences in switch confgurations and manufacturers, ideally your expertise comes from your in house network team who know the kit well ..
This need of network expertise is not really imposed by ESX itself, it is merely the nature of the network ESX connects to, on the ESX side the configuration is relativley straight forward and simple, most problems with 802.1q trunking will turn out to be a VMWare ESX config issue or a physical switch configuration issue, just because virtual switch configuration is really not too exhaustive and it is difficult to make a mess of it.
Common Complaints about ESX
Most common ESX complaints are listed below
- Misconfigured ESX cluster
- Miseducated ESX admins
- Misconfigured physical network
- Storage space too low or 100% full
- Saturated SAN I/O
- Could not virtualise application X or server Y
- VM host failure without DRS or HA means all virtual machines died - Mass outage
- Fat fingers deleted a machine, oops
- Licencing issues
- Host hardware problems
Conclusions
Vmware ESX presents far more benefits than it does problems, it is reliable and scalable from a small group of test servers through to a live trading stock exchange back end.
Most of the percieved virtualisation limitations are in fact generique system limitations imposed elsewhere, however VMWare is not perfect because nothing is.
For one, its expensive and the price scales as the size of your deployment does, licencing can quickly run into 10's or 100's of $ a year for a even a modest 3 or 4 host ESX cluster, especially as the most interesting services and features are licenced as extras.
e.g. High Availability and Distributed Resource Scheduler ( HA+DRS ), VMWare Consilidated Backup (VCB)
-----
This article was written by a VMWare Certified Professional, whilst rolling out VMWare yourself is possible and encouraged, it could also be costly if things go wrong.
Consider employing a VMWare certified consultant to assist you if you are planning for your business production enviroment unless you are 100% sure what you are doing ! It will save you time, money and stress because certified professionals are qualified and know what to look for when it comes to planning, as well as knowing the best practices and tricks they earned their stripes with.





