VMware Storage APIs
The APIs provided by VMware allow administrators and publishers to extend the functionality of vSphere 5.
vStorage API for Array Integration
The vStorage API for Array Integration (VAAI) is a set of application program interfaces allowing interoperability between VMware and storage array manufacturers to communicate with VMware in a smarter manner. Some tasks can be offloaded to the storage array, which lightens the load of ESXi hosts.
Table 3.4 lists the VAAI in vSphere 4.1 and VAAI 2 in vSphere 5.
Table 3.4. VAAI Functionality: vSphere 4.1 Versus vSphere 5
VAAI vSphere 4.1 |
VAAI 2 vSphere 5 |
Block |
|
Hardware Assisted Locking |
Out of Space |
Hardware Accelerated Zero |
Space Reclaim |
Hardware Accelerated Copy |
|
NAS |
|
Not available |
Full Clone |
|
Extended Stats |
|
Space Reservation |
Following is a brief description of each of the features listed in Table 3.4:
- Hardware Assisted Locking: Without the API, SCSI reservations are done at the global LUN level. With the API, the work is done at the block level instead of the LUN level, which causes fewer issues related to SCSI reservations and reduces VM startup time, in particular for virtual desktop infrastructure (VDI) projects.
- Hardware Accelerated Zero: Without the API, when creating a datastore, the “zero write” is done by the server, which sends SCSI commands to the storage array. With the API, a single command is initiated by the ESX server, and the storage array is responsible for repeating the operation and informing the ESX server when the operation is finished. This reduces traffic between the ESXi server and the storage array.
- Hardware Accelerated Copy: Without the API, copy operations are performed from the ESX server toward the storage array. With the API, data is moved within the array by the storage array without going through the server. This reduces the load of the ESXi server and the time required for data migration.
In vSphere 5, new primitives have been defined for VAAI 2:
- Dead Space Reclaim: Allows the recovery of spaces that are no longer used when a virtual disk is deleted or after the migration of a virtual disk from one datastore to another by using Storage vMotion on a provisioned thin LUN. ESXi 5.0 transmits the information about the freed-up blocks to the storage system via VAAI through commands, and the storage system recovers the blocks.
- Thin Provisioning Out of Space API: Guards against storage-space problems on thin LUNs.
- Thin Provisioning LUN Reporting: Enables the identification of the storage array use in vCenter.
- Quota Exceeded: Displays an alert in vCenter when a capacity threshold is passed within a datastore.
- Out of Space Behavior: The VM determines whether the space is available before the write. If storage space is full, an alert message is displayed in vCenter and this VM is paused (while the other VMs continue running).
The following primitives are defined for NAS VAAI storage:
- Full-File Clone: Enables cloning and snapshot operations of vmdk files to be performed by the NAS in a cold manner, similar to VMFS block cloning (Full Copy).
- Extended Stats: Enables the visibility of consumed spaces on NFS datastores.
- Space Reservation: Allows the creation of vmdk files in thick-provisioning mode for NAS storage.
vSphere Storage API: Storage Awareness
The vStorage API for Storage Awareness (VASA) is a storage-detection API. It allows the visualization, straight from vCenter, of the information related to storage arrays, such as replication, RAID type, compression, de-duplication, thin or thick format, disk type, snapshot state, and performance (IOPS/MBps). Among other things, the vStorage API is used for Profile-Driven Storage.