Many of the storage devices are using protocols that improve the performance of vSphere storage or by offloading certain operations, the ESXi CPU usage gets lower. In this post, we'll talk about vSphere Storage APIs for Storage Awareness (VASA), vSphere Storage APIs Array Integration (VAAI) etc. This post is part of VCP-DCV 2021 on vSphere 7 Study Guide and which helps for passing the VMware certification exam. Please check the page for other chapters.
This post is no mean to be exhaustive and (or) complete. Please use the VMware documentation set required to pass the exam. Get the full documentation set on VMware website. I won't be able to provide direct links to the documentation set because many documents are updated on regular basis.
This study guide is only mean to be used as a help for the exam. You should also use a virtualization lab. You can use VMware Workstation or ESXi host and on the top install nested vSphere environment. You can check the lab section for some ideas, however, it's pretty outdated as I moved on to another place and using only VMware Workstation and nested VMs.
Let's get started. The info is partly from VMware KBs and PDFs.
VASA – VASA is a shortcut for vSphere APIs for Storage Awareness. VASA is important because hardware storage vendors use it to list through vCenter Server the capabilities of the storage array, health, and configurations. VASA is essential for vVols, vSAN, and Storage Policies. Using Storage Policies and VASA, you can specify that VMs need a specific performance profile or configuration, such as RAID type.
VAAI – VAAI stands for vSphere APIs for Array Integration. This technology allows to offload some operations to the storage hardware instead of being performed in ESXi. Though the degree of improvement is dependent on the storage hardware, VAAI can improve storage scalability, can reduce storage latency for several types of storage operations, can reduce the ESXi host CPU
utilization for storage operations, and can reduce storage network traffic.
Note: Some software vendors supports VAAI too. For Example StarWind. Let me show you a very old pic from the lab with a StarWind datastore.
In addition, On SANs, VAAI has the following features:
- Scalable lock management (sometimes called “hardware-assisted locking,” “Atomic Test & Set,” or ATS) replaces the use of SCSI reservations on VMFS volumes when performing metadata updates. This can reduce locking-related overheads, speeding up many administrative tasks as well as increasing I/O performance for thin VMDKs. ATS helps improve the scalability of very large deployments by speeding up provisioning operations such as the expansion of thin disks, creation of snapshots, and other tasks.
- Extended Copy (sometimes called “full copy,” “copy offload,” or XCOPY) allows copy operations to take place completely on the array, rather than having to transfer data to and from the host. This can dramatically speed up operations that rely on cloning, such as Storage vMotion, while also freeing CPU and I/O resources on the host.
- Block zeroing (sometimes called “Write Same”) speeds up the creation of eager-zeroed thick disks and can improve first-time write performance on lazy-zeroed thick disks and on thin disks.
- Dead space reclamation (using the UNMAP command) allows hosts to convey to storage which blocks are no longer in use. On a LUN that is thin-provisioned on the array side this can allow the storage array hardware to reuse no-longer-needed blocks.
Array Thin Provisioning APIs – This helps monitor space usage on thin-provisioned storage arrays to prevent out of space conditions, and does space reclamation when data is deleted.
PSA – PSA is a shortcut for Pluggable Storage Architecture. It is a collection of APIs used by storage vendors to create and deliver specific multipathing and load-balancing plug-ins that are best optimized for specific storage arrays.
To manage storage multipathing, ESX/ESXi uses a special VMkernel layer, Pluggable Storage Architecture (PSA). The PSA is an open modular framework that coordinates the simultaneous operation of multiple multipathing plugins (MPPs).
PSA is a collection of VMkernel APIs that allow third-party hardware vendors to insert code directly into the ESX storage I/O path. This allows 3rd party software developers to design their own load balancing techniques and failover mechanisms for the particular storage array. The PSA coordinates the operation of the NMP and any additional 3rd party MPP.
Native Multipathing Plugin (NMP) – The VMkernel multipathing plugin that ESX/ESXi provides, by default, is the VMware Native Multipathing Plugin (NMP). The NMP is an extensible module that manages sub plugins.
There are two types of NMP sub plug-ins: Storage Array Type Plugins (SATPs), and Path Selection Plugins (PSPs). SATPs and PSPs can be built-in and provided by VMware, or can be provided by a third party.
If more multipathing functionality is required, a third party can also provide an MPP to run in addition to, or as a replacement for, the default NMP.
VMware provides a generic Multipathing Plugin (MPP) called Native Multipathing Plugin (NMP).
What does NMP do?
- 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.
We just scratched the surface. Make sure to get “vSphere Storage PDF”.
Find other chapters on the main page of the guide – VCP7-DCV Study Guide – VCP-DCV 2021 Certification,
Thanks for reading.
- VMware VCP7-DCV Exam page here.
- VCP6.7-DCV Study Guide – VCP-DCV 2019 certification
More posts from ESX Virtualization:
- vSphere 7.0 Download Now Available
- vSphere 7.0 Page [All details about vSphere and related products here]
- VMware vSphere 7.0 Announced – vCenter Server Details
- VMware vSphere 7.0 DRS Improvements – What's New
- How to Patch vCenter Server Appliance (VCSA) – [Guide]
- What is The Difference between VMware vSphere, ESXi and vCenter
- How to Configure VMware High Availability (HA) Cluster