Things you should know (TYSK) – VAAI and Licensing
I made recently a really cool discovery with vStorage APIs for Array Integration in short VAAI, but first what is VAAI.
vStorage APIs for Array Integration (VAAI)
vSphere offers an API to offload specific storage operations to supported disk arrays for unparalleled performance and efficiency. With the vSphere API for Array Integration (VAAI), vSphere can perform key operations faster and consume less CPU, memory and storage bandwidth.
- Offload block copy and block zeroing to the array.
- Support dead space reclamation and out-of-space warnings in thin-provisioned arrays.
For more information about all the Primitives VAAI is supporting I would recommend this blog post by Chris Wahl and this post by Cormac Hogan.
As most of us know, VAAI is included in vSphere Enterprise Edition.
And now the discovery! It looks like that VAAI is also working on all other vSphere Editions starting from vSphere Essentials Plus.
I’ve installed 2 nested ESXi hosts and used shared storage with VAAI capabilities. In my case it’s a HP StoreVirtual VSA which is supporting the following VAAI Primitives:
I created 2 VMs. One with a thin provisioned disk and one with a thick provisioned disk. For the test I was using an Essentials Plus RoBo license and an Enterprise license. Between all license changes I rebooted the ESXi hosts to make sure that the license and features are all correctly loaded.
|VM (thin disk)
|VM (thick disk)
As you can see in the following screenshots only the Enterprise license shows the availability of VAAI.
During my tests I was connected through ssh (putty) to the ESXi hosts and had an instance of esxtop opened on each of them. In esxtop I selected u (disk device) and used only the fields A, B and O to display only VAAI relevant metrics.
My tests were the following:
- Clone powered off thin disk VM (Essentials Plus)
- Clone powered on thin disk VM (Essentials Plus)
- Clone powered off thick disk VM (Enterprise)
- Clone powered on thick disk VM (Enterprise)
My assumption with these tests was that when it will work with one disk format, it will also work with the other disk format when using the same license.
Clone powered-off thin disk VM (Essentials Plus)
You can see that the Clone Primitive values and the Zero Primitive values are going up, which means VAAI is used.
Clone powered-on thin disk VM (Essentials Plus)
Also on the powered-on VM VAAI values going up and VAAI is used.
Clone powered-off thick disk VM (Enterprise)
Same picture with the Enterprise license. Here it is expected that VAAI is used. In our case only the Clone Primitive is used because it’s a thick provisioned disk.
Clone powered-on thick disk VM (Enterprise)
Last but not least the final test showed also that VAAI is used which is expected when using Enterprise licensing.
After my tests it is clear that VAAI is always used regardless of vSphere Edition. When looking at the Product Guide, which can be found here, you will find on page 13 the following excerpt:
vStorage API for Array Integration (VAAI).You may use storage arrays that are certified for VAAI only with VMware vSphere Enterprise, VMware vSphere Enterprise Plus, VMware vSphere with Operations Management Enterprise, and VMware vSphere with Operations Management Enterprise Plus editions.
In the VMware EULA you can find the following:
3.1 License Restrictions. Without VMware’s prior written consent, You must not, and must not allow any third party to: (a) use Software in an application services provider, service bureau, or similar capacity for third parties, except that You may use the Software to deliver hosted services to Your Affiliates; (b) disclose to any third party the results of any benchmarking testing or comparative or competitive analyses of VMware’s Software done by or on behalf of You, except as specified in Section 2.4 (Benchmarking); (c) make available Software in any form to anyone other than Your employees or contractors reasonably acceptable to VMware and require access to use Software on behalf of You in a matter permitted by this EULA, except as specified in Section 2.2 (Third Party Agents); (d) transfer or sublicense Software or Documentation to an Affiliate or any third party, except as expressly permitted in Section 12.1 (Transfers; Assignment); (e) use Software in conflict with the terms and restrictions of the Software’s licensing model and other requirements specified in Product Guide and/or VMware quote; (f) except to the extent permitted by applicable mandatory law, modify, translate, enhance, or create derivative works from the Software, or reverse engineer, decompile, or otherwise attempt to derive source code from the Software, except as specified in Section 3.2 (Decompilation); (g) remove any copyright or other proprietary notices on or in any copies of Software; or (h) violate or circumvent any technological restrictions within the Software or specified in this EULA, such as via software or services.
My tests and both of this excerpts brings me to the conclusion that if a customer doesn’t have an Enterprise or Enterprise Plus license he is not allowed to use VAAI and therefor should disable VAAI to not violate the EULA.
You can find the procedure to disable VAAI in this KB article.