VMDirectPath I/O Basic Setup

July 9, 2012 2 By Eric Shanks

While I was studying for the VCAP-DCA I realized that many people might not have access to a lab that includes the capability to do VMDirectPath I/O.  My own lab is using nested ESXi hosts inside of VMware Workstation so I don’t have access to DirectPath either, but I was able to borrow some equipment in order to test my skills.

If you don’t have access to this type of equipment but want to study for the VCAP5-DCA, the below setup should suffice for you to learn it, as the setup is not very difficult.

Prerequisites

According to the vSphere 5 documentation there are several prerequisites that must be taken care of, before any VMDirectPath can be setup.

  • The virtual machine must be on hardware version 7 or later.
  •  Intel® Virtualization Technology for Directed I/O (VT-d) or AMD I/O Virtualization Technology (IOMMU) enabled in the BIOS of the host.
  • PCI Devices are connected to the host and marked for passthrough (we’ll do this in the example below)

http://pubs.vmware.com/vsphere-50/index.jsp?topic=%2Fcom.vmware.vsphere.install.doc_50%2FGUID-7C9A1E23-7FCD-4295-9CB1-C932F2423C63.html

Limitations

VMDirectPath has a few limitations and some of them are fairly painful for someone who has gotten used to the benefits of vSphere.  It’s my recommendation to not use VMDirectPath unless you absolutely need to do so for performance purposes.

  • *vMotion doesn’t work
  • no DRS (obviously since vMotion doesn’t work)
  • HA won’t work
  • VMware Snapshots are not supported
  • you can only use 6 PCI devices with VMDirectPath IO

* vMotion is supported in vSphere5 if you are using the Cisco UCS Fabrix Extender  http://pubs.vmware.com/vsphere-50/index.jsp?topic=%2Fcom.vmware.vsphere.networking.doc_50%2FGUID-F9E3ECA9-B00A-4C29-BDE3-D5418E922043.html

Setup

Open your vSphere Client and go to the host you want to configure DirectPath on and go to the configuration tab.  Click the “Advanced Settings” under Hardware.

If this is the first time you’ve setup DirectPath I/O, you won’t see any devices listed.  Click on the “Configure Passthrough…” hyperlink to take you to a list of devices that you can pass through to a virtual machine.

Here, you can pick from the PCI devices installed on your host machine.

Select the device that you’re configuring passthrough on and click ok.  Note: if you pick a device that ESXi is already using, you’ll be presented with a warning message.  This might be very useful in the event that you accidentally pick the wrong device.

Now that you’ve picked your device, it should show up in the configuration tab again.  However in the case below, it requires a reboot of the host before it will be available to virtual machines.

Fast forward a bit after a host reboot and we’ll now see that the PCI Device is now ready to be used.

The last step to setup the passthrough is to add the device to a virtual machine.  To do this we’ll add a device much like we add any other device to a VM. Right click the VM and choose edit settings.  The click Add… and chose the PCI device.  NOTE: your VM might need to be powered off to add a PCI device.

Add the PCI Device that you configured earlier for passthrough and it should then be visible in device manager of the virtual machine.