EMC: Fibre Zone operations

Title:

EMC: Fibre Zone operations

Author:

Douglas O’Leary <dkoleary@olearycomputers.com>

Description:

Information about fibre zone

Date created:

06/2001

Date updated:

07/2005

Disclaimer:

Standard: Use the information that follows at your own risk. If you screw up a system, don’t blame it on me…

Fibre Zone Definitions:

Blocking zone set:

A zone set used in the initial configuration of units to prevent HBAs fibre logins to every port in the fabric. A large time savings, this one…

Member:

Basic building block of FibreZone zones - these are the HBAs (Host Bus Adapters) or the FA (Fibre Channel Adapters) on the EMC systems.

Meta Units:

A collection of units - a fabric in other words.

Vendor Interfaces:

The goal of FibreZone is to hide the details of a specific vendor’s switch from the administrators. It is important, however, to realize that FibreZone formats the commands using vendor interfaces then sends the formatted commands to the switch in question.

Unit:

A switch - either Brocade (silworm) or Connectirx (e1032))

Zone:

A connection between two members through a unit.

Zone set:

Self explanatory: only one zone set can be active on a unit at a time.

Blocking Zone information:

When you connect HBAs to a switch, it will try to login to all ports on the fabric to which it has access. With no zones in effect, the HBA will have access to all ports. This process will take an excessive amount of time - particularly on 32 port switches.

The way to avoid this unnecessary waste of time is to set up a blocking zone set on the switche before connecting any hardware to the switch. The blocking zone sets up a zone with a single bogus member. Since only one zone set can be active at the same time and since the h/w you’re plugging in won’t be in the zone set, there won’t be any fabric logins.

To set up a blocking zone set, do the following:

  1. Create a bogus member:

    fzone member -create -name ${blocking_member_name} \
    -wwn 00:00:00:00:00:00:00:00
    
  2. Create a zone containing the bogus member:

    fzone zone -create -name ${blocking_zone_name} ${blocking_member_name}
    
  3. Create a blocking zone set

    fzone zone_set -create -name ${blocking_zone_set_name} ${blocking_zone_name}

  4. Create the unit, if not already done, and assign the zone set to it.

    fzone unit -create -name ${unit_name} -interface ${unit_type} -o ${connect_data} -assign ${blocking_zone_set_name}

  5. Assign the zone set to the unit.

    fzone fabric -enable ${unit_name}

Vendor Interfaces:

As mentioned in the definitions, Fibre Zone attempts to hide the details of specific units from the administrator. It does this by providing a standard interface to the fibre zone database. It’s this database that formats and sends the commands in expected format to either Silkworms or Connectrix swiches. As you might imagine, there are some differences in the way these two switches are manipulated.

One area where Fibre Zone can’t hide the switch details is the initial configuraiton. Fibre Zone has to know how to access the switch before it can do anything with it. Naturally, there are differences between the two switches, so there are differences in the commands used to initially create the unit.

The generic format for the create unit command is:

fzone unit -create -name ${name} -interface [ silkworm | ed1032 ] \
-o ${connect_data}

It’s the ${connect_data} that has the vendor specific information.

To identify what information is required for each switch type, query the database thusly:

fzone interface -info ${switch_type}

Specifically:

# fzone interface -info silkworm

id           = 1
name         = silkworm
type         = interface
in use       = yes
version      = 1.00.21
device type  = switch
model        = SilkWorm 1000/2xxx
conn.data    = ip=(ip),uname=(user_name),password=(password)
conn.units   = brocade1,brocade2

# fzone interface -info ed1032

id           = 2
name         = ed1032
type         = interface
in use       = no
version      = 1.00.21
device type  = switch
model        = ED5000/ED1032 versions 1.4,2.0
conn.data    = ip=(service_processor_ip),wwn=(switch_wwn)
conn.units   =

So, the specific syntax to create a new unit for each switch type is:

fzone unit -create -name switch1 -interface silkworm \
-o ip=192.168.12.1,uname=lord-o-daemons,password=whorukidding?

fzone unit -create -name switch2 -interface ed1032 \
-o ip=192.168.12.2,wwn=00:00:00:00:00:00:00:00

Basic operations:

As noted in the definitions, there are five basic objects in the Fibre Zone environment:

  1. Members

  2. Zones

  3. Zone sets

  4. Units

  5. Meta units

The basic comand for each of these types is as follows:

  1. fzone member

  2. fzone zone

  3. fzone zone_set

  4. fzone unit

  5. fzone unit -meta ..

Most, if not all of the commands will have at least the following four subsets:

  1. -list

  2. -create

  3. -delete

  4. -modify

You can simply execute the command without all the requisite options for a short help screen thusly:

# fzone unit
Usage: fzone unit [ options ]
Arguments for unit command :
          -list
        | -delete unit_name
        | -create [ -name name ] [ -assign zone_set_name ]
                  { -meta unit1,.. | -interface interface_name -o conn.data }
        | -extend unit_name unit1,..
        | -shrink unit_name unit1,..
        | -rename old_name new_name
        | -info { unit_name | unit_id } [-online]
        | -modify unit_name { -interface new_interface_name | -o new_conn.data }
        | -show unit_name [ -extend ]
        | -assign unit_name new_zone_set_name
        | -import unit_name [ -rename ] [ -apply ]
        | -default_zone { on | off } unit_name

for interfaces' list run "fzone interface -list"
for conn. data run "fzone interface -info interface_name"

Other than that, you need to hit the EMC’s Powerlink and download the docs. The more detailed information that you’ll need is hiding in there.

New Switch Checklist:

  1. Verify network connectivity to the switch

    1. ping the switch’s IP

    2. ID the connection data that you’ll need.:

      fzone interface -info ${interface_type}
      
  2. Create the unit:

    fzone unit -create -name ${unit_name} -interface ${interface} \
    -o "${connect_data}"
    
  3. Create a blocking zone

  4. Connect the devices

  5. Generate a list of attached devices:

    fzone unit -info ${unit_name} -online
    
  6. Create members (both FAs and HBAs):

    fzone member -create -name ${member_name} -wwn ${WWN}
    
  7. Create zones

    1. Zone members are a comma separated list of names created above.

    2. Use single hba zones - one HBA to many FAs.

      fzone zone -create -name ${zone_name} m1,m2,m3,m4
      
  8. Create the zone set

    1. Zone set members are a list of comma separated zones as created above.

    2. Note the capitalization of Zone_Set:

      fzone Zone_Set -create -name ${zone_set_name} z1,z2,z3
      
  9. Assign the zone set to the unit:

    fzone unit -assign ${unit_name} ${zone_set_name}
    
  10. Enable the zone set:

    fzone fabric -enable ${unit_name}