What is a VAAI primitive and what are its limitations?
Applies to
- Clustered Data ONTAP 8
- Data ONTAP 7 and earlier
- FlexPod
Answer
What is a VAAI primitive and what are its limitations?
VAAI primitive:
As of ESX/ESXi 4.1, VAAI consists of three components that VMware refers to as primitives. A primitive is the underlying technology that a higher-level feature or use case can call. In turn, the primitive can perform a function or request that the function be performed on the storage device on behalf of the primitive. These primitives are as follows:
• Full Copy
• Block Zeroing
• Hardware-Assisted Locking
Nowadays, the VAAI use case, primitive, SCSI command or CDB, and even some storage vendor terms have been used almost interchangeably. The figure below clarifies the terminology.
Starting from ESXi 5.x, support for NAS Hardware Acceleration is included with support for these primitives:
- Full File Clone – Like the Full Copy VAAI primitive provided for block arrays, this Full File Clone primitive enables virtual disks to be cloned by the NAS device.
- Native Snapshot Support – Allows creation of virtual machine snapshots to be offloaded to the array.
- Extended Statistics – Enables visibility to space usage on NAS datastores and is useful for Thin Provisioning.
- Reserve Space – Enables creation of thick virtual disk files on NAS.
Note: VAAI for NFS requires clustered Data ONTAP 8.1 or later or Data ONTAP 8.1.1 7-Mode.
Also, in ESXi 5.x, a new primitive called Thin Provisioning Block Space Reclamation (UNMAP) has been added. For more information on UNMAP, see Reclaiming VMFS deleted blocks on Thin Provisioned LUNs.
Take into consideration the potentials for controller performance implications if a large number or percentage of UNMAP requests occur simultaneously; it is advised that UNMAP is triggered in smaller operation sizes manually. For more information, see this link.
In case you need to manually disable UNMAP on ESXi hosts, see Disabling VAAI Thin Provisioning Block Space Reclamation.
When do VAAI hardware offload functions not apply?
VAAI is a set of APIs and SCSI commands used to offload certain functions that are performed more efficiently on the storage array, it could help reduce the consumption of network and compute resources and increase efficiency, but it doesn't always apply.
For more information on the section 'VAAI hardware offload cannot be used when', see Frequently Asked Questions for vStorage APIs for Array Integration.
Additional Information
Add your text here.