An Intro to Virtualization with VMware vSphere 4
VMware officially released vSphere 4 on the 21st of April, with all the fanfare you would expect to accompany a major product launch, however much of the focus was on how it would enable enterprises to move to “cloud computing”. Whilst this all sounds great it is of little relevance to the SMB IT Admin, whose “datacentre” might run from a couple of servers to a couple of racks of servers with a constrained budget to match it.
Since our focus is on IT for those “Small to Medium Businesses” I have been evaluating vSphere 4 from that angle – looking at the features which are most relevant for those considering whether it is right for their network. This is the first of a series of articles to help you with your evaluation, which will discuss the key features of vSphere 4, subsequent articles will cover the actual process of installing and configuring the various components so you can test it yourself.
When discussing virtualization there are several key terms which can often cause confusion, in particular that of “server” which can be interchangeable between physical and virtual systems. Thus to avoid any confusion it is important to define the various terms employed by VMware and in this article:
Datacenters, clusters and hosts – The “host” is the basic building block of vSphere and refers to a physical server running the ESX hypervisor, whilst a cluster consists of two or more hosts with their associated resource pools, virtual machines and datastores. The datacenter is the largest unit of management in vSphere and contains one or more clusters.
Virtual Machine – the VM is the virtual equivalent of a physical server and as such has all the resources defined that you would usually expect when specifying physical hardware – CPU, memory, hard disks and networking. The operating system is then installed on the virtual machine in the usual way, the hardware is completely emulated by the hypervisor so that to all intents and purposes there is no significant difference between a virtual and a physical machine.
Virtual Appliance – Many vendors now supply pre-built virtual machines ready to deploy as a “virtual appliance”, which may provide an easy way to test a server based product or increasingly as an alternative to a dedicated hardware appliance. A good example of this is Clearswift, who previously only supplied their web and email filtering systems as a hardware device but now offer a virtual appliance as an alternative. With vSphere Vmware have also introduced the “vApp”, which extends the idea of the virtual appliance to enterprise level by allowing for the creation of multi-VM vApps with linked service and resource policies.
Hypervisor – the hypervisor is the software which provides the sharing and translation layer between the server hardware and the virtual machines running on top of it. The latest generation of Intel and AMD CPUs incorporate virtualization extensions which enhance this functionality by allowing more efficient sharing of resources whilst improving the isolation of individual VMs, so that one VM cannot cause another to crash.
Datastore – ESX storage is divided into datastores which are formatted with its proprietary VMFS file system, one of the key features of which is its ability to handle concurrent access by multiple hosts. Datastores can be created from any type of storage visible to the hypervisor but to enable most of the advanced vSphere features shared storage which is accessible to all the hosts in a cluster is required, i.e. a Storage Area Network. Datastore space is then provisioned into virtual disks which are attached to virtual machines to provide the storage for the operating systems installed on them.
Resource Pool – Many of the advanced features of vSphere revolve around the concept of a cluster of virtual hosts whose key resources (CPU MHz and memory) are concentrated into a central pool. This pool can be subdivided into more resource pools which can then be used to automatically manage the allocation of resources to virtual machines and enable prioritization of key VMs over less important ones.
Virtualization – Fundamental Concepts
vSphere 4 is VMware’s name for the suite of applications that make up the latest major release of their virtualization solution and replaces their previous “Virtual Infrastructure” product suite. It is built around their ESX 4.0 hypervisor, and vCenter Server which manages the ESX hosts to provide the advanced functionality. VMware’s direct competitors are Citrix, with their “Essentials” suite based on the XENserver hypervisor, and Microsoft with their Hyper-V hypervisor and System Center Virtual Machine Manager. Such is the competitiveness of the virtualization market, and the obvious value of gaining market share, that all three vendors are now giving away their core hypervisors for free. Although migrating from one solution to another is not impossible it is a major undertaking, which underlines the importance of choosing the right vendor from the start.
The fundamental concepts of virtualization are the same irrespective of vendor and require a significant change of mindset for the IT Manager used to the concept of a “server” being a package of hardware and software together. Turning the software “server” into a “virtual machine” makes it hardware independent as it just requires a hypervisor providing the necessary resources, and turning the hardware “server” into a “virtual host” by installing the hypervisor on it allows it to run as many virtual machines as it has resources for. Separating the software from the hardware in this way opens up a whole new spectrum of possibilities and also brings features that were previously “enterprise only” well within the reach of the smaller IT infrastructure.
ESXi – Virtualization for Free
Thanks to the competition between the major vendors you can make the initial move to virtualization without any financial outlay, except for the time required to deploy it. You can register with VMware to obtain a free ESXi 4.0 license key for as many hosts as you like, and you can manage those hosts effectively using the incorporated vSphere client. This will enable you to take advantage of a fundamental benefit of virtualization, the ability to maximize hardware resource usage by installing multiple VMs on a single physical host. Even in a single server setup its worth considering, once you have virtualized your server into a VM upgrading to new server hardware in future becomes a one hour job; (i) buy new server, (ii) install ESXi, (iii) copy your VM from the old server to the new one – no need to worry about updating device drivers etc. The same also applies for disaster recovery scenarios, restoring to new hardware is much quicker and more reliable when you no longer have to worry about changing hardware specifications.
vSphere 4 – Advanced Virtualization Functionality
So if you can do virtualization for free with ESXi why should you be thinking about spending money on vSphere 4? Basically if you are just running a single host setup then there is little reason to consider upgrading, virtually all the key features require at least a two host cluster in order to work. There is also one other key requirement which shouldn’t be omitted when considering the costs of implementation, you will require a SAN to provide shared storage to all your hosts. The factors to consider when specifying a suitable SAN are complex, including performance, fault tolerance and connectivity; suffice to say that they will be covered in a separate article.
Once your infrastructure meets the basic requirements these are the main features vSphere has to offer:
Even with shared storage moving a VM from one host to another with ESXi isn’t just a one-click process, but vSphere makes it that easy. With vMotion you can even move VMs whilst they are online, with only a brief pause in operation and no need to reboot. Another feature, “Storage vMotion”, allows you to move a live VM from one datastore to another without taking it offline. These features help to minimize the disruption of hardware maintenance; should you need to shutdown a host server in order to upgrade or replace it you can move your VMs to other hosts in advance so there is no interruption in service.
One of the key vSphere features for the SME IT manager, High Availability allows you to promise service uptime levels that were previously only attainable with enterprise clustering solutions. Each VM and host is monitored continuously and should it go offline then vSphere will try to recover it, either by forcing a reset of the VM (e.g. if a BSOD occurred), or migrating the VMs to a new host and starting them on there in the event of the original host failing.
Fault Tolerance is a new feature introduced in vSphere4 which takes advantage of new functions in the latest Intel CPU architectures to go one step beyond High Availability. Although HA can greatly reduce downtime it does not eliminate it as the VM still has to be restarted, during which period it is effectively unavailable. Fault Tolerance uses “lockstep” to maintain a second clone VM on another host, which is kept continuously up to date as the complete VM state is mirrored. Should the primary host fail for whatever reason the secondary VM image activates immediately, retaining user session states and allowing work to continue with no time or data loss.
Sometimes even Fault Tolerance isn’t enough and you may want to restore an older version of a VM, or have to recover from a backup, so a good Disaster Recovery solution is essential. You should continue to use your existing backup application for file level backups, running within the VM, but often there are DR situations where the fastest solution will be to recover an entire VM image. VMware Consolidated Backup is still available as part of vSphere, which enables you to integrate your backup system with your virtual infrastructure for efficient VM backups. New with vSphere4 is “Data Recovery”, which provides a complete VM backup solution supporting scheduling and data de-duplication. Since this is a significant addition to vSphere’s capabilities it is fully covered in a separate article.
Dynamic Resource and Power Management
Although less of an issue for smaller businesses one of the key virtues often touted for virtualization is the ability to dramatically reduce IT system’s power consumption, and collaterally cooling, with the associated reduction in electricity bills. vSphere’s Dynamic Power Management allows to you to specify how aggressively you want it to reduce power consumption, and will take advantage of the latest CPU functions such as core throttling. It uses vMotion to move VMs between hosts in order to minimize power requirements whilst still providing the necessary resources, and is even able to put hosts into standby and then re-awaken them when required. Dynamic Resource Scheduling is a similar feature but works instead to ensure that all VMs get the resources they require, again it will use vMotion to move VMs between hosts in order to achieve the most efficient balance. DRS and DPM are reactive processes that will respond to changing patterns of usage, so if one particular VM comes under sustained load it may be moved to another host with more resources available.
You should now have a much better idea of the benefits vSphere has to offer you and whether you should consider implementing it in your network. Although the basic ESXi hypervisor is free the rest of the suite and related features aren’t, and there are various licensing options designed to suit different size implementations. Subsequent articles in this series will help you to assess the potential cost of virtualizing your network, and also show you how to set up your own vSphere cluster in order to experience and evaluate it yourself.