If I have multiple VMware ESXi servers controlled by vCenter that share a datastore over FibreChannel, what is the best practice for zoning those connections?
I see two obvious ways to do this:
- Create one zone per server, each zone containing the server and the datastore
- Create one big zone that contains all of the servers and the datastore
Is one better than the other? Or is there another way that makes more sense?
How does any of that change if there are multiple datastores?
First, you aren't really creating a zone with the server and the datastore. You are creating a zone between initiators and targets.
How many targets you have and how you configure access to the volumes/devices/LUN's/Datastores (whatever term you want to use) through the targets can largely depend on the capabilities of the individual storage array you are using. That is really a function of LUN masking and isn't directly related to your zoning.
In a over-simplified slightly misleading statement: Zoning is about limiting access to a storage appliance. Masking is about limiting access to the volumes on the storage appliance.
From a high level, single initiator single target zoning (one initiator, one target per zone) is generally considered a best practice but can create quite a few zones to setup, manage, and maintain. For example a server with two fiber HBA's (2 initiators) connecting to a storage array with 2 ports on each controller (4 total targets) would require 8 individual zones. A 4-host VMWare cluster would require setting up 32 zones (8 for each host).
However, best practices can be vendor specific and different from the generic recommendations provided. Always best to validate any decisions made with their support and/or documentation.
I'm a big 'FC man' and I personally prefer the 'Create one zone per server, each zone containing the server and the datastore' option - we have hundreds of host each with dozens of LUNs and this is the approach we've taken since about 2009 or so. Yes it's much more work but if you do it this way you have very precise control over what you're doing and I prefer absolutely knowledge and finite control over ease of use - but that's me.