Yesterday I wrote an article on issues when using a combination of CX4 and VNX in a vSphere 5 environment since ESX5 does not support on VAAI according to VMware and the VNX does. Simple solution would be to disable VAAI on all ESX5 hosts, but in that case your VNXes would also loose VAAI. Victor Forde pointed me to a blog post by Chris Wahl titeled “Forcing the NMP Plugin for Microsoft Clustering LUNs on vSphere” (good post by the way)
When reading this article, I realized you can not only use the array vendor and model strings to assign the VAAI filter driver to an array, but you might also be able to use the location (the combination of adapter, target, channel and LUN) for a device to assign the VAAI filter and VAAI Plugin to a specific array.
In short, you would need to remove the default VAAI filter and VAAI plugin rules for vendor=DGC and model=* and replace them by claim rules for based on the location where you would use the target identifier to filter on, for the array that would need to have VAAI enabled.
Unfortunately I don’t have a VNX in my lab (Someone at EMC that wants to trade my VNXe and a case of beer for a VNX? 😉 ) so I am not able to test if this would really do the trick.
For now this idea falls in the category “Do try this at home (and not in your production environmet)”
Challenges you might face are the fact the target ID for an array might change on a host for whatever reason, and different hosts might have different target ID’s for the same array, so think this might not be the best solution for a production environment.