vStorage APIs for Array Integration (VAAI) is a very nice feature, offloading hosts for several storage operations. Honestly I did test these features and was highly impressed by the results.
Here a small example of a sVmotion for a VM having a vmdk of 35GB Lazy Zeroed:
No VAAI it took 02:50 to complete and almost 500MB/s bandwidth between the host and the storage
With VAAI it took 02:18 to complete and almost no bandwidth between the host and the storage
For these tests I performed, I needed to turn on and off the VAAI at the host level. VMware has a very good KB to disable VAAI.
The only way that is missing from the KB -> PowerCLI
So I did a small script to turn on and off the VAAI at the host level. I tested it on vSphere 4.1 and 5.0.
In my script you can manually enter the hosts or simply specify a whole group by using for example: get-vmhost -location (get-vmcluster %clustername%)
It checks if the host is in maintenance mode to avoid any risks when performing the actions. If you don’t want to set the maintenance mode, the script ends.
After having modified you host, I recommend to reboot. Normally it is unnecessary, but I’ve been confronted to situation where some of the features weren’t working correctly after having turned on the VAAI. A reboot corrected it.