Professional Documents
Culture Documents
Brocade Product Training: Cfp264 Brocade 4 Gbit/Sec Accelerated BCFP Instructor-Led Module 6 Brocade Silkworm Zoning
Brocade Product Training: Cfp264 Brocade 4 Gbit/Sec Accelerated BCFP Instructor-Led Module 6 Brocade Silkworm Zoning
Product Training
CFP264
Brocade 4 Gbit/sec Accelerated BCFP
Instructor-Led Module 6
Brocade SilkWorm Zoning
Create a detailed switch diagram of the fabric showing ISL connectivity. This
will help account for every switch in the fabric and the E_Ports that are in
use. Expand each switch diagram to show every port (F_Port, FL_Port).
Switch ports that are not in use should remain disabled with a
portcfgpersistentdisable command.
Define a naming convention to help identify and reference devices in the
fabric. Naming conventions can also be used when creating zones and zone
configurations.
The zoning syntax when creating a zoning set ultimately defines what zoning
scheme will be enforced as the frame is delivered to the destination port.
More information on this will follow.
Analyze the zones to ensure that all nodes are members of the correct
zone(s). When the aliases have been added to zones and the zones are
added to the zone configuration, enable the zone configuration and test from
the host that each target can be accessed. For fabrics with multiple zones
enabled, it is generally best to configure one zone at a time and then test it
with the Zone Analyzer available in Web Tools. If you create all the zones
without testing each zone as it is created, it is difficult to debug. After the first
zone is setup in the fabric, the user may plug in devices and then test the
connections to confirm that everything is functioning properly.
Members
or Aliases
Zones
Config
Member:
Alias is given a name, e.g. Server_1, Disk_Array_2.
Physical Fabric port number or area number.
Node World Wide Name - Obtained using nsshow or switchshow.
Port World Wide Name Obtained using nsshow or portloginshow.
64 characters maximum: A-Z, a-z, 0-9 and the _ are allowed.
Zone:
Is given a name, e.g. Red_Zone.
Contains two or more members and uses a ; as a separator.
The same member can be in multiple zones.
Zone definition is persistent; it remains until deleted or changed by an
administrator.
Configuration:
Is given a name, e.g. Production_Cfg.
Is one or more zones.
Configuration may be disabled or one configuration may be in effect from any
switch in the fabric.
An administrator selects which configuration is currently enabled.
A configuration is saved when enabled and then distributed to the remaining
switches in the fabric where it is enabled and saved.
The following commands are used to create/modify the defined zone configuration:
*create Creates a new alias, zone or configuration
*delete Deletes the entire alias, zone or configuration
*add Adds a member to an existing alias, zone or configuration
*remove Removes one or more members from an existing alias, zone
or configuration
*show Displays alias, zone and/or configuration information
Web Tools and Fabric Manager provide a GUI that makes the administration of
zoning easier.
Zone objects identified by port number or area number are specified as a pair of decimal numbers
d,area, where d is the Domain ID of the switch and area is the area number on that switch. If the
switch is replaced that is referenced by <domain, port> or <domain, area>, the new switch should be
configured with the predecessors Domain ID. If a Domain ID is changed to a new value, all zones
that referenced the predecessors domain number will need to be updated with the successors value.
Worldwide Names are specified as a 16 digit hexadecimal number separated by colons, for example
10:00:00:90:69:00:00:8a. When node name is used to specify a zone object, all ports on that device
are in the zone. When port name is used to specify a zone object, only that single port is in the zone.
Zone aliases simplify repetitive entry of zone objects such as port numbers or NWWN. For
example, the name Eng could be used as an alias for 10:00:00:80:33:3f:aa:11. An alias is a name
assigned to a device or group of devices. By creating an alias you can assign a familiar name to a
device, or you can group multiple devices into a single name. This can simplify cumbersome entries
and it allows an intuitive naming structure such as using NT_Storage to define all NT storage ports in
the fabric.
When a zoned host is returned the list of network targets (referenced by <domain,port> or PWWN or
NWWN) by the Name Server, the host will send a PLOGI request to the destination addresses. If the
PLOGI frame is allowed to pass at the egress port and the target at the destination address replies
an accept to the PLOGI request, the Brocade switch and Zoning has completed its responsibility of
networking the source and destination. Limiting the amount of LUNs and target IDs that the host can
access when the SCSI inquiry command is sent, is the responsibility by the storage provisioning
software located at the storage device.
3. Create Zones
>zonecreate Zone_Eng,Eng_Host; Eng_Stor
>zonecreate Zone_Mkt,Mkt_Host; Mkt_Stor
4. Create Configuration
>cfgcreate Cfg_EngMkt,Zone_Eng; Zone_Mkt
S1 S3
S2 S5
S4
This example should not be viewed as a best practice but rather an example that
shows how a domain, port and WWN would be coded. The CLI is used to illustrate
the zoning structure. Once this is understood, the Web Tools GUI would be a better
tool to use.
Zoning requires prior planning. What are your goals? How will you achieve them?
Create members using aliases.
Create zones using alias members.
Create a configuration using zones.
Enable the zone configuration throughout the fabric.
Note: A cfgenable also saves the defined configuration and the name of the
effective configuration to flash memory.
sw4100:admin> cfgshow
Eng Host Defined configuration:
Mkt Host cfg: Cfg_EngMkt
Zone_Eng; Zone_Mkt
zone: Zone_Eng Eng_Host; Eng_Stor
zone: Zone_Mkt Mkt_Host; Mkt_Stor
Domain 1
alias: Eng_Stor 21:00:00:20:37:87:48:e7;
21:00:00:20:37:87:23:e2
alias: Eng_Host 1,0
alias: Mkt_Stor 21:00:00:20:37:87:49:29;
21:00:00:20:37:87:e5:20;
21:00:00:20:37:87:20:c5
alias: Mkt_Host 1,16
S1 S3
S2 S5 Effective configuration:
no configuration in effect
S4
A cfgshow displays the defined configuration and since zoning has not been
enabled, there is no effective configuration. Zoning is fabric-wide, thus any switch
can be used to display the current zoning configurations.
The defined configuration is the Zoning Database and contains all zone objects that
have been created. It is possible to have several zone configurations but only one
can be enabled.
Eng Host
Mkt Host 5. Enable Configuration
>cfgenable Cfg_EngMkt
Domain 1
S1 S3
S2 S5
S4
Note: A cfgenable also saves the defined configuration and the name of the
effective configuration to flash memory.
sw4100:admin> switchshow
switchName: sw4100
switchType: 32.0
switchState: Online
switchMode: Native
switchRole: Principal
switchDomain: 1
switchId: fffc01
switchWwn: 10:00:00:05:1e:34:01:e6
switchBeacon: OFF
Zoning: ON (Cfg_EngMkt)
2006 Brocade Communications Systems, Incorporated.
CFP264 ILT 0806 12
Defined configuration: The complete set of all zone objects that have been
defined in the fabric.
DEFINED EFFECTIVE
sw4100:admin> cfgenable Cfg_EngMkt CONFIGURATION CONFIGURATION
Cfg_EngMkt 1 Cfg_EngMkt
Zone_Eng Zone_Eng
Cfg_EngMkt becomes Zone_Mkt Zone_Mkt
1
effective configuration
Defined configuration
2 2
is written to flash memory 3
Name of effective configuration RAM
3
is written to flash memory
(Cfg_EngMkt) Domain
1 Flash
Note: cfgenable performs an Memory
implicit cfgsave
Use the cfgenable command to enable a zone configuration. The specified zone
configuration is built by checking for undefined zone names, zone alias names, or
other inconsistencies by expanding zone aliases, removing duplicate entries, and
then installing the current configuration.
If the build fails, the previous state is preserved (zoning remains disabled, or the
previous configuration remains in effect). If the build succeeds, the new
configuration replaces the previous configuration.
DEFINED EFFECTIVE
EFFECTIVE
sw4100:admin> cfgdisable CONFIGURATION CONFIGURATION
CONFIGURATION
1 Cfg_EngMkt
Cfg_EngMkt
Zone_Eng Zone_Eng
Effective configuration Zone_Mkt Zone_Mkt
1
is disabled
Defined configuration
2 2
is written to flash memory 3
Name of effective configuration RAM
3
set to none in flash memory
Domain
1 Flash
Memory
Use the cfgdisable command to disable the current zone configuration. The fabric
returns to non-zoning mode, in which all devices see each other.
This command ends and commits the current zoning transaction buffer to both
volatile and flash memory. If a transaction is open on a different switch in the fabric
when this command is run, the transaction on the other switch is automatically
aborted. A message is displayed on the other switches to indicate the aborting of
the transaction.
DEFINED EFFECTIVE
sw4100:admin> cfgsave CONFIGURATION CONFIGURATION
Cfg_EngMkt Cfg_EngMkt
Zone_Eng Zone_Eng
Any changes made to the defined Zone_Mkt Zone_Mkt
1
configuration before issuing cfgsave
xxxx
Defined configuration xxxx
2 2
is written to flash memory 3
1
Name of effective configuration RAM
3
is written to flash memory
(Cfg_EngMkt) Domain
1 Flash
Note: cfgsave does not do a cfgenable Memory
Use the cfgsave command to save the current zone configuration. The defined
configuration and the name of the enabled configuration are written to flash memory
in all switches in the fabric. This allows changes to be made to the defined
configuration without an immediate enabling of them.
The saved configuration is automatically reloaded by the switch on power on and, if
a configuration was in effect at the time it was saved, the same configuration is
reinstalled with an automatic cfgenable command.
Because the saved configuration is reloaded at power on, only valid configurations
are saved. The cfgsave command verifies that the enabled configuration is valid by
performing the same tests as cfgenable. If the tests fail, an error is displayed and
the configuration is not saved. Tests might fail if a configuration has been modified
since the last cfgenable.
This command ends and commits the current transaction. If a transaction is open on
a different switch in the fabric when this command is run, the transaction on the
other switch is automatically aborted. A message is displayed on the other switches
to indicate the aborting of the transaction.
If the defined configuration is larger than the supported maximum zoning database
size, the following message is issued: Commit zone DB larger than supported -
<zone db size> greater than <max zone db size>
Note: A cfgsave does not make any changes to the effective configuration. A
cfgenable command is still needed to enable any changes made in the defined
configuration.
DEFINED EFFECTIVE
sw4100:admin> cfgclear CONFIGURATION CONFIGURATION
Cfg_EngMkt
1
Zone_Eng
Defined configuration is cleared Zone_Mkt
1
from RAM
RAM
Domain
Note: cfgclear does not disable the
effective configuration and does
1 Flash
not save anything to flash memory Memory
Use the cfgclear command to clear all zone information in the defined configuration.
All defined zone objects are deleted. If an attempt is made to clear the defined
configuration while a zone configuration is enabled, you are warned to first disable
the enabled zone configuration.
After using the cfgclear command, use the cfgsave command to commit the defined
and effective configuration to flash memory for all the switches in the fabric.
Use the cfgsize command to display the size details of the zone database. The size
details include the Zone DB maximum size, the committed size, and the transaction
size. All sizes are in bytes.
Zone DB max size is the upper limit for the defined configuration, determined by the
amount of flash memory available for storing the defined configuration.
Committed size is the size of the defined configuration currently stored in flash
memory.
Transaction size is the size of the uncommitted defined configuration. This value will
be nonzero if the defined configuration is being modified, otherwise it is 0.
sw4100:admin> cfgsize
Zone DB max size - 127726 bytes
committed - 8812
transaction - 0
Zoning Database
Max DB
Size? Maximum Size by FOS
256 KB
128 KB
96 KB
The switch with the lowest maximum determines the maximum zoning database
size for the fabric.
If a switch attempts to join a fabric that has a zone database size greater than the
supported maximum size of the switch, a segmentation error will occur (the request
to join the fabric will be rejected) preventing the switch from joining the fabric.
zoneobjectrename
Renames a zone object
zoneobjectrename Zone_Redd, Zone_Red
zoneobjectexpunge
Deletes the zone object and removes it from the member list of all
other objects
zoneobjectexpunge Mkt_Host
2006 Brocade Communications Systems, Incorporated.
CFP264 ILT 0806 19
sw4100:admin> cfgshow
Defined configuration:
cfg: USA_cfg Red_zone; White_zone; Blue_zone
zone: Blue_zone 1,0; 1,1
zone: Red_zone 1,2; 1,3
zone: White_zone 1,4; 1,5
sw4100:admin> zoneobjectexpunge Blue_zone"
sw4100:admin> cfgshow
Defined configuration:
cfg: USA_cfg Red_zone; White_zone
zone: Red_zone 1,2; 1,3
zone: White_zone 1,4; 1,5
NL 0204ef; 3;21:00:00:ad:bc:04:6f:70;20:00:00:ad:bc:04:6f:70; na
FC4s: FCP [STOREX RS2999FCPH3 JB09]
Fabric Port Name: 20:04:00:60:69:01:44:22 This node has not
Permanent Port Name: 21:00:00:ad:bc:04:6f:70 been defined
in any alias
Aliases:
The Local Name Server has 2 entries }
2006 Brocade Communications Systems, Incorporated.
CFP264 ILT 0806 20
This command is a duplicate of the nsshow command with the added feature of
displaying the defined configuration aliases that the device belongs to.
The message There is no entry in the Local Name Server is
displayed if there is no information in this switch, but there still may be devices
connected to other switches in the Fabric. The command nsallshow shows
information from all switches.
NL 040901; 2,3;10:00:00:00:c9:26:0e:ae;20:00:00:00:c9:26:0e:ae; 3
Fabric Port Name: 20:09:00:60:69:50:06:78
Permanent Port Name: 10:00:00:00:c9:26:0e:ae
Device type: Physical Initiator
sw4100:admin> cfgtransshow
There is no outstanding zone transactions
sw4100:admin> cfgclear
Do you really want to clear all configurations? (yes, y, no, n):
[no] y
Clearing All zoning configurations...
sw4100:admin> cfgtransshow
Current transaction token is 271010736
It is abortable
sw4100:admin> cfgtransabort
sw4100:admin> cfgactvshow
Effective configuration:
cfg: Cfg_EngMkt
zone: Zone_Eng 1,0;
21:00:00:20:37:87:23:e2;
21:00:00:20:37:87:48:e7
zone: Zone_Mkt 1,16;
21:00:00:20:37:87:e5:20;
21:00:00:20:37:87:49:29;
21:00:00:20:37:87:20:c5
2006 Brocade Communications Systems, Incorporated.
Revision CFP264 ILT 0806
Page 6-24
Default Zoning
In early versions of Fabric OS, when zoning was not
implemented or a cfgdisable command was issued, all
devices in the fabric could access each other
In Fabric OS v5.1.0, you can now create a default zone:
Controls what device access is allowed within a fabric when zoning
is not enabled
Enable all device access with defzone --allaccess (default)
Disable all device access with defzone --noaccess
How it works:
When a user-specified zone configuration is not enabled, defzone
is in effect
When a user-specified zone configuration is enabled, the defzone
is overridden
The new default zone feature can enable or disable device access within a
fabric. Default zones are based on the FC-GS standard, but are not
supported when the switch or Director is in interop mode.
The defzone allaccess is the default because it matches how zoning
worked prior to Fabric OS v5.1.0.
From a switch running earlier versions of Fabric OS, the zone* commands
cannot manage the default zone, and the cfg* commands cannot manage
the default zone configuration.
For example, attempting to disable d__efault__Cfg on a Fabric OS
v5.0.1 switch results in the following error message:
RCSRCA_SFC_REJECTED
Sfc Was Rejected: Remote Switch Unable To Process.
When zoning is not enabled and the default zone is set to no access,
the cfgshow output for the v5.1.0 switch is different from a switch
with an earlier release. See slide above.
sw4100:admin> switchshow
switchName: sw4100
switchType: 32.0
switchState: Online
switchMode: Native
switchRole: Subordinate
switchDomain: 2
switchId: fffc02
switchWwn: 10:00:00:05:1e:02:a6:6d
zoning: ON (No Access)
switchBeacon: OFF
<truncated output>
Click here
for
Zoning
Admin
Location of the Zone Admin icon. A login is required before the Zone
Administration screen appears.
This screen allows for the creation and modification of aliases, zones and
configuration.
Session Enforcement
Name Server restricts PLOGIs
Hardware Enforcement
Available through ASIC hardware logic checking
Denies illegal access from bad citizens1
More secure than session
Devices that are Session enforced cause any PLOGIs to the device to be rejected.
Devices that are Hardware enforced cause any frames that do not comply with the
effective zone configuration to be rejected. This blocking is performed at the
transmit side of the port where the destination device is located. This is the highest
level of protection for a device.
Footnote 1: A bad citizen is best explained by defining good citizens. Good citizens
are defined as fabric devices that support RSCNs, query name server when they
receive RSCNs and only communicate with devices that the name server gives
them when they query. Bad citizens do not do one or more of these things.
The decision for what enforcement a device receives is based on how the members
in a given zone are defined. The table on the next slide describes this process.
2 & 4 Gbit/sec
Hardware Enforcement Zone Members
ASICs
Frame Filter
All PORTS
Hardware
Session Enforcement Z1=dom2,port1; dom2,port2
Trap PLOGI
Issues reject to
All WWNs
Hardware
initiator
Z2=wwn1; wwn2; wwn3
MIXED
Session
Z3=dom2,port3; wwn4
0 1 2 3 4 5 6 7
Domain 2
GREEN 8 9 10 11 12 13 14 15 WWN1
Dom, Port
Zone 2,8 Condor WWN1
ASIC BLUE
Zone
Blue Zone: This zone is Hardware enforced because all devices have been
specified by WWN.
Green Zone: This zone is Hardware enforced because all devices have been
specified by Port.
Red Zone: This zone is Session enforced because a mix of port and WWN have
been specified in the zone.
Purple Zone: This zone is also Session enforced because of a mix of port and
WWN in the same zone.
Note: The Red and Purple Zones also illustrate that the type of device (initiator vs.
target) has no bearing on the type of enforcement.
Dom, Port
2,0
Dom, Port
2,6
PURPLE
RED WWN4 Zone
Zone WWN3
Session
0 1 2 3 4 5 6 7
Enforced
Domain 2
GREEN 8 9 10 11 12 13 14 15 WWN1
Dom, Port
Zone 2,8 Condor WWN1 Session
ASIC Enforced
BLUE
Zone
Dom, Port Hardware WWN2 Hardware
2,9 Enforced Enforced
2006 Brocade Communications Systems, Incorporated.
CFP264 ILT 0806 35
This shows the results of Hardware and Session enforced overlapping zones.
The Blue zone is defined with all WWNs (WWN1 and WWN2) and meets the rules
for Hardware enforcement. The Purple zone is defined with a mix of port and
WWNs and meets the rules for Session enforcement.
The target device WWN1 is defined in both zones. When a device is defined in
overlapping zones, where one is hardware enforced and the other is Session
enforced, the device will become Session enforced in all zones. What is important to
note is the host (WWN2) is still Hardware enforced even though the target device
(WWN1) is now Session enforced. Under these conditions, zoning enforcement is
determined at the device level, not the zone level.
RSL1_ST07_B200:admin> portzoneshow
PORT: 0 (0) F-Port Enforcement: HARD WWN defaultHard: 0 IFID: 0x43020000
PORT: 1 (1) F-Port Enforcement: HARD WWN defaultHard: 0 IFID: 0x43020001
PORT: 2 (2) Offline
<truncated output>
RSL1_ST07_B200:admin> portzoneshow
PORT: 0 (0) F-Port Enforcement: SESSION BASED HARD defaultHard: 0 IFID: 0x43020000
PORT: 1 (1) F-Port Enforcement: SESSION BASED HARD defaultHard: 0 IFID: 0x43020001
PORT: 2 (2) Offline
<truncated output>
Zoning by single Host Bus Adapter (HBA) most closely recreates the original SCSI
bus. Each zone created has only one HBA (initiator) in the zone and all the targets
nodes are members of that zone.
Defining zone members with either all port numbers or all WWNs provides
Hardware enforcement.
Setting the default zone to no access when the fabric is first built allows devices to
connect to the fabric, do their FLOGI and Name Server update but not access any
other device connected to the fabric. This permits the physical connection to be
done in one phase and the enabling of a zone configuration to allow access to be
done in another phase.
Monitor the zone database sizing as new switches are added to the fabric. Newer
switches will tend to have a larger maximum size but the fabric may not be able to
take advantage of it due to an older FOS running on an existing switch with a lower
maximum.
With zoning enabled, check the servers to verify they have access to the desired
target devices. Also, use the nszonemember command and SAN Health as tools to
discover devices that are online but not defined in a zone, etc.
A new switch is one that has not previously been connected to a fabric. Before
connecting the new switch, check to see if any zoning data exists with the cfgshow
command. If it exists, use the cfgdisable, cfgclear, and cfgsave commands to
sanitize it.
When a new switch is connected to a zoned fabric, all zone configuration data is
immediately copied from the zoned fabric into the new switch. If a zone
configuration is enabled in the fabric, then the same configuration becomes enabled
in the new switch. After this operation, the cfgshow command displays the same
output on all switches in the fabric, including the new switch.
Effective configuration:
no configuration in effect
RAM
Domain
2 Flash
Memory
The cfgshow command displays the status of the defined and effective
configurations on a new switch.
Propagate Definitions
RAM RAM
Domain Domain
1 Flash 2 Flash
Memory Memory
The defined and effective configurations from the existing fabric are propagated to
the new switch.
If the zoning changes are not done correctly, it is possible to have the merging of
the fabrics fail due to a segmentation error.
The table above shows the three possible mismatches that would cause this error.
Note: View the WBT module associated with merging two zoned fabrics.
In preparation for the merge check, two fabrics will be selected. In the example
above, fabric-sw51 and fabric-RSL1_BRCD47 have been selected for a check.
Once the fabrics have been selected you can select the Check button to extract
the elements from each fabric for comparison.
At the end of the process a Merge Check Results pop up window will be
displayed. To validate all of the compared results you can select the up and
down buttons to the right to display any identified mismatches.
1. Which command can delete a zone object and remove it from the
member list of all other objects?
5. What commands will give you a list of devices in a zone with your
device?
3. Session
1. zoneobjectexpunge