About Zoning
Zoning has the following features:
-
A zone consists of multiple zone members.
– Members in a zone can access each other; members in different zones cannot access each other.
– If zoning is not activated, all devices are members of the default zone.
– If zoning is activated, any device that is not in an active zone (a zone that is part of an active zoneset) is a member of the default zone.
– Zones can vary in size.
– Devices can belong to more than one zone.
-
A zoneset consists of one or more zones.
– A zoneset can be activated or deactivated as a single entity across all switches in the fabric.
– Only one zoneset can be activated at any time.
– A zone can be a member of more than one zoneset.
– An MDS switch can have a maximum of 1000 zonesets.
-
Zoning can be administered from any switch in the fabric.
– When you activate a zone (from any switch), all switches in the fabric receive the active zoneset. Additionally, full zone sets are distributed to all switches in the fabric, if this feature is enabled in the source switch.
– If a new switch is added to an existing fabric, zone sets are acquired by the new switch.
-
Zone changes can be configured nondisruptively. New zones and zone sets can be activated without interrupting traffic on unaffected ports or devices.
-
Zone membership criteria is based mainly on WWNs or FC IDs.
– Port world wide name (pWWN)—Specifies the pWWN of an N port attached to the switch as a member of the zone.
– Fabric pWWN—Specifies the WWN of the fabric port (switch port’s WWN). This membership is also referred to as port-based zoning.
– FC ID—Specifies the FC ID of an N port attached to the switch as a member of the zone.
– Interface and switch WWN (sWWN)—Specifies the interface of a switch identified by the sWWN. This membership is also referred to as interface-based zoning.
– Interface and domain ID—Specifies the interface of a switch identified by the domain ID.
– Domain ID and port number—Specifies the domain ID of an MDS domain and additionally specifies a port belonging to a non-Cisco switch.
– IPv4 address—Specifies the IPv4 address (and optionally the subnet mask) of an attached device.
– IPv6 address—The IPv6 address of an attached device in 128 bits in colon(:)-separated hexadecimal format.
– symbolic-nodename —Specifies the member symbolic node name. The maximum length is 240 characters.
-
Default zone membership includes all ports or WWNs that do not have a specific membership association. Access between default zone members is controlled by the default zone policy.
Note For configuration limits on configuring the number of zones, zone members and zone sets, refer to the Cisco MDS NX-OS Configuration Limits.
Zoning Example
Figure 2-1 illustrates a zoneset with two zones, zone 1 and zone 2, in a fabric. Zone 1 provides access from all three hosts (H1, H2, H3) to the data residing on storage systems S1 and S2. Zone 2 restricts the data on S3 to access only by H3. Note that H3 resides in both zones.
Figure 2-1 Fabric with Two Zones
There are other ways to partition this fabric into zones. Figure 2-2 illustrates another possibility. Assume that there is a need to isolate storage system S2 for the purpose of testing new software. To achieve this, zone 3 is configured, which contains only host H2 and storage S2. You can restrict access to just H2 and S2 in zone 3, and to H1 and S1 in zone 1.
Figure 2-2 Fabric with Three Zones
Zone Implementation
All switches in the Cisco MDS 9000 Series automatically support the following basic zone features (no additional configuration is required):
-
Zones are contained in a VSAN.
-
Hard zoning cannot be disabled.
-
Name server queries are soft-zoned.
-
Only active zone sets are distributed.
-
Unzoned devices cannot access each other.
-
A zone or zoneset with the same name can exist in each VSAN.
-
Each VSAN has a full database and an active database.
-
Active zone sets cannot be changed, without activating a full zone database.
-
Active zone sets are preserved across switch reboots.
-
Changes to the full database must be explicitly saved.
-
Zone reactivation (a zoneset is active and you activate another zoneset) does not disrupt existing traffic as long as the new zoneset is configured similar to the previous zoneset. Traffic of unchanged zones is not affected.
If required, you can additionally configure the following zone features:
-
Propagate full zone sets to all switches on a per VSAN basis.
-
Change the default policy for unzoned members.
-
Interoperate with other vendors by configuring a VSAN in the interop mode. You can also configure one VSAN in the interop
mode and another VSAN in the basic mode in the same switch without disrupting each other.
-
Bring E ports out of isolation.
Zone Member Configuration Guidelines
All members of a zone can communicate with each other. For a zone with
N
members,
N
*(
N
-1) access permissions need to be enabled. The best practice is to avoid configuring large numbers of targets or large numbers of initiators in a single zone. This type of configuration wastes switch resources by provisioning and managing many communicating pairs (initiator-to-initiator or target-to-target) that will never actually communicate with each other. For this reason, a single initiator with a single target is the most efficient approach to zoning.
The following guidelines must be considered when creating zone members:
-
Configuring only one initiator and one target for a zone provides the most efficient use of the switch resources.
-
Configuring the same initiator to multiple targets is accepted.
-
Configuring multiple initiators to multiple targets is not recommended.
Active and Full Zoneset Considerations
Before configuring a zoneset, consider the following guidelines:
-
Each VSAN can have multiple zone sets but only one zoneset can be active at any given time.
-
When you create a zoneset, that zoneset becomes a part of the full zoneset.
-
When you activate a zoneset, a copy of the zoneset from the full zoneset is used to enforce zoning, and is called the active zoneset. An active zoneset cannot be modified. A zone that is part of an active zoneset is called an active zone.
-
The administrator can modify the full zoneset even if a zoneset with the same name is active. However, the modification will be enforced only upon reactivation.
-
When the activation is done, the active zoneset is automatically stored in persistent configuration. This enables the switch to preserve the active zoneset information across switch resets.
-
All other switches in the fabric receive the active zoneset so they can enforce zoning in their respective switches.
-
Hard and soft zoning are implemented using the active zoneset. Modifications take effect during zoneset activation.
-
An FC ID or Nx port that is not part of the active zoneset belongs to the default zone and the default zone information is not distributed to other switches.
Note If one zoneset is active and you activate another zoneset, the currently active zoneset is automatically deactivated. You do not need to explicitly deactivate the currently active zoneset before activating a new zoneset.
Figure 2-3 shows a zone being added to an activated zoneset.
Figure 2-3 Active and Full Zone Sets
Zone Sets
Zones provide a method for specifying access control, while zone sets are a grouping of zones to enforce access control in the fabric.
This section describes zone sets and includes the following topics:
Zone sets are configured with the names of the member zones and the VSAN (if the zoneset is in a configured VSAN).
Zoneset Distribution
—You can distribute full zone sets using one of two methods: one-time distribution or full zoneset distribution.
Zoneset Duplication
—You can make a copy of a zoneset and then edit it without altering the original zoneset. You can copy an active zoneset from the bootflash: directory, volatile: directory, or slot0, to one of the following areas:
-
To the full zoneset
-
To a remote location (using FTP, SCP, SFTP, or TFTP)
The active zoneset is not part of the full zoneset. You cannot make changes to an existing zoneset and activate it, if the full zoneset is lost or is not propagated.
ZoneSet Creation
In Figure 2-4, two separate sets are created, each with its own membership hierarchy and zone members.
Figure 2-4 Hierarchy of ZoneSets, Zones, and Zone Members
Either zoneset A or zoneset B can be activated (but not together).
Tip Zonesets are configured with the names of the member zones and the VSAN (if the zoneset is in a configured VSAN).
Activating a Zoneset
Changes to a zoneset do not take effect in a full zoneset until you activate it.
To activate or deactivate an existing zoneset, follow these steps:
|
|
|
Step 1
|
switch#
config terminal
switch(config)#
|
Enters configuration mode.
|
Step 2
|
switch(config)#
zoneset activate name Zoneset1 vsan 3
|
Activates the specified zoneset.
If full zoneset distribution is configured for a VSAN, the zoneset activation also distributes the full zoning database to the other switches in the fabric.
If enhanced zoning is configured for a VSAN then the zoneset activation is held pending until the
zone commit vsan
vsan-id
command is enabled. The
show zone pending-diff vsan
vsan-id
displays the pending changes.
Note While activating a zoneset, if the zoneset overwrite-control vsan id command is enabled and the zoneset name is different from the current active zoneset, the activation will fail with an error message. For more information see Overwrite Control for an Active Zoneset.
switch(config)#
zoneset activate name Zoneset2 vsan 3
WARNING: You are trying to activate zoneset2, which is different from current active zoneset1. Do you want to continue? (y/n) [n] y
|
switch(config)#
no zoneset activate name Zoneset1 vsan 3
|
Deactivates the specified zoneset.
|
Tip You do not have to issue the copy running-config startup-config command to store the active zoneset. However, you need to issue the copy running-config startup-config command to explicitly store full zone sets. If there is more than one switch in a fabric, the copy running-config startup-config fabric command should be issued. The fabric keyword causes the copy running-config startup-config command to be issued on all the switches in the fabric, and also saves the full zone information to the startup-config on all the switches in the fabric. This is important in the event of a switch reload or power cycle.
Overwrite Control for an Active Zoneset
Note The overwrite control for an active zoneset feature is available only in enhanced zone mode.
When activating a new zoneset, if users make a mistake while entering the zoneset name, and if this name already exists on the switch, it results in activation of the wrong zoneset and traffic loss. To avoid activating a wrong zoneset, the zoneset overwrite-control vsan id command is introduced.
|
|
|
Step 1
|
switch#
configure terminal
switch(config)#
|
Enters configuration mode.
|
Step 2
|
switch(config)#
zoneset overwrite-control vsan 3
|
Enables overwrite-control for the specified VSAN.
switch(config)# zoneset overwrite-control vsan 1
WARNING: This will enable Activation Overwrite control. Do you want to continue? (y/n) [n]
Note The zoneset overwrite-control vsan id command can be enabled only in enhanced zone mode.
|
Step 3
|
switch(config)#
show zone status vsan 3
|
Displays the status of the VSAN, if overwrite-control is enabled or not.
|
Note Even when the zoneset overwrite-control vsan id command is enabled, the user can override it and continue with the activation of a new zoneset using the zoneset activate name zoneset name vsan vsan-id force command.
Example 2-1 Displaying Zone Status
switch(config)# show zone status vsan 3 VSAN: 2 default-zone: deny distribute: full Interop: default mode: enhanced merge-control: allow hard-zoning: enabled broadcast: unsupported rscn-format: fabric-address activation overwrite control: enabled qos: none broadcast: unsupported ronly: unsupported Zonesets:2 Zones:2 Aliases: 0 Attribute-groups: 1 Name: hellset Zonesets:1 Zones:1 Current Total Zone DB Usage: 416 / 2097152 bytes (0 % used) Pending (Session) DB size: Full DB Copy size: 0 bytes Active DB Copy size: 0 bytes SFC size: 0 / 2097152 bytes (0 % used) Status: Commit completed at 15:19:49 UTC Jun 11 2015
Default Zone
Each member of a fabric (in effect a device attached to an Nx port) can belong to any zone. If a member is not part of any active zone, it is considered to be part of the default zone. Therefore, if no zoneset is active in the fabric, all devices are considered to be in the default zone. Even though a member can belong to multiple zones, a member that is part of the default zone cannot be part of any other zone. The switch determines whether a port is a member of the default zone when the attached port comes up.
Note Unlike configured zones, default zone information is not distributed to the other switches in the fabric.
Traffic can either be permitted or denied among members of the default zone. This information is not distributed to all switches; it must be configured in each switch.
Note When the switch is initialized for the first time, no zones are configured and all members are considered to be part of the default zone. Members are not permitted to talk to each other.
Configure the default zone policy on each switch in the fabric. If you change the default zone policy on one switch in a fabric, be sure to change it on all the other switches in the fabric.
Note The default settings for default zone configurations can be changed.
The default zone members are explicitly listed when the default policy is configured as permit
or when a zoneset is active. When the default policy is configured as deny, the members of this zone are not explicitly enumerated when you issue the
show zoneset active
command.
Note The current default zoning policy is deny. The hidden active zoneset is d__efault__cfg in MDS. When there is a mismatch in default-zoning policies between two switches (permit on one side and deny on the other), zone merge will fail. The behavior is the same between two Brocade switches as well. The error messages will be as shown below.
The error messages will be as shown below:
Switch1 syslog:
switch(config-if)# 2014 Sep 2 06:33:21 hac15 %ZONE-2-ZS_MERGE_FAILED: %$VSAN 1%$ Zone merge failure, isolating interface fc2/10 received reason: Default zoning policy conflict. Received rjt from adjacent switch:[reason:0]
Switch2 syslog:
switch(config-if)# 2014 Sep 2 12:13:17 hac16 %ZONE-2-ZS_MERGE_FAILED: %$VSAN 1%$ Zone merge failure, isolating interface fc3/10 reason: Default zoning policy conflict.:[reason:0]
Configuring the Default Zone Access Permission
To permit or deny traffic to members in the default zone, follow these steps:
|
|
|
Step 1
|
switch#
configure terminal
|
Enters configuration mode.
|
Step 2
|
switch(config)#
zone default-zone permit vsan 1
|
Permits traffic flow to default zone members.
|
switch(config)#
no
zone default-zone permit vsan 1
|
Denies (default) traffic flow to default zone members.
|
About FC Alias Creation
You can assign an alias name and configure an alias member using the following values:
-
pWWN—The WWN of the N or NL port is in hex format (for example, 10:00:00:23:45:67:89:ab).
-
fWWN—The WWN of the fabric port name is in hex format (for example, 10:00:00:23:45:67:89:ab).
-
FC ID—The N port ID is in 0xhhhhhh format (for example, 0xce00d1).
-
Domain ID—The domain ID is an integer from 1 to 239. A mandatory port number of a non-Cisco switch is required to complete this membership configuration.
-
IPv4 address—The IPv4 address of an attached device is in 32 bits in dotted decimal format along with an optional subnet mask. If a mask is specified, any device within the subnet becomes a member of the specified zone.
-
IPv6 address—The IPv6 address of an attached device is in 128 bits in colon- (:) separated) hexadecimal format.
-
Interface—Interface-based zoning is similar to port-based zoning because the switch interface is used to configure the zone. You can specify a switch interface as a zone member for both local and remote switches. To specify a remote switch, enter the remote switch WWN (sWWN) or the domain ID in the particular VSAN.
Tip The Cisco NX-OS software supports a maximum of 2048 aliases per VSAN.
Creating FC Aliases
To create an alias, follow these steps:
|
|
|
Step 1
|
switch#
configure terminal
|
Enters configuration mode.
|
Step 2
|
switch(config)#
fcalias name AliasSample
vsan 3
switch(config-fcalias)#
|
Configures an alias name (AliasSample).
|
Step 3
|
switch(config-fcalias)#
member
type value
pWWN example:
switch(config-fcalias)#
member pwwn 10:00:00:23:45:67:89:ab
fWWN example:
switch(config-fcalias)#
member fwwn 10:01:10:01:10:ab:cd:ef
FC ID example:
switch(config-fcalias)#
member fcid 0x222222
Domain ID example:
switch(config-fcalias)#
member domain-id 2 portnumber 23
IPv4 address example:
switch(config-fcalias)#
member ip-address 10.15.0.0 255.255.0.0
IPv6 address example:
switch(config-fcalias)#
member ipv6-address 2001::db8:800:200c:417a/64
Local sWWN interface example:
switch(config-fcalias)#
member interface fc 2/1
Remote sWWN interface example:
switch(config-fcalias)#
member interface fc2/1 swwn 20:00:00:05:30:00:4a:de
Domain ID interface example:
switch(config-fcalias)#
member interface fc2/1 domain-id 25
|
Configures a member for the specified fcalias (AliasSample) based on the type (pWWN, fabric pWWN, FC ID, domain ID, IPv4 address, IPv6 address, or interface) and value specified.
|
Step 4
|
Note Multiple members can be specified on multiple lines.
|
Creating Zone Sets and Adding Member Zones
To create a zoneset to include several zones, follow these steps:
|
|
|
Step 1
|
switch#
configure terminal
|
Enters configuration mode.
|
Step 2
|
switch(config)#
zoneset
name Zoneset1 vsan 3
switch(config-zoneset)#
|
Configures a zoneset called Zoneset1.
Tip To activate a zoneset, you must first create the zone and a zoneset.
|
Step 3
|
switch(config-zoneset)#
member Zone1
|
Adds Zone1 as a member of the specified zoneset (Zoneset1).
Tip If the specified zone name was not previously configured, this command will return the Zone not present error message.
|
Step 4
|
switch(config-zoneset)#
zone name InlineZone1
switch(config-zoneset-zone)#
|
Adds a zone (InlineZone1) to the specified zoneset (Zoneset1).
Tip Execute this step only if you need to create a zone from a zoneset prompt.
|
Step 5
|
switch(config-zoneset-zone)#
member fcid 0x111112
switch(config-zoneset-zone)#
|
Adds a new member (FC ID 0x111112) to the new zone (InlineZone1).
Tip Execute this step only if you need to add a member to a zone from a zoneset prompt.
|
Tip You do not have to issue the copy running-config startup-config command to store the active zoneset. However, you need to issue the copy running-config startup-config command to explicitly store full zone sets. If there is more than one switch in a fabric, the copy running-config startup-config fabric command should be issued. The fabric keyword causes the copy running-config startup-config command to be issued on all the switches in the fabric, and also saves the full zone information to the startup-config on all the switches in the fabric. This is important in the event of a switch reload or power cycle.
Caution If you deactivate the active zoneset in a VSAN that is also configured for IVR, the active IVR zoneset (IVZS) is also deactivated and all IVR traffic to and from the switch is stopped. This deactivation can disrupt traffic in more than one VSAN. Before deactivating the active zoneset, check the active zone analysis for the VSAN (see the
“Zone and ZoneSet Analysis” section). To reactivate the IVZS, you must reactivate the regular zoneset (refer to the
Cisco MDS 9000 Series NX-OS Inter-VSAN Routing Configuration Guide).
Caution If the currently active zoneset contains IVR zones, activating the zoneset from a switch where IVR is not enabled disrupts IVR traffic to and from that VSAN. We strongly recommend that you always activate the zoneset from an IVR-enabled switch to avoid disrupting IVR traffic.
Note Set the device alias mode to enhanced when using SDV (because the pWWN of a virtual device could change).
For example, SDV is enabled on a switch and a virtual device is defined. SDV assigns a pWWN for the virtual device, and it is zoned based on the pWWN in a zone. If you later disable SDV, this configuration is lost. If you reenable SDV and create the virtual device using the same name, there is no guarantee that it will get the same pWWN again. You will have to rezone the pWWN-based zone. However, if you perform zoning based on the device-alias name, there are no configuration changes required if or when the pWWN changes.
Be sure you understand how device alias modes work before enabling them. Refer to Chapter 5, “Distributing Device Alias Services” for details and requirements about device alias modes.
Zone Enforcement
Zoning can be enforced in two ways: soft and hard. Each end device (N port or NL port) discovers other devices in the fabric by querying the name server. When a device logs in to the name server, the name server returns the list of other devices that can be accessed by the querying device. If an Nx port does not know about the FCIDs of other devices outside its zone, it cannot access those devices.
In soft zoning, zoning restrictions are applied only during interaction between the name server and the end device. If an end device somehow knows the FCID of a device outside its zone, it can access that device.
Hard zoning is enforced by the hardware on each frame sent by an Nx port. As frames enter the switch, source-destination IDs are compared with permitted combinations to allow the frame at wirespeed. Hard zoning is applied to all forms of zoning.
Note Hard zoning enforces zoning restrictions on every frame, and prevents unauthorized access.
Switches in the Cisco MDS 9000 Series support both hard and soft zoning.
Zoneset Duplication
You can make a copy and then edit it without altering the existing active zoneset. You can copy an active zoneset from the bootflash: directory, volatile: directory, or slot0, to one of the following areas:
-
To the full zoneset
-
To a remote location (using FTP, SCP, SFTP, or TFTP)
The active zoneset is not part of the full zoneset. You cannot make changes to an existing zoneset and activate it, if the full zoneset is lost or is not propagated.
Caution Copying an active zoneset to a full zoneset may overwrite a zone with the same name, if it already exists in the full zoneset database.
This section includes the following topics:
Copying Zone Sets
On the Cisco MDS Family switches, you cannot edit an active zoneset. However, you can copy an active zoneset to create a new zoneset that you can edit.
To make a copy of a zoneset, follow this step:
|
|
|
Step 1
|
switch#
zone copy active-zoneset full-zoneset vsan 2
Please enter yes to proceed.(y/n) [n]?
y
|
Makes a copy of the active zoneset in VSAN 2 to the full zoneset.
|
switch#
zone copy vsan 3 active-zoneset scp://guest@myserver/tmp/active_zoneset.txt
|
Copies the active zone in VSAN 3 to a remote location using SCP.
|
Caution If the Inter-VSAN Routing (IVR) feature is enabled and if IVR zones exist in the active zoneset, then a zoneset copy operation copies all the IVR zones to the full zone database. To prevent copying to the IVR zones, you must explicitly remove them from the full zoneset database before performing the copy operation. For more information on the IVR feature see the
Cisco MDS 9000 Series NX-OS Inter-VSAN Routing Configuration Guide.
About Backing Up and Restoring Zones
You can back up the zone configuration to a workstation using TFTP. This zone backup file can then be used to restore the zone configuration on a switch. Restoring the zone configuration overwrites any existing zone configuration on a switch.
Backing Up Zones
To back up the full zone configuration using DCNM, follow these steps:
Step 1 Choose
Zone
>
Edit Local Full Zone Database
. You see the Select VSAN dialog box.
Step 2 Select a VSAN and click
OK
. You see the Edit Local Full Zone Database dialog box for the selected VSAN as shown in Figure 2-6.
Figure 2-6 Edit Local Full Zone Database
Step 3 Choose
File
>
Backup
>
This VSAN Zones
to back up the existing zone configuration to a workstation using TFTP, SFTP, SCP, or FTP. You see the Backup Zone Configuration dialog box shown in Figure 2-7.
Figure 2-7 Backup Zone Configuration Dialog Box
You can edit this configuration before backing up the data to a remote server.
Step 4 Provide the following Remote Options information to back up data onto a remote server:
a.
Using
—Select the protocol.
b. Server IP Address—Enter the IP adress of the server.
c. UserName—Enter the name of the user.
d. Password—Enter the password for the user.
e. File Name(Root Path)—Enter the path and the filename.
Step 5 Click
Backup
or click Cancel to close the dialog box without backing up.
Restoring Zones
To restore the full zone configuration using DCNM, follow these steps:
Step 1 Choose
Zone
>
Edit Local Full Zone Database
. You see the Select VSAN dialog box.
Step 2 Select a VSAN and click
OK
. You see the Edit Local Full Zone Database dialog box for the selected VSAN as shown in Figure 2-8.
Figure 2-8 Edit Local Full Zone Database
Step 3 Choose
File
>
Restore
to restore a saved zone configuration using TFTP, SFTP, SCP or FTP. You see the Restore Zone Configuration dialog box shown in Figure 2-9.
Figure 2-9 Restore Zone Configuration Dialog Box
You can edit this configuration before restoring it to the switch.
Step 4 Provide the following Remote Options information to restore data from a remote server:
a. Using—Select the protocol.
b. Server IP Address—Enter the IP address of the server.
c. UserName—Enter the name of the user.
d. Password—Enter the password for the user.
e. File Name—Enter the path and the filename.
Step 5 Click
Restore
to continue or click Cancel to close the dialog box without restoring.
Note Click View Config to see information on how the zone configuration file from a remote server will be restored. When you click Yes in this dialog box, you will be presented with the CLI commands that are executed. To close the dialog box, click Close.
Note Backup and Restore options are available to switches that run Cisco NX-OS Release 4.1(3a) or later.
Renaming Zones, Zone Sets, and Aliases
To rename a zone, zone set, fcalias, or zone-attribute-group, follow these steps:
|
|
|
Step 1
|
switch#
configure terminal
|
Enters configuration mode.
|
Step 2
|
switch(config)#
zoneset rename oldname newname vsan 2
|
Renames a zone set in the specified VSAN.
|
switch(config)#
zone rename oldname newname vsan 2
|
Renames a zone in the specified VSAN.
|
switch(config)#
fcalias rename oldname newname vsan 2
|
Renames a fcalias in the specified VSAN.
|
switch(config)#
zone-attribute-group rename oldname newname vsan 2
|
Renames a zone attribute group in the specified VSAN.
|
Step 3
|
switch(config)#
zoneset activate name newname
vsan 2
|
Activates the zone set and updates the new zone name in the active zone set.
|
Renaming Zones, Zone Sets, and Aliases
To rename a zone, zoneset, fcalias, or zone-attribute-group, follow these steps:
|
|
|
Step 1
|
switch#
configure terminal
|
Enters configuration mode.
|
Step 2
|
switch(config)#
zoneset rename oldname newname vsan 2
|
Renames a zoneset in the specified VSAN.
|
switch(config)#
zone rename oldname newname vsan 2
|
Renames a zone in the specified VSAN.
|
switch(config)#
fcalias rename oldname newname vsan 2
|
Renames a fcalias in the specified VSAN.
|
switch(config)#
zone-attribute-group rename oldname newname vsan 2
|
Renames a zone attribute group in the specified VSAN.
|
Step 3
|
switch(config)#
zoneset activate name newname
vsan 2
|
Activates the zoneset and updates the new zone name in the active zoneset.
|
Cloning Zones, Zone Sets, FC Aliases, and Zone Attribute Groups
To clone a zone, zoneset, fcalias, or zone-attribute-group, follow these steps:
|
|
|
Step 1
|
switch#
configure terminal
|
Enters configuration mode.
|
Step 2
|
switch(config)#
zoneset clone oldname newname
vsan 2
|
Clones a zoneset in the specified VSAN.
|
switch(config)#
zone clone oldname newname vsan 2
|
Clones a zone in the specified VSAN.
|
switch(config)#
fcalias clone oldname newname
vsan 2
|
Clones a fcalias in the specified VSAN.
|
switch(config)#
zone-attribute-group clone oldname newname vsan 2
|
Clones a zone attribute group in the specified VSAN.
|
Step 3
|
switch(config)#
zoneset activate name newname
vsan 2
|
Activates the zoneset and updates the new zone name in the active zoneset.
|
Clearing the Zone Server Database
You can clear all configured information in the zone server database for the specified VSAN.
To clear the zone server database, use the following command:
switch# clear zone database vsan 2
Note After issuing a clear zone database command, you must explicitly issue the copy running-config startup-config to ensure that the running configuration is used when the switch reboots.
Note Clearing a zoneset only erases the full zone database, not the active zone database.
Advanced Zone Attributes
This section describes advanced zone attributes and includes the following topics:
About Zone-Based Traffic Priority
The zoning feature provides an additional segregation mechanism to prioritize select zones in a fabric and set up access control between devices. Using this feature, you can configure the quality of service (QoS) priority as a zone attribute. You can assign the QoS traffic priority attribute to be high, medium, or low. By default, zones with no specified priority are implicitly assigned a low priority. Refer to the
Cisco MDS 9000 NX-OS Family Quality of Service Configuration Guide
for more information.
To use this feature, you need to obtain the ENTERPRISE_PKG license (refer to the
Cisco NX-OS Family Licensing Guide
) and you must enable QoS in the switch (refer to the
Cisco MDS 9000 Series NX-OS Quality of Service Configuration Guide
).
This feature allows SAN administrators to configure QoS in terms of a familiar data flow identification paradigm. You can configure this attribute on a zone-wide basis rather than between zone members.
Caution If zone-based QoS is implemented in a switch, you cannot configure the interop mode in that VSAN.
Configuring Zone-Based Traffic Priority
To configure the zone priority, follow these steps:
|
|
|
Step 1
|
switch#
configure terminal
|
Enters configuration mode.
|
Step 2
|
switch(config)#
zone name QosZone
vsan 2
switch(config-zone)#
|
Configures an alias name (QosZone) and enters zone configuration submode.
|
Step 3
|
switch(config-zone)#
attribute-group qos priority high
|
Configures this zone to assign high priority QoS traffic to each frame matching this zone in enhanced mode.
|
Step 4
|
switch(config-zone)#
attribute qos priority high
|
Configures this zone to assign high priority QoS traffic to each frame matching this zone.
|
switch(config-zone)#
attribute qos priority medium
|
Configures this zone to assign medium priority QoS traffic to each frame matching this zone.
|
switch(config-zone)#
attribute qos priority low
|
Configures this zone to assign low priority QoS traffic to each frame matching this zone.
|
switch(config-zone)#
no
attribute qos priority high
|
Reverts to using the default low priority for this zone.
|
Step 5
|
switch(config-zone)#
exit
switch(config)#
|
Returns to configuration mode.
|
Step 6
|
switch(config)#
zone
set name QosZoneset vsan 2
switch(config-zoneset)#
|
Configures a zoneset called QosZoneset for the specified VSAN (vsan 2) and enters zoneset configuration submode.
Tip To activate a zoneset, you must first create the zone and a zoneset.
|
Step 7
|
switch(config-zoneset)#
member QosZone
|
Adds QosZone as a member of the specified zoneset (QosZoneset).
Tip If the specified zone name was not previously configured, this command will return the Zone not present error message.
|
Step 8
|
switch(config-zoneset)#
exit
switch(config)#
|
Returns to configuration mode.
|
Step 9
|
switch(config)#
zoneset activate name
QosZoneset
vsan 2
|
Activates the specified zoneset.
|
Configuring Default Zone QoS Priority Attributes
QoS priority attribute configuration changes take effect when you activate the zoneset of the associated zone.
Note If a member is part of two zones with two different QoS priority attributes, the higher QoS value is implemented. This situation does not arise in the VSAN-based QoS as the first matching entry is implemented.
To configure the QoS priority attributes for a default zone, follow these steps:
|
|
|
Step 1
|
switch#
configure terminal
switch(config)#
|
Enters configuration mode.
|
Step 2
|
switch(config)#
zone default-zone vsan 1
switch(config-default-zone)#
|
Enters the default zone configuration submode.
|
Step 3
|
switch(config-default-zone)#
attribute qos priority high
|
Sets the QoS priority attribute for frames matching these zones.
|
switch(config-default-zone)#
no
attribute qos priority high
|
Removes the QoS priority attribute for the default zone and reverts to default low priority.
|
About Broadcast Zoning
Note Broadcast zoning is not supported on the Cisco Fabric Switch for HP c-Class BladeSystem and the Cisco Fabric Switch for IBM BladeCenter.
You can configure broadcast frames in the basic zoning mode. By default, broadcast zoning is disabled and broadcast frames are sent to all Nx ports in the VSAN. When enabled, broadcast frames are only sent to Nx ports in the same zone, or zones, as the sender. Enable broadcast zoning when a host or storage device uses this feature.
Table 2-2
identifies the rules for the delivery of broadcast frames.
Table 2-2 Broadcasting Requirements
|
|
|
|
Yes
|
Yes
|
Yes
|
Broadcast to all Nx ports that share a broadcast zone with the source of broadcast frames.
|
No
|
Yes
|
Yes
|
Broadcast to all Nx ports.
|
Yes
|
No
|
No
|
Broadcasting is disabled.
|
Tip If any NL port attached to an FL port shares a broadcast zone with the source of the broadcast frame, then the frames are broadcast to all devices in the loop.
Caution If broadcast zoning is enabled on a switch, you cannot configure the interop mode in that VSAN.
Configuring Broadcast Zoning
To broadcast frames in the basic zoning mode, follow these steps:
|
|
|
Step 1
|
switch#
configure terminal
switch(config)#
|
Enters configuration mode.
|
Step 2
|
switch(config)#
zone broadcast enable vsan 2
|
Broadcasts frames for the specified VSAN.
|
switch(config)#
no zone broadcast enable vsan 3
|
Disables (default) broadcasting for the specified VSAN.
|
Step 3
|
switch(config)#
zone name BcastZone vsan 2
switch(config-zone)#
|
Creates a broadcast zone in the specified VSAN and enters zone configuration submode.
|
Step 4
|
switch(config-zone)#
member pwwn 21:00:00:20:37:f0:2e:4d
|
Adds the specified member to this zone.
|
Step 5
|
switch(config-zone)#
attribute broadcast
|
Specifies this zone to be broadcast to other devices.
|
Step 6
|
switch(config-zone)#
end
switch#
show zone vsan 2
zone name bcast-zone vsan 2
attribute broadcast
pwwn 21:00:00:e0:8b:0b:66:56
pwwn 21:00:00:20:37:f0:2e:4d
|
Displays the broadcast configuration.
|
Note Zone broadcast is not supported from Cisco NX-OS Release 5.x and later.
To configure the
broadcast
attribute for a default zone, follow these steps:
|
|
|
Step 1
|
switch#
configure terminal
switch(config)#
|
Enters configuration mode.
|
Step 2
|
switch(config)#
zone default-zone vsan 1
switch(config-default-zone)#
|
Enters the default zone configuration submode.
|
Step 3
|
switch(config-default-zone)#
attribute broadcast
|
Sets broadcast attributes for the default zone.
|
switch(config-default-zone)#
no
attribute broadcast
|
Reverts the default zone attributes to read-write (default).
|
About Smart Zoning
Smart zoning implements hard zoning of large zones with fewer hardware resources than was previously required. The traditional zoning method allows each device in a zone to communicate with every other device in the zone. The administrator is required to manage the individual zones according to the zone configuration guidelines. Smart zoning eliminates the need to create a single initiator to single target zones. By analyzing device-type information in the FCNS, useful combinations can be implemented at the hardware level by the Cisco MDS NX-OS software, and the combinations that are not used are ignored. For example, initiator-target pairs are configured, but not initiator-initiator. The device is treated as unknown if:
-
The FC4 types are not registered on the device.
-
During Zone Convert, the device is not logged into the fabric.
-
The zone is created, however, initiator, target, or initiator and target is not specified.
The device type information of each device in a smart zone is automatically populated from the Fibre Channel Name Server (FCNS) database as host, target, or both. This information allows more efficient utilisation of switch hardware by identifying initiator-target pairs and configuring those only in hardware. In the event of a special situation, such as a disk controller that needs to communicate with another disk controller, smart zoning defaults can be overridden by the administrator to allow complete control.
Note • Smart Zoning can be enabled at VSAN level but can also be disabled at zone level.
-
Smart zoning is not supported on VSANs that have DMM, IOA, or SME applications enabled on them.
-
Zones must have 50 members or less.
Smart Zoning Member Configuration
Table 2-3
displays the supported smart zoning member configurations.
Table 2-3 Smart Zoning Configuration
|
|
PWWN
|
Yes
|
FCID
|
Yes
|
FCalias
|
Yes
|
Device-alias
|
Yes
|
Interface
|
No
|
IP address
|
No
|
Symbolic nodename
|
No
|
FWWN
|
No
|
Domain ID
|
No
|
Enabling Smart Zoning on a VSAN
To configure the
smart zoning
for a VSAN, follow these steps:
|
|
|
Step 1
|
switch#
configure terminal
switch(config)#
|
Enters configuration mode.
|
Step 2
|
switch(config)#
zone smart-zoning enable vsan 1
switch(config)#
|
Enables smart zoning on a VSAN.
|
|
switch(config)# no
zone smart-zoning enable vsan 1
|
Disables smart zoning on a VSAN.
|
Setting Default Value for Smart Zoning
To set the default value,
follow these steps:
|
|
|
Step 1
|
switch#
configure terminal
switch(config)#
|
Enters configuration mode.
|
Step 2
|
switch(config)# system default zone smart-zone enable
switch(config)#
|
Enables smart zoning on a VSAN that are created based on the specified default value.
|
Step 3
|
switch(config)# no system default zone smart-zone enable
switch(config)#
|
Disables smart zoning on a VSAN.
|
Converting Zones Automatically to Smart Zoning
To fetch the device-type information from nameserver and to add that information to the member, follow the steps below: This can be performed at zone, zoneset, FCalias, and VSAN levels. After the zoneset is converted to smart zoning, you need to activate zoneset.
|
|
|
Step 1
|
switch#
configure terminal
switch(config)#
|
Enters configuration mode.
|
Step 2
|
switch(config)# zone convert smart-zoning fcalias name <alias-name> vsan <vsan no>
|
Fetches the device type information from the nameserver for the fcalias members.
Note When the zone convert command is run, the FC4-Type should be SCSI-FCP. The SCSI-FCP has bits which determines whether the device is an initiator or target. If initiator and target are both set, the device is treated as both.
|
Step 3
|
switch(config)# zone convert smart-zoning zone name <zone name> vsan <vsan no>
|
Fetches the device type information from the nameserver for the zone members.
|
Step 4
|
switch(config)# zone convert smart-zoning zoneset name <zoneset name> vsan <vsan no>
|
Fetches the device type information from the nameserver for all the zones and fcalias members in the specified zoneset.
|
Step 5
|
switch(config)# zone convert smart-zoning vsan <vsan no>
|
Fetches the device type information from the nameserver for all the zones and fcalias members for all the zonesets present in the VSAN.
|
Step 6
|
switch(config)# show zone smart-zoning auto-conv status vsan 1
|
Displays the previous auto-convert status for a VSAN.
|
Step 7
|
switch(config)# show zone smart-zoning auto-conv log errors
|
Displays the error-logs for smart-zoning auto-convert.
|
Use the show fcns database command to check if the device is initiator, target or both:
switch# show fcns database -------------------------------------------------------------------------- FCID TYPE PWWN (VENDOR) FC4-TYPE:FEATURE -------------------------------------------------------------------------- 0x9c0000 N 21:00:00:e0:8b:08:96:22 (Company 1) scsi-fcp:init 0x9c0100 N 10:00:00:05:30:00:59:1f (Company 2) ipfc 0x9c0200 N 21:00:00:e0:8b:07:91:36 (Company 3) scsi-fcp:init 0x9c03d6 NL 21:00:00:20:37:46:78:97 (Company 4) scsi-fcp:target
Configuring Device Types for Zone Members
To configure the device types for zone members, follow these step:
|
|
|
Step 1
|
switch#
configure terminal
switch(config)#
|
Enters configuration mode.
|
Step 2
|
switch(config-zoneset-zone)# member device-alias <name> both
|
Configures the device type for the device-alias member as both. For every supported member-type, init, target, and both are supported.
|
Step 3
|
switch(config-zoneset-zone)# member pwwn <number> target
|
Configures the device type for the pwwn member as target. For every supported member-type, init, target, and both are supported.
|
Step 4
|
switch(config-zoneset-zone)# member fcid <number>
|
Configures the device type for the FCID member. There is no specific device type that is configured. For every supported member-type, init, target, and both are supported.
Note When there is no specific device type configured for a zone member, at the backend, zone entries that are generated are created as device type both.
|
Removing Smart Zoning Configuration
To remove the smart zoning configuration, follow this steps:
|
|
|
Step 1
|
switch(config)# clear zone smart-zoning fcalias name <alias-name> vsan <vsan no>
|
Removes the device type configuration for all the members of the specified fcalias.
|
Step 2
|
switch(config)# clear zone smart-zoning zone name <zone name> vsan <vsan no>
|
Removes the device type configuration for all the members of the specified zone.
|
Step 3
|
switch(config)# clear zone smart-zoning zoneset name <zoneset name> vsan <vsan no>
|
Removes the device type configuration for all the members of the zone and fcalias for the specified zoneset.
|
Step 4
|
switch(config)# clear zone smart-zoning vsan <vsan no>
|
Removes the device type configuration for all the members of the zone and fcalias of all the specified zonesets in the VSAN.
|
Disabling Smart Zoning at Zone Level for a VSAN in the Basic Zoning Mode
To disable smart zoning at the zone level for a VSAN in basic zoning mode, follow these steps:
|
|
|
Step 1
|
switch#
configure terminal
switch(config)#
|
Enters configuration mode.
|
Step 2
|
switch(config)#
zone name zone1 vsan 1
|
Configures a zone name.
|
Step 3
|
switch(config-zone)#
attribute disable-smart-zoning
|
Disables Smart Zoning for the selected zone.
Note This command only disables the smart zoning for the selected zone and does not remove the device type configurations.
|
Disabling Smart Zoning at Zone Level for a VSAN in the Enhanced Zoning Mode
To disable smart zoning at the zone level for a VSAN in enhanced zoning mode, follow these steps:
|
|
|
Step 1
|
switch#
configure terminal
switch(config)#
|
Enters configuration mode.
|
Step 2
|
switch(config)#
zone-attribute-group name disable-sz vsan 1
Enhanced zone session has been created. Please 'commit' the changes when done.
|
Creates an enhanced zone session.
|
Step 3
|
switch(config-attribute-group)#
disable-smart-zoning
|
Disables Smart Zoning for the selected zone.
Note This command only disables the smart zoning for the selected zone and does not remove the device type configurations.
|
Step 4
|
switch(config-attribute-group)#
zone name prod vsan 1
|
Configures a zone name.
|
Step 5
|
switch(config-zone)#
attribute-group disable-sz
|
Configures to assign a group-attribute name for the selected zone.
|
Step 6
|
switch(config-zone)#
zone commit vsan 1
|
Commits zoning changes to the selected VSAN.
|
About LUN Zoning
Logical unit number (LUN) zoning is a feature specific to switches in the Cisco MDS 9000 Series.
Caution LUN zoning can only be implemented in Cisco MDS 9000 Series switches. If LUN zoning is implemented in a switch, you cannot configure the interop mode in that switch.
A storage device can have multiple LUNs behind it. If the device port is part of a zone, a member of the zone can access any LUN in the device. With LUN zoning, you can restrict access to specific LUNs associated with a device.
Note When LUN 0 is not included within a zone, then, as per standards requirements, control traffic to LUN 0 (for example, REPORT_LUNS, INQUIRY) is supported, but data traffic to LUN 0 (for example, READ, WRITE) is denied.
-
Host H1 can access LUN 2 in S1 and LUN 0 in S2. It cannot access any other LUNs in S1 or S2.
-
Host H2 can access LUNs 1 and 3 in S1 and only LUN 1 in S2. It cannot access any other LUNs in S1 or S2.
Note Unzoned LUNs automatically become members of the default zone.
Note LUN zoning is not supported from Cisco MDS NX-OS Release 5.x and later.
shows a LUN-based zone example.
Figure 2-10 LUN Zoning Access
Configuring a LUN-Based Zone
To configure a LUN-based zone, follow these steps:
|
|
|
Step 1
|
switch#
configure terminal
switch(config)#
|
Enters configuration mode.
|
Step 2
|
switch(config)#
zone name LunSample vsan 2
switch(config-zone)#
|
Configures a zone called LunSample for the specified VSAN (vsan 2) and enters zone configuration submode.
|
Step 3
|
switch(config-zone)#
member pwwn 10:00:00:23:45:67:89:ab lun 0x64
|
Configures a zone member based on the specified pWWN and LUN value.
Note The CLI interprets the LUN identifier value as a hexadecimal value whether or not the 0x prefix is included. LUN 0x64 in hex format corresponds to 100 in decimal format.
|
switch(config-zone)#
member fcid 0x12465 lun 0x64
|
Configures a zone member based on the FC ID and LUN value.
|
Assigning LUNs to Storage Subsystems
LUN masking and mapping restricts server access to specific LUNs. If LUN masking is enabled on a storage subsystem and if you want to perform additional LUN zoning in a Cisco MDS 9000 Series switch, obtain the LUN number for each host bus adapter (HBA) from the storage subsystem and then configure the LUN-based zone procedure provided in the “Configuring a LUN-Based Zone” section.
Note Refer to the relevant user manuals to obtain the LUN number for each HBA.
Caution If you make any errors when assigning LUNs, you might lose data.
About Read-Only Zones
By default, an initiator has both read and write access to the target's media when they are members of the same Fibre Channel zone. The read-only zone feature allows members to have only read access to the media within a read-only Fibre Channel zone.
You can also configure LUN zones as read-only zones. Any zone can be identified as a read-only zone. By default all zones have read-write permission unless explicitly configured as a read-only zone.
Follow these guidelines when configuring read-only zones:
-
If read-only zones are implemented, the switch prevents write access to user data within the zone.
-
If two members belong to a read-only zone and to a read-write zone, the read-only zone takes priority and write access is denied.
-
LUN zoning can only be implemented in Cisco MDS 9000 Series switches. If LUN zoning is implemented in a switch, you cannot configure interop mode in that switch.
-
Read-only volumes are not supported by some operating system and file system combinations (for example, Windows NT or Windows 2000 and NTFS file system). Volumes within read-only zones are not available to such hosts. However, if these hosts are already booted when the read-only zones are activated, then read-only volumes are available to those hosts.
The read-only zone feature behaves as designed if either the FAT16 or FAT32 file system is used with the previously mentioned Windows operating systems.
Note Read-only zones are not supported from Cisco MDS NX-OS Release 5.x and later.
Configuring Read-Only Zones
To configure read-only zones, follow these steps:
|
|
|
Step 1
|
switch#
configure terminal
switch(config)#
|
Enters configuration mode.
|
Step 2
|
switch(config)#
zone name Sample2 vsan 2
switch(config-zone)#
|
Configures a zone called Sample2 for the specified VSAN (vsan 2) and enters zone configuration submode.
|
Step 3
|
switch(config-zone)#
attribute read-only
|
Sets read-only attributes for the Sample2 zone.
Note The default is read-write for all zones.
|
switch(config-zone)#
no
attribute read-only
|
Reverts the Sample2 zone attributes to read-write.
|
To configure the
read-only
option for a default zone, follow these steps:
|
|
|
Step 1
|
switch#
configure terminal
switch(config)#
|
Enters configuration mode.
|
Step 2
|
switch(config)#
zone default-zone vsan 1
switch(config-default-zone)#
|
Enters the default zone configuration submode.
|
Step 3
|
switch(config-default-zone)#
attribute read-only
|
Sets read-only attributes for the default zone.
|
switch(config-default-zone)#
no
attribute read-only
|
Reverts the default zone attributes to read-write (default).
|
Displaying Zone Information
You can view any zone information by using the
show
command. If you request information for a specific object (for example, a specific zone, zoneset, VSAN, or alias, or keywords such as
brief
or
active
), only information for the specified object is displayed. If you do not request specific information, all available information is displayed. See Examples
2-2
to
2-17
.
Example 2-2 Displays Zone Information for All VSANs
pwwn 21:00:00:20:37:6f:db:dd pwwn 21:00:00:20:37:9c:48:e5 fwwn 20:41:00:05:30:00:2a:1e fwwn 20:42:00:05:30:00:2a:1e fwwn 20:43:00:05:30:00:2a:1e pwwn 21:00:00:20:37:6f:db:dd pwwn 21:00:00:20:37:a6:be:2f pwwn 21:00:00:20:37:9c:48:e5 zone name Techdocs vsan 3 ip-address 10.15.0.0 255.255.255.0 pwwn 21:00:00:20:37:a6:be:35 pwwn 21:00:00:20:37:a6:be:39 symbolic-nodename iqn.test fwwn 20:1f:00:05:30:00:e5:c6 fwwn 12:12:11:12:11:12:12:10 interface fc1/5 swwn 20:00:00:05:30:00:2a:1e ip-address 12.2.4.5 255.255.255.0 fcalias name Alias1 vsan 1 pwwn 21:00:00:20:37:a6:be:35 interface fc1/5 pwwn 20:4f:00:05:30:00:2a:1e fcalias name Alias1 vsan 1 pwwn 21:00:00:20:37:a6:be:35 pwwn 21:00:00:04:cf:fb:3e:7b lun 0000
Example 2-3 Displays Zone Information for a Specific VSAN
switch# show zone vsan 1
zone name Zone3 vsan 1 pwwn 21:00:00:20:37:6f:db:dd pwwn 21:00:00:20:37:9c:48:e5 fwwn 20:4f:00:05:30:00:2a:1e fwwn 20:50:00:05:30:00:2a:1e fwwn 20:51:00:05:30:00:2a:1e fwwn 20:52:00:05:30:00:2a:1e fwwn 20:53:00:05:30:00:2a:1e pwwn 21:00:00:20:37:6f:db:dd pwwn 21:00:00:20:37:a6:be:2f pwwn 21:00:00:20:37:9c:48:e5
Use the
show zoneset
command to view the configured zonesets.
Example 2-4 Displays Configured Zoneset Information
switch# show zoneset vsan 1
zoneset name ZoneSet2 vsan 1 fwwn 20:4e:00:05:30:00:2a:1e fwwn 20:4f:00:05:30:00:2a:1e fwwn 20:50:00:05:30:00:2a:1e fwwn 20:51:00:05:30:00:2a:1e fwwn 20:52:00:05:30:00:2a:1e pwwn 21:00:00:20:37:6f:db:dd pwwn 21:00:00:20:37:a6:be:2f pwwn 21:00:00:20:37:9c:48:e5 zoneset name ZoneSet1 vsan 1 pwwn 21:00:00:20:37:6f:db:dd pwwn 21:00:00:20:37:a6:be:2f pwwn 21:00:00:20:37:9c:48:e5
Example 2-5 Displays Configured Zoneset Information for a Range of VSANs
switch# show zoneset vsan 2-3
zoneset name ZoneSet2 vsan 2 fwwn 20:52:00:05:30:00:2a:1e fwwn 20:53:00:05:30:00:2a:1e fwwn 20:54:00:05:30:00:2a:1e fwwn 20:55:00:05:30:00:2a:1e fwwn 20:56:00:05:30:00:2a:1e pwwn 21:00:00:20:37:6f:db:dd pwwn 21:00:00:20:37:a6:be:2f pwwn 21:00:00:20:37:9c:48:e5 zoneset name ZoneSet3 vsan 3 pwwn 21:00:00:20:37:6f:db:dd pwwn 21:00:00:20:37:a6:be:2f pwwn 21:00:00:20:37:9c:48:e5
Use the
show zone name
command to display members of a specific zone.
Example 2-6 Displays Members of a Zone
switch# show zone name Zone1 pwwn 21:00:00:20:37:6f:db:dd pwwn 21:00:00:20:37:a6:be:2f pwwn 21:00:00:20:37:9c:48:e5
Use the
show fcalias
command to display fcalias configuration.
Example 2-7 Displays fcalias Configuration
switch# show fcalias vsan 1
fcalias name Alias2 vsan 1 fcalias name Alias1 vsan 1 pwwn 21:00:00:20:37:6f:db:dd pwwn 21:00:00:20:37:9c:48:e5
Use the
show zone member
command to display all zones to which a member belongs using the FC ID.
Example 2-8 Displays Membership Status
switch# show zone member pwwn 21:00:00:20:37:9c:48:e5
Use the
show zone statistics
command to display the number of control frames exchanged with other switches.
Example 2-9 Displays Zone Statistics
switch# show zone statistics
Statistics For VSAN: 1 ********************************** Number of Merge Requests Sent: 24 Number of Merge Requests Recvd: 25 Number of Merge Accepts Sent: 25 Number of Merge Accepts Recvd: 25 Number of Merge Rejects Sent: 0 Number of Merge Rejects Recvd: 0 Number of Change Requests Sent: 0 Number of Change Requests Recvd: 0 Number of Change Rejects Sent: 0 Number of Change Rejects Recvd: 0 Number of GS Requests Recvd: 0 Number of GS Requests Rejected: 0 ********************************** Number of Merge Requests Sent: 4 Number of Merge Requests Recvd: 4 Number of Merge Accepts Sent: 4 Number of Merge Accepts Recvd: 4 Number of Merge Rejects Sent: 0 Number of Merge Rejects Recvd: 0 Number of Change Requests Sent: 0 Number of Change Requests Recvd: 0 Number of Change Rejects Sent: 0 Number of Change Rejects Recvd: 0 Number of GS Requests Recvd: 0 Number of GS Requests Rejected: 0
Example 2-10 Displays LUN Zone Statistics
switch# show zone statistics lun-zoning LUN zoning statistics for VSAN: 1 ************************************************************ S-ID: 0x123456, D-ID: 0x22222, LUN: 00:00:00:00:00:00:00:00 ------------------------------------------------------------ Number of Inquiry commands received: 10 Number of Inquiry data No LU sent: 5 Number of Report LUNs commands received: 10 Number of Request Sense commands received: 1 Number of Other commands received: 0 Number of Illegal Request Check Condition sent: 0 S-ID: 0x123456, D-ID: 0x22222, LUN: 00:00:00:00:00:00:00:01 ------------------------------------------------------------ Number of Inquiry commands received: 1 Number of Inquiry data No LU sent: 1 Number of Request Sense commands received: 1 Number of Other commands received: 0 Number of Illegal Request Check Condition sent: 0
Example 2-11 Displays LUN Zone Statistics
switch# show zone statistics read-only-zoning Read-only zoning statistics for VSAN: 2 ************************************************************ S-ID: 0x33333, D-ID: 0x11111, LUN: 00:00:00:00:00:00:00:64 ------------------------------------------------------------ Number of Data Protect Check Condition Sent: 12
Example 2-12 Displays Active Zone Sets
switch# show zoneset active zoneset name ZoneSet1 vsan 1 * fcid 0xef0000 [pwwn 21:00:00:20:37:6f:db:dd] * fcid 0xef0100 [pwwn 21:00:00:20:37:a6:be:2f]
Example 2-13 Displays Brief Descriptions of Zone Sets
switch# show zoneset brief zoneset name ZoneSet1 vsan 1
Example 2-14 Displays Active Zones
* fcid 0x6c01ef [pwwn 21:00:00:20:37:9c:48:e5] zone name IVRZ_IvrZone1 vsan 1 pwwn 10:00:00:00:77:99:7a:1b * fcid 0xce0000 [pwwn 10:00:00:00:c9:2d:5a:dd] zone name IVRZ_IvrZone4 vsan 1 * fcid 0xce0000 [pwwn 10:00:00:00:c9:2d:5a:dd] * fcid 0x6c01ef [pwwn 21:00:00:20:37:9c:48:e5] zone name Zone1 vsan 1667 zone name $default_zone$ vsan 1667
Example 2-15 Displays Active Zone Sets
switch# show zoneset active zoneset name ZoneSet4 vsan 1 * fcid 0x6c01ef [pwwn 21:00:00:20:37:9c:48:e5] zone name IVRZ_IvrZone1 vsan 1 pwwn 10:00:00:00:77:99:7a:1b * fcid 0xce0000 [pwwn 10:00:00:00:c9:2d:5a:dd] zoneset name QosZoneset vsan 2 attribute qos priority high * fcid 0xce0000 [pwwn 10:00:00:00:c9:2d:5a:dd] * fcid 0x6c01ef [pwwn 21:00:00:20:37:9c:48:e5] zone name Zone1 vsan 1667 zone name $default_zone$ vsan 1667
Example 2-16 Displays Zone Status
switch(config)# show zone status VSAN: 1 default-zone: deny distribute: active only Interop: default mode: basic merge-control: allow hard-zoning: enabled broadcast: disabled rscn-format: fabric-address activation overwrite control:disabled qos: none broadcast: disabled ronly: disabled Zonesets:0 Zones:0 Aliases: 0 Current Total Zone DB Usage: 4 / 2097152 bytes (0 % used) Pending (Session) DB size: SFC size: 4 / 2097152 bytes (0 % used) VSAN: 8 default-zone: deny distribute: full Interop: default mode: basic merge-control: allow hard-zoning: enabled broadcast: disabled rscn-format: fabric-address qos: none broadcast: disabled ronly: disabled Zonesets:6 Zones:8024 Aliases: 0 Name: zoneset-1000 Zonesets:1 Zones:731 Current Total Zone DB Usage: 2096997 / 2097152 bytes (99 % used) Pending (Session) DB size: SFC size: 2096997 / 2097152 bytes (99 % used) Status: Zoneset distribution failed [Error: Fabric changing Dom 33]: at 17:05:06 UTC Jun 16 2014 VSAN: 9 default-zone: deny distribute: full Interop: default mode: enhanced merge-control: allow hard-zoning: enabled broadcast: enabled rscn-format: fabric-address qos: none broadcast: disabled ronly: disabled Zonesets:4 Zones:7004 Aliases: 0 Attribute-groups: 1 Name: zoneset-hac13-200 Zonesets:1 Zones:176 Current Total Zone DB Usage: 2096924 / 2097152 bytes (99 % used) Pending (Session) DB size: Full DB Copy size: 0 bytes Active DB Copy size: 0 bytes SFC size: 0 / 2097152 bytes (0 % used) Status: Activation completed at 17:28:04 UTC Jun 16 2014 VSAN: 12 default-zone: deny distribute: full Interop: default mode: enhanced merge-control: allow hard-zoning: enabled broadcast: enabled rscn-format: fabric-address qos: none broadcast: disabled ronly: disabled Zonesets:0 Zones:1 Aliases: 0 Attribute-groups: 1 Name: zs1 Zonesets:1 Zones:2 Current Total Zone DB Usage: 228 / 2097152 bytes (0 % used) Pending (Session) DB size: Full DB Copy size: 0 bytes Active DB Copy size: 0 bytes SFC size: 0 / 2097152 bytes (0 % used) Status: Commit completed at 14:39:33 UTC Jun 27 201
Use the
show zone
command to display the zone attributes for all configured zones.
Example 2-17 Displays Zone Statistics
zone name lunSample vsan 1 <-----------------Read-write attribute zone name ReadOnlyZone vsan 2 attribute read-only <-----------------Read-only attribute
Use the
show running
and
show zone active
commands to display the configured interface-based zones (see Example 2-18 and Example 2-19).
Example 2-18 Displays the Interface-Based Zones
member interface fc2/15 swwn 20:00:00:0c:88:00:4a:e2 member fwwn 20:4f:00:0c:88:00:4a:e2 member interface fc2/1 swwn 20:00:00:05:30:00:4a:9e member pwwn 22:00:00:20:37:39:6b:dd
Example 2-19 Displays the fWWNs and Interfaces in an Active Zone
* fcid 0x7e00b3 [interface fc2/15 swwn 20:00:00:0c:88:00:4a:e2] * fcid 0x7e00b1 [interface fc2/15 swwn 20:00:00:0c:88:00:4a:e2] * fcid 0x7e00ac [interface fc2/15 swwn 20:00:00:0c:88:00:4a:e2] * fcid 0x7e00b3 [fwwn 20:4f:00:0c:88:00:4a:e2] * fcid 0x7e00b1 [fwwn 20:4f:00:0c:88:00:4a:e2] * fcid 0x7e00ac [fwwn 20:4f:00:0c:88:00:4a:e2] interface fc2/1 swwn 20:00:00:05:30:00:4a:9e
A similar output is also available on the remote switch (see Example 2-20).
Example 2-20 Displays the Local Interface Active Zone Details for a Remote Switch
* fcid 0x7e00b3 [interface fc2/15 swwn 20:00:00:0c:88:00:4a:e2] * fcid 0x7e00b1 [interface fc2/15 swwn 20:00:00:0c:88:00:4a:e2] * fcid 0x7e00ac [interface fc2/15 swwn 20:00:00:0c:88:00:4a:e2] * fcid 0x7e00b3 [fwwn 20:4f:00:0c:88:00:4a:e2] * fcid 0x7e00b1 [fwwn 20:4f:00:0c:88:00:4a:e2] * fcid 0x7e00ac [fwwn 20:4f:00:0c:88:00:4a:e2] interface fc2/1 swwn 20:00:00:05:30:00:4a:9e
Example 2-21 Displays the Zone Status for a VSAN
switch(config)# show zone status vsan 1 VSAN: 1 default-zone: deny distribute: active only Interop: default mode: basic merge-control: allow hard-zoning: enabled broadcast: disabled rscn-format: fabric-address activation overwrite control:disabled qos: none broadcast: disabled ronly: disabled Zonesets:0 Zones:0 Aliases: 0 Current Total Zone DB Usage: 4 / 2097152 bytes (0 % used) Pending (Session) DB size: SFC size: 4 / 2097152 bytes (0 % used)
Example 2-22 Displays the Zone Policy for a VSAN
switch# show zone policy vsan 1 Generic Service: read-write
Example 2-23 Displays How to Create a Zone Attribute-Group to for a VSAN in the Enhanced Mode to Disable Smart Zoning at an Individual Zone Level
Note After the attribute-group is created, it needs to be applied to any zones requiring smart zoning to be disabled.
config# zone-attribute-group name <name> vsan 1 config-attribute-group# disable-smart-zoning config-attribute-group# exit config# zone commit vsan 1
Example 2-24 Displays how to Auto-convert Zones
config# show zoneset vsan 1 zone name ddasZone vsan 1 config# zone convert smart-zoning vsan 1 smart-zoning auto_convert initiated. This operation can take few minutes. Please wait.. config# show zoneset vsan1 zone name ddasZone vsan 1 device-alias Target1 target
Example 2-25 Displays how to Clear Device type Configuration for Members
config# show zoneset vsan 1 zone name ddasZone vsan 1 device-alias Target1 target config# clear zone smart-zoning vsan1 config# show zoneset vsan 1 zone name ddasZone vsan 1
Enhanced Zoning
The zoning feature complies with the FC-GS-4 and FC-SW-3 standards. Both standards support the basic zoning functionalities explained in the previous section and the enhanced zoning functionalities described in this section.
This section includes the following topics:
About Enhanced Zoning
Table 2-4
lists the advantages of the enhanced zoning feature in all switches in the Cisco MDS 9000 Series.9000 Series
Table 2-4 Advantages of Enhanced Zoning
|
|
Enhanced Zoning Advantages
|
Administrators can make simultaneous configuration changes. Upon activation, one administrator can overwrite another administrator’s changes.
|
Performs all configurations within a single configuration session. When you begin a session, the switch locks the entire fabric to implement the change.
|
One configuration session for the entire fabric to ensure consistency within the fabric.
|
If a zone is part of multiple zonesets, you create an instance of this zone in each zoneset.
|
References to the zone are used by the zonesets as required once you define the zone.
|
Reduced payload size as the zone is referenced. The size is more pronounced with bigger databases.
|
The default zone policy is defined per switch. To ensure smooth fabric operation, all switches in the fabric must have the same default zone setting.
|
Enforces and exchanges the default zone setting throughout the fabric.
|
Fabric-wide policy enforcement reduces troubleshooting time.
|
To retrieve the results of the activation on a per switch basis, the managing switch provides a combined status about the activation. It does not identify the failure switch.
|
Retrieves the activation results and the nature of the problem from each remote switch.
|
Enhanced error reporting eases the troubleshooting process.
|
To distribute the zoning database, you must reactivate the same zoneset. The reactivation may affect hardware changes for hard zoning on the local switch and on remote switches.
|
Implements changes to the zoning database and distributes it without reactivation.
|
Distribution of zone sets without activation avoids hardware changes for hard zoning in the switches.
|
The MDS-specific zone member types (IPv4 address, IPv6 address, symbolic node name, and other types) may be used by other non-Cisco switches. During a merge, the MDS-specific types can be misunderstood by the non-Cisco switches.
|
Provides a vendor ID along with a vendor-specific type value to uniquely identify a member type.
|
Unique vendor type.
|
The fWWN-based zone membership is only supported in Cisco interop mode.
|
Supports fWWN-based membership in the standard interop mode (interop mode 1).
|
The fWWN-based member type is standardized.
|
Changing from Basic Zoning to Enhanced Zoning
To change to the enhanced zoning mode from the basic mode, follow these steps:
Step 1 Verify that all switches in the fabric are capable of working in the enhanced mode.
If one or more switches are not capable of working in enhanced mode, then your request to move to enhanced mode is rejected.
Step 2 Set the operation mode to enhanced zoning mode. By doing so, you will automatically start a session, acquire a fabric wide lock, distribute the active and full zoning database using the enhanced zoning data structures, distribute zoning policies and then release the lock. All switches in the fabric then move to the enhanced zoning mode.
Tip After moving from basic zoning to enhanced zoning, we recommend that you save the running configuration.
Changing from Enhanced Zoning to Basic Zoning
The standards do not allow you to move back to basic zoning. However, Cisco MDS switches allow this move to enable you to downgrade and upgrade to other Cisco SAN-OS or Cisco NX-OS releases.
To change to the basic zoning mode from the enhanced mode, follow these steps:
Step 1 Verify that the active and full zoneset do not contain any configuration that is specific to the enhanced zoning mode.
If such configurations exist, delete them before proceeding with this procedure. If you do not delete the existing configuration, the Cisco NX-OS software automatically removes them.
Step 2 Set the operation mode to basic zoning mode. By doing so, you will automatically start a session, acquire a fabric wide lock, distribute the zoning information using the basic zoning data structure, apply the configuration changes and release the lock from all switches in the fabric. All switches in the fabric then move to basic zoning mode.
Note If a switch running Cisco SAN-OS Release 2.0(1b) and NX-OS 4(1b) or later, with enhanced zoning enabled is downgraded to Cisco SAN-OS Release 1.3(4), or earlier, the switch comes up in basic zoning mode and cannot join the fabric because all the other switches in the fabric are still in enhanced zoning mode.
Enabling Enhanced Zoning
By default, the enhanced zoning feature is disabled in all switches in the Cisco MDS 9000 Series.
To enable enhanced zoning in a VSAN, follow these steps:
|
|
|
Step 1
|
switch#
configure terminal
switch(config)#
|
Enters configuration mode.
|
Step 2
|
switch(config)#
zone mode enhanced vsan 3000
Set zoning mode command initiated. Check zone status
|
Enables enhanced zoning in the specified VSAN.
|
switch(config)#
no
zone mode enhanced vsan 150
Set zoning mode command initiated. Check zone status
|
Disables enhanced zoning in the specified VSAN.
|
Modifying the Zone Database
Modifications to the zone database is done within a session. A session is created at the time of the first successful configuration command. On creation of a session, a copy of the zone database is created. Any changes done within the session are performed on this copy of the zoning database. These changes in the copy zoning database are not applied to the effective zoning database until you commit the changes. Once you apply the changes, the session is closed.
If the fabric is locked by another user and for some reason the lock is not cleared, you can force the operation and close the session. You must have permission (role) to clear the lock in this switch and perform the operation on the switch from where the session was originally created.
To commit or discard changes to the zoning database in a VSAN, follow these steps:
|
|
|
Step 1
|
switch#
configure terminal
switch(config)#
|
Enters configuration mode.
|
Step 2
|
switch(config)#
zone commit vsan 2
No pending info found
|
Applies the changes to the enhanced zone database and closes the session.
|
switch(config)#
zone commit vsan 3 force
|
Forcefully applies the changes to the enhanced zone database and closes the session created by another user.
|
switch(config)#
no
zone commit vsan 2
|
Discards the changes to the enhanced zone database and closes the session.
|
switch(config)#
no
zone commit vsan 3 force
|
Forcefully discards the changes to the enhanced zone database and closes the session created by another user.
|
Tip You do not have to issue the copy running-config startup-config command to store the active zoneset. However, you need to issue the copy running-config startup-config command to explicitly store full zone sets. If there is more than one switch in a fabric, the copy running-config startup-config fabric command should be issued. The fabric keyword causes the copy running-config startup-config command to be issued on all the switches in the fabric, and also saves the full zone information to the startup-config on all the switches in the fabric. This is important in the event of a switch reload or power cycle.
Enabling Automatic Zone Pending Diff Display
To enable the display of pending-diff and subsequent confirmation on issuing a zone commit in enhanced mode, follow these steps:
|
|
|
Step 1
|
switch#
configure terminal
switch(config)#
|
Enters configuration mode.
|
Step 2
|
switch(config)# zone confirm-commit enable vsan vsan-id
|
Enables the confirm-commit option for zone database for a given VSAN.
|
Step 3
|
switch(config-zone)# zone commit vsan 12
The following zoning changes are about to be committed
+zone name zone-1 vsan 12
Do you want to continue? (y/n) [n]
|
If the zone confirm-commit command is enabled for a VSAN, on committing the pending database, the pending-diff is displayed on the console and the user is prompted for Yes or No. If the zone confirm-commit command is disabled, the pending-diff is not displayed and the user is not prompted for Yes or No.
|
Step 4
|
switch(config)#
no
zone commit vsan 12
The following zoning changes are about to be discarded
+zone name zone-1 vsan 12
Do you want to continue? (y/n) [n]
switch(config)#
|
If the zone confirm-commit command is enabled for a VSAN, on discarding the pending database, the pending-diff is displayed on the console and the user is prompted for Yes or No. If the zone confirm-commit command is disabled, the pending-diff is not displayed and the user is not prompted for Yes or No.
|
Releasing Zone Database Locks
To release the session lock on the zoning database on the switches in a VSAN, use the
no zone commit vsan
command from the switch where the database was initially locked.
switch# configure terminal switch(config)# no zone commit vsan 2
If session locks remain on remote switches after using the
no zone commit vsan
command, you can use the
clear zone lock vsan
command on the remote switches.
switch# clear zone lock vsan 2
Note We recommend using the no zone commit vsan command first to release the session lock in the fabric. If that fails, use the clear zone lock vsan command on the remote switches where the session is still locked.
Creating Attribute Groups
In enhanced mode, you can directly configure attributes using attribute groups.
To configure attribute groups, follow these steps:
Step 1 Create an attribute group.
switch(config)# zone-attribute-group name SampleAttributeGroup vsan 2 switch(config-attribute-group)#
Step 2 Add the attribute to an attribute-group object.
switch(config-attribute-group)# readonly switch(config-attribute-group)# broadcast switch(config-attribute-group)# qos priority medium readonly and broadcast commands are not supported from 5.2 release onwards.
Step 3 Attach the attribute-group to a zone.
switch(config)# zone name Zone1 vsan 2 switch(config-zone)# attribute-group SampleAttributeGroup switch(config-zone)# exit
Step 4 Activate the zoneset.
switch(config)# zoneset activate name Zoneset1 vsan 2
The attribute-groups are expanded and only the configured attributes are present in the active zoneset.
Merging the Database
The merge behavior depends on the fabric-wide merge control setting:
-
Restrict—If the two databases are not identical, the ISLs between the switches are isolated.
-
Allow—The two databases are merged using the merge rules specified in
Table 2-5
.
Table 2-5 Database Zone Merge Status
|
|
|
|
The databases contain zone sets with the same name but different zones, aliases, and attributes groups.
|
Successful.
|
The union of the local and adjacent databases.
|
The databases contains a zone, zone alias, or zone attribute group object with same name but different members.
|
Failed.
|
ISLs are isolated.
|
Empty.
|
Contains data.
|
Successful.
|
The adjacent database information populates the local database.
|
Contains data.
|
Empty.
|
Successful.
|
The local database information populates the adjacent database.
|
Note In the enhanced zoning mode, the active zoneset does not have a name in interop mode 1. The zoneset names are only present for full zone sets.
Caution Remove all non-PWWN-type zone entries on all MDS switches running Cisco SAN-OS prior to merging fabrics if there is a Cisco MDS 9020 switch running FabricWare in the adjacent fabric.
Merge Process
When two Fibre Channel (FC) switches that have already been configured with active zonesets and are not yet connected are brought together with an Extended ISL (EISL) link, the zonesets merge. However, steps must be taken to ensure zone consistency before configuring and activating new zones.
Best Practices
When a zone merge occurs, as long as there is not competing information, each switch learns the others zones. Each switch then has three configuration entities. The switches have:
-
The saved configuration in NVRAM. This is the configuration as it was the last time the
copy running-configuration startup-configuration
command was issued.
-
The running configuration. This represents the configuration brought into memory upon the last time the MDS was brought up, plus any changes that have been made to the configuration. With reference to the zoning information, the running configuration represents the configurable database, known as the full database.
-
The configured zoning information from the running configuration plus the zoning information learned from the zone merge. This combination of configured and learned zone information is the active zoneset.
The merge process operates as follows:
1. The software compares the protocol versions. If the protocol versions differ, then the ISL is isolated.
2. If the protocol versions are the same, then the zone policies are compared. If the zone policies differ, then the ISL is isolated.
3. If the zone merge options are the same, then the comparison is implemented based on the merge control setting.
a. If the setting is restrict, the active zoneset and the full zoneset should be identical. Otherwise the link is isolated.
b. If the setting is allow, then the merge rules are used to perform the merge.
When an MDS is booted, it comes up with the configuration previously saved in NVRAM. If you configured the switch after loading the configuration from NVRAM, there is a difference between the bootup and running configuration until the running configuration is saved to the startup configuration. This can be likened to having a file on the local hard drive of your PC. The file is saved and static, but if you open the file and edit, there exists a difference between the changed file and the file that still exists on saved storage. Only when you save the changes, does the saved entity look represent the changes made to the file.
When zoning information is learned from a zone merge, this learned information is not part of the running configuration. Only when the
zone copy active-zoneset full-zoneset vsan
X
command is issued, the learned information becomes incorporated into the running configuration. This is key because when a zone merge is initiated by a new EISL link or activating a zoneset, the zoneset part is ignored by the other switch and the member zone information is considered topical.
Caution The
zone copy command will delete all fcalias configuration.
Example
For example, you have two standalone MDS switches, already in place and each with their own configured zone and zoneset information. Switch 1 has an active zoneset known as set A, and Switch 2 has an active zoneset known as set B. Within set A on Switch 1 is zone 1, and on Switch 2, set B has member zone 2. When an ISL link is created between these two switches, each sends their zoneset including their zone information to the other switch. On a merge, the switch will select zoneset name with the higher ASCII value and then merge their zone member. After the merge, both switches will have a zoneset name set B with zone member zone 1 and zone 2.
Everything should be still working for all of the devices in zone 1 and zone 2. To add a new zone, you have to create a new zone, add the new zone to the zoneset, and then activate the zoneset.
Step-by-step, the switches are booted up and have no zoning information. You need to create the zones on the switches and add them to the zonesets.
Basic mode: When zones are in basic mode, refer to the sample command outputs below.
1. Create zone and zoneset. Activate on Switch 1.
Switch1# configure terminal Enter configuration commands, one per line. End with CNTL/Z. Switch1#(config)# vsan database Switch1#(config-vsan-db)# vsan 100 Switch1#(config-vsan-db)# exit Switch1#(config)# zone name zone1 vsan 100 Switch1#(config-zone)# member pwwn 11:11:11:11:11:11:11:1a Switch1#(config-zone)# member pwwn 11:11:11:11:11:11:11:1b Switch1#(config-zone)# exit Switch1#(config)# zoneset name setA vsan 100 Switch1#(config-zoneset)# member zone1 Switch1#(config-zoneset)# exit Switch1#(config)# zoneset activate name setA vsan 100 Zoneset activation initiated. check zone status Switch1# sh zoneset active vsan 100 zoneset name setA vsan 100 pwwn 11:11:11:11:11:11:11:1a pwwn 11:11:11:11:11:11:11:1b
2. Create zone and zoneset. Activate on Switch 2.
Switch2# configure terminal Enter configuration commands, one per line. End with CNTL/Z. Switch2#(config)# vsan database Switch2#config-vsan-db)# vsan 100 Switch2#(config-vsan-db)# exit Switch2#(config)# zone name zone2 vsan 100 Switch2#(config-zone)# member pwwn 22:22:22:22:22:22:22:2a Switch2#(config-zone)# member pwwn 22:22:22:22:22:22:22:2b Switch2#(config-zone)# exit Switch2#(config)# zoneset name setB vsan 100 Switch2#(config-zoneset)# member zone2 Switch2#(config-zoneset)# exit Switch2#(config)# zoneset activate name setB vsan 100 Zoneset activation initiated. check zone status Switch2# sh zoneset active vsan 100 zoneset name setB vsan 100 pwwn 22:22:22:22:22:22:22:2a pwwn 22:22:22:22:22:22:22:2b
3. Bring ISL link up and verify zone merge on Switch 1.
Switch1# configure terminal Enter configuration commands, one per line. End with CNTL/Z. Switch1(config)# int fc1/5 Switch1(config-if)# no shut
Note Ensure that vsan 100 is allowed on ISL
Switch1# sh zoneset active vsan 100 zoneset name setB vsan 100 pwwn 11:11:11:11:11:11:11:1a pwwn 11:11:11:11:11:11:11:1b Switch1# sh zoneset vsan 100 zoneset name setA vsan 100 pwwn 11:11:11:11:11:11:11:1a pwwn 11:11:11:11:11:11:11:1b
4. Bring ISL link up and verify zone merge on Switch 2.
Switch2# configure terminal Enter configuration commands, one per line. End with CNTL/Z. Switch2(config)# int fc2/5 Switch2(config-if)# no shut Switch2# sh zoneset active vsan 100 zoneset name setB vsan 100 pwwn 11:11:11:11:11:11:11:1a pwwn 11:11:11:11:11:11:11:1b pwwn 22:22:22:22:22:22:22:2a pwwn 22:22:22:22:22:22:22:2b Switch2# sh zoneset vsan 100 zoneset name setB vsan 100 pwwn 22:22:22:22:22:22:22:2a pwwn 22:22:22:22:22:22:22:2b
Note The name of the newly merged zoneset will be the name of the zoneset with alphabetically higher value. In the given example, the active zoneset is setB. To avoid future zoneset activation problems, the zone copy active-zoneset full-zoneset vsan 100 command should be given, at this point on the switch. Examine if the command is given, and how the new zoning information is handled.
When the zone copy command is issued, it adds the learned zone information, zone 2 in this case, to the running configuration. If zone 2 has not been copied from residing in memory to copied into the running configuration, zone 2 information is not pushed back out.
Caution The
zone copy command will delete all fcalias configuration.
Running-Configuration of Switch1 (
before issuing the "zone copy active-zoneset full-zoneset vsan 100" command)
Switch1# sh run | b "Active Zone Database Section for vsan 100" !Active Zone Database Section for vsan 100 pwwn 11:11:11:11:11:11:11:1a pwwn 11:11:11:11:11:11:11:1b pwwn 22:22:22:22:22:22:22:2a pwwn 22:22:22:22:22:22:22:2b zoneset name setB vsan 100 zoneset activate name setB vsan 100 do clear zone database vsan 100 !Full Zone Database Section for vsan 100 pwwn 11:11:11:11:11:11:11:1a pwwn 11:11:11:11:11:11:11:1b zoneset name setA vsan 100
Running-Configuration of Switch1 (
after issuing the "zone copy active-zoneset full-zoneset vsan 100" command)
Switch1# zone copy active-zoneset full-zoneset vsan 100 WARNING: This command may overwrite common zones in the full zoneset. Do you want to continue? (y/n) [n] y Switch1# sh run | b "Active Zone Database Section for vsan 100" !Active Zone Database Section for vsan 100 pwwn 11:11:11:11:11:11:11:1a pwwn 11:11:11:11:11:11:11:1b pwwn 22:22:22:22:22:22:22:2a pwwn 22:22:22:22:22:22:22:2b zoneset name setB vsan 100 zoneset activate name setB vsan 100 do clear zone database vsan 100 !Full Zone Database Section for vsan 100 pwwn 11:11:11:11:11:11:11:1a pwwn 11:11:11:11:11:11:11:1b pwwn 22:22:22:22:22:22:22:2a pwwn 22:22:22:22:22:22:22:2b zoneset name setA vsan 100 zoneset name setB vsan 100
Running-Configuration of Switch2 (
before issuing the "zone copy active-zoneset full-zoneset vsan 100" command)
Switch2# sh run | b "Active Zone Database Section for vsan 100" !Active Zone Database Section for vsan 100 pwwn 22:22:22:22:22:22:22:2a pwwn 22:22:22:22:22:22:22:2b pwwn 11:11:11:11:11:11:11:1a pwwn 11:11:11:11:11:11:11:1b zoneset name setB vsan 100 zoneset activate name setB vsan 100 do clear zone database vsan 100 !Full Zone Database Section for vsan 100 pwwn 22:22:22:22:22:22:22:2a pwwn 22:22:22:22:22:22:22:2b zoneset name setB vsan 100
Running-Configuration of Switch2 (
after issuing the "zone copy active-zoneset full-zoneset vsan 100" command)
Switch2# zone copy active-zoneset full-zoneset vsan 100 WARNING: This command may overwrite common zones in the full zoneset. Do you want to continue? (y/n) [n] y Switch2# sh run | b "Active Zone Database Section for vsan 100" !Active Zone Database Section for vsan 100 pwwn 22:22:22:22:22:22:22:2a pwwn 22:22:22:22:22:22:22:2b pwwn 11:11:11:11:11:11:11:1a pwwn 11:11:11:11:11:11:11:1b zoneset name setB vsan 100 zoneset activate name setB vsan 100 do clear zone database vsan 100 !Full Zone Database Section for vsan 100 pwwn 22:22:22:22:22:22:22:2a pwwn 22:22:22:22:22:22:22:2b pwwn 11:11:11:11:11:11:11:1a pwwn 11:11:11:11:11:11:11:1b zoneset name setB vsan 100
Referring back to the three entities of configuration, they are as follows on zone 1 before the zone merge:
-
Saved configuration: nothing since zone information has not been saved by issuing the copy run start command.
-
Running configuration: consists of zone 1.
-
Configured and learned information: consists of zone 1.
After the zone merge, the entities are:
-
Saved configuration: nothing has been saved.
-
Running configuration: consists of zone 1.
-
Configured and learned information: consists of zone 1 and zone 2.
Zone 2 has not become part of the running configuration. Zone 2 has been learned, and is in the active zoneset. Only when the
zone copy active-zoneset full-zoneset vsan 100
command is issued, zone 2 becomes copied from being learned to added to the running configuration. The configuration looks as follows after the command is issued:
Caution The
zone copy command will delete all fcalias configuration.
-
Saved configuration: nothing has been saved.
-
Running configuration: consists of zone 1 and zone 2.
-
Configured and learned information: consists of zone 1 and zone 2.
Commands
By default zone in basic mode will only distribute active zoneset database only, this command was introduced in 1.0.4 SAN-OS will propagate active zoneset and full zoneset database:
zoneset distribute full vsan <vsan_id>
If the zone update or zoneset activation is going on, the above command must be explicitly enabled on each VSAN on every switch.
Enhanced mode:
When zones are in enhanced mode, refer to the sample command outputs below.
1. Create zones and zoneset. Activate on Switch1.
Switch1# configure terminal Enter configuration commands, one per line. End with CNTL/Z. Switch1(config)# vsan database Switch1(config-vsan-db)# vsan 200 Switch1(config-vsan-db)# zone mode enhanced vsan 200 WARNING: This command would distribute the zoning database of this switch throughout the fabric. Do you want to continue? (y/n) [n] y Set zoning mode command initiated. Check zone status Switch1(config-vsan-db)# zone name zone1 vsan 200 Enhanced zone session has been created. Please 'commit' the changes when done. Switch1(config-zone)# member pwwn 11:11:11:11:11:11:11:1a Switch1(config-zone)# member pwwn 11:11:11:11:11:11:11:1b Switch1(config-zone)# zoneset name SetA vsan 200 Switch1(config-zoneset)# member zone1 Switch1(config-zoneset)# zoneset activate name SetA vsan 200 Switch1(config)# zone commit vsan 200 Commit operation initiated. Check zone status Switch1# show zoneset activate vsan 200 zoneset name SetA vsan 200 pwwn 11:11:11:11:11:11:11:1a pwwn 11:11:11:11:11:11:11:1b Switch1# show zoneset vsan 200 zoneset name SetA vsan 200 pwwn 11:11:11:11:11:11:11:1a pwwn 11:11:11:11:11:11:11:1b
2. Create zones and zoneset. Activate on Switch2.
Switch2# configure terminal Enter configuration commands, one per line. End with CNTL/Z. Switch2(config)# vsan database Switch2(config-vsan-db)# vsan 200 Switch2(config-vsan-db)# zone mode enhanced vsan 200 WARNING: This command would distribute the zoning database of this switch throughout the fabric. Do you want to continue? (y/n) [n] y Set zoning mode command initiated. Check zone status Switch2(config)# zone name zone2 vsan 200 Enhanced zone session has been created. Please 'commit' the changes when done. Switch2(config-zone)# member pwwn 22:22:22:22:22:22:22:2a Switch2(config-zone)# member pwwn 22:22:22:22:22:22:22:2b Switch2(config-zone)# zoneset name SetB vsan 200 Switch2(config-zoneset)# member zone2 Switch2(config-zoneset)# zoneset act name SetB vsan 200 Switch2(config)# zone commit vsan 200 Commit operation initiated. Check zone status Switch2# show zoneset activate vsan 200 zoneset name SetB vsan 200 pwwn 22:22:22:22:22:22:22:2a pwwn 22:22:22:22:22:22:22:2b Switch2# show zoneset vsan 200 zoneset name SetB vsan 200 pwwn 22:22:22:22:22:22:22:2a pwwn 22:22:22:22:22:22:22:2b
3. Bring ISL link up and verify zone merge on Switch1.
Switch1# configure terminal Enter configuration commands, one per line. End with CNTL/Z. Switch1(config)# interface fc4/1 Switch1(config-if)# no shut Switch1(config-if)# show zoneset activate vsan 200 zoneset name SetB vsan 200 pwwn 11:11:11:11:11:11:11:1a pwwn 11:11:11:11:11:11:11:1b pwwn 22:22:22:22:22:22:22:2a pwwn 22:22:22:22:22:22:22:2b Switch1(config-if)# show zoneset vsan 200 zoneset name SetA vsan 200 pwwn 11:11:11:11:11:11:11:1a pwwn 11:11:11:11:11:11:11:1b zoneset name SetB vsan 200 pwwn 22:22:22:22:22:22:22:2a pwwn 22:22:22:22:22:22:22:2b
Note Unlike basic mode, the entire zone database is merged in the case of enhanced mode, wherein Switch1 has the information of zonesets originally configured in Switch2 and vice versa.
4. Bring ISL link up and verify zone merge on Switch2.
After bringing up ISL between two switches:
Switch2# configure terminal Enter configuration commands, one per line. End with CNTL/Z. Switch2(config)# interface fc4/1 Switch2(config-if)# no shut Switch2(config-zoneset)# show zoneset activate vsan 200 zoneset name SetB vsan 200 pwwn 22:22:22:22:22:22:22:2a pwwn 22:22:22:22:22:22:22:2b pwwn 11:11:11:11:11:11:11:1a pwwn 11:11:11:11:11:11:11:1b Switch2(config-zoneset)# show zoneset vsan 200 zoneset name SetB vsan 200 pwwn 22:22:22:22:22:22:22:2a pwwn 22:22:22:22:22:22:22:2b zoneset name SetA vsan 200 pwwn 11:11:11:11:11:11:11:1a pwwn 11:11:11:11:11:11:11:1b
5. Execute the
zone copy
command for enhanced zone.
Switch1
Switch1# zone copy active-zoneset full-zoneset vsan 200 WARNING: This command may overwrite common zones in the full zoneset. Do you want to Switch1(config-if)# show zoneset activate vsan 200 zoneset name SetB vsan 200 pwwn 11:11:11:11:11:11:11:1a pwwn 11:11:11:11:11:11:11:1b pwwn 22:22:22:22:22:22:22:2a pwwn 22:22:22:22:22:22:22:2b Switch1(config-if)# show zoneset vsan 200 zoneset name SetB vsan 200 pwwn 11:11:11:11:11:11:11:1a pwwn 11:11:11:11:11:11:11:1b pwwn 22:22:22:22:22:22:22:2a pwwn 22:22:22:22:22:22:22:2b
Switch2
Switch2# zone copy active-zoneset full-zoneset vsan 200 WARNING: This command may overwrite common zones in the full zoneset. Do you want to Switch2(config-zoneset)# show zoneset activate vsan 200 zoneset name SetB vsan 200 pwwn 22:22:22:22:22:22:22:2a pwwn 22:22:22:22:22:22:22:2b pwwn 11:11:11:11:11:11:11:1a pwwn 11:11:11:11:11:11:11:1b Switch2(config-zoneset)# show zoneset vsan 200 zoneset name SetB vsan 200 pwwn 22:22:22:22:22:22:22:2a pwwn 22:22:22:22:22:22:22:2b pwwn 11:11:11:11:11:11:11:1a pwwn 11:11:11:11:11:11:11:1b
Configuring Zone Merge Control Policies
To configure merge control policies, follow these steps:
|
|
|
Step 1
|
switch#
configure terminal
switch(config)#
|
Enters configuration mode.
|
Step 2
|
switch(config)#
zone merge-control restrict vsan 4
|
Configures a restricted merge control setting for this VSAN.
|
switch(config)#
no zone merge-control restrict vsan 2
|
Defaults to using the allow merge control setting for this VSAN.
|
switch(config)#
zone commit vsan 4
|
Commits the changes made to VSAN 4.
|
Preventing Zones From Flooding FC2 Buffers
By using the
zone fc2 merge throttle enable
command you can throttle the merge requests that are sent from zones to FC2 and prevent zones from flooding FC2 buffers. This command is enabled by default. This command can be used to prevent any zone merge scalability problem when you have a lot of zones. Use the
show zone status
command to view zone merge throttle information.
Permitting or Denying Traffic in the Default Zone
To permit or deny traffic in the default zone, follow these steps:
|
|
|
Step 1
|
switch#
configure terminal
|
Enters configuration mode.
|
Step 2
|
switch(config)#
zone default-zone permit vsan 5
|
Permits traffic flow to default zone members.
|
switch(config)#
no
zone default-zone permit vsan 3
|
Denies traffic flow to default zone members and reverts to factory default.
|
Step 3
|
switch(config)#
zone commit vsan 5
|
Commits the changes made to VSAN 5.
|
Broadcasting a Zone
You can specify an enhanced zone to restrict broadcast frames generated by a member in this zone to members within that zone. Use this feature when the host or storage devices support broadcasting.
Note The broadcast command is not supported from 5.x release onwards.
Table 2-6
identifies the rules for the delivery of broadcast frames.
Table 2-6 Broadcasting Requirements
|
|
|
Yes
|
Yes
|
Yes
|
No
|
Yes
|
Yes
|
Yes
|
No
|
No
|
Contains data.
|
Empty.
|
Successful.
|
Tip If any NL port attached to an FL port shares a broadcast zone with the source of the broadcast frame, then the frames are broadcast to all devices in the loop.
To broadcast frames in the enhanced zoning mode, follow these steps:
|
|
|
Step 1
|
switch#
configure terminal
switch(config)#
|
Enters configuration mode.
|
Step 2
|
switch(config)#
zone-attribute-group name BroadcastAttr vsan 2
|
Configures the zone attribute group for the required VSAN.
|
switch(config)#
no zone-attribute-group name BroadAttr vsan 1
|
Removes the zone attribute group for the required VSAN.
|
Step 3
|
switch(config-attribute-group)#
broadcast
switch(config-attribute-group)#
exit
switch(config)#
|
Creates a broadcast attribute for this group and exits this submode.
|
switch(config-attribute-group)#
no
broadcast
|
Removes broadcast attribute for this group and exits this submode.
|
Step 4
|
switch(config)#
zone name BroadcastAttr vsan 2
switch(config-zone)#
|
Configures a zone named BroadcastAttr in VSAN 2.
|
Step 5
|
switch(config-zone)#
member pwwn 21:00:00:e0:8b:0b:66:56
switch(config-zone)#
member pwwn 21:01:00:e0:8b:2e:80:93
switch(config-zone)#
attribute-group name BroadcastAttr
switch(config-zone)#
exit
switch(config)#
|
Adds the specified members to this zone and exits this submode.
|
Step 6
|
switch(config)#
zone commit vsan 1
Commit operation initiated
switch(config)#
end
|
Applies the changes to the enhanced zone configuration and exits this submode.
|
Step 7
|
switch#
show zone vsan 1
zone name BroadcastAttr vsan 1
zone-attribute-group name BroadcastAttr vsan 1
broadcast
pwwn 21:00:00:e0:8b:0b:66:56
pwwn 21:01:00:e0:8b:2e:80:93
|
Displays the broadcast configuration
|
Configuring System Default Zoning Settings
You can configure default settings for default zone policies, full zone distribution, and generic service permissions for new VSANs on the switch. To configure switch-wide default settings, follow these steps:
|
|
|
Step 1
|
switch#
configure terminal
|
Enters configuration mode.
|
Step 2
|
switch(config)#
system default zone default-zone permit
|
Configures permit as the default zoning policy for new VSANs on the switch.
|
switch(config)#
no system default zone default-zone permit
|
Configures deny (default) as the default zoning policy for new VSANs on the switch.
|
Step 3
|
switch(config)#
system default zone distribute full
|
Enables full zone database distribution as the default for new VSANs on the switch.
|
switch(config)#
no system default zone distribute full
|
Disables (default) full zone database distribution as the default for new VSANs on the switch. Only the active zone database is distributed.
|
Step 4
|
switch(config)#
system default zone gs read
|
Configures read only as the default generic service permission for new VSANs on the switch.
|
switch(config)#
system default zone gs read-write
|
Configures (default) read-write as the default generic service permission for new VSANs on the switch.
|
switch(config)#
no system default zone gs read-write
|
Configures none(deny) as the default generic service permission for new VSANs on the switch.
|
Note Since VSAN 1 is the default VSAN and is always present on the switch, the system default zone commands have no effect on VSAN 1.
Configuring Zone Generic Service Permission Settings
Zone generic service permission setting is used to control zoning operation through generic service (GS) interface. The zone generic service permission can be read-only, read-write or none (deny).
To configure generic service (GS) settings, follow these steps:
|
|
|
Step 1
|
switch#
configure terminal
|
Enters configuration mode.
|
Step 2
|
switch(config)#
zone gs read vsan 3000
|
Configures gs permission value as read only in the specified VSAN.
|
switch(config)#
zone gs read-write vsan 3000
|
Configures gs permission value as read-write in the specified VSAN.
|
switch(config)#
no zone gs read-write vsan 3000
|
Configures gs permission value as none(deny) in the specified VSAN.
|
Displaying Enhanced Zone Information
You can view any zone information by using the
show
command. See Examples
2-26
to
2-37
.
Example 2-26 Displays the Active Zoneset Information for a Specified VSAN
switch(config)# show zoneset active vsan 1 zoneset name qoscfg vsan 1 * fcid 0xe80200 [pwwn 50:08:01:60:01:5d:51:11] * fcid 0xe60000 [pwwn 50:08:01:60:01:5d:51:10] * fcid 0xe80100 [pwwn 50:08:01:60:01:5d:51:13] * fcid 0xe80200 [pwwn 50:08:01:60:01:5d:51:11] * fcid 0xe60100 [pwwn 50:08:01:60:01:5d:51:12] * fcid 0xe80100 [pwwn 50:08:01:60:01:5d:51:13] * fcid 0xe80000 [pwwn 20:0e:00:11:0d:10:dc:00] * fcid 0xe80300 [pwwn 20:0d:00:11:0d:10:da:00] * fcid 0xe60200 [pwwn 20:13:00:11:0d:15:75:00] * fcid 0xe60300 [pwwn 20:0d:00:11:0d:10:db:00]
Example 2-27 Displays the ZoneSet Information or a Specified VSAN
switch(config)# show zoneset vsan 1 zoneset name qoscfg vsan 1 zone-attribute-group name qos1-attr-group vsan 1 pwwn 50:08:01:60:01:5d:51:11 pwwn 50:08:01:60:01:5d:51:10 pwwn 50:08:01:60:01:5d:51:13 zone-attribute-group name qos3-attr-group vsan 1 pwwn 50:08:01:60:01:5d:51:11 pwwn 50:08:01:60:01:5d:51:12 pwwn 50:08:01:60:01:5d:51:13 pwwn 20:0e:00:11:0d:10:dc:00 pwwn 20:0d:00:11:0d:10:da:00 pwwn 20:13:00:11:0d:15:75:00 pwwn 20:0d:00:11:0d:10:db:00
Example 2-28 Displays the Zone Attribute Group Information for a Specified VSAN
switch# show zone-attribute-group vsan 2 zone-attribute-group name $default_zone_attr_group$ vsan 2 zone-attribute-group name testattgp vsan 2
Example 2-29 Displays the fcalias Information for the Specified VSAN
switch# show fcalias vsan 2 fcalias name testfcalias vsan 2 pwwn 21:00:00:20:37:39:b0:f4 pwwn 21:00:00:20:37:6f:db:dd pwwn 21:00:00:20:37:a6:be:2f
Example 2-30 Displays the Zone Status for the Specified VSAN
switch(config)# show zone status vsan 1 VSAN: 1 default-zone: deny distribute: active only Interop: default mode: basic merge-control: allow hard-zoning: enabled broadcast: disabled rscn-format: fabric-address activation overwrite control:disabled qos: none broadcast: disabled ronly: disabled Zonesets:0 Zones:0 Aliases: 0 Current Total Zone DB Usage: 4 / 2097152 bytes (0 % used) Pending (Session) DB size: SFC size: 4 / 2097152 bytes (0 % used)
Example 2-31 Displays the Pending ZoneSet Information for the VSAN to be Committed
switch# show zoneset pending vsan 2
Example 2-32 Displays the Pending Zone Information for the VSAN to be Committed
switch# show zone pending vsan 2
Example 2-33 Displays the Pending Zone Information for the VSAN to be Committed
switch# show zone-attribute-group pending vsan 2
Example 2-34 Displays the Pending Active ZoneSet Information for the VSAN to be Committed
switch# show zoneset pending active vsan 2
Example 2-35 Displays the Difference Between the Pending and Effective Zone Information for the Specified VSAN
switch# show zone pending-diff vsan 2 zone name testzone vsan 2 - member pwwn 21:00:00:20:37:4b:00:a2 + member pwwn 21:00:00:20:37:60:43:0c
Exchange Switch Support (ESS) defines a mechanism for two switches to exchange various supported features (see Example 2-36).
Example 2-36 Displays the ESS Information for All Switches in the Specified VSAN
switch# show zone ess vsan 2 Domain : 210, SWWN : 20:02:00:05:30:00:85:1f, Cap1 : 0xf3, Cap2 : 0x0
Example 2-37 Displays the Pending fcalias Information for the VSAN to be Committed
switch# show fcalias pending vsan 2
Zoning Best Practice
A Cisco Multilayer Director Switch (MDS) uses a special kind of memory called Ternary Content Addressable Memory (TCAM) on its Fibre Channel (FC) linecards. This special memory provides an Access Control List (ACL) type of function for Cisco MDS. The process that controls this functionality is called the ACLTCAM. The E/TE ports (Inter Switch Links - ISLs) and F (Fabric) ports have their own programming, which is unique to their respective port types.
TCAM Regions
TCAM is divided into several regions of various sizes. The main regions and the type of programming contained in each region are described in
Table 2-7
:
Table 2-7 TCAM Regions
|
|
Region 1 - TOP SYS
|
Fabric-Login, Port-Login, Diagnostics features (10%-20%)
|
Region 2 - SECURITY
|
Security, Interop-Mode-4 features, IVR ELS capture (5%-10%)
Note Cisco MDS NX-OS Release 6.2(x) does not support the LUN zoning, read-only zones, and broadcast zones features in Cisco MDS 9250i Multiservice Fabric Switch, Cisco MDS 9000 8-Port 10-Gbps Fibre Channel over Ethernet (FCoE) Module, Cisco MDS 9000 48-Port 8-Gbps Advanced Fibre Channel Switching Module, Cisco MDS 9000 32-Port 8-Gbps Advanced Fibre Channel Switching Module, and Cisco MDS 9000 48-port 16-Gbps Fibre Channel Switching Module.
|
Region 3 - Zoning
|
Zoning features, including IVR (50%-75%)
|
Region 4 - Bottom
Note When a hard-zoning failure occurs, Region 4 (bottom region) is used to program wildcard entries to allow any-to-any communication.
|
PLOGI,ACC, and FCSP trap, ISL, ECHO-permit (10%-20%). Also, when transitioning to soft zoning mode the “SID -> Any” entries are in the Bottom region.
|
The TCAM is allocated on a per-module and per-forwarding engine (fwd-eng) basis.
The TCAM space on fabric switches is significantly less than that on most director-class FC linecards.
When a port comes online, some amount of basic programming is needed on that port. This programming differs according to the port type. This basic programming is minimal and does not consume many TCAM entries. Typically, programming is performed on inputs such that frames entering the switch are subject to this programming and frames egressing the switch are not.
Zoning Types
The Cisco MDS platform uses two types of zoning - 'Hard' and 'Soft' zoning.
Soft zoning - In this mode only control plane traffic is policed by the switch supervisor services. In particular, the Fibre Channel Name Server (FCNS) will limit the list of permitted devices in an FCNS reply to only those that are in the zone configuration. However, the end device data plane traffic is unpoliced. This means a rogue end device may connect to other devices it is not zoned with.
Hard zoning - In this mode both control plane and data plane traffic are policed. Control plane traffic is policed by the switch supervisor and data plane traffic is policed on each ingress port with hardware assistance. The policing rules are set by the zoneset which programmed into each linecard. The destination of each frame is checked by hardware and, if it is not permitted by zoning, it is dropped. In this mode any device can only communicate with end devices it is authorized to.
By default, both types of zoning are enabled, with hard zoning used in priority over soft zoning. In the event that the user disables hard zoning or the system is unable to use hard zoning due to hardware resource exhaustion it will be disabled and the system will fall back to use soft zoning. When a TCAM programming failure occurs (usually due to TCAM being full) the system programs each FLOGI Source ID (SID) to be able to communicate with all destinations. These are referred to as the "SID -> Any" entries and are generated in the Bottom region. When these are generated, traffic flow continues non-disruptively as log as the Bottom region can contain all of these “SID -> Any” entries. If the Bottom region itself is exhausted then traffic disruption will occur.
The following example shows how Cisco MDS programs TCAM on a port:
The following example shows a zone in the active zone set for a VSAN. This is the basic programming that exists on an interface because of Hard zoning.
member host (FCID 0x010001) member target1 (FCID 0x010002)
In such a scenario, the following is the ACL programming:
Entry# Source ID Mask Destination ID Mask Action 1 010001 ffffff 010002(target1) ffffff Permit 2 000000 000000 000000 000000 Drop fc1/2 - Target1 interface Entry# Source ID Mask Destination ID Mask Action 1 010002 ffffff 010001(Host) ffffff Permit 2 000000 000000 000000 000000 Drop
Note In addition to what is provided here, additional programming exists.
The mask indicates which parts of the FCIDs are matched with the input frame. So, when there is a mask 0xffffff, the entire FCID is considered when matching it to the ACL entry. If the mask is 0x000000, none of it is considered because, by default, it will match all the FCIDs.
In the above programming example, note that when a frame is received on fc1/1, and if it has a source ID(FCID) of 0x010001(the host) and a destination ID(FCID) of 0x010002(Target1), it will be permitted and routed to the destination. If it is any other end-to-end communication, it will be dropped.
The following example shows another scenario where zoning is changed:
member host (FCID 010001) member target1 (FCID 010002) member target2 (FCID 010003) member target3 (FCID 010004)
In such a scenario, the following is the ACL programming:
Entry# Source ID Mask Destination ID Mask Action 1 010001 ffffff 010002(target1) ffffff Permit 2 010001 ffffff 010003(target2) ffffff Permit 3 010001 ffffff 010004(target3) ffffff Permit 4 000000 000000 000000 000000 Drop fc1/2 - Target1 interface Entry# Source ID Mask Destination ID Mask Action 1 010002 ffffff 010001(host) ffffff Permit 2 010002 ffffff 010003(target2) ffffff Permit 3 010002 ffffff 010004(target3) ffffff Permit 4 000000 000000 000000 000000 Drop fc1/3 - Target2 interface Entry# Source ID Mask Destination ID Mask Action 1 010003 ffffff 010001(host) ffffff Permit 2 010003 ffffff 010002(target1) ffffff Permit 3 010003 ffffff 010004(target3) ffffff Permit 4 000000 000000 000000 000000 Drop fc1/4 - Target3 interface Entry# Source ID Mask Destination ID Mask Action 1 010004 ffffff 010001(host) ffffff Permit 2 010004 ffffff 010002(target1) ffffff Permit 3 010004 ffffff 010003(target2) ffffff Permit 4 000000 000000 000000 000000 Drop
The above example demonstrates that the number of TCAM entries consumed by a zone (N) is equal to N*(N-1). So, a zone with four members would have used a total of 12 TCAM entries (4*3 = 12).
The above example shows two entries in each of the target interfaces (fc1/2-fc1/4) that are probably not needed since it is usually not advantageous to zone multiple targets together. For example, in fc1/2, there is an entry that permits Target1 to communicate with Target2, and an entry that permits Target1 to communicate with Target3.
As these entries are not needed and could even be detrimental, they should be avoided. You can avoid the addition of such entries by using single-initiator or single-target zones (or use Smart Zoning).
Note If the same two devices are present in more than one zone in a zone set, TCAM programming will not be repeated.
The following example shows a zone that is changed to three separate zones:
member host (FCID 010001) member target1 (FCID 010002) member host (FCID 010001) member target2 (FCID 010003) member host (FCID 010001) member target3 (FCID 010004)
In such a scenario, the following is the ACL programming:
fc1/1 - Host interface - This would look the same Entry# Source ID Mask Destination ID Mask Action 1 010001 ffffff 010002(target1) ffffff Permit 2 010001 ffffff 010003(target2) ffffff Permit 3 010001 ffffff 010004(target3) ffffff Permit 4 000000 000000 000000 000000 Drop fc1/2 - Target1 interface Entry# Source ID Mask Destination ID Mask Action 1 010002 ffffff 010001(host) ffffff Permit 2 000000 000000 000000 000000 Drop fc1/3 - Target2 interface Entry# Source ID Mask Destination ID Mask Action 1 010003 ffffff 010001(host) ffffff Permit 2 000000 000000 000000 000000 Drop fc1/4 - Target3 interface Entry# Source ID Mask Destination ID Mask Action 1 010004 ffffff 010001(host) ffffff Permit 2 000000 000000 000000 000000 Drop
Note that in the above example, the target-to-target entries are not found, and that six of the 12 entries are no longer programmed. This results in less use of TCAM and better security (only the host can communicate with the three targets, and the targets themselves can communicate only with one host, and not with each other).
Forwarding Engines
TCAM is allocated to individual forwarding engines. Director-class FC linecards have more TCAM space than fabric switches. The number of forwarding engines and the amount of TCAMs allocated to each engine is hardware dependent.
The following example shows an output from Cisco MDS 9148S:
RTP-SAN-15-10-9148s-1# show system internal acltcam-soc tcam-usage Region1 Region2 Region3 Region4 Region5 Region6 Mod Fwd Dir TOP SYS SECURITY ZONING BOTTOM FCC DIS FCC ENA Eng Use/Total Use/Total Use/Total Use/Total Use/Total Use/Total --- --- ------ ---------- --------- ------------ --------- --------- --------- 1 1 INPUT 19/407 1/407 1/2852 * 4/407 0/0 0/0 1 1 OUTPUT 0/25 0/25 0/140 0/25 0/12 1/25 1 2 INPUT 19/407 1/407 0/2852 * 4/407 0/0 0/0 1 2 OUTPUT 0/25 0/25 0/140 0/25 0/12 1/25 1 3 INPUT 19/407 1/407 0/2852 * 4/407 0/0 0/0 1 3 OUTPUT 0/25 0/25 0/140 0/25 0/12 1/25 --------------------------------------------------- * 1024 entries are reserved for LUN Zoning purpose.
The above example indicates the following:
-
There are three forwarding engines, 1-3.
-
Since there are 48 ports on Cisco MDS 9148 switches, each forwarding engine handles 16 ports.
-
Each forwarding engine has 2852 entries in region 3 (the zoning region) for input. This is the main region used, and consequently, has the largest amount of available entries.
-
Forwarding engine 3 has only one entry that is currently in use out of the total 2852 in the zoning region.
The following example shows the output from Cisco MDS 9710 switch with a 2/4/8/10/16 Gbps Advanced FC Module (DS-X9448-768K9):
F241-15-09-9710-2# show system internal acl tcam-usage Region1 Region2 Region3 Region4 Region5 Region6 Mod Fwd Dir TOP SYS SECURITY ZONING BOTTOM FCC DIS FCC ENA Eng Use/Total Use/Total Use/Total Use/Total Use/Total Use/Total --- --- ------ ---------- --------- ------------ --------- --------- --------- 1 0 INPUT 55/19664 0/9840 0/49136* 17/19664 0/0 0/0 1 0 OUTPUT 13/4075 0/1643 0/11467 0/4075 6/1649 21/1664 1 1 INPUT 52/19664 0/9840 2/49136* 14/19664 0/0 0/0 1 1 OUTPUT 7/4078 0/1646 0/11470 0/4078 6/1652 5/1651 1 2 INPUT 34/19664 0/9840 0/49136* 10/19664 0/0 0/0 1 2 OUTPUT 5/4078 0/1646 0/11470 0/4078 6/1652 1/1647 1 3 INPUT 34/19664 0/9840 0/49136* 10/19664 0/0 0/0 1 3 OUTPUT 5/4078 0/1646 0/11470 0/4078 6/1652 1/1647 1 4 INPUT 34/19664 0/9840 0/49136* 10/19664 0/0 0/0 1 4 OUTPUT 5/4078 0/1646 0/11470 0/4078 6/1652 1/1647 1 5 INPUT 34/19664 0/9840 0/49136* 10/19664 0/0 0/0 1 5 OUTPUT 5/4078 0/1646 0/11470 0/4078 6/1652 1/1647
The above example indicates the following:
-
There are six forwarding engines, 0-5.
-
Since there are 48 ports on a Cisco MDS DS-X9448-768K9 line card, each forwarding engine handles eight ports.
-
Each forwarding engine has 49136 entries in region 3 (the zoning region) for input. This is the main region that is used, and consequently, has the largest amount of available entries.
-
Forwarding engine 2 has only two entries that are currently in use out of the total 49136 in the zoning region.
Note The commands that are used to view TCAM usage on fabric switches are different from the ones used for director-class switches. For fabric switches, use the show system internal acl tcam-soc command, and for director-class switches, use the acltcam-soc tcam-usage command.
Table 4-8
lists the ports allocated to the forwarding engines:
Table 2-8 Port Allocation to Forwarding Engines
|
|
|
|
|
|
MDS 9148
|
3
|
fc1/25-36 & fc1/45-48
|
1
|
2852
|
407
|
|
fc1/5-12 & fc1/37-44
|
2
|
2852
|
407
|
|
fc1/1-4 & fc1/13-24
|
3
|
2852
|
407
|
MDS 9250i
|
4
|
fc1/5-12 & eth1/1-8
|
1
|
2852
|
407
|
|
fc1/1-4 & fc1/13-20 & fc1/37-40
|
2
|
2852
|
407
|
|
fc1/21-36
|
3
|
2852
|
407
|
|
ips1/1-2
|
4
|
2852
|
407
|
MDS 9148S
|
3
|
fc1/1-16
|
1
|
2852
|
407
|
|
fc1/17-32
|
2
|
2852
|
407
|
|
fc1/33-48
|
3
|
2852
|
407
|
MDS 9396S
|
12
|
fc1/1-8
|
0
|
49136
|
19664
|
|
fc1/9-16
|
1
|
49136
|
19664
|
|
fc1/17-24
|
2
|
49136
|
19664
|
|
fc1/25-32
|
3
|
49136
|
19664
|
|
fc1/33-40
|
4
|
49136
|
19664
|
|
fc1/41-48
|
5
|
49136
|
19664
|
|
fc1/49-56
|
6
|
49136
|
19664
|
|
fc1/57-64
|
7
|
49136
|
19664
|
|
fc1/65-72
|
8
|
49136
|
19664
|
|
fc1/73-80
|
9
|
49136
|
19664
|
|
fc1/81-88
|
10
|
49136
|
19664
|
|
fc1/89-96
|
11
|
49136
|
19664
|
DS-X9248-48K9
|
1
|
fc1/1-48
|
0
|
27168
|
2680
|
DS-X9248-96K9
|
2
|
fc1/1-24
|
0
|
27168
|
2680
|
|
fc1/25-48
|
1
|
27168
|
2680
|
DS-X9224-96K9
|
2
|
fc1/1-12
|
0
|
27168
|
2680
|
|
fc1/13-24
|
1
|
27168
|
2680
|
DS-X9232-256K9
|
4
|
fc1/1-8
|
0
|
49136
|
19664
|
|
fc1/9-16
|
1
|
49136
|
19664
|
|
fc1/17-24
|
2
|
49136
|
19664
|
|
fc1/25-32
|
3
|
49136
|
19664
|
DS-X9248-256K9
|
4
|
fc1/1-12
|
0
|
49136
|
19664
|
|
fc1/13-24
|
1
|
49136
|
19664
|
|
fc1/25-36
|
2
|
49136
|
19664
|
|
fc1/37-48
|
3
|
49136
|
19664
|
DS-X9448-768K9
|
6
|
fc1/1-8
|
0
|
49136
|
19664
|
|
fc1/9-16
|
1
|
49136
|
19664
|
|
fc1/17-24
|
2
|
49136
|
19664
|
|
fc1/25-32
|
3
|
49136
|
19664
|
|
fc1/33-40
|
4
|
49136
|
19664
|
|
fc1/41-48
|
5
|
49136
|
19664
|
F and TF Port Channels
Note We do not recommend using interface, fWWN, or domain-ID based zoning for devices that are connected to the edge Cisco N-Port Virtualization (NPV) switches.
F port channels provide fault tolerance and performance benefits on connections to Cisco NPV switches, including Cisco UCS Fabric Interconnects (FIs). F port channels present unique challenges to ACL TCAM programming. When F ports are aggregated into a port channel, ACL TCAM programming is repeated on each member interface. Consequently, these types of port channels multiply the amount of TCAM entries needed. Because of this, it is imperative that the member interfaces are allocated as optimally as possible, and that zoning best practices are also followed. If you also consider the fact that these F port channels can contain 100+ host logins, TCAM can easily be exceeded, especially for fabric switches if best practices are not followed.
The following is a sample topology:
The following two zones are active:
member host (host 0x010001) member target1 (target1 0x010002) member host (host 0x010001) member target2 (target2 0x010003)
In such a scenario, the following ACL programming will be present:
Entry# Source ID Mask Destination ID Mask Action 1 010001 ffffff 010002(target1) ffffff Permit 2 010001 ffffff 010003(target2) ffffff Permit 3 000000 000000 000000 000000 Drop
The above example shows the ACL TCAM programming that will be duplicated on each member of the F port-channel. Consequently, if a lot of programming is required because of a large number of FLOGIs on the F port channel, or a large number of devices are zoned with the devices on the F port channel, TCAM can be exhausted on a forwarding engine. The following are the best practices for efficient use of TCAM with respect to F ports and F port-channels:
-
Distribute port-channel member interfaces into different forwarding engines, especially on fabric switches.
-
If TCAM usage is still too high in the case of port-channel with a large number of interfaces, then split the port-channel into two separate port-channels each with half the interfaces. This will still provide redundancy but will reduces the number of FLOGIs per individual port-channel and thus reduce TCAM usage.
-
Distribute member interfaces into different modules on director-class switches.
-
Distribute member interfaces into forwarding engines with lower TCAM zoning region usage.
-
Use single-initiator zones, single-target zones, or Smart Zoning.
E and TE Port Channels and IVR
E port channels provide Inter Switch Links (ISLs) between fabric switches. Typically, there is minimal TCAM programming on these types of interfaces. Therefore, besides placing them into different linecards, and perhaps port groups on director-class switches, there is a little more to be done. However, when the Inter VSAN Routing (IVR) feature is being deployed, extensive TCAM programming can exist on ISLs because the IVR topology transitions from one VSAN to another. Consequently, most of the considerations that apply on F/TF port channels will be applicable here too.
The following is an example of a topology:
In this topology:
-
Both Cisco MDS 9148S-1 and MDS 9148S-2 are in the IVR VSAN topology:
MDS9148S-1 vsan 1 and vsan 2 MDS9148S-2 vsan 2 and vsan 3
-
IVR NAT is configured.
-
VSAN 2 is the transit VSAN.
Host 010001 210001 550002 Target1 440002 360002 030001
Note Domains 0x44 in VSAN 1, 0x21 and 0x36 in VSAN 2, and 0x55 in VSAN 3 are virtual domains created by IVR NAT.
-
The following is the IVR zoning topology:
-
The following is the ACL TCAM programming for the IVR zoning topology:
MDS9148S-1 fc1/1(Host) - VSAN 1 Entry# Source ID Mask Destination ID Mask Action 1 010001(host) ffffff 440002(target1) ffffff Permit - Rewrite the following information: 2 000000 000000 000000 000000 Drop MDS9148S-1 fc1/2(ISL) - VSAN 2 Entry# Source ID Mask Destination ID Mask Action 1 360002(Target1) ffffff 210001(host) ffffff Permit - Rewrite the following information: MDS9148S-2 fc1/2(ISL) - VSAN 2 Entry# Source ID Mask Destination ID Mask Action 1 210001(host) ffffff 360002(target1) ffffff Permit - Rewrite the following information: MDS9148S-2 fc1/1(Target1) - VSAN 3 Entry# Source ID Mask Destination ID Mask Action 1 030001(Target1) ffffff 550002(host) ffffff Permit - Rewrite the following information: 2 000000 000000 000000 000000 Drop
Note Besides the entries in this example, there are other entries that IVR adds to capture important frames such as PLOGIs, PRILIs, and ABTS.
The programming on the host and target1 ports is similar to the way it is without IVR, except that the FCIDs and VSANs are explicitly forwarded to an egress port and are rewritten to values that are appropriate for the transit VSAN (VSAN 2). These forwarding and rewrite entries are separate and are not included in the TCAM-usage values.
However, now, on the ISLs in both the switches, programming that did not exist earlier is present. When frames from Host to Target1 are received by Cisco MDS 9148S-2 fc1/2, they are rewritten to the values in VSAN 3 where the target resides. In the reverse direction, when frames from Target1 to the Host are received by Cisco MDS 9148S-1 fc1/2, they are rewritten to the values in VSAN 1 where the Host resides. Thus, for each VSAN transition on an ISL (that typically occurs across a transit VSAN) there will be TCAM programming for each device in the IVR zone set.
Consequently, most of the best practices followed for the F and TF port channels should be followed to ensure that TCAM is utilized as efficiently as possible for the following purposes:
Note Unlike F and TF port-channels, the ACLTCAM programming on ISLs will be the same quantity regardless if the ISLs are part of a port-channel or not. If there are "n" ISLs between two MDS switches, then it doesn't matter if they are in one port-channel, two port-channels or just individual links. The ACLTCAM programming will be the same.
-
Distribute port-channel member interfaces into different forwarding engines, especially on fabric switches.
-
Distribute member interfaces into different linecards on director-class switches.
-
Distribute member interfaces into forwarding engines with lower TCAM zoning region usage.
-
Use single-initiator zones, single-target zones, or Smart Zoning.