One of the most interesting new vSphere storage features in my opinion is the new virtual disk paravirtualized SCSI (PVSCSI) controller. It has been reported that improved I/O with as much as 18% reduction in ESX 4 host CPU usage can be achieved by switching to PVSCSI. The benefits of PVSCSI performance are twofold:
- Reduced data center power and cooling costs to when you consider the impact of tens of hosts not having to work as hard
- A potential higher VM to host consolidation ratio when more CPU cycles are available
For reference, EMC virtualization guru Chad Sakac provided a post that explains the PVSCSI performance benefits:
However, to take advantage of PVSCSI a VM virtual disk configuration might need to change. Because VMware does not support PVSCSI on the operating system boot partition, VMs will need to be configured with separate virtual disks(.vmdk) for the boot drive and the data drive(s). Note that all the posts and articles referenced mention that PVSCSI works on a .vmdk containing the boot partition. It’s just that VMware officially does not support it.
So, the challenge for using PVSCSI then is to migrate services and applications that exist on VMs that contain both the boot partition and the data on a single .vmdk. Although separate boot and data partitions are the defacto standard for physical servers, the convenience of VMs has lead to a single .vmdk configuration in a lot of IT shops.
Incentive to use PVSCSI therefore actually overlaps with a shift in VM deployment strategy and ultimately supports and provides performance reasons to adopt smaller, dedicated .vmdks for boot partitions. This multi .vmdk design change also has other benefits including optimization of deduplication and DR site replication technologies.
Here are some quick thoughts on deploying and migrating VMs to a multiple .vmdk configuration.
- Build a golden image VM template with multiple .vmdks, or change future VM deployment policy to include adding new .vmdks for installing applications and storing data.
- For VMs that already have separate partitions on a single .vmdk use VMware Converter or another tool to V2V to a new VM with separate .vmdks for each partition.
- When possible, make sure P2V migrations of physical servers result in a separate .vmdk for each partition
- Unfortunately, building new VMs and reinstalling the applications may be the only choice for existing implementations combined on a single partition .vmdk
Once the .vmdk configuration is ready, PVSCSI can be enabled following the processes explained in these posts:
Adding the PVSCSI adapter in vSphere —
For Windows VMs —
For Linux VMs —
The final question may be “is it worth the effort to migrate to a PVSCSI supporting configuration for all VMs”? The performance, consolidation, and cost savings factors would lead most virtual administrators to answer “yes”, but ultimately the decision will most likely be made on a VM by VM basis. There are some other factors to consider as well. For example, vSphere Fault Tolerance cannot be enabled on a VM using PVSCSI.
VMware’s PDF on the new vSphere storage features can be found at http://www.vmware.com/files/pdf/VMW_09Q1_WP_vSphereStorage_P10_R1.pdf.