SAN ZONING

Zoning, in five short lessons.

An interactive micro-course on Fibre Channel zoning — what it controls, how to build a zone set, and what breaks when you get it wrong.

FIBRE CHANNEL WWN ZONING MULTIPATHING EDUCATIONAL SIMULATION
LESSON 1 · 3 MIN

What zoning actually controls

Zoning is a fabric-side access-control list. It decides which initiators (HBAs) are allowed to log in to which targets (array ports). It is enforced by the Fibre Channel fabric — the switch's name server helps devices discover each other, but the access decision is the fabric's. Zoning is not LUN masking — see below.

✕ NO ZONE SET
Unzoned fabric Four host bus adapters connected to four array ports with every possible path active.

Every HBA can reach every array port. A misbehaving host can see LUNs it should never touch, and fabric change notifications reach devices that don't need them. The exact default behaviour depends on the fabric's configured default-zone policy and the vendor.

✓ ZONED
Zoned fabric Four host bus adapters each connected only to their own array port.

Each HBA reaches only its assigned array ports. Predictable login behaviour, cleaner path counts, and the baseline every storage vendor's best-practice guide asks for.

Zoning vs LUN masking — a distinction worth remembering

ZONING

Fabric-side. Controls whether an initiator may log in to a target port. Without zoning (or with permissive default-zone behaviour), the login succeeds and the host discovers the target.

LUN MASKING

Array-side. Controls which LUNs a logged-in initiator may see. A host can be zoned to an array port and still be masked away from every LUN on it.

CHECK YOUR UNDERSTANDING

Which control decides whether a host's HBA may log in to an array port?

LESSON 2 · 6 MIN

Build a zone set — and watch access get denied

Three hosts, one switch, three array ports. Switch the active zone set, then click a host to run an access test. Allowed paths glow cyan; blocked paths stop at the switch and show a red ✕.

SAN fabric with three hosts and three array ports Interactive diagram. Click a host to animate an access test against every array port.
WHAT YOU'RE SEEING

A single-switch fabric. The dashed grey lines are device links — host-to-switch and switch-to-array. (An ISL is an inter-switch link; this topology has only one switch, so there are no ISLs here.) The coloured overlays are the zones.

WHY IT MATTERS IN PRODUCTION

When a zone denies access, the host's login is rejected and the target simply doesn't appear in its discovery. Debugging becomes "why isn't this target showing up?" instead of a mysterious I/O failure. Clear zoning makes problems visible.

CHECK YOUR UNDERSTANDING

How many initiators (HBAs) should a zone normally contain?

LESSON 3 · 4 MIN

WWN zoning vs port zoning

A zone member can be a device's WWN (its unique 64-bit address) or a domain,port tuple (a physical switch port). Same intent — very different operational cost when hardware moves.

✓ WWN ZONING
WWN-based zone membership A host bus adapter connects to a switch port. The zone member is the HBA's WWN, which follows the device when it moves.

Zone member: 20:00:00:25:B5:AA:00:01

✕ PORT ZONING
Port-based zone membership A host bus adapter connects to a switch port. The zone member is the port number, so moving the device breaks the membership.

Zone member: 1,3

WHAT YOU'RE SEEING

When the HBA moves to a new switch port, the WWN-based zone follows the device. The port-based zone still points at the old port — the device is now unzoned and its login is denied.

WHY IT MATTERS IN PRODUCTION

Port zoning survives none of these: cable moves, HBA swaps, switch replacement. WWN zoning survives all of them. Use WWN zoning unless a specific workload or vendor requires otherwise.

CHECK YOUR UNDERSTANDING

You move an HBA to a different switch port. Which zone membership survives without re-zoning?

LESSON 4 · 7 MIN

Troubleshooting — multipathing under a failed fabric

Two independent fabrics. The host has one HBA per fabric; the array has one target port per fabric. Each HBA is zoned to its corresponding array port. Break the Fabric A link and watch what happens to I/O.

Redundant SAN with two fabrics A host with two HBAs connects through Fabric A and Fabric B to two array ports. One path can be severed to demonstrate multipathing.
✅ 2 active paths — Fabric A and Fabric B. The host has path redundancy.
WHAT YOU'RE SEEING

Breaking Fabric A does not break the host's storage. The host's multipathing software detects the path loss and continues I/O over Fabric B. The zone on Fabric B was never touched — that's the point of two independent fabrics.

WHY IT MATTERS IN PRODUCTION

Zoning is per-fabric. A single zone set on a single switch is not redundancy. You need two fabrics, two HBAs, two array ports, and two independent zone sets. That's what keeps I/O alive when one fabric fails.

A short troubleshooting checklist

CHECK YOUR UNDERSTANDING

Fabric A's link fails. The host still has I/O. Why?

LESSON 5 · 5 MIN

Final challenge

Three short scenarios. Answer each to finish the course.

SCENARIO 1

You need to add a new ESXi host to an existing zone set. What is the safest approach?

SCENARIO 2

A host lost access to its LUNs after a switch port move. The zone members are 1,4. What is the likely cause?

SCENARIO 3

Fabric A path goes down. The host still has I/O. Why?

Seven zoning practices for production SANs

1 · One initiator per zone

Multiple targets are fine. Multiple HBAs in one zone is the single most common zoning mistake.

2 · Zone by WWN

WWNs survive cable moves, HBA swaps, and switch replacement. Port zoning survives none of those.

3 · One active zone set per fabric

Same zone set name with different contents on two merging switches segments the fabric.

4 · Activate in a change window

Activating a zone set can fire RSCNs. Affected hosts re-scan their LUNs — do it when you can watch.

5 · Name zones for humans

Z_ESX01_VNX_SPA0 beats zone1 at 3 a.m.

6 · Save and enable

Most fabrics require a save and an activate. Vendor commands differ — verify the workflow for your switch family.

7 · Zoning ≠ LUN masking

Zoning decides login. LUN masking decides what the host sees. You need both.

+ Redundancy is per-fabric

Two fabrics, two HBAs, two array ports, two independent zone sets. That's what keeps I/O alive.

Ways it goes wrong