Determine use cases for and configure VMware DirectPath I/O

Summary

vSphere DirectPath I/O allows a guest operating system on a virtual machine to directly access physical PCI and PCIe devices connected to a host. This action gives you direct access to devices such as high-performance graphics or sound cards. You can connect each virtual machine to up to six PCI devices.

You configure PCI devices on the host to make them available for pass-through to a virtual machine. See the vSphere Networking documentation.

When PCI vSphere DirectPath I/O devices are available to a virtual machine, you cannot suspend, migrate with vMotion, or take or restore Snapshots of such virtual machines.

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

VMware recommends using DirectPath I/O only for workloads with very high packet rates, where CPU savings from DirectPath I/O may be needed to achieve desired performance.

Limitations

The following features are unavailable for virtual machines configured with DirectPath:

  • Hot adding and removing of virtual devices
  • Suspend and resume
  • Record and replay
  • Fault tolerance
  • High availability
  • DRS (limited availability. The virtual machine can be part of a cluster, but cannot migrate across hosts)
  • Snapshots

Cisco Unified Computing Systems (UCS) through Cisco Virtual Machine Fabric Extender (VM-FEX) distributed switches support the following features for migration and resource management of virtual machines which use DirectPath I/O:

  • vMotion
  • Hot adding and removing of virtual devices
  • Suspend and resume
  • High availability
  • DRS
  • Snapshots

Prerequisites

  • To use DirectPath, verify that the host has Intel Virtualization Technology for Directed I/O (VT-d) or AMD I/O Virtualization Technology (IOMMU) enabled in the BIOS.
  • Verify that the PCI devices are connected to the host and marked as available for pass-through. However, if your ESXi host is configured to boot from a USB device, you should disable the USB controller for pass-through. VMware does not support USB controller pass-through for ESXi hosts that boot from USB devices or SD cards connected through USB channels. For more information, see http://kb.vmware.com/kb/2068645
  • Verify that the virtual machine is compatible with ESXi 4.x and later.

Configuring pass-through devices

To configure pass-through devices on an ESX/ESXi host using the Web Client:

image_thumb[1]

Select an ESX\ESXi host from the Inventory Lists of VMware vSphere Web Client.

image_thumb[5]

In the PCI Devices tab, click the pencil to bring up the PCI Device Availability screen.

image_thumb[9]

Select the devices and click OK. Note that the device won’t be available until the host is rebooted.

image_thumb[11]

Clicking on the summary of the host we can see that the host requires a reboot.

Note: The configuration changes are saved in the /etc/vmware/esx.conf file.

image_thumb[13]

The PCI slot number where the device was connected is 00:1A:0. It is recorded as: /device/000:000.26.0/owner = "passthru"

Note: 26 is the decimal equivalent of the hexadecimal 1A.

To configure pass-through devices on a virtual machine using the Web Client

From the Inventory in vSphere Web Client, ensuring that the VM is powered off right-click the virtual machine and click Edit Settings.

image_thumb[15]

Click the New Device tab and choose PCI Device, click Add

image_thumb[18]

We get warnings about the memory reservation not being set.

image_thumb[20]

image_thumb[22]

We now have all 4GB reserved for the VM.

Official Documentation

vSphere Virtual Machine Administration Guide v5.5

vSphere Networking Guide

Configuring VMDirectPath I/O pass-through devices on a VMware ESXi 5.5 host

Leave a Reply

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