Auto zoning

Auto zoning enables inline communication between storage systems and Fibre Channel (FC) switches to automate zoning. The auto zoning feature automatically creates and manages zones on supported FC switches, simplifying host-to-storage connectivity and reducing errors. By automatically forming zones between host ports and storage target ports, auto zoning reduces manual administrative effort, configuration errors, and deployment time.

IBM FlashSystem auto zoning feature provides a complete solution for Fibre Channel zone management that integrates seamlessly with the Brocade Target Driven Zoning (TDZ) technology. This feature is designed to address a wide range of challenges typically faced by SAN administrators, including:
  • Creating, modifying, and deleting zones within the Fibre Channel fabric
  • Identifying optimal zone definitions to achieve optimal multi‑path configurations for host servers
  • Managing zoning in accordance with SAN best practices
  • Backing up and restoring zone configurations to ensure reliability and recoverability
  • Automatically adapting zone definitions by tracking changes in host or storage connectivity
With auto zoning feature, storage target ports manage zoning operations on the FC fabric. Auto zoning creates peer zones, which provide an optimized zoning model:
Peer zone contents
  • One principal device is typically a storage array target port.
  • Multiple non-principal devices are typically host initiator ports.
Peer zone communication rules
  • The principal device can communicate with all nonprincipal devices, and non-principal devices can communicate with the principal device.
  • Nonprincipal devices cannot communicate with each other.
Peer zones replace traditional single‑initiator zoning and maintain consistent and predictable zoning patterns.

Supported Switch Platforms
The auto zoning feature is supported by Brocade FC switches that meet the following conditions:
  • Fabric OS (FOS) version 9.1.1 or later
  • The TDZ feature must be enabled on the switch ports where the storage target ports are connected. The feature can be enabled through the switch CLI. Refer to the switch documentation for detailed steps to enable this capability.
  • The TDZ feature does not need to be enabled on host ports.
The TDZ feature must be explicitly enabled by the fabric administrator for each relevant port. The auto zoning feature initiates automatic zoning actions only after the TDZ is enabled.

Fabric Connectivity Requirements
For auto zoning to operate correctly and predictably, the fabric connectivity of the storage target ports and connected host ports must meet specific requirements. These considerations can ensure consistent zone formation, proper path distribution, and stable host‑storage communication across fabrics.
  • Auto zoning is supported only for user‑defined FC portsets.
    • All FC I/O port IDs included in an auto zoning enabled portset must demonstrate symmetric fabric connectivity. The same FC I/O port ID from every node in the cluster must be connected to the same fabric. For example, FC IO Port ID 1 from all nodes must connect to Fabric A.
    • Ideally, a portset should contain an equal number of target FC I/O ports from each redundant fabric.
    • Host initiator ports must be connected to the same fabric as the target ports defined within the portset that you want to associate with host object.
Auto zoning creates peer zones between host initiator ports and the target ports that share fabric.

Auto zoning Workflow
To start using auto zoning when adding new hosts in an existing configuration:
  1. Ensure that fabric requirements are met as described here.
  2. Create an auto zoning enabled Fibre Channel portset.
  3. Create the host by using the FDMI hostname or by specifying a list of host port WWPNs.
  4. Associate host with the auto zoning enabled portset.
Zoning policies

Auto zoning supports configurable zoning policies that determine how initiator WWPNs are matched with target port WWPNs when forming peer zones.

Zoning policies are applied at the portset level, and different portsets can use different policies based on deployment requirements.

Available zoning policies are:
one_to_one connectivity
This policy enforces a single path between every initiator port and one target port on each canister within the same fabric.
  • Each initiator WWPN is zoned with only one FC IO Port ID from the portset. Each FC IO Port ID represents a single target port from each canister.
  • Zoning is performed between the initiator port and the portset target port, provided both ports are within the same fabric.
  • Initiator ports are evenly distributed across all target ports from the portset to achieve better workload distribution.
  • After zoning, that initiator WWPN is not zoned with any additional target ports from the portset, even if multiple suitable target ports exist on that fabric.
This policy is optimal for environments requiring strict path control or host configurations where minimal connectivity is preferred.
one_to_one_all_fabrics
This policy also creates one‑to‑one zoning, but it is designed for host environments where initiator WWPNs can not be visible on all fabrics during initial discovery.
  • Each initiator WWPN is zoned with one target port WWPN from each fabric but will have a single host path from fabric where Host port is connected .
  • This policy is useful where initiator WWPNs do not appear upfront in the fabric
    • SAN‑boot scenarios
    • NPIV (N_Port ID Virtualization) WWPN configurations
This policy ensures reliable boot‑time zoning even when initiator WWPN visibility is limited or dynamic.
Zone Naming Convention

Zones are created that uses the following format, IBM_SV_<Target Port WWPN>_00, for example, IBM_SV_50050768101655c4_00.

This predictable naming scheme allows easy identification of IBM Storage managed zones in the switch fabric.

Zone Name Prefix Configuration
Storage administrator has an option to specify a zone name prefix for all automatically created zones. This prefix can be configured by using the chsystem command.
  • The zone name prefix must be configured before the first auto zoning enabled portset is created on the system.
  • Once the prefix is set on a system that contains any auto‑zone‑enabled portset, the prefix cannot be modified.
  • If no prefix is provided, the default naming scheme is used, for example, IBM_SV_<target-WWPN>_00.

This mechanism ensures naming consistency across all auto‑generated zones in the fabric.

If the user configures the prefix FC_Infinity, it is automatically prepended to the zone name. For example, if Prefix is FC_Infinity and Target Port WWPN is 50050768101655c4, then the resulting auto‑generated zone name becomes: FC_Infinity_IBM_SV_50050768101655c4_00.

This example demonstrates how user‑defined prefixes are applied to the default zone naming format.

Configuring auto zoning in the management GUI

In the management GUI, if auto zoning was not configured automatically during system setup or created manually on an auto zoning enabled portset. Select Settings > Network > Fibre Channel Portsets, and click Auto configure ports and portsets.
Note: The auto configure ports and portsets does not appear when auto zoning-enabled ports exist in the system.

To verify auto zoning capability, click Create portset. If Auto zoning is Enabled, the portset supports auto zoning.

When adding a host in Hosts > Add Host, portsets with auto zoning enabled are preselected.

Configuring auto zoning in the command-line interface

In the command-line interface, enter the following command to configure auto zoning:
Host object with one_to_one auto zoning policy
The one_to_one auto zoning policy can ensure that each host WWPN connects to a single IO port within its fabric.
  1. Create auto zoning enabled portset. The mkportset command creates an auto zoning enabled FC portset that is named azps1. When you run the lsportset command, the auto_zone_enabled value for this portset is displayed as yes.
    svctask mkportset -porttype fc -autozoneenabled yes -name azps1
    
  2. Add auto zoning capable Fibre Channel (FC) I/O ports to the portset. The fabric_auto_zone_capability in the lsportfc output must show yes. For example, if FC I/O port 5 is auto zoning capable, run the following command to add 5 to the portset.
    svctask addfcportsetmember -portset azps1 -fcioportid 5
  3. Create the host object with the portset azps1. If host WWPN 2100000E1EC36DF4 is connected to the same switch as FC I/O port 5, you can confirm it by comparing the fabric_name values in the lsfabricport view for both the host and I/O port WWPNs.
    svctask mkhost -fcwwpn 2100000E1EC36DF4  -portset azps1 -protocol fcscsi -type generic -name azhost
  4. Monitor the lshostzone output for the newly added host. You can see one entry for host azhost. The applied_config column initially shows zone_needed. After a short time, the zone_status column updates to zoned.
    lshostzone
    id host_id host_name host_wwpn        host_fabric      portset_id portset_name io_port_id ioport_fabric    recommended_config applied_config zone_status disruptive_change_pending
    0  0       azhost    2100000E1EC36DF4 10008894718C7C30 4          azps1        5          10008894718C7C30 zone_needed        zone_needed    zoned       no
    
  5. Run the lshost command and verify that the status for azhost shows online.
    lshost
    id name   port_count iogrp_count status site_id site_name host_cluster_id host_cluster_name protocol owner_id owner_name portset_id portset_name partition_id partition_name draft_partition_id draft_partition_name ungrouped_volume_mapping location_system_name uuid
    0  azhost 1          4           online                                                     scsi                         4          azps1                                                                            no                                            1C1E5519-15B8-5446-AC91-9050A60378A0
    
Host object with one_to_one_all_fabrics auto zoning policy
  1. Create an auto-zoning enabled portset with one_to_one_all_fabrics. The mkportset command creates an auto zoning enabled FC portset that is named azps1. When you run lsportset, the auto_zone_enabled value for this portset shows as yes.
    mkportset -porttype fc -autozoneenabled yes -autozonepolicy one_to_one_all_fabrics -name azps1
    
  2. Add Fibre Channel (FC) I/O ports with auto zoning capability to the portset. Verify that fabric_auto_zone_capability in the lsportfc output shows yes. For example, FC I/O port 1 (connected to Switch1, 1000D81FCCAA0EC8) and FC I/O port 2 (connected to Switch2, 100000051E817293) are auto zoning capable. Use the following command to add these ports to the portset.
    addfcportsetmember -portset azps1 -fcioportid 1
    addfcportsetmember -portset azps1 -fcioportid 2
  3. Create the host object with the portset azps1.
    • Host WWPNs 100000109BA817AA and 100000109BA817AB connect to Switch1 through FC I/O port 1.
    • Host WWPNs 2100F4E9D4542B0E and 2100F4E9D4542B0F connect to Switch2 through FC I/O port 2.
    Use the lsfabricport command to confirm the fabric_name values for the ports.
    svctask mkhost -fcwwpn 100000109BA817AA:100000109BA817AB:2100F4E9D4542B0E:2100F4E9D4542B0F  -portset azps1 -protocol fcscsi -type generic -name azhost
  4. Monitor the lshostzone output for the newly added host. The output shows one entry for host azhost. Initially, the applied_config displays zone_needed. After a short time, the zone_status updates to zoned. Each host WWPN must be zoned with one I/O port per fabric. For example, Host WWPN 100000109BA817AA is zoned to one port (IO port 1) from Switch 1 (1000D81FCCAA0EC8) and one port (IO port 2) from Switch2 (100000051E817293).
    lshostzone
    host_id host_name host_wwpn        host_fabric      portset_id portset_name io_port_id ioport_fabric    recommended_config applied_config zone_status disruptive_change_pending
    0       azhost    100000109BA817AA 1000D81FCCAA0EC8 4          azps1        1          1000D81FCCAA0EC8 zone_needed        zone_needed    zoned       no
    0       azhost    100000109BA817AA 1000D81FCCAA0EC8 4          azps1        2          100000051E817293 zone_needed        zone_needed    zoned       no
    0       azhost    100000109BA817AB 1000D81FCCAA0EC8 4          azps1        1          1000D81FCCAA0EC8 zone_needed        zone_needed    zoned       no
    0       azhost    100000109BA817AB 1000D81FCCAA0EC8 4          azps1        2          100000051E817293 zone_needed        zone_needed    zoned       no
    0       azhost    2100F4E9D4542B0E 100000051E817293 4          azps1        1          1000D81FCCAA0EC8 zone_needed        zone_needed    zoned       no
    0       azhost    2100F4E9D4542B0E 100000051E817293 4          azps1        2          100000051E817293 zone_needed        zone_needed    zoned       no
    0       azhost    2100F4E9D4542B0F 100000051E817293 4          azps1        1          1000D81FCCAA0EC8 zone_needed        zone_needed    zoned       no
    0       azhost    2100F4E9D4542B0F 100000051E817293 4          azps1        2          100000051E817293 zone_needed        zone_needed    zoned       no
  5. Run the lshost command and confirm that azhost shows a status of online.
    lshost
    id name   port_count iogrp_count status site_id site_name host_cluster_id host_cluster_name protocol owner_id owner_name portset_id portset_name partition_id partition_name draft_partition_id draft_partition_name ungrouped_volume_mapping location_system_name uuid
    0  azhost 4          4           online                                                     scsi                         4          azps1                                                                            no                                            524DD8DE-B0E1-5328-8857-5E9D194F98C9