SAN Zone Config Mismatch Fix – Brocade & Cisco Switches

Hardware – Hard Drives Intermediate 👁 6 views 📅 Jul 4, 2026

When your SAN zones don't match between switches, devices go offline. Here's the quick fix and why it matters.

I know this error is infuriating — you spend hours setting up zones, and suddenly devices can't see each other. The switch logs show inconsistencies, and your storage admin is breathing down your neck. I've been there.

The Quick Fix

First, check which zones are active on your switch. On a Brocade switch, run:

cfgshow

On a Cisco MDS switch, use:

show zoneset active

Compare the output with what you expect. If you see extra zones or missing ones, the fix is to redefine the active configuration. On Brocade:

cfgclear
cfgcreate "YourConfig", "YourZone1;YourZone2"
cfgsave
cfgenable "YourConfig"

On Cisco MDS:

conf t
zoneset activate name YourZoneset vsan 1
end

Replace "YourConfig" and "YourZoneset" with your actual names. This clears the mismatch and forces a fresh zone activation.

Why This Happens

Zone mismatches usually come from one of three things:

  • Manual zone changes on one switch — You update zones on Switch A but forget Switch B. In a fabric, both must match.
  • Fabric merge issues — When you connect two fabrics, zones can conflict. Brocade handles this with a merge policy, but if zones differ, the merge fails.
  • Reboot or failover — A switch reboot can load a stale config if the save wasn't done right.

In my experience, the most common cause is someone editing zones during a maintenance window and only saving on one switch. The fabric detects the mismatch and keeps the old config on the other side.

Less Common Variations

WWPN vs. Alias Mismatch

Sometimes zones look the same but use different names. For example, Switch A uses a WWPN (like 10:00:00:00:c9:12:34:56) and Switch B uses an alias (like "Server01_FC1"). The switch sees them as different. Fix by converting all zones to use WWPNs or aliases consistently.

Zoning with VSANs on Cisco

On Cisco MDS, zones are tied to VSANs. If you have multiple VSANs and your zones are in the wrong one, devices won't see each other. Use:

show zone vsan 1

to verify. Move zones to the correct VSAN with:

zone name YourZone vsan 2

Brocade Peer Zoning

Some Brocade switches use peer zoning (where one device is the "owner" and others can't talk to each other). If your zones were set up as peer zones but you expected regular zones, you'll get a mismatch. Check with:

zonepeer --show

If it's peer zoning, rebuild as standard zones or update your config to match.

How to Prevent This Going Forward

Three things I do to keep zones in sync:

  1. Use a single configuration source. Keep your zone config in a text file or a CM tool like Ansible. Edit there, then push to all switches.
  2. Validate after any change. Run cfgshow or show zoneset active on every switch in the fabric. I do this after every maintenance window.
  3. Enable fabric-wide zone change logging. On Brocade, set zone.logging to 1. On Cisco, use logging level zoning 5. This logs all zone changes so you can spot mismatches fast.

One more thing — always save your config before rebooting a switch. On Brocade, that's cfgsave. On Cisco, copy running-config startup-config. A reboot without save is a ticket waiting to happen.

That's it. Next time someone says "zones are messed up," you know where to start.

Was this solution helpful?