Home Datacenter VMDirectPath & Paravirtual SCSI , Confused?

VMDirectPath & Paravirtual SCSI , Confused?

by Roger Lund

Cody at Professional VMware has a nice write up on VMDirectPath and Paravirutal SCSI, titled : VMDirectPath? Paravirtual SCSI? – vSphere VM Options and You!

“This post comes because I am just as confused as the rest of you when it comes to the options available in some of these new vSphere interfaces. I figure it best to take a look at some of the options, and figure when it is best to move away from defaults and start tuning things just right.

This one is another post that originated from the great Mr. @rogerlund.

Specifically Mr. Lund asked me to answer the following three questions: “Which applications would be good for Paravirtual SCSI? Which for VMDirectPath? And; How do we choose?”

Paravirtual SCSI (PVSCSI)

Part (most) of the when & why for PVSCSI is provided in the quote from above. You use PVSCSI when you need a high performance virtual storage adapter. What does this mean? It means you will not use this for your AD server, or print server. You also generally will not use this on local storage, or DAS (Direct Attached Storage).

When would you use it? Well, I’m glad you asked. Remember that database that you were not virtualizing, because of it’s high IO requirement? That graphics rendering app for marketing that let the magic blue smoke out of your last SAN array? These are good candidates for PVSCSI.


This here, is where we answer the when and why, for VMDirectPath. VMDirectPath is quite a bit different than PVSCSI, but no less cool. It allows VMs to directly access PCI(e) devices. Up to two per VM. Now why would you want to do that? Wasn’t hardware abstraction one of the beauties of virtualizing your environment? Remember that security appliance? The one that corporate security insists be physical as it has this oddball entropy card? That goes here.

I only quoted a couple key parts, please refer to the full post to read the full article http://professionalvmware.com/2009/08/17/vmdirectpath-paravirtual-scsi-vsphere-vm-options-and-you/

Thanks to Cody for writing this up!

I did want to cover the steps on setting both of these up. The following steps are taken from the VMware vSphere Online Library.

Add a Paravirtualized SCSI Adapter

Paravirtual SCSI (PVSCSI) adapters are high-performance storage adapters that can provide greater throughput and lower CPU utilization. PVSCSI adapters are best suited for environments, especially SAN environments, running I/O-intensive applications. PVSCSI adapters are not suited for DAS environments.


An existing virtual machine with a guest operating system and VMware Tools installed. Paravirtual SCSI adapters do not support bootable disk. Therefore, the virtual machine must be configured with a primary SCSI adapter to support a disk where the system software is installed.


  1. Right-click on the virtual machine and select Edit Settings.
  2. Click Add.
  3. Select SCSI Device and click Next.
  4. Select a SCSI device.
  5. Select an unused Virtual Device Node.
  6. Click Next.
  7. Review your selections and click Finish.
  8. A new SCSI device and a new SCSI controller are created.
  9. Select the new SCSI controller and click Change Type.
  10. Select VMware Paravirtual and click OK.

Add a PCI Device

VMDirectPath I/O allows a guest operating system on a virtual machine to directly access physical PCI and PCIe devices connected to a host. Each virtual machine can be connected to up to two PCI devices.

PCI devices connected to a host can be marked as available for passthrough from the Hardware Advanced Settings in the Configuration tab for the host.


To use VMDirectPath, the host must have Intel® Virtualization Technology for Directed I/O (VT-d) or AMD I/O Virtualization Technology (IOMMU) enabled in the BIOS. In order to add PCI devices to a virtual machine, the devices must be connected to the host and marked as available for passthrough. In addition, PCI devices can be added only to virtual machines with hardware version 7.


  1. Select the virtual machine from the inventory panel and click Virtual Machine > Edit Settings.
  2. On the Hardware tab, click Add.
  3. In the Add Hardware wizard, select PCI Device and click Next.
  4. Select the passthrough device to connect to the virtual machine from the drop-down list and click Next.
  5. Click Finish.

With Cody’s Write up, and the above directions, we should be set, have fun playing!

Roger L.

You may also like