VMware ESXi works with storage arrays that provide storage acceleration features, which boosts performance but...
demands less processor, memory and storage network bandwidth.
Storage acceleration involves the use of specialized hardware to offload various storage-related operations from the server or other host system. Those operations are often redirected to a suitable block, Fibre Channel, iSCSI or network-attached storage (NAS) device or subsystem.
VMware storage acceleration can allow an ESXi host to quickly thick provision virtual disks -- or allocate all the requested storage capacity upfront -- create and copy thickly provisioned disks on data stores, deploy a VM from a template, and clone or deploy virtual machines from templates. Storage acceleration can also boost virtual machine migration with vMotion, assist with VMware Virtual Machine File System cluster and metadata operations for virtual machine file images, and accelerate the creation of fault-tolerant VMs.
Storage acceleration for block vs. NAS subsystems
Consider the behaviors of some storage hardware acceleration features. Acceleration enables a block storage subsystem to create a full copy of a data store without the need for a host ESXi system to first read or write data. This reduces the amount of traffic on the storage network, as well as the amount of work that the host system must perform to create a data copy for tasks such as vMotion.
Acceleration also handles block zeroing, which enables faster formatting and storage provisioning for new VMs. Finally, hardware-assisted locking -- dubbed atomic test and set or ATS -- can enable VM locking on a per-sector basis, which is more efficient and convenient than locking the entire logical unit number using SCSI reservations.
NAS storage subsystems using VMware vSphere Storage APIs for Array Integration (VAAI) plug-ins can also clone full files, reserve storage space for thick provisioning to create thick virtual disks on network file system (NFS) data stores, handle snapshots directly on the storage array, and report storage usage and available space for thin provisioning tasks.
Storage acceleration requires a suitable ESXi host system and storage subsystem. Host systems using VMware ESXi version 6.0 and later support storage acceleration in block and NAS devices, though the minimum requirements are typically light. Block storage devices must support the T10 SCSI standard or use block storage plug-ins, such as VAAI. NAS devices solely rely on NAS plug-ins because NFS 4.1 does not natively support hardware acceleration.
It's important to review the storage area network or NAS architecture in the infrastructure and identify any storage-related devices working between the host and storage subsystem. Intermediate devices, including storage virtualization, encryption, I/O acceleration and other storage-related appliances, must also support storage hardware acceleration. Administrators planning to implement hardware acceleration should examine VMware hardware support documentation to determine whether specific devices are certified to support acceleration features.
Storage hardware acceleration is not a perfect system because there are many exceptions that can affect the ESXi host, storage subsystem and the data being handled. For example, acceleration will not occur when the source and destination data stores exhibit differing characteristics, such as different block sizes, raw device mapping (RDM) versus non-RDM file types, thick versus thin provisioned virtual machine disks, or if the source and destination are located on different storage arrays.
It's important to test storage acceleration features before deploying the capabilities to production and to re-examine those acceleration behaviors as changes occur within the network and storage infrastructures.
Compare VMware thin and thick provisioning
When should you use raw device mapping?
How to keep track of SSD lifespan in ESXi
Dig Deeper on Selecting storage and hardware for VMware environments
Related Q&A from Stephen J. Bigelow
Regression tests and UAT ensure software quality and both require a sizeable investment. Learn when and how to perform each one, and some tips to get... Continue Reading
Learn the meaning of functional vs. nonfunctional requirements in software engineering, with helpful examples. Then, see how to write both and build ... Continue Reading
Just because software passes functional tests doesn't mean it works. Dig into stress, load, endurance and other performance tests, and their ... Continue Reading