In a virtualized environment, storage operations traditionally have been expensive from a resource perspective.
Functions such as cloning and snapshots can be performed more efficiently by the storage device than by
the host.
VMware vSphere® Storage APIs – Array Integration (VAAI), also referred to as hardware acceleration or
hardware offload APIs, are a set of APIs to enable communication between VMware vSphere ESXi™ hosts and
storage devices. The APIs define a set of “storage primitives” that enable the ESXi host to offload certain storage
operations to the array, which reduces resource overhead on the ESXi hosts and can significantly improve
performance for storage-intensive operations such as storage cloning, zeroing, and so on. The goal of VAAI is to
help storage vendors provide hardware assistance to speed up VMware® I/O operations that are more efficiently
accomplished in the storage hardware.
Without the use of VAAI, cloning or migration of virtual machines by the vSphere VMkernel Data Mover involves
software data movement. The Data Mover issues I/O to read and write blocks to and from the source and
destination datastores. With VAAI, the Data Mover can use the API primitives to offload operations to the array if
possible. For example, if the desired operation were to copy a virtual machine disk (VMDK) file from one
datastore to another inside the same array, the array would be directed to make the copy completely inside the
array. Whenever a data movement operation is invoked and the corresponding hardware offload operation is
enabled, the Data Mover will first attempt to use the hardware offload. If the hardware offload operation fails,
the Data Mover reverts to the traditional software method of data movement.
In nearly all cases, hardware data movement will perform significantly better than software data movement. It
will consume fewer CPU cycles and less bandwidth on the storage fabric. Improvements in performance can be
observed by timing operations that use the VAAI primitives and using esxtop to track values such as CMDS/s,
READS/s, WRITES/s, MBREAD/s, and MBWRTN/s of storage adapters during the operation.
In the initial VMware vSphere 4.1 implementation, three VAAI primitives were released. These primitives applied
only to block (Fibre Channel, iSCSI, FCoE) storage. There were no VAAI primitives for NAS storage in this
initial release.
In vSphere 5.0, VAAI primitives for NAS storage and VMware vSphere Thin Provisioning were introduced.
Notice: To protect the legitimate rights and interests of you, the community, and third parties, do not release content that may bring legal risks to all parties, including but are not limited to the following:
Politically sensitive content
Content concerning pornography, gambling, and drug abuse
Content that may disclose or infringe upon others ' commercial secrets, intellectual properties, including trade marks, copyrights, and patents, and personal privacy
Do not share your account and password with others. All operations performed using your account will be regarded as your own actions and all consequences arising therefrom will be borne by you. For details, see " User Agreement."