Zoning is a crucial step in setting up a SAN (Storage Area Network) to control access between storage devices and hosts.
In this guide, I will explain how to configure zoning on Dell SAN switches to connect a Dell Unity storage system with three hosts using two separate fabrics (Fabric A and Fabric B).
This configuration ensures high availability and redundancy by creating separate zones for each host-to-storage connection.
Please note that this setup is an example and can be adapted to different environments based on specific requirements.{alertInfo}
Fabric A (Switch 1) Configuration
Step 1: Create Aliases for Unity Ports
Aliases provide user-friendly names for WWPN (World Wide Port Names), making zoning configurations more manageable. The following commands create aliases for the Unity storage ports on Fabric A:
alicreate "UnityA_Port1", "XX:XX:XX:XX:XX:XX:XX:XX"
alicreate "UnityB_Port1", "XX:XX:XX:XX:XX:XX:XX:XX"{codeBox}
Step 2: Create Aliases for Host HBA Ports
Each host has an HBA (Host Bus Adapter) connected to the SAN switch. Assign aliases to these ports:
alicreate "Host1_A_HBA1", "XX:XX:XX:XX:XX:XX:XX:XX"
alicreate "Host2_A_HBA1", "XX:XX:XX:XX:XX:XX:XX:XX"
alicreate "Host3_A_HBA1", "XX:XX:XX:XX:XX:XX:XX:XX"{codeBox}
Step 3: Create Zones
Zones define which devices can communicate with each other. Each zone includes a Unity port and a host HBA.
zonecreate "Zone_Host1_A", "UnityA_Port1;Host1_A_HBA1"
zonecreate "Zone_Host2_A", "UnityA_Port1;Host2_A_HBA1"
zonecreate "Zone_Host3_A", "UnityA_Port1;Host3_A_HBA1"
zonecreate "Zone_Host1_B", "UnityB_Port1;Host1_A_HBA1"
zonecreate "Zone_Host2_B", "UnityB_Port1;Host2_A_HBA1"
zonecreate "Zone_Host3_B", "UnityB_Port1;Host3_A_HBA1"{codeBox}
Step 4: Create Zone Configuration
A zone configuration groups multiple zones and applies them to the fabric.
cfgcreate "FabricA_Config", "Zone_Host1_A;Zone_Host2_A;Zone_Host3_A;Zone_Host1_B;Zone_Host2_B;Zone_Host3_B"
cfgenable "FabricA_Config"
cfgSave{codeBox}
Fabric B (Switch 2) Configuration
Step 1: Create Aliases for Unity Ports
alicreate "UnityA_Port2", "XX:XX:XX:XX:XX:XX:XX:XX"
alicreate "UnityB_Port2", "XX:XX:XX:XX:XX:XX:XX:XX"{codeBox}
Step 2: Create Aliases for Host HBA Ports
alicreate "Host1_B_HBA2", "XX:XX:XX:XX:XX:XX:XX:XX"
alicreate "Host2_B_HBA2", "XX:XX:XX:XX:XX:XX:XX:XX"
alicreate "Host3_B_HBA2", "XX:XX:XX:XX:XX:XX:XX:XX"{codeBox}
Step 3: Create Zone
zonecreate "Zone_Host1_A", "UnityA_Port2;Host1_B_HBA2"
zonecreate "Zone_Host2_A", "UnityA_Port2;Host2_B_HBA2"
zonecreate "Zone_Host3_A", "UnityA_Port2;Host3_B_HBA2"
zonecreate "Zone_Host1_B", "UnityB_Port2;Host1_B_HBA2"
zonecreate "Zone_Host2_B", "UnityB_Port2;Host2_B_HBA2"
zonecreate "Zone_Host3_B", "UnityB_Port2;Host3_B_HBA2"{codeBox}
Step 4: Create Zone Configuration
cfgcreate "FabricB_Config", "Zone_Host1_A;Zone_Host2_A;Zone_Host3_A;Zone_Host1_B;Zone_Host2_B;Zone_Host3_B"
cfgenable "FabricB_Config"
cfgSave{codeBox}
Explanation of Commands
- alicreate "Alias_Name", "WWPN" → Creates an alias for a storage or host HBA port.
- zonecreate "Zone_Name", "Alias1;Alias2" → Creates a zone containing a Unity storage port and a host HBA port.
- cfgcreate "Config_Name", "Zone1;Zone2;..." → Creates a zone configuration by grouping zones together.
- cfgenable "Config_Name" → Enables the zone configuration on the fabric.
- cfgSave → Saves the configuration to ensure persistence after a reboot.
Conclusion
This zoning configuration ensures that each host has dedicated access to the Unity storage system via both Fabric A and Fabric B. By following this setup, we achieve redundancy, prevent unauthorized access, and optimize SAN performance.