In the VMware Host Client, you can add various controllers to virtual machines, such as USB controllers, SCSI controllers, Paravirtual SCSI controllers, and SATA controllers. You can also change the SCSI Bus sharing configuration and the SCSI controller type.

Add a USB Controller to a Virtual Machine

To support USB passthrough from an ESXi host or from a client computer to a virtual machine, you can add a USB controller to the virtual machine.

In the vSphere Client, you can add one xHCI controller and one EHCI+UHCI controller.
  • From hardware version 11 to hardware version 16, the supported number of root hub ports per xHCI controller is eight (four local USB 3.1 SuperSpeed ports and four logical USB 2.0 ports).
  • From hardware version 17 to hardware version 20, the supported number of root hub ports per xHCI controller is eight (four local USB 3.1 SuperSpeedPlus ports and four logical USB 2.0 ports).
  • With hardware version 21, the supported number of root hub ports per xHCI controller is eight (four local USB 3.2 Gen 2x2 ports and four logical USB 2.0 ports).

The conditions for adding a controller vary, depending on the device version, the type of passthrough (host or client computer), and the guest operating system.

Table 1. USB Controller Support
Controller Type Supported USB Device Version Supported for Passthrough from ESXi host to a VM Supported for Passthrough from Client Computer to a VM
EHCI+UHCI 2.0 Yes Yes
xHCI 3.2, 3.1, 2.0 Yes

USB 3.2, 3.1, and 2.0

Yes

Windows 8 or later, Windows Server 2012 and later, or a Linux guest operating system with a 2.6.35 or later kernel.

For Mac OS X systems, the EHCI+UHCI controller is enabled by default and is required for аccess to a USB mouse and keyboard.

For virtual machines with Windows or Linux guest operating systems, you can add one or two controllers of different types. You cannot add two controllers of the same type.

For USB passthrough from an ESXi host to a virtual machine, the USB arbitrator can monitor a maximum of 15 USB controllers. If your system includes more than 15 controllers and you connect USB devices to them, the devices are not available to the virtual machine.

Prerequisites

  • Verify that the ESXi host has USB controller hardware and modules that support USB 3.2, 2.0, and 3.1 devices.
  • Verify that the client computers have USB controller hardware and modules that support USB 3.2, 2.0, and 3.1 devices present.
  • To use the xHCI controller on a Linux guest operating system, verify that the Linux kernel version is 2.6.35 or later.
  • Verify that the virtual machine is powered on.
  • Required Privilege ( ESXi host passthrough): Virtual Machine.Configuration.Add or Remove Device.

Procedure

  1. Right-click a virtual machine from the vSphere inventory and select Edit Settings.
  2. On the Virtual Hardware tab, click Add New Device and from the drop-down menu select USB Controller.
    The controller appears in the Virtual Hardware devices list.
  3. To change the USB controller type, expand New USB Controller.
    If compatibility errors appear, you must fix them before you can add the controller.
  4. Click OK.

What to do next

Add one or more USB devices to the virtual machine.

Add SCSI Controllers in the VMware Host Client

You can add SCSI controllers to an existing virtual machine by adding hard disks on unused SCSI Bus numbers.

Adding a new hard disk on an unused SCSI Bus number creates a new SCSI controller.

Prerequisites

Power off the virtual machine.

Procedure

  1. Click Virtual Machines in the VMware Host Client inventory.
  2. Right-click a virtual machine in the list and select Edit settings from the pop-up menu.
  3. On the Virtual Hardware tab, select Add hard disk and select New hard disk from the drop-down menu.
  4. Expand the hard disk to view all options.
  5. In the Controller location section, select an unused SCSI Bus number from the drop-down menu.
    For example, bus and device numbers 0:0 - 0:15 are used by the initial SCSI controller. The second SCSI controller uses bus and device numbers 1:0 - 1:15.
  6. Click Save.

Results

The new hard disk and new SCSI controller are simultaneously created.

Change the SCSI Bus Sharing Configuration in the VMware Host Client

You can set the type of SCSI bus sharing for a virtual machine and indicate whether to share the SCSI bus. Depending on the type of sharing, virtual machines can access the same virtual disk simultaneously on the same server or on any server.

You can change the SCSI controller configuration for a virtual machine only if the virtual machine is on an ESXi host.

Prerequisites

Power off the virtual machine.

Procedure

  1. Click Virtual Machines in the VMware Host Client inventory.
  2. Right-click a virtual machine in the list and select Edit settings from the pop-up menu.
  3. On the Virtual Hardware tab, expand the SCSI Controller that you want to edit.
  4. Select the type of sharing in the SCSI Bus Sharing list.
    Option Description
    None

    Virtual disks cannot be shared by other virtual machines.

    Virtual

    Virtual disks can be shared by virtual machines on the same server.

    Physical

    Virtual disks can be shared by virtual machines on any server.

  5. Click Save.

Change the SCSI Controller Type in the VMware Host Client

You can attach virtual disks and RDMs to virtual machines by configuring virtual SCSI controller on the virtual machines.

The choice of SCSI controller does not affect whether your virtual disk is an IDE or SCSI disk. The IDE adapter is always ATAPI. The default for your guest operating system is already selected. Older guest operating systems have BusLogic adapter as their default controller.

If you create an LSI Logic virtual machine and add a virtual disk that uses BusLogic adapters, the virtual machine boots from the BusLogic adapters disk. LSI Logic SAS is available only for virtual machines with hardware version 7 or later. Disks with snapshots might not experience performance gains when used on LSI Logic SAS, VMware Paravirtual, and LSI Logic Parallel adapters.

Caution: Changing the SCSI controller type might result in a virtual machine boot failure.

Prerequisites

Power off the virtual machine.

Procedure

  1. Click Virtual Machines in the VMware Host Client inventory.
  2. Right-click a virtual machine in the list and select Edit settings from the pop-up menu.
  3. Click the Virtual Hardware tab and expand a SCSI controller.
  4. Select a SCSI controller type from the drop-down menu.
  5. Click Save.

About VMware Paravirtual SCSI Controllers

VMware Paravirtual SCSI controllers are high performance storage controllers that can result in greater throughput and lower CPU use. These controllers are best suited for high performance storage environments.

VMware Paravirtual SCSI controllers are available for virtual machines with ESXi 4.x and later compatibility. Disks on such controllers might not experience optimal performance gains if they have snapshots or if memory on the ESXi host is over committed. This behavior does not mitigate the overall performance gain of using VMware Paravirtual SCSI controllers as compared to other SCSI controller options.

For platform support for VMware Paravirtual SCSI controllers, see the VMware Compatibility Guide at http://www.vmware.com/resources/compatibility.

Add a Paravirtual SCSI Controller in the VMware Host Client

You can add a VMware Paravirtual SCSI high performance storage controller to provide greater throughput and lower CPU utilization.

VMware Paravirtual SCSI controllers are best suited for environments, especially SAN environments, that run I/O-intensive applications.

Prerequisites

  • Verify that the virtual machine has a guest operating system with VMware Tools installed.
  • Verify that the virtual machine has hardware version 7 or later.
  • Familiarize yourself with VMware Paravirtual SCSI limitations. See vSphere Virtual Machine Administration.
  • To access boot disk devices attached to a VMware Paravirtual SCSI controller, verify that the virtual machine has a Windows 2003 or Windows 2008 guest operating system.
  • In some operating systems, before you change the controller type you must create a virtual machine with an LSI Logic controller and install VMware Tools.

Power off the virtual machine.

Procedure

  1. Click Virtual Machines in the VMware Host Client inventory.
  2. Right-click a virtual machine in the list and select Edit settings from the pop-up menu.
  3. On the Virtual Hardware tab, click Add other device and select SCSI Controller from the drop-down menu.
    The new SCSI Controllers appear in the Hardware list.
  4. Click the New SCSI Controller and select VMware Paravirtual from the drop-down menu.
  5. Click Save.

Add a SATA Controller to a Virtual Machine in the VMware Host Client

If a virtual machine has multiple hard disks or CD/DVD-ROM devices, you can add up to three additional SATA controllers to assign the devices to. When you assign the devices to different controllers, you can improve performance and avoid data traffic congestion. You can also add controllers if you need to exceed the thirty-device limit for a single controller.

You can boot virtual machines from SATA controllers and use them for large-capacity virtual hard disks.

Not all guest operating systems support AHCI SATA controllers. Typically, when you create virtual machines with ESXi 5.5 and later compatibility and Mac OS X guest operating systems, a SATA controller is added by default for the virtual hard disk and CD/DVD-ROM devices. Most guest operating systems, including Windows Vista and later, have a default SATA controller for CD/DVD-ROM devices. For verification, see the appropriate VMware Compatibility Guide at http://www.vmware.com/resources/compatibility.

Prerequisites

  • Verify that the virtual machine compatibility is ESXi 5.5 and later.
  • Verify that you are familiar with storage controller behavior and limitations. See vSphere Virtual Machine Administration.
  • Verify that you have the Virtual machine.Configuration.Add or remove device privilege on the virtual machine.
  • Power off the virtual machine.

Procedure

  1. Click Virtual Machines in the VMware Host Client inventory.
  2. Right-click a virtual machine in the list and select Edit settings from the pop-up menu.
  3. On the Virtual Hardware tab, select Add other device, and select SATA Controller from the drop-down menu.
    The SATA controller appears in the hardware list.
  4. Click Save.

Add an NVMe Controller in the VMware Host Client

If a virtual machine has multiple hard disks, you can add up to four virtual NVMe controllers to which to assign the disks. Using a NVMe controller significantly reduces the software overhead for processing guest OS I/O, as compared to AHCI SATA or SCSI controllers.

NVMe controllers perform best with virtual disks on an all-flash disk array, local NVMe SSD, and PMem storage.

Prerequisites

  • Verify that the virtual machine has a guest operating system that supports NVMe.
  • Verify that the virtual machine compatibility is ESXi 6.5 or later.
  • Verify that you are familiar with storage controllers behavior and limitations. For more information, see the Virtual Machine Administration guide.
  • Verify that you have the Virtual machine.Configuration.Add new disk privilege on the virtual machine.

Procedure

  1. Click Virtual Machines in the VMware Host Client inventory.
  2. Right-click a virtual machine in the list and select Edit settings from the pop-up menu.
  3. Under the Virtual Hardware tab, click the Add other device icon and select NVMe controller from the drop-down menu.

Results

A new NVMe controller is added to the virtual machine.

What to do next

You can add a hard disk to the virtual machine and assign it to the NVMe controller.