Created on Jun 9, 2019
Introduction
This post describes the procedure of how to configure NVIDIA network device into and from VMDirectPath I/O passthrough mode on VMware ESXi 6.x.
References
- NVIDIA ConnectX-4/ConnectX-5 NATIVE ESXi Driver for VMware vSphere 6.5 User Manual
- NVIDIA ConnectX-4/ConnectX-5 NATIVE ESXi Driver for VMware vSphere 6.7 User Manual
- ConnectX® Ethernet Driver for VMware® ESXi Server
- vSphere Command-Line Interface Concepts and Examples
About VMDirectPath I/O passthrough devices
The supported maximums for passthrough devices per VMs are:
- ESXi 6.5: 16 Devices
- ESXi 6.7: 16 Devices
Configuring passthrough NVIDIA network device
Before configuring a device for PCI Passthrough, ensure that platform and device meets the PCI Passthrough requirements, see VMware vSphere VMDirectPath I/O: Requirements for Platforms and Devices (2142307).
To configure passthrough devices on an ESX/ESXi host:
1. Select an ESXi host from the Inventory of VMware vSphere Client.
2. Enter Maintenance Mode the ESXi host.
3. In the Navigator click Manage, Hardware and PCI Devices. The passthrough Configuration page lists all available pass-through devices.
4. Select the devices and click Toggle passthrough.
5. Reboot host for the change to take effect. After rebooting, the devices are marked with a green icon and are enabled.
The PCI slot number where the device was connected is 02:00.1. It is recorded as:
/device/00000:002:00.1/owner = = "passthru"
6. To verify in:
UI:
a. Select an ESX\ESXi host from the Inventory of VMware vSphere Client.
b. In the Navigator click Manage, Hardware and PCI Devices. The passthrough Configuration page lists all available pass-through devices.
c. Verify:
In CLI:
a. Enable SSH Access to ESXi server.
b. Log into ESXi vSphere Command-Line Interface with root permissions.
c. View the /etc/vmware/esx.conf file by changing the owner of the PCI device from passthru to vmkernel.
# vi /etc/vmware/esx.conf
Find /device/<PCI_ID>/owner = "passthru"
.
d. Check that:
/device/00000:002:00.1/owner = = "passthru"
7. Reboot the ESXi host.
8. Exit Maintenance Mode the ESXi host.
To configure a PCI device on a virtual machine:
1. From the Navigator in vSphere Client, right-click the virtual machine and click Edit Settings.
2. Select the Virtual Hardware tab.
3. Click Add other device.
Choose the PCI Device.
Click Save.
Configuring non-passthrough NVIDIA network device
To force the change to non-passthrough mode, complete these steps:
Enable SSH Access to ESXi server.
Log into ESXi vSphere Command-Line Interface with root permissions.
Enter Maintenance Mode the ESXi host.
Edit the /etc/vmware/esx.conf file by changing the owner of the PCI device from passthru to vmkernel.
ESXi Console# vi /etc/vmware/esx.conf
Find
/device/<PCI_ID>/owner = "passthru"
. Write:ESXi Console/passthru
- Change from:
/device/00000:002:00.1/owner = = "passthru"
Change to:
/device/00000:002:00.1/owner = = "vmkernel"
7. Reboot the ESXi host.
8. Verify.
# lspci | grep Mellanox 0000:02:00.0 Network controller: Mellanox Technologies MT28800 Family [ConnectX-5 Ex] [vmnic2] 0000:02:00.1 Network controller: Mellanox Technologies MT28800 Family [ConnectX-5 Ex] [vmnic3]
9. Exit Maintenance Mode the ESXi host.
Done!
Authors
Boris Kovalev Boris Kovalev has worked for the past several years as a Solutions Architect, focusing on NVIDIA Networking/Mellanox technology, and is responsible for complex machine learning, Big Data and advanced VMware-based cloud research and design. Boris previously spent more than 20 years as a senior consultant and solutions architect at multiple companies, most recently at VMware. He has written multiple reference designs covering VMware, machine learning, Kubernetes, and container solutions which are available at the Mellanox Documents website.
Related Documents