A lot has been written and said about the features and functionality offered by VMware vSphere and Hyper-V R2. VMware publised a new document in which features of vSphere 4.1 are compared to Hyper-V R2, Citrix XenSever and Red Hat Enterprise. See the document here http://www.vmware.com/files/pdf/vmware-vsphere-features-comparison-ch-en.pdf
My personal opinion about comparing Hyper-V and vSphere is that it is like comparing apples and oranges. To make an apple pie you need good apples, you make orange juice you will need oranges. For me vSphere is a family car, being able to transport 5 adults in all comfort over long distances. Hyper-V is like a reliable secondary car for the wife. Good for short distances, cheap to buy but not suited for driving long distances and transporting a family or heavy loads.
Both Hyper-V and VMware vSphere are good products, but they are competing in different markets with different budgets and demands. I do not believe Hyper-V R2 is ready and suited for the enterprise market, although Microsoft marketing will tell you something different. Hyper-V R2 is just not mature enough and lacks features an enterprise will sooner or later need.
Hyper-V will do good in small and medium business where demand on high availablity and a rich feature set is low, and budget is tight. With up to 4 to 5 hosts Hyper-V will a good solution budget wise which can compete with VMware vSphere Essentials Plus edition. VMware introduced the vMotion feature in the 4.1 version of Essentials Plus.
An interesting article is CIO.com “Virtualization Wars: Is Microsoft Sneaking Into More VMware Shops?http://www.cio.com/article/606198/Virtualization_Wars_Is_Microsoft_Sneaking_Into_More_VMware_Shops_?page=1&taxonomyId=3112
Another interesting article and comments on vCritical.com http://www.vcritical.com/2010/08/vmware-vsphere-4-1-the-best-virtualization-platform-yet/. disclaimer: vcritical posts are written by a VMware employee.
As a ‘proof’ enterprises are starting to move from VMware to Hyper-V, according to this press release Microsoft send out. It is called ‘Customer Spotlight: CH2M HILL Expects to Save Millions Moving to Microsoft Virtualization Software’ and reports on a company reducing costs by selecting Hyper-V. See this article.
For the enterprise market Hyper-V R 2 is not mature enough. When you read the marketing stuff, it offers all and even more of the features that VMware vSpere offers for a much lower price and offering a well known Windows environment. In real live there are a lot of missing features, difficult to install components and work around technology. Also, costs for operating an IT environment are summed by the initiall cost of obtaining the software or hardware, and the costs of operating the software and hardware. While the initial cost (license) for Hyper-V is close to zero, the operational cost compared to VMware vSphere can be quite different. The problem is those operational costs are hard to quantify.
Some random choosen examples of Hyper-V being less mature than VMware vSphere.
VMware has Distributed Resource Scheduler or DRS. DRS enables virtual machines to automatically migrate to another host if requested resources are not available on the original host. The migration is without downtime for the virtual machine. Configuration of DRS is simple. Enable it on the VMware cluster, tune it by selecting the automation level and you are basically done. vCenter Server will do the rest.
Microsoft’s feature for automated resource scheduling is called Performance and Resource Optimization (PRO) . To get this working, you will need to integrate System Center Virtual Machine Manager (SCVMM) with Microsoft System Center Operations Manager (SCOM). This is however a complex operation and what I understood can lead to a lot of problems on your SCOM server. I do not know how many companies at enterprise level succesfully deployed PRO Tips. An advantage however of this integration is that SCOM knows about the performance and health at application level, while VMware DRS is limited to monitoring performance and health at operating system level.
Snapshots or checkpoint as they are called in Hyper-V, are an easy way to instantly create a backup of a virtual machine. It will make the virtual machine disk file read-only at the moment the snapshot is taken. All disk transactions after the snapshot was made are recorded in a delta file. This way software updates like patches can easily be reversed.
VMware ESX wil immediately merge the delta file into the original (parent) file when deletion of the snapshot is selected. Hyper-V however will only start merging the delta file when the virtual machine has been switched off. While the virtual machine is running, the delta file will keep growing and this could result eventually in the disk being full. Read more here http://www.vcritical.com/2009/04/hyper-v-snapshots-not-for-production/.
Virtual machines are connected to virtual switches to enable network communication. vSphere offers distributed virtual switches. This type of switch needs to be created once, and then it can be distributed over ESX hosts. A very usefull function if you are using a lot of hosts. Instead of creating a switch for each host (not a nice job for 100 server and also prone to errors) you do it once.
Hyper-V on the other hand does not offer a distributed switch. For each host you will need to create one or more switches taking care the name of the switches is identical on all hosts.
vSphere offere a lot of techniques to reduce the usage of memory. Less memory used per virtual machine means being able to run more virtual machines per host and this reduces overall costs. vSphere 4.1 offers memory ballooning , transparent page sharing, memory overcommit, and in 4.1 memory compression.
Windows Server 2008 R2 SP1 (currently in beta) will support Dynamic memory. This enables to allocate more memory to virtual machine than physical memory available to the host, like memory overcommit in vSphere. Other memory techniques are not available.
Multi node volumes
For features like high availability and migration of running virtual machines to work, hosts needs access to the same disk volume. The disk volume is where the virtual machine files are located. From the start, VMware created VMFS as the filesystem. It is a mature, well proven filesystem designed to be accessed by multiple nodes simultaneously.
Microsoft server filesystem has been NTFS since many years. It was not designed to be accessed by multiple servers at the same time. To enable high availability and Live Migrations, Microsoft created Clustered Shared Volume or CSV. This is a sort of filer above NTFS and using Microsoft clustering technique. While block based I/O can be tranfered directly from the Hyper-V host to the shared storage (direct I/O), certain types of I/O to virtual machine files can only be performed by the coordinator node. This is one of the nodes in a failover cluster which owns the CSV.
For making backups the understanding of the coordinator role is important. If you like to make host based backup, or image level backup’s (this is a virtual machine aware backup, not the traditional way of backups of individual file inside the VM) you want an application consistent backup. That means databases are backuped in a consistant state and transaction logfiles are cleared during backup. This is done using Microsoft VSS (software snapshots). Most storage suppliers are able to provide hardware snapshots. Here a snapshot is made of a complete storage volume.
When DPM 2010 is used to make backup’s you can use software snapshots. However, as soon as a software snaphot is performed of a virtual machine, the CSV will be owned by the host the to be backuped VM is running on. This will continue during the backup as well. During the run time of the backup, all disk traffic to and from other VM’s running on the same CSV, but active on other hosts, will be redirected over the CSV network. So instead of the direct SAN network, I/O will be rerouted over the CSV network (indirect or managed I/O). This will not only put stress on the coordinator node, also backups cannot be made parallel.
This can be prevented by using hardware snapshots. However, not all storage vendors support hardware snapshots compatible with CSV’s. At least Dell does not yet support CSV’s hardware snapshots for their EqualLogic storage.
Read more about this here: http://blogs.technet.com/b/asim_mitra/archive/2009/12/11/snapshot-provider-considerations-while-backing-up-a-csv-cluster.aspx
Single pane of glass
From an administrator point of view you would like to have a single management interface to manage hosts and virtual machines. VMware has the VI Client which connect to the vCenter Server or directly to an ESX host (rarely done). One console has all the features.
Hosts running Hyper-V and the VM’s can be managed using three consoles: Hyper-V manager which is most restricted in it’s features, Failover Cluster Manager which can be used for most of the regular tasks, and System Center Virtual Machine manager which has most of the regular tasks available but cannot be used to manage the availablity of the virtual machines. If you want some more features, like dynamically moving virtual machine from host to host based on resource needs, you will need to integrate SCVMM with System Center Operations Manager. That is a lot of consoles and for an unexpericenced administrator on Hyper-V a bit of a challenge to get used to.
SCVMM has limited overview of resource usage of virtual machines. You can view the CPU usage and that’s it. No memory consumption, no disk access, no netwerk access overview. Information which is essential in troubleshooting performance issues. You will need SCOM to have an insight in the virtual machines. And SCOM is not easy to configure, nor is the integration between SCOM and SCVMM.
vCenter Server provides all the essential information from a single pane of view.
Storage i/o control
In an enterprise infrastructure many virtual machines are active. Good chance the storage is quite busy servicing the requests. Quite possible a certain VM which is not business critical does so many i/o requests it saturates the storage. Result is that business critical applications do not get the i/o from the storage they need. VMware has a feature called Storage I/O control which enables control of storage consumption on a virtual machine level. As soon as congestion is happening, virtual machines with a high priority will recieve more iops from the storage array than less important vm’s. This is done dynamically.
Hyper-V does not have such mechanism. The only way to control storage consumption is by adjusting the HBA settings. Alternatively a third party solution called Melio FS can be used to set Quality of Service on virtual machine files. Read more about this here.
Both VMware and Hyper-V offer the ability to create thin provisioned virtual disks. Such a disk, Microsoft calls it Dynamically Expanding disk consumes as much data on the storage layer as being consumed by the virtual machine guest operating system. So a 40 GB partition with 10GB of data takes only 10 GB of data. This saves a lot of storage and thus a lot of money. There is no performance impact when using VMware thin provisioned disks. In this document VMware states ‘we determined that a workload run on a thin-provisioned disk performs very closely to that of a thick-provisioned disk’
However, Microsoft advises to ‘Avoid Using Dynamically Expanding VHD Files in a Production Environment’
ESXi can be seen as a thin layer above the bare metal. It has a small disk footprint of around 300 MB. Installing ESXi on a host takes around 7 minutes to complete. It can be seen almost a firmware. If for some reason ESXI does not boot, or has issues, a previous version of ESXI can easily be restored. See this link for more information. It can be installed on a SD card or USB drive.
Windows Server with Hyper-V role enabled does not have a rollback which enables to go back to a previous version.