Storage virtualization
ESXi presents its storage to a VM using host-level storage virtualization techniques which essentially provide an abstraction layer between the actual physical storage, whether that is attached via a Storage Area Network (SAN), an Ethernet network or locally installed, and the virtual machines consuming the storage. This abstraction layer consists of many different components all working together to simulate that of a physical disk inside a virtual machine.
When a virtual machine is created, it will normally have at least one virtual disk assigned to it. When a virtual disk is assigned to a VM, a piece of virtual hardware called a virtual storage adapter is created in order to facilitate the communication between the VM and its underlying virtual hard disk (vmdk). The type of virtual storage adapter that is used greatly depends on the Guest Operating System setting that has been chosen for that specific VM (see the following table). This newly created SCSI adapter provides the interface between the OS and the VMkernel module on the ESXi host. The VMkernel module then locates the target file within the volume, maps the blocks from the virtual disk to the physical device, forwards the request through the Pluggable Storage Architecture, and finally queues the appropriate adapter on the ESXi host depending on the type of storage present (iSCSI NIC/Hardware Initiator, Fibre Channel Host Bus Adapters (FC HBA), NFS – NIC, or Fibre Channel over Ethernet (FCoE NIC/CNA)).
The following table outlines the various virtual SCSI adapters available:
Virtual SCSI adapter |
Supported VM hardware version |
Description |
OS support |
---|---|---|---|
BusLogic Parallel |
4,7,8,9,10 |
Emulates the BusLogic Parallel SCSI adapter. Mainly available for older operating systems. |
Default for most Linux operating systems. |
LSI Logic Parallel |
4,7,8,9,10 |
Emulates the LSI Logic Parallel SCSI adapter. Supported by most new operating systems. |
Default for Windows 2003/2003 R2. |
LSI Logic SAS |
7,8,9,10 |
Emulates the LSI Logic SAS adapter. Supported on most new operating systems. |
Default for Windows 2008/2008 R2/2012. |
VMware Paravirtual SCSI (PVSCSI) |
7,8,9,10 |
Purposely built to provide high throughput with a lower CPU overhead. Supported on select newer operating systems. |
No defaults, but is supported with Windows 2003+, SUSE 11+, Ubuntu 10.04+, and RHEL6+. |