Cisco Smart zoning – part II: examples

Smart zoning examples

In my smart zoning post from last February I already presented the way to get started with Cisco smart zoning. I initially planned to give a more detailed calculation on how much time you can save if you were using smart zoning compared to SIST zoning.

SAN fabric

I was talking to an EMC SAN instructor (Richard Butler) this week and after I did a little white boarding and used my hands to picture how massive a traditional SIST zone environment would be, we agreed smart zoning is the way to go.

Single initiator, single target zoning

in the old days SIST zoning was pretty much the standard if you wanted to connect initiators to targets. SIST because with only 1 initiator and only 1 target per zone, you prevented unwanted logins from ports that were initiator as well as target (for example MirrorView ports in EMC Clariion or VNX). So if you take a look at the above picture, you can easily see that for redundancy and high availability reasons each HBA had to be able to reach each storage controller and therefore the host ended up having 4 SIST zones, 2 in each fabric or SAN.

Imagine having a dual controller storage array, like the VNX, with 4 ports per controller and 1 of these reserved for replication traffic. You end up with 3 available ports per controller. So i you were to “throw” every target port in 1 big smart zone, every initiator would be able to see every target (= 3) per fabric and each host would end up having 6 logins on each storage array instead of 4.

My best practice would be to make evenly large groups of targets and place the initiators (HBAs) in those groups, so each smart zone ends up having roughly the same number of wwpns. Don’t place every initiator in every smart zone, or you would end up with too many logins on the array again.

A0  B1  A2  B3 B0  A1  B2  A3
 Host 1  X HBA0 HBA0  X HBA1 HBA1
 Host 2  X HBA0 HBA0  X HBA1 HBA1
 Host 3  X HBA0 HBA0  X HBA1 HBA1
 Host 4  X HBA0 HBA0  X HBA1 HBA1
 Host 5  X HBA0 HBA0  X HBA1 HBA1
 Host 6  X HBA0 HBA0  X HBA1 HBA1

As you can see I excluded the replication port (A0 and B0), tried to distribute the remaining ports as evenly as possible over the 2 fabrics, keeping redundancy. I therefore placed 2 target ports of the A controller (A1 and A3) as well as one port of the other controller in the same fabric. On the other fabric I did the same thing, except reversed (B1, B2 and A2). For people who know about SAN and zoning this makes sense.

As you can see both A2 and B2 will get all initiators, but the other 2 ports per fabric will be distributed evenly. So we end up with two groups per fabric:

  1. hosts connected to B1, A2 as well as A1 and B2
  2. hosts connected to A2, B3 as well as B2 and A3

We will have to create smart zones containing the targets:

Fabric 1

  • B1, A2
  • A1, B2

Fabric 2

  • A2, B3
  • B2, A3

That’s only 4 zones per storage array!

Consider you have 4 arrays your hosts need to connect to and you have 20 hosts. In a traditional SIST zoning environment you’d end up having 20 (hosts) x 4 (zones per array) x 4 (arrays) = 320 SIST zones.

In my example the final number of smart zones would be 4 (per array) x 4 (arrays) = 16 smart zones.

And if you adapt your naming convention from something like “HOSTa_HBAb_ARRAYc_Ad” to something almost generic like “SZ_ARRAYc_B1_A2” and place all the hosts HBAs that need to connect to this smart zone in this smart zone, I’m guessing that even in the GUI (DCNM) this will only take a few minutes, considering you already created aliases for each HBA (you’d only have to select each alias for that smart zone and drag these into the right smart zone).

How long would it take you to create 320 SIST zones?

I rest my case.

  1. Als take a look at this nice PDF on the Cisco website: at_a_glance_c45-708533.pdf

  2. Hi Rob.
    I’m not sure I understood your Cisco smart zoning example. From what I can read from the “nice PDF on the Cisco website” regarding smart zoning, I should put all initiators and targets inside one smart zone, assuming all of the initiators will be able to talk to all targets in a SIST configuration.

    From your example with 320 SIST zones, I believe with smart zoning only 1 zone per fabric is required (or 4 if you want to have only one zone per storage array).

    Do you agree?

    • In my example I have 3 usable storage ports per storage processor per VNX. If you look at the table containing the 6 hosts, you can see that I’m alternating between the available ports. I’m leaving out the 0-port, as that’s the mirrorview port, but that leaves the 1, 2 and 3 port. Since SPA is connected to both fabrics and SPB as well, 2 of the SPA ports are connected to the left fabric and 1 of the SPB ports. The other fabric holds 2 of the SPB ports and 1 of the SPA. The table should have made that clear. Since there’s only 1 port of SPA in the left fabric, that port is included in all zones and in the right fabric the same goes for SPB.

      So:
      Fabric 1 contains 2 smart zones for each VNX (4 VNXs, so 8 zones in total)
      target B1, A2
      target A1, B2

      Fabric 2 also contains 2 smart zones for each VNX (4 VNXs, so 8 zones in total)
      target A2, B3
      target B2, A3

      So per array I end up with 4 smart zones, each containing a unique pair of storage ports.

      If I would create only a single smart zone per fabric per VNX, I have 6 (!!) targets per zone, so each host will end up having 6 instead of 4 paths to each VNX.
      If I would only use 2 target ports per SP (SPA1 + SPB2 and SPA2 and SPB1), THEN I can create 1 smart zone per fabric per VNX. In that case you are correct. In my example I have more than 2 usable storage ports….

      Did this make sense?

  3. Yes, that made perfect sense. I did not read the example properly the first time.

    I guess having only two usable ports per storage processor would have made things a little easier with regards to the smart zoning example 🙂

Would you like to comment on this post?