In this post we will be discussing about the Storage APIs which are used by 3rd-party storage vendors which enhances vSphere features. There are various APIs available but here we have highlighted some APIs
vStorage API for Array Integration (VAAI) enables VMware to offload certain storage task like Zero-out, thin provisioning and cloning. These tasks originally occurs at the host level and when these tasks are offloaded with the storage hardware assistance and hence these tasks takes less time to complete and also saves CPU, memory and bandwidth.
- Creation of virtual machine snapshots which has to be offloaded to the array is done via Native Snapshot Support.
- Visibility to space usage on NAS datastores is enabled using Extended Statistics and is useful for Thin Provisioning.
- Reverse Space feature enables the creation of thick virtual disk files on NAS.
- During creation and locking of files on the VMFS volume we set ATS which is Atomic Test & Set.
- However we use Clone Blocks/Full Copy/XCOPY to copy or migrate data within the same physical array.
- The concept of Thin Provisioning in ESXi 5.x and later hosts, helps to tell in ESXi host array that previously occupied space by virtual machine (whether it is deleted or migrated to another datastore) can be reclaimed on thin provisioned LUN’s.
- Zero Blocks/Write Same, which is used to zero-out disk regions.
- Using the SCSI UNMAP feature the space being alloted in ESXi 5.x and later hosts via Block Delete can be reclaimed.
- Full File Clone- This Full File Clone primitive eables virtual disks to be cloned by NAS device , like the Full Copy VAAI primitive provided for block arrays.
vStorage APIs for Storage Awareness (VASA) enables vSphere vCenter to recognize the storage arrays and understand its capabilities.
- RAID, native thin provisioning and deduplication, are made visible within vCenter
- VASA provides information about storage arrays to vSphere’s Profile-Driven Storage feature
- VASA provides information about storage arrays to vSphere’s Distributed Resource Scheduler (DRS)
- Provides the Storage health status to the vCenter
The vSphere APIs for I/O Filtering (VAIO) enabled vSphere the ability to insert filters for I/O into the data path of virtual machines. These I/O Filters enable VMware, and partners, to intercept and manipulate the I/O.
- More control on the IOPS
- Will significantly increase the IOPS available, reduce latency, and increase hardware utilization rates.
- Will allow the user to create VM granular replication policies for use in DR and Snapshot
VMware vSphere Storage APIs – Data Protection (VADP) enables vSphere to off-load the backup load to the storage.
- LAN free backup of vSphere virtual machines
- Decreases the bandwidth usage during the backup process.
vStorage API for Multipathing (VAMP) enabled VMware to control I/O path selection in a host to storage devices. The VAMP is embedded in the VMKernel in the name of Pluggable Storage Architecture (PSA). The PSA acts as a base for two storage plugins namely VMware’s Native Multipathing Plug-in (NMP) and Multipathing Plug-in (MPP). NMP has additional sub-plugins namely Storage Array Type Plug-in (SATP) and Path Selection Plug-ins (PSP). All these plugins together make up VAMP.
- Manages physical path claiming and unclaiming.
- Registers and de-registers logical devices.
- Associates physical paths with logical devices.
- Processes I/O requests to logical devices:
- Selects an optimal physical path for the request (load balance)
- Performs actions necessary to handle failures and request retries.
- Supports management tasks such as abort or reset of logical devices.