3 Replies Latest reply: Oct 5, 2016 1:22 AM by Finnur Gudmundsson RSS

    Zoning for Nimble Storage FC Array

    Nico Duwana Newbie
    Visibility: Open to anyone



      I'm new to Nimble Storage. We use EMC and Hitachi active-active controller arrays back in my office and I want to know how you do zoning for Nimble's active-standby controller arrays. With EMC VNX or Hitachi HUS, on each fabric FC switch you will connect one leg from each storage controller, e.g. SPA0 and SPB0 and on the other fabric FC switch, another set of leg, e.g. SPA1 and SPB1. For each you will create alias and each host hba (initiator) will have at least 2 zones in a fabric: e.g. HOST1_HBA1_VNX_SPA1 (for HOST1_HBA1 and storage SPA1), and HOST1_HBA1_VNX_SPB1 (for HOST1_HBA1 and storage SPB1). How is it done on Nimble? I read Nimble Fibre Channel:  In the Zone - A discussion around best practice with Fibre Channel Zones and see for Nimble with 2 set of FC ports (e.g. CS1000), you have FC1 and FC2 on the active controller, and another FC1 and FC2 on the standby controller? Is the WWPN for FC1 from the active controller the same as that for FC1 of the standby controller? When doing zoning in 1 fabric FC switch, how many zones do you need to create for each host's HBA? With VNX:



      With Nimble, is it only 1 zone (HOST1_HBA1_FC1)? And this 1 zone is enough to provide Host1 HBA1 access to the other standby controller when it becomes active controller?


      Thanks in advance & regards,


        • Re: Zoning for Nimble Storage FC Array
          jstinson Wayfarer

          Hi Nico,


          An important thing to note about the active/passive controller setup of Nimble is that the client doesn't know about it. As far as the initiator OS is concerned, there are just multiple ports to use and it doesn't know that some are on the passive controller. Thus, if your storage array has 4 FC target ports (2 per controller), your initiator will probably need to know about all 4 of them. The Nimble toolkit installed into the server OS will handle which paths to use based on which controller is active.


          In our environment (Nimble CS500 with Fibre Channel SAN on Brocade switches), we do have 4 total ports on our array, 2 per controller. Both Nimble controllers have a single connection to each Brocade switch so that a failure of one controller and/or one switch will not break the connection (I'm sure this is how your existing arrays are set up, though maybe with more fibers).


          For the zoning, I like to keep my switch configs identical which means the switches know about all the WWPNs on my CS500 and my servers, even though each switch is only connected to one half the the WWPNs. This ensures if I disconnect a server for maintenance and then reconnect it, I don't have to worry about which port was connected to which switch. I also just create one alias for the entire array which includes 4 WWPNs but is effectivly only 2 since the other 2 are connected to the other switch.


          To help clarify, here's is a mock cfgshow of my setup:


          cfg:     prod_cfg

                         server1_zone; server2_zone

          zone:  server1_zone

                         nimble; server1

          zone:  server2_zone

                         nimble; server2

          alias:  server1

                         wwpn1:of:server:1; wwpn2:of:server:1

          alias:  server2

                         wwpn1:of:server:2; wwpn2:of:server:2

          alias:  nimble

                         wwpn:of:nimble:controller1:port:1; wwpn:of:nimble:controller:1:port:2

                         wwpn:of:nimble:controller2:port:1; wwpn:of:nimble:controller:2:port:2


          I hope that all makes sense. Please tell me if I should clarify something or if you have another question.