Fiber Channel Zoning Best Practices
Target = A device or system that stores the data, for example, an appliance that serves out fiber channel storage LUNs or a Tape Drive
HBA = Host Bus Adaptor or a fiber channel card installed in a computer
Port/WWN Zoning = Enforcement by referring to only physical ports or only WWN but not a mix of the two. Usually, Port and WWN references can be mixed within a zone or zone set
Hard/Soft Zoning = Hard zoning restricts the declaration of what other devices are in the fabric, soft zoning advertises only zone members but an initiator can still directly address unlisted devices.
Fabric = Network of interconnected fiber channel switches
Alias = A common or human friendly name for one or more ports or WWNs
What is Zoning?
Fiber Channel Zoning allows for initiator isolation to restrict LUN access and host-to-host or fabric wide interruptions.
It is wise to adhere to industry best practices. When it comes to fabric zoning there are essentially two methodologies; "Single Initiator Zoning" and/or "Target Driven Zoning". Your network topology should dictate which should be used, however, it is best to employ only one methodology throughout a fabric. Primarily, DVS-SANs are configured for Single Initiator Zoning.
Single Initiator Zoning
Each zone will include a single initiator's port(s) and some number of storage ports. There are arguments for what level of granularity is best, some will say each port of the initiator HBA should have one zone per port of the storage appliance. In reality, there is not one blanket answer for all networks. The aforementioned most granular approach can be difficult to manage in a large SAN but can give more control when troubleshooting target problems.
Most often, a good balance is to include all of the initiator's ports within each of its zones. Each initiator zone should include its ports and the ports of one storage appliance. In the case of a storage appliance with more than one controller, it is often suggested to treat each controller as a separate appliance incase a single controller needs to be isolated.
An example of this might be the following zones and zone members:
Clipster1-DDN_S2A9900_ctr1 = Both ports from Clipster's dual port HBA and all four ports of controller 1 of the S2A9900
Clipster1-DDN_S2A9900_ctr2 = Both ports from Clipster's dual port HBA and all four ports of controller 2 of the S2A9900
Clipster1-DDN_SFA7700_ctr1 = Both ports from Clipster's dual port HBA and all four ports of controller 1 of the SFA7700
Clipster1-DDN_SFA7700_ctr2 = Both ports from Clipster's dual port HBA and all four ports of controller 2 of the SFA7700
As you can see, this one host system uses four zones to connect to only two storage appliances. Depending on the size of a SAN it might make more sense to reduce the granularity even further to simply:
Clipster1-DDN_S2A9900 = Both ports from Clipster's dual port HBA and all eight ports of the S2A9900
Clipster1-DDN_SFA7700 = Both ports from Clipster's dual port HBA and all eight ports of the SFA7700
This reduction in granularity reduces the management effort but can allow one problematic port to effect all ports of a storage appliance which can threaten the redundant nature of multiple controllers.
To simplify management even more you can use aliases to consolidate ports and add human readability. For example, add all Clipster1's ports to an alias called "Clipster1" and all of the DDN S2A9900 Controller 1's ports as an alias DDN_S2A9900_ctr1, etc. This could make the above zoning examples look like this:
Clipster1-DDN_S2A9900_ctr1 = Clipster1, DDN_S2A9900_ctr1
Clipster1-DDN_S2A9900_ctr2 = Clipster1, DDN_S2A9900_ctr2
Clipster1-DDN_SFA7700_ctr1 = Clipster1, DDN_SFA7700_ctr1
Clipster1-DDN_SFA7700_ctr2 = Clipster1, DDN_SFA7700_ctr2
Using aliases can greatly speed deployment of new devices by reducing the time needed when adding zones.
Brocade's "Secure SAN Zoning Best Practices"
Qlogic's "Zoning Best Practices" which refers to "Storage Networking 101: Understanding Fibre Channel Zones"