VMware Paravirtual SCSI Adapter (PVSCSI)

For virtual machines with high disk I/O requirements, such as Tier 1 SQL Servers, you should consider configuring the VM with the VMware Paravirtual SCSI Adapter (PVSCSI).

The PVSCSI adapter was introduced in ESX/ESXi 4.0 and is virtualisation aware. It provides greater performance and uses less CPU cycles than the LSI Logic SCSI adapters. This frees up CPU cycles within your virtual machines and hosts for other activities. Performance benchmarks suggest that using the PVSCSI adapter instead of the LSI Logic adapter will generate approximately 10% improvement in I/O throughput and a 30% reduction in CPU usage. Of course this is dependent on the workload and you may experience higher or lower amounts of improvement.

The driver for the PVSCSI adapter is included as part of the VMware Tools package so you need to have VMware Tools installed to be able to use it. You can use the PVSCSI adapter for your boot device. The following VMware Knowledgebase article details which versions of ESX/ESXi are required when using the PVSCSI adapter with various Operating Systems kb.vmware.com/kb/1010398. If you are installing Windows 2008 or 2012 onto a vDisk using the PVSCSI adapter then you need to supply the driver as part of the installation process, the VM will need a floppy drive configured on it so that the pvscsi-Windows2008.flp image can be attached from the ESXi vmimages folder. Note that the 2008 image is also used for Windows 2012.

VMware do not recommend this adapter for direct attach storage (DAS) but do for SAN environments with I/O intensive applications.

There was an issue with vSphere 4.0 resulting in slower performance when using the PCSCSI adapter with low numbers of I/O requests. This was rectified in vSphere 4.1, details are in this VMware Knowledgebase article kb.vmware.com/kb/1017652.

Hardware version 7 or greater is required to use the PVSCI adapter.

To add a PVSCSI adapter to an existing virtual machine:

  1. Edit the settings of the Virtual Machine
  2. From the Hardware tab click Add.
  3. Select SCSI Device and click Next.
  4. Select an unused device node on an unused SCSI controller, e.g. 1:0 if you only have a single SCSI controller currently configured on the VM.
  5. Click Finish.
  6. Click OK to save your changes.
  7. Edit the VM settings again.
  8. Select the new SCSI controller and click change type.
  9. Select VMware Paravirtual, click OK.
  10. Click OK to save your changes

PVCSCI adapters cannot be used when Microsoft Clustering is being used, for this the LSI Logic SAS controller needs to be used with Windows 2008 and newer or the LSI Logic Parallel adapter for older versions of Windows.

To maximise performance virtual disks should be distributed across multiple vSCSI adapters. A maximum of 4 vSCSI adapter can be configured per VM with a maximum of 15 vDisks per vSCSI adapter. By using multiple vSCSI adapters you open up more I/O queues. The following table shows the queue depths when using the PVSCSI adapters as compared to the LSI Logic SAS adapter

 

PVSCSI

LSI Logic SAS

Default Adapter Queue Depth

245

128

Maximum Adapter Queue Depth

1,024

128

Default Virtual Disk Queue Depth

64

32

Maximum Virtual Disk Queue Depth

256

32

You need to ensure that your backend storage systems can cope with the amount of I/O being generated from your VMs otherwise additional latency will be introduced at the storage device.

Windows Performance Monitor can be used to record the disk queue length for each disk and therefore allow you to tune the queue depth on the PVSCSI adapter to achieve the best possible performance. Note that you are unable to change the queue depths on the LSI Logic adapter. Details on modifying the queue depth can be found in this VMware knowledgebase article kb.vmware.com/kb/2053145.

This entry was posted in Configuration, VMware, vSphere. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *