VMware Cloud Community
mandardhamankar
Contributor
Contributor

Microsoft Failover Cluster (Windows 2008 / 2008 R2) with VMware Paravirtualized SCSI (PVSCSI)

Intended Audience :
This blog is for system administrators, software developers / testers, supoort engineers who are familiar with VMware technology and Microsoft failover cluster. Please make a note that this is not a guide to using failover clustering. Use your Microsoft documentation for information about installation and configuration of Microsoft failover clustering.

Overview :
VMware vSphere 4 on the performance front has introduced a new virtual storage adapter VMware Paravirtualized SCSI (PVSCSI). PVSCSI is a high-performance storage adapter that provides better throughput and lower CPU utilization for virtual machines. It is best suited for environments where guest applications are very I/O intensive. A new core-offload I/O system to utilize processors on multicore systems, processor scheduler enhancements to improve the efficiency of interrupt delivery and associated processing, and advanced I/O concurrency updates, all of which significantly optimize storage throughput.

Objective :
Leverage VMware Paravirtualized SCSI (PVSCSI) for clustering using Microsoft failover cluster (Windows 2008 / 2008 R2) across VMware virtual machines.

Facts and Findings :

  1. 12% improvement in throughput with PVSCSI at 18% less CPU cost compared to the LSI virtual adapter.
  2. Performance comparison of PVSCSI and LSI Logic is available over VMware portal at http://www.vmware.com/pdf/vsp_4_pvscsi_perf.pdf
  3. High-Performance PVSCI Storage Adapter Can Reduce CPIO by 10%-30%. Please go through VMware community's VMware vROOM! blog available at http://blogs.vmware.com/performance/2010/02/
  4. Do I choose the PVSCSI or LSI Logic virtual adapter on ESX 4.0 for non-IO intensive workloads? http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=101765...

Procedure :

  1. For supplemental information about configuring and using VMware Paravirtual SCSI (PVSCSI) adapters please go through VMware knowledge base article "Configuring disks to use VMware Paravirtual SCSI (PVSCSI) adapters" for your ready reference available at http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=101039...
  2. For setting up Microsoft failover cluster (Windows 2008 / 2008 R2) across VMware virtual machines, please refer user guide "Setup for Failover Clustering and Microsoft Cluster Service" available on VMware portal at www.vmware.com/pdf/vsphere4/r40/vsp_40_mscs.pdf

Limitations :

  1. Hot add or hot remove requires a bus rescan from within the guest.
  2. Disks with snapshots might not experience performance gains when used on Paravirtual SCSI adapters or if memory on the ESX host is overcommitted.
  3. vSphere Fault Tolerance cannot be enabled on a VM using PVSCSI.
  4. If you upgrade from RHEL 5 to an unsupported kernel, you might not be able to access data on the virtual machine's PVSCSI disks. You can run vmware-config-tools.pl with the kernel-version parameter to regain access.

Conclusion :
Though VMware officially do not claim support for Microsoft Failover Cluster (Windows 2008 / 2008 R2) with VMware Paravirtualized SCSI (PVSCSI), it is very much feasible solution which I have deployed in my test environment and played around it.

PVSCSI improves the throughput when the workload drives very high I/O rates and greatly improves the CPU efficiency which dramatically brings the host CPU utilization down. It can deliver better disk performance across VMware virtualization platform and that too at no extra cost. It is a technology really worth to look forward.

0 Kudos
3 Replies
robincm
Contributor
Contributor

Just been playing with this myself, and then found your article on it 🙂

Any idea if this combination of PVSCSI with Windows Failover Cluster is likely to be supported soon?

Also, it'd be really handy to remove the restriction on not being able to vMotion a VM that has a SCSI controller (PVSCSI or LSI Logic) configured for bus sharing. There's probably some very good technical reason why it's not possible at the moment, but that makes for a good technical challenge to be addressed. The ability to change the host that a cluster node is running on without having to "fail over" the cluster would be really handy - the cluster fail over time is usually somewhat longer than the few seconds of no connectivity caused by a vMotion.

Perhaps some of this is already addressed in vSphere 5.0?

Thanks!

0 Kudos
AlbertWT
Virtuoso
Virtuoso

Yes Robin,

It seems that when we are using VMware as MSCS nodes with Physical compatibility RDM we are just utilizing the compute resource on top of the Hypervisor because the benefits of VM like VMotion, HA and Snapshot is no longer available to the nodes associated.

But a for using Paravirtual SCSI controller and VMXNet3 vNIC it is all supported, Alex Fontana book "Virtualizing Microsoft Tier 1 Applications with VMware vSphere 4" always use those Paravirtual virtual hardware in the step by steps instruction so it is supported by VMware and recommended for the best performance.

My next question is:

Is it possible to use VCenter deployed Thick VMDK disk as HardDisk for VM with MSCS feature enabled ? because it requires SCSI bus sharing "Physical" compatibility mode, by default it will cause in the VM failed to turn on http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=103357...

it seems it is yes it can be done but with this way: http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=100349...

/* Please feel free to provide any comments or input you may have. */
0 Kudos
prasadsv
Enthusiast
Enthusiast

You can deploy Thick VMDK from vCenter.If you select "Support clustering features such as Fault tolerance"  for the VMDK,a eagerzeroedthick disk will be deployed.If not, zeroedthick disk will be deployed.But you cannot share the SCSI bus with "Physical" compatibility.Because clustering using VMDK disk is supported only if both the MSCS VM's resides on a single host i.e Cluster in a box.So you need to share the SCSI bus with "Virtual" compatibility mode if you are planning to deploy Microsoft clustering with VMDK's.

For more details refer to pages 15 to 18 in the pdf uploaded.

0 Kudos