VAAI (vSphere Storage APIs for Array Integration) The vSphere Storage APIs are a set of technologies and interfaces that enable vSphere to leverage storage resources to deliver the efficiency, control, and ease of customization that clients demand of their virtual environment. The vSphere Storage APIs for Array Integration (VAAI) is one of these technologies. Under the VAAI initiative, APIs have been introduced to improve performance, resource utilization, and scalability by leveraging more efficient array-based operations.
vSphere 5 and 6 provide enhanced support for the T10 SCSI standard without the need to install a plug-in, enabling vSphere to directly utilize more advanced features of the storage array. Native T10 support is built into HPE 3PAR OS 3.1.1 and greater, allowing the ESXi host to communicate directly to HPE 3PAR StoreServ Storage without a VAAI plug-in.
Some of the important hardware primitives that VAAI enables are documented below:
Hardware Assisted Locking eliminates SCSI reservation contention by providing a fast, fine-grained locking mechanism. The ATS (“Atomic Test and Set”) command verifies that a block of metadata is what is expected (test) and then replaces it with an updated block (set) in a single, atomic operation. Using this command, the ESXi host can lock a portion of a LUN related to a single VM instead of locking the whole LUN as seen inFigure 9, thereby allowing other VMs on the same LUN to continue operating normally. The implementation of ATS on HPE 3PAR StoreServ Storage arrays uses the HPE 3PAR StoreServ ASIC to further improve performance. The combination of ATS and the HPE 3PAR StoreServ ASIC allows an increase in VM density per LUN and greater scalability for vSphere deployments.
Fast Copy uses the XCOPY command to improve the performance of common storage operations, such as VM cloning and Storage vMotion,by performing large data movement operations directly within the storage array. By not requiring each block to make a round-trip to the host,the time required for these operations is significantly reduced and storage network traffic minimized. When combined with HPE 3PAR Thin Persistence Software, drive I/O and storage capacity can also be reduced since blocks of zeros are not written due to the array’s Zero Detect capability, which is integrated into the HPE 3PAR StoreServ ASIC.Block Zeroing uses the standard SCSI command WRITE_SAME to offload large, block-level write operations of zeros from the host to the storage array. Block zeroing improves host performance and efficiency when allocating or extending Eager Zeroed Thick (EZT) virtual disks, or on initial access to a block on a non-EZT virtual disk. When combined with built-in Zero Detect and EZT virtual disks, storage array bandwidth, disk I/O bandwidth, and disk consumption is minimized. Initializing EZT virtual disks in seconds rather than minutes eliminates the tradeoff between fast VM creation and more predictable run-time performance
HPE 3PAR storage system supports VAAI using the “esxcli storage core device list” command
VAAI UNMAP command
With vSphere 6.5, UNMAP commands may be issued by the guest OS (with the restrictions listed below), and no CLI operations are necessary to reclaim space when these conditions are met.
UNMAP is a SCSI primitive that allows VMFS to communicate to the storage target that certain blocks are no longer used on a LUN backing a datastore. Using the UNMAP command, vSphere can issue a command to the storage array to deallocate blocks of storage freed by vSphere,for example from a deletion of a VM, and return it to the storage array’s resource pool without the involvement of a storage administrator.
For vSphere 6, it is now possible for a guest OS to issue an UNMAP command to reclaim space. There are several prerequisites that must be metto allow UNMAP to run:
• The VMDK for the VM must be thin provisioned.
• The VM hardware version must be 11 (ESXi 6.0).
• The ESXi host advanced setting EnableBlockDelete must be set to 1.
• The guest OS must be able to identify the disk as thin.
Note : Windows 2008 and above is able to detect that the disk is thin provisioned.
SPC-4 SCSI command support was added in vSphere 6.5, allowing UNMAP commands to work with compatible Linux guest filesystems.UNMAP priority can be configured via the GUI or CLI: esxcli storage VMFS reclaim configuration set
UNMAP priority configuration via the GUI