Zoning Brocade switches - Tutorial
This tutorial provides a quick
walk-through of setting up zoning on a Brocade switch. It is not a
comprehensive review of the topic, but it may give you some familiarity
with the commands and syntax necessary to set up zoning in the Brocade
environment.
What is zoning?
Zoning provides a way to logically group
together the components of a SAN. Ports, interfaces and even switches
themselves can be grouped together into configurations that work
together to make SANs more orderly and less daunting.
Managing configurations
All zoning in the Brocade environment is done within configurations. A configuration contains aliases and zones.
An alias is a tool to simplify repetitive port numbers or WWN entries into an easy-to-remember name. For instance: rather than typing in the WWN "50:00:0e:10:00:00:00:17" in zoning operations, one could use an alias to identify the WWN as being "DF350_intfc_0". Aliases can also be used to identify multiple ports or WWNs by a single name. All zoning commands accept aliases as valid parameters.
A zone is a set of devices that access one another. All devices connected to a Fabric may be configured into one or more zones. Devices that are in the same zone can see each other, devices that are in different zones can not.
Commands used in this example
alicreate : Creates new
zone aliases. Assigns a name to a list of alias members. Alias members
can include port numbers (for example; 1,2 indicates switch 1, port 2)
or WorldWide? names. If there are multiple alias members, all members
must be separated by semicolons within the list of alias members.
example : alicreate "df350_intfc_0", "50:00:0e:10:00:00:00:17"
zonecreate : Groups a list
of zone members under a zone name. Zone members can include port
numbers, WorldWide? names, or aliases created by the alicreate command.
Multiple zone members must be separated by semicolons within the list of
zone members.
example : zonecreate "c2zone", "snowtop_c2; df350_intfc_1"
cfgcreate : Assigns a
configuration name to a list of configuration members. The configuration
members are all zones Multiple configuration members are separated by
semicolons.
example : cfgcreate "c2config", "c2zone"
cfgenable : Checks a
specified configuration for errors and makes it the active configuration
of the switch. Note: No zoning is applied to the switch until the
cfgenable command completes successfully. If there is already an active
configuration, cfgenable will replace the active configuration with the
specified configuration.
example : cfgenable "c2config"
cfgdisable : Deactivates a specified configuration
example : cfgdisable "c2config"
cfgsave : Saves zoning
information to switch's flash memory. Configuration will not survive a
reboot of the switch until the configuration is saved.
cfgclear : Deactivates and
removes all zoning information from active memory. To remove a
configuration from flash memory, run cfgsave after cfgclear.
zoneshow : Shows zoning configuration.
switchshow : Shows overall
configuration of switch. WWNs, login types (F-port, L-Port etc.) port
status and some general switch info show up in switchshow.
Setting up a zoning configuration
The following example sets up a switch
so that the LUNs presented on controller 0 of a DF350 Fibre unit are
presented either to controller 2 or controller 3 of a Sun Solaris host
depending on which configuration is activated.
Please note : If ANY ports
on a switch are in an active zone configuration, ALL ports on the
switch MUST be zoned in order to be useable. Since this example only
uses ports 4-7 of the switch, ports 0-3 would not be useable until they
were included in the active zoning configuration.
Another note : Usually it
is best to zone by WWN, rather than by port number. That way, if a port
goes bad the user just has to move the affected interface cable to a
different port on the switch and the zoning should still be in place.
login: admin
Password:
sw2400_68:admin> switchshow
switchName: sw2400_68
switchType: 3.2
switchState: Online
switchRole: Principal
switchDomain: 1
switchId: fffc01
switchWwn: 10:00:00:60:69:20:13:c0
port 0: sw No_Light
port 1: sw No_Light
port 2: sw No_Light
port 3: sw No_Light
port 4: sw Online F-Port 50:00:0e:10:00:00:00:5d
port 5: sw Online F-Port 50:00:0e:10:00:00:00:17
port 6: sw Online F-Port 20:00:00:e0:69:c0:08:23
port 7: sw Online F-Port 20:00:00:e0:69:c0:08:45
sw2400_68:admin> alicreate "df350_intfc_0", "50:00:0e:10:00:00:00:17"
sw2400_68:admin> alicreate "df350_intfc_1", "50:00:0e:10:00:00:00:5d"
sw2400_68:admin> alicreate "snowtop_c2", "20:00:00:e0:69:c0:08:45"
sw2400_68:admin> alicreate "snowtop_c3", "20:00:00:e0:69:c0:08:23"
sw2400_68:admin> zoneshow
Defined configuration:
alias: df350_intfc_0
50:00:0e:10:00:00:00:17
alias: df350_intfc_1
50:00:0e:10:00:00:00:5d
alias: snowtop_c2
20:00:00:e0:69:c0:08:45
alias: snowtop_c3
20:00:00:e0:69:c0:08:23
Effective configuration:
no configuration in effect
sw2400_68:admin> zonecreate "c2zone", "snowtop_c2; df350_intfc_1"
sw2400_68:admin> zonecreate "c3zone", "snowtop_c3; df350_intfc_1"
sw2400_68:admin> zoneshow
Defined configuration:
zone: c2zone snowtop_c2; df350_intfc_1
zone: c3zone snowtop_c3; df350_intfc_1
alias: df350_intfc_0
50:00:0e:10:00:00:00:17
alias: df350_intfc_1
50:00:0e:10:00:00:00:5d
alias: snowtop_c2
20:00:00:e0:69:c0:08:45
alias: snowtop_c3
20:00:00:e0:69:c0:08:23
Effective configuration:
no configuration in effect
sw2400_68:admin> cfgcreate "c2config", "c2zone"
sw2400_68:admin> cfgcreate "c3config", "c3zone"
sw2400_68:admin> zoneshow
Defined configuration:
cfg: c2config
c2zone
cfg: c3config
c3zone
zone: c2zone snowtop_c2; df350_intfc_1
zone: c3zone snowtop_c3; df350_intfc_1
alias: df350_intfc_0
50:00:0e:10:00:00:00:17
alias: df350_intfc_1
50:00:0e:10:00:00:00:5d
alias: snowtop_c2
20:00:00:e0:69:c0:08:45
alias: snowtop_c3
20:00:00:e0:69:c0:08:23
Effective configuration:
no configuration in effect
sw2400_68:admin> cfgenable "c2zone"
error: "c2zone" is not a configuration
sw2400_68:admin> cfgenable "c2config"
zone config "c2config" is in effect
sw2400_68:admin> zoneshow
Defined configuration:
cfg: c2config
c2zone
cfg: c3config
c3zone
zone: c2zone snowtop_c2; df350_intfc_1
zone: c3zone snowtop_c3; df350_intfc_1
alias: df350_intfc_0
50:00:0e:10:00:00:00:17
alias: df350_intfc_1
50:00:0e:10:00:00:00:5d
alias: snowtop_c2
20:00:00:e0:69:c0:08:45
alias: snowtop_c3
20:00:00:e0:69:c0:08:23
Effective configuration:
cfg: c2config
zone: c2zone 20:00:00:e0:69:c0:08:45
50:00:0e:10:00:00:00:5d
What does this configuration look like on the Sun Solaris host?
After a reconfiguration boot, this is what the host sees when the " c2config " configuration is used on the switch.
# format
Searching for disks...done
c2t0d1: configured with capacity of 32.45GB
c2t0d2: configured with capacity of 15.51GB
AVAILABLE DISK SELECTIONS:
0. c0t0d0
/pci@1f,4000/scsi@3/sd@0,0
1. c2t0d0
/pci@6,4000/fibre-channel@2/sd@0,0
2. c2t0d1
/pci@6,4000/fibre-channel@2/sd@0,1
3. c2t0d2
/pci@6,4000/fibre-channel@2/sd@0,2
Changing the configuration
To change the configuration, simply log into the switch and activate the " c3config " configuration that we created earlier.
sw2400_68:admin> cfgenable "c3config"
zone config "c3config" is in effect
After a reconfiguration boot, the Sun Solaris host now sees the new configuration. The LUNs that used to be presented to controller 2 are now presented to controller 3:
# format
Searching for disks...done
c3t0d1: configured with capacity of 32.45GB
c3t0d2: configured with capacity of 15.51GB
AVAILABLE DISK SELECTIONS:
0. c0t0d0
/pci@1f,4000/scsi@3/sd@0,0
1. c3t0d0
/pci@6,4000/fibre-channel@3/sd@0,0
2. c3t0d1
/pci@6,4000/fibre-channel@3/sd@0,1
3. c3t0d2
/pci@6,4000/fibre-channel@3/sd@0,2
/pci@1f,4000/scsi@3/sd@0,0
1. c2t0d0
/pci@6,4000/fibre-channel@2/sd@0,0
2. c2t0d1
/pci@6,4000/fibre-channel@2/sd@0,1
3. c2t0d2
/pci@6,4000/fibre-channel@2/sd@0,2
Changing the configuration
To change the configuration, simply log into the switch and activate the " c3config " configuration that we created earlier.
sw2400_68:admin> cfgenable "c3config"
zone config "c3config" is in effect
After a reconfiguration boot, the Sun Solaris host now sees the new configuration. The LUNs that used to be presented to controller 2 are now presented to controller 3:
# format
Searching for disks...done
c3t0d1: configured with capacity of 32.45GB
c3t0d2: configured with capacity of 15.51GB
AVAILABLE DISK SELECTIONS:
0. c0t0d0
/pci@1f,4000/scsi@3/sd@0,0
1. c3t0d0
/pci@6,4000/fibre-channel@3/sd@0,0
2. c3t0d1
/pci@6,4000/fibre-channel@3/sd@0,1
3. c3t0d2
/pci@6,4000/fibre-channel@3/sd@0,2
0 comments:
Post a Comment