vDCA550-Objective 2.2-1-Determine use cases for and applying VMware DirectPath I/O

VMWARE Direct path I/O is used to reduce the CPU impact by bypassing the underlying hypervisor. It allows VM to directly access the device on Physical server without the intervention of hypervisor or virtualization layer.

Direct Path I/O, which is often referred to as passthrough, allows the VM to have direct access to the NIC, which in turn allows the VM rather than the vmkernel to own and drive the NIC. Direct Path I/O can also be used for other types of adapters, such as graphic cards. 

Prerequisites

  1. To use VMDirectPath .you must have enabled Virtualization Technology for Directed I/O in BIOS.
    1. For Intel (VT-d)
    2. For AMD (IOMMU)
  2. VM Hardware Version should be 7 or later.
  3. Devices must be connected to the host and marked available for pass through
  4. Make sure you have the PCI device driver, if you’re OS does not support it. Because there is no virtual layer involved between it. Commonly most device drivers are bundled with the hypervisor and installed at the time of the installation of hypervisor later will be available to VM when it uses hypervisor layer.

NOTE: Use of the VMDirectPath disables many advanced VMware functions for the virtual machine such as VMotion, HA,Suspend and resume, Record and replay, FT, Memory overcommitment and page sharing, Hot add/remove of virtual devices, No Snapshot backup, so be careful before you start using VMDirect Path. 

Use Cases:

  • A legacy application that may be bound to the physical device
  • Can improve CPU performance for applications with a high packet rate
  • The main use case for implementing VMware Direct Path I/O for a NIC is to sup-port extremely heavy network activity within a VM

Configuring Pass-through devices

From Web Client: 

From Home-> Host and Clusters -> Select ESXi Server-> Manage->Settings->PCI Devices -> Click on Pensile sign to “Add or edit” Pass though PCI device.

vDCA550-Obj-2-2-usecaseforVmwaredirectpathio-01

From vSphere Classic Client:

Select the host -> Configuration -> Advance Settings -> Configure Pass-through

vDCA550-Obj-2-2-usecaseforVmwaredirectpathio-02

NOTE: The step to enable Direct path I/O on the above VM KB article is based on classic vSphere Client

Next Dialog box shows you the PCI devices which will be available for direct path configuration as highlighted. Select your desired PCI device.

vDCA550-Obj-2-2-usecaseforVmwaredirectpathio-03

As you can see. When you check the a device then its status will change from “Unavailable” to “available (Pending)” -> Click “OK”

NOTE: Make sure the device which you are selected in not in use.

vDCA550-Obj-2-2-usecaseforVmwaredirectpathio-04

If your selected devices is already in use then you will prompted below dialog box. Select your option accordingly.

vDCA550-Obj-2-2-usecaseforVmwaredirectpathio-05

Now your PCI devices have been added in Direct path as shown below. Next step is to reboot the host.

Webclient View:

vDCA550-Obj-2-2-usecaseforVmwaredirectpathio-06

vSphere Desktop client View:

vDCA550-Obj-2-2-usecaseforVmwaredirectpathio-07

When ESXi server is rebooted then this directPath I/O devices are available for use.

To configure a PCI device on a virtual machine:

From the Inventory in vSphere Client, right-click the virtual machine and click Edit Settings.

Click the “Virtual Hardware-> New Device -> Choose PCI Device -> Click “Add”.

Click “Ok”

vDCA550-Obj-2-2-usecaseforVmwaredirectpathio-08

A Little Tip: While adding if you got following message then its mean your device is not available yet. You may check the pass though configuration or make sure you rebooted the ESXi Server before adding it.

From:  Web Client

vDCA550-Obj-2-2-usecaseforVmwaredirectpathio-09

From:  Classic Desktop Client

PCI device is “unavailable”. Read the highlighted reason why it’s unavailable,

vDCA550-Obj-2-2-usecaseforVmwaredirectpathio-10

Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s