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.
Seems a bug rather than a feature.
I’ve testes some years ago (on 5.1 with Eql storage) and was not enabled on minor release.
Not checked with the 5.5.
Maybe is the ROBO license (that is not exacly a standard Essential Plus) that has this behaview.
It’s also the Standard Edition which is working. I found something internally but don’t know yet if I can use it in public! 🙂
Nice one. I discovered the same behaviour, but I didn’t restarted the hosts after the license change (EVAL to Essentials Plus).
Huh… VMware can’t expect that a SMB customer is aware of this and therefore disables VAAI. To be honest: Who’s reading the EULA? Especially if it’s a SMB customer?
I this this topic is arbitrarily confusing. I’ve been back and fourth with backup software ISV reps (which require VAAI), and my VMware reps. It seems that no one wants to give an authoritative answer, which has really been the case since around vSphere 4.x was released. The right question seems to be… “Am I licensed to use VAAI with the Essentials Bundle?”, a VMware SE will tell you “Yes, though your vCenter instance”. Another good question is “Is VAAI licensing included in all purchased versions of vSphere?”, and again the SE should answer “Yes.”. If you start talking about the bits that get exposed or what happens in your testing, or use-case scenario… good luck, because the reps tend to up-sell in every case. The best public answer to this question that I’ve seen is on the Veeam Essentials FAQ (http://www.veeam.com/essentials-licensing-faq.html).
first of all we need to clarify one thing. vStorage API for Storage Integration (VAAI) and vStorage API for Data Protection (VADP) are two different things. Because VAAI is only EULA enforced you need the correct license which is Enterprise (see http://www.vmware.com/products/vsphere/compare.html). From my point the info on the Veeam FAQ site is wrong because you don’t need VAAI for Veeam. You also don’t need VAAI for other backup software vendors, because it’s nothing you need for backup. What you need is VADP and this API is licensed with Essentials and higher. You are not licenses to use VAAI with Essentials bundle or Standard license, but it will work according to my post because it’s not software enforced. When using licenses below Enterprise you should disable VAAI to be on the safe side. I hope I was clear with that. If you need further information don’t hesitate to contact me.
Thanks for the clarification. Based on the conversation I had with my VMware SE, the conclusion I reached was that that all vStorage API bits fell under the VAAI feature set now, and that VADP no longer was an individual licensed feature component. Which makes their responses regarding VAAI all the more concerning, I think. 🙂 Anyway, I realize VADP is off-topic for the thread, but got there via searches for VAAI licensing requirements, and thinking VADP was no longer separate. I suppose this would be a nice change in licensing terms, but I was coming at this from a backup licensing requirements perspective as opposed to array integration.
At the VMWare page you can see that the feature is included in the standard version:
Does that mean the feature is also included in the Essentials Plus version?
Yes. Since 6.0 VAAI is available in Standard edition. Unfortunately it’s not included in Ess+. It’s enabled and will work but it will be against EULA when using it.