Visitors

VMware Host zoning for multi X-Brick EMC XtremIO storage array

VMware vSphere ESXi 5.5 and 6.0 have a limit of 256 LUNs per host:

https://www.vmware.com/pdf/vsphere5/r55/vsphere-55-configuration-maximums.pdf
https://www.vmware.com/pdf/vsphere6/r60/vsphere-60-configuration-maximums.pdf

In an environment where a host with two HBAs (VMware Best Practice) is connected to two fabrics and storage array with two Storage Controllers (EMC VNX, for example) the host will have four paths to a LUN: 2 Controllers x 2 HBAs = 4 paths

When we apply the same approach to EMC XtremIO clusters (two or more X-Bricks, 8 maximum), we should also consider another limit, the ‘Number of total paths on a server‘ which is 1024. With two X-Bricks, you have four controllers, multiply by two HBAs and you have eight paths per LUN. Therefore the max number of LUNs will be 128 LUNs (1024 / 8 = 128).

The following diagram displays the logical connection topology for 8 paths.
Host zoning EMC XtremIO dual X-Brick configuration - 8 paths

If you go to the extreme and configure your XtremIO with eight X-Brick, you have 16 controllers. Again, two HBAs per host and the max number of LUNs you can attach to an ESXi host will be 32… I understand, different OS’es may have different limits than VMware and this logic will not be applicable.

If you have hit the limit of 1024 paths per host (1024 / 4 controllers / 2 HBAs = 128 LUNs) and need to provision more LUNs, the best way will be to re-zone the host to limit the number of X-Bricks / Controllers the host HBA can connect to.

The following diagram displays the logical connection topology for 4 paths.
Host zoning EMC XtremIO dual X-Brick configuration - 4 paths

OK, let see how to reconfigure the zoning. Please refer to ‘HOW TO: Configure smart zoning on Cisco MDS 9148s‘ blog post to see how it was configured in the first place.

  1. To begin with, lets check the current zoning configuration:
    • Fabric1:
      zone name Cluster01_hosts_XIO vsan 10
        fcalias name Cluster01_hosts vsan 10
          pwwn 20:00:00:25:b5:03:a0:04 [Cluster01n01_vhba0]  init
          pwwn 20:00:00:25:b5:03:a0:05 [Cluster01n02_vhba0]  init
      
        fcalias name Cluster01_XIO vsan 10
          pwwn 21:00:00:24:ff:5e:f7:4a [X1_SC1_FC1]  target
          pwwn 21:00:00:24:ff:5f:0b:90 [X1_SC2_FC1]  target
          pwwn 21:00:00:24:ff:8c:9b:78 [X2_SC1_FC1]  target
          pwwn 21:00:00:24:ff:3d:5c:32 [X2_SC2_FC1]  target
            
    • Fabric2:
       zone name Cluster01_hosts_XIO vsan 11
          fcalias name Cluster01_hosts vsan 11
            pwwn 20:00:00:25:b5:03:b1:04 [Cluster01n01_vhba1]  init
            pwwn 20:00:00:25:b5:03:b1:05 [Cluster01n02_vhba1]  init
      
          fcalias name Cluster01_XIO vsan 11
            pwwn 21:00:00:24:ff:5e:f7:4b [X1_SC1_FC2]  target
            pwwn 21:00:00:24:ff:5f:0b:91 [X1_SC2_FC2]  target
            pwwn 21:00:00:24:ff:8c:9b:79 [X2_SC1_FC2]  target
            pwwn 21:00:00:24:ff:3d:5c:33 [X2_SC2_FC2]  target
            
  2. The idea is to configure one HBA to one X-Brick zones therefore I will create an FCalias for X-Brick1 and X-Brick2 (X-BrickN, if you have more…).
    • Fabric1:
      fcalias name XIO_X1 vsan 10
      member device-alias X1_SC1_FC1 target
      member device-alias X1_SC2_FC1 target
      
      fcalias name XIO_X2 vsan 10
      member device-alias X2_SC1_FC1 target
      member device-alias X2_SC2_FC1 target
         
    • Fabric2:
      fcalias name XIO_X1 vsan 11
      member device-alias X1_SC1_FC2 target
      member device-alias X1_SC2_FC2 target
      
      fcalias name XIO_X2 vsan 11
      member device-alias X2_SC1_FC2 target
      member device-alias X2_SC2_FC2 target
         
    • N.B. These aliases can also be used to zone hosts to all X-Bricks in the normal fashion if the LUN/path limit is not going to be an issue:
       zone name Cluster01_X1_X2 vsan 11
      member Cluster01_hosts 
      member fcalias XIO_X1
      member fcalias XIO_X2
          
  3. Let’s configure the zones. There is only one HBA per zone, therefore I will not be configuring the fcalias but use device alias instead:
    • Fabric1:
      zone name Cluster01N01_X1 vsan 10
      member device-alias Cluster01n01_vhba0 initiator
      member fcalias XIO_X1
      
      zone name Cluster01N02_X2 vsan 10
      member device-alias Cluster01n02_vhba0 initiator
      member fcalias XIO_X2
         
    • Fabric2:
      zone name Cluster01N01_X1 vsan 11
      member device-alias Cluster01n01_vhba1 initiator
      member fcalias XIO_X1
      
      zone name Cluster01N02_X2 vsan 11
      member device-alias Cluster01n02_vhba1 initiator
      member fcalias XIO_X2
         
  4. Add the zones to the zoneset:
    • Fabric1:
      zoneset name zs_vsan10 vsan 10
      member Cluster01N01_X1
      member Cluster01N02_X2
         
    • Fabric2:
      zoneset name zs_vsan11 vsan 11
      member Cluster01N01_X1
      member Cluster01N02_X2
         
  5. Activate zoneset and commit the zone:
    • Fabric1:
      zoneset activate name zs_vsan10 vsan 10
      zone commit vsan 10
    • Fabric2:
      zoneset activate name zs_vsan11 vsan 11
      zone commit vsan 11
  6. Remove the old zones and fcaliases:
    1. Fabric1:
      no zone name Cluster01_hosts_XIO vsan 10
      no fcalias name Cluster01_hosts vsan 10
      no fcalias name Cluster01_XIO vsan 10
    2. Fabric2
      no zone name Cluster01_hosts_XIO vsan 11
      no fcalias name Cluster01_hosts vsan 11
      no fcalias name Cluster01_XIO vsan 11
      
  7. Commit the zones again.
  8. Rescan HBAs and confirm the number of path has changed.

I hope this will help.

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>