VMware VMDirectPath I/O

    Introduction

    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.

    VMDirectPath allows guest operating systems to directly access an I/O device, bypassing the virtualization layer. This direct path, or passthrough can improve performance for VMware ESXTM systems that utilize high-speed I/O devices, such as 10 Gigabit Ethernet.

     

    VMware unveils VMDirectPath technology, Intel to support it with Nehalem:

    http://www.dabcc.com/article.aspx?id=8474

    http://www.virtualization.info/2008/08/vmware-unveils-vmdirectpath-technology.html

     

    Intel releases new CPUs and NICs with nested page tables and I/O virtualization:

    http://www.virtualization.info/2009/03/intel-releases-new-cpus-and-nics-with.html

     

    -


    Configuration

    Configuring VMDirectPath I/O pass-through devices on an ESX host - http://kb.vmware.com/kb/1010789

    Configuration Examples and Troubleshooting for VMDirectPath - http://www.vmware.com/pdf/vsp_4_vmdirectpath_host.pdf

     

    Configuration Examples and Troubleshooting for VMDirectPath

     

    Configuring VMDirectPath IO with Cisco UCS and vSphere

     

    -


    Requirements

    • vSphere (well… common)

    • Intel Virtualization Technology for Directed I/O (VT-d)

    • AMD IP Virtualization Technology (IOMMU)

    • Devices must be connected to the host and marked available for pass through

    • VMs require hardware version 7

     

    VMDirectPath I/O is experimentally supported for the following Storage and Network I/O devices:

    • QLogic QLA25xx 8 Gb Fibre Channel adapters

    • Emulex LPe12000 8 Gb Fibre Channel adapters

    • LSI 3442e-R and 3801e (1068 chip based) 3 Gb SAS adapters

    • Intel 82598 10 Gigabit Ethernet controller

    • Broadcom 57710 and 57711 10 Gigabit Ethernet controllers

     

    VMware regularly adds support for new hardware. Check on HLC: http://www.vmware.com/resources/compatibility/search.php

    Note that the VMware HCL describes servers, which are compatible to DirectPath - however the HCL does not document adapters, which can be used with this technology.

    The "Configuration Examples and Troubleshooting for VMDirectPath" document covers a number of adapters - but seems to be a bit outdated.

     

    -


    Limitations

    When using VMDirectPath you lose following features:

    • VMotion

    • Storage VMotion

    • FT

    • Device hot add

    • Suspend and resume

    • Record and replay

     

    -


    USB virtualization

    If your server has support for device pass-through you may be able to provide USB access to Virtual Machines:

    Enable USB Support for ESXi with VMDirectPath - http://vm-help.com/esx40i/VMDirectPath/USB_Setup.php

    VMware ESXi4 and VMDirectPath - http://www.petri.co.il/vmware-esxi4-vmdirectpath.htm

     

    Note that you give (if it works...) the entire USB chipset... so all the USB devices to a single VM!

     

    -


    Sources

    Introduction from SimonLong Blog

    http://www.simonlong.co.uk/blog/2009/08/03/vmware-vmdirectpath-io/

     

    VMDirectPath? Paravirtual SCSI? – vSphere VM Options and You!

    http://professionalvmware.com/2009/08/vmdirectpath-paravirtual-scsi-vsphere-vm-options-and-you/