Our recommendation for VMware environments is that you create a separate IG for each host but then put those individual IGs into a parent one to make a cascaded configuration. The parent IG should be aligned to a cluster (or whatever unit you use to signify where datastores are shared) so that parent IG can be in a masking view for all of the hosts to see the same storage in a SG. This configuration allows the flexibility to also create smaller, dedicated masking views for a single host as well if you need to provision storage for some reason that only one host needs/wants access to. Like a boot volume.
I was wondering what the best practices are for creating masking views in the ESX environments?  Let's say you have a small environment of like 20 hosts.  Is it best to create individual masking views for each host? So you'd have 2 masking views and the PG and SG are the same for all of them because they can all see the same storage devices?  Or do you do cascaded IG groups and consolidate to 2 masking views since there is a limit on initiators per masking view.  Initially I was thinking individual was be better but the more I tought about it there is no benefit either way?  What are other people doing?
ESX\Masking View best practices