Storage controllers are needed to access virtual disks, CD/DVD-ROM and SCSI devices on a virtual machine. When you create a virtual machine, at least one storage controller will be added by default.
There are different types of controllers available and you can choose the type based on the guest operating system and application requirement.
Table of Contents
- Storage Controller Types
- Storage controller compatibility
- BusLogic
- LSI Logic
- LSI Logic SAS
- VMware Paravirtual (PVSCSI) Controllers
- AHCI SATA
- NVMe controller
- Storage Controller limitations
- Modify/Change Storage Controller configuration
- Add New Storage Controller
In this article, we will discuss the different types of storage controller available in VMware vSphere.
Storage Controller Types
There are different types of storage controllers available to configure with virtual machine
- BusLogic Parallel
- LSI Logic Parallel
- LSI Logic SAS
- VMware Paravirtual SCSI
- AHCI, SATA
- IDE
- NVMe
You can configure multiple storage controllers to handle different queues for the I/O request for specific virtual disks or virtual machines that require more performance. Each virtual machine can have a maximum of two IDE controllers, four SCSI controllers, four SATA controllers, and four NVMe controllers.
The default controller is number 0, for each type of controller and the first hard disk is assigned to the default controller 0 at the bus node (0:0) while creating a VM. After virtual machine creation, you can add additional controllers (in some cases you can also hot-add) or change the controller type (only cold operation).
Storage controller compatibility
There are some configurations required for different types of controllers. Storage controllers not only depends on the virtual hardware and the guest Operating system, but it also depends on the boot mode configuration.
Different types of storage controllers on virtual machines that use BIOS firmware can cause operating system boot problems and you may have to modify the boot setting in the BIOS to boot the VM correctly. And Adding additional disks to virtual machines that use EFI firmware does not cause boot problems.
Check the following table to understand the compatibility
BusLogic
One of the first emulated vSCSI controllers available on the VMware platform. The earliest versions of Windows have this driver available by default which made it easy when installing that particular OS. It wasn’t however as performant as the LSI Logic driver since Windows’ driver was limited to a queue depth of 1, so often one would manually load the LSI Logic driver instead. This is used in specific requirements and considered a legacy.
LSI Logic
This is another emulated vSCSI controller available in the VMware platform and most operating systems had a driver that supported a queue depth of 32 and it became a very common choice.
LSI Logic SAS
This is an evolution of the parallel driver to support a new future-facing standard. It began to grow popularity when Microsoft required its use for MCSC within Windows 2008 or newer.
VMware Paravirtual (PVSCSI) Controllers
This controller is virtualization-aware and has been designed to support very high throughput with minimal processing cost and is, therefore, the most efficient driver. These controllers are best suited for environments, especially SAN environments, running I/O-intensive applications.
Prerequisites
- Virtual machine compatibility is ESXi 4.x and later
- Virtual machine has a guest operating system with VMware Tools installed
- Ensure that you are familiar with the VMware Paravirtual SCSI controller type
- 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, create a virtual machine with an LSI Logic controller, install VMware Tools, and then change to paravirtual mode
This is the new storage controller available in vSphere 5.5 with virtual hardware 10 onwards. It allows you to connect a large amount of storage to a virtual machine, but it wasn’t designed to be as efficient as the PVSCSI or LSI Logic controllers and therefore should not be used with performance-sensitive applications.
Prerequisites
- Verify that the virtual machine compatibility is ESXi 5.5 and later
- Verify that you are familiar with storage controller behavior and limitations
NVMe controller is available from vSphere 6.5 with Hardware Version 13 onwards and you can add up to four virtual NVMe controllers and up to 15 devices per controller. NVMe is a logical device interface specification for accessing nonvolatile storage media attached through a PCI Express (PCIe) bus in real and virtual hardware. NVMe controller will significantly reduce 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
- Virtual machine compatibility is ESXi 6.5 , Virtual Hardware 13 or later
- Virtual machine has a guest operating system that supports NVMe
- Verify that you are familiar with storage controller behavior and limitations
Storage Controller limitations
Different types of Storage controllers have their limitations, find the below limitations
- LSI Logic SAS and VMware Paravirtual SCSI are available for virtual machines with ESXi 4.x and later compatibility
- AHCI SATA is available only for virtual machines with ESXi 5.5, Virtual Hardware 10 and later compatibility
- NVMe is available only for virtual machines with ESXi 6.5, Virtual Hardware 13 and later compatibility
- Disks on VMware Paravirtual SCSI controllers might not experience optimal performance gains if they have snapshots or if the host’s memory is overcommitted
- IDE does not provide disk hot add or disk space hot-add
- BusLogic Parallel controllers are not supported with virtual disks larger than 2 TB
Maximum number of disks supported by the controller type
Refer VMware Configuration Maximums for more
Modify/Change Storage Controller configuration
You can modify the controller configuration based on the type of controller. You have the flexibility to specify the SCSI controller type and set the type of SCSI bus sharing for the virtual machine to configure virtual disks and RDMs. Also, you can change the controller type connected to the virtual disk to another one.
Changing the controller type after the guest operating system is installed will make the disk and any other devices connected to the adapter inaccessible. Before you change the controller, type or add a new controller, make sure that the guest operating system installation media contains the necessary drivers. On Windows guest operating systems, the driver must be installed and configured as the boot drive. In such cases, you can add the new controller first to make sure drivers are installed on the VM and later change the controller type of disks.
Add New Storage Controller
You can follow the steps below to add a new storage controller to the virtual machine. Before adding the controller, you have to validate prerequisites required for each controller and limitation of controllers
Right-click a virtual machine and select Edit Settings.
On the Virtual Hardware tab, click on the ADD NEW DEVICE option and select the type of controller from the list, here we add SCSI controller
On the new SCSI controller, you can choose type
Select the SCSI bus sharing mode as per requirement
Once Controller is added, you can choose this controller to configure with new hard disk
Follow our Twitter and Facebook feeds for new releases, updates, insightful posts and more.