- Unified Fabric Overview
- Enabling Technologies
- N-Port Virtualization
- Nexus 5x00 Unified Fabric Configuration
- Nexus 7000 Unified Fabric Configuration
- Summary
Nexus 7000 Unified Fabric Configuration
The Nexus 7000 provides director class support for FCoE solutions and can be used in both core and edge topologies. The platforms provides the high-availability features and capabilities such as redundant supervisors, redundant hardware components, and the inherent availability components of NX-OS, such as Storage VDCs. In-Service Software Upgrade (ISSU), Stateful Switch Over (SSO) and stateful process restart make for a solid foundation.
FCoE on the Nexus 7000 is available on the F1 (N7K-F132XP-15) and F2/F2e (N7K-F248XP-25) modules. When using FCoE on the F2/F2e module, a Supervisor 2 or Supervisor 2E must be used. FCoE on F2/F2e cannot work with a Supervisor 1 module. FCoE is also a licensed feature, and the license is bound to a module, so if FCoE will be used across multiple modules in a chassis, there must be an FCoE license installed per module.
With these requirements met, FCoE can be installed on the Nexus 7000. FCoE installation requires the system QoS policy is configured to a template that provides a no-drop class. This is configured in either the default VDC or the admin VDC if running NX_OS 6.1(1) or later. The default QoS policy uses eight drop classes and is named default-np-8e-policy. Example 8-12 shows the QoS classes available to be selected and shows the change to a single no-drop class. This policy matches FCoE traffic in CoS 3 and provides a lossless Ethernet transport (no drop).
Example 8-12. Setting the System QoS Policy
N7K-1# config Enter configuration commands, one per line. End with CNTL/Z. N7K-1(config)# system qos N7K-1(config-sys-qos)# service-policy type network-qos ? default-nq-4e-policy Default 4-ethernet policy (4-drop 4-nodrop CoS) default-nq-6e-policy Default 6-ethernet policy (6-drop 2-nodrop CoS) default-nq-7e-policy Default 7-ethernet policy (7-drop 1-nodrop CoS) default-nq-8e-policy Default 8-ethernet policy (8-drop CoS) N7K-1(config-sys-qos)# service-policy type network-qos default-nq-7e-policy N7K-1(config-sys-qos)# end N7K-1# show policy-map system type network-qos Type network-qos policy-maps ============================ policy-map type network-qos default-nq-7e-policy class type network-qos c-nq-7e-drop match cos 0-2,4-7 congestion-control tail-drop mtu 1500 class type network-qos c-nq-7e-ndrop-fcoe match cos 3 match protocol fcoe pause mtu 2112 N7K-1#
With the QoS policy mapped to a no-drop policy, the next step is to install the FCoE feature set and configure a Storage VDC. This enables FCoE across the entire chassis and then creates a VDC to be used for storage functions. Example 8-13 describes this process.
Example 8-13. Installing FCoE Feature Set and Creating a Storage VDC
N7K-1# config Enter configuration commands, one per line. End with CNTL/Z. N7K-1(config)# install feature-set fcoe N7K-1(config)# vdc FCoE type storage Note: Creating VDC, one moment please ... N7K-1(config-vdc)# show vdc vdc_id vdc_name state mac type lc ------- -------- ----- --- ---- -- 1 N7K-1 active 00:26:98:0f:d9:c1 Admin None 2 Agg1 active 00:26:98:0f:d9:c2 Ethernet f2 3 Core1 active 00:26:98:0f:d9:c3 Ethernet m1 f1 m1xl m2xl 4 Access1 active 00:26:98:0f:d9:c4 Ethernet m1 f1 m1xl m2xl 5 FCoE active 00:26:98:0f:d9:c5 Storage f1 f2 N7K-1(config-vdc)# show vdc FCoE detail vdc id: 5 vdc name: FCoE vdc state: active vdc mac address: 00:26:98:0f:d9:c5 vdc ha policy: RESTART vdc dual-sup ha policy: SWITCHOVER vdc boot Order: 1 CPU Share: 5 CPU Share Percentage: 16% vdc create time: Tue Jul 31 00:15:39 2012 vdc reload count: 0 vdc restart count: 0 vdc type: Storage vdc supported linecards: f1 f2 N7K-1(config-vdc)#
The next step is to configure the storage VDC by allocating ports from modules, allocating a range of VLANs for use with FCoE, and then setting up the VDC for FCoE usage. Because this VDC is new, the switch prompts for a few items such as system password strength, password, and to run the setup script. When completed, basic FCoE configuration can begin. Example 8-14 walks through this process.
Example 8-14. Allocation of Ports and Initial VDC Configuration
N7K-1# config Enter configuration commands, one per line. End with CNTL/Z. N7K-1(config)# vdc fcoe N7K-1(config-vdc)# allocate interface e6/17,e6/27,e6/29-32 Entire port-group is not present in the command. Missing ports will be included automatically Moving ports will cause all config associated to them in source vdc to be removed. Are you sure you want to move the ports (y/n)? [yes] yes N7K-1(config-vdc)# allocate fcoe-vlan-range 2000 from vdc Access1 N7K-1(config-vdc)# end N7K-1# N7K-1# switchto vdc fcoe ---- System Admin Account Setup ---- Do you want to enforce secure password standard (yes/no) [y]: n Enter the password for "admin": Confirm the password for "admin": ---- Basic System Configuration Dialog VDC: 5 ---- This setup utility will guide you through the basic configuration of the system. Setup configures only enough connectivity for management of the system. Please register Cisco Nexus7000 Family devices promptly with your supplier. Failure to register may affect response times for initial service calls. Nexus7000 devices must be registered to receive entitled support services. Press Enter at anytime to skip a dialog. Use ctrl-c at anytime to skip the remaining dialogs. Would you like to enter the basic configuration dialog (yes/no): no Cisco Nexus Operating System (NX-OS) Software TAC support: http://www.cisco.com/tac Copyright (c) 2002-2012, Cisco Systems, Inc. All rights reserved. The copyrights to certain works contained in this software are owned by other third parties and used and distributed under license. Certain components of this software are licensed under the GNU General Public License (GPL) version 2.0 or the GNU Lesser General Public License (LGPL) Version 2.1. A copy of each such license is available at http://www.opensource.org/licenses/gpl-2.0.php and http://www.opensource.org/licenses/lgpl-2.1.php N7K-1-FCoE# N7K-1-FCoE# config Enter configuration commands, one per line. End with CNTL/Z. N7K-1-FCoE(config)# feature-set fcoe N7K-1-FCoE(config)# feature npiv N7K-1-FCoE(config)# feature lldp N7K-1-FCoE(config)# vsan database N7K-1-FCoE(config-vsan-db)# vsan 2000 N7K-1-FCoE(config-vsan-db)# vlan 2000 N7K-1-FCoE(config-vlan)# fcoe N7K-1-FCoE(config-vlan)# end N7K-1-FCoE(config)# end N7K-1-FCoE# N7K-1-FCoE# show vlan fcoe Original VLAN ID Translated VSAN ID Association State ---------------- ------------------ ----------------- 2000 2000 Operational N7K-1-FCoE# N7K-1-FCoE(config)# end N7K-1-FCoE#
With the foundation for FCoE configured, the next step is to provision connectivity. Figure 8-13 shows the topology the following examples use.
Figure 8-13. FCoE Topology Between Nexus 7000 and MDS
The first step is to configure the Ethernet interfaces, add them to a port channel for additional bandwidth on the ISL and redundancy, and then configure the VFC, as shown in Example 8-15.
Example 8-15. Nexus 7000 to MDS Interconnection
N7K-1-FCoE# config Enter configuration commands, one per line. End with CNTL/Z. N7K-1-FCoE(config)# feature lacp N7K-1-FCoE(config)# int e6/29-32 N7K-1-FCoE(config-if-range)# channel-group 258 mode active N7K-1-FCoE(config-if-range)# int po258 N7K-1-FCoE(config-if)# desc Port Channel to MDS9506-1 N7K-1-FCoE(config-if)# switchport mode trunk N7K-1-FCoE(config-if)# switchport trunk allowed vlan 2000 N7K-1-FCoE(config-if)# no shut N7K-1-FCoE(config-if)# int vfc 101 N7K-1-FCoE(config-if)# switchport desc VE Port Channel to MDS9506-1 N7K-1-FCoE(config-if)# switch mode e N7K-1-FCoE(config-if)# switch trunk allowed vsan 2000 N7K-1-FCoE(config-if)# bind interface po258 N7K-1-FCoE(config-if)# no shut N7K-1-FCoE(config-if)# end N7K-1-FCoE# show int vfc101 vfc101 is trunking Bound interface is port-channel258 Port description is VE Port Channel to MDS9506-1 Hardware is Ethernet Port WWN is 20:64:00:26:98:0f:d9:bf Admin port mode is E, trunk mode is on snmp link state traps are enabled Port mode is TE Port vsan is 1 Speed is 40 Gbps Trunk vsans (admin allowed and active) (2000) Trunk vsans (up) (2000) Trunk vsans (isolated) () Trunk vsans (initializing) () 120677 fcoe in packets 13910628 fcoe in octets 120679 fcoe out packets 10352660 fcoe out octets Interface last changed at Tue Jul 31 01:21:17 2012 N7K-1-FCoE#
For reference, Example 8-16 shows the corresponding configuration on the MDS.
Example 8-16. MDS FCoE Configuration
MDS9506-1# show run int Eth3/5, Eth3/6, Eth4/5, Eth4/6 !Command: show running-config interface Ethernet3/5-6, Ethernet4/5-6 !Time: Tue Jul 31 01:30:57 2012 version 5.2(2a) interface Ethernet3/5 switchport mode trunk switchport trunk allowed vlan 2000 channel-group 258 mode active no shutdown interface Ethernet3/6 switchport mode trunk switchport trunk allowed vlan 2000 channel-group 258 mode active no shutdown interface Ethernet4/5 switchport mode trunk switchport trunk allowed vlan 2000 channel-group 258 mode active no shutdown interface Ethernet4/6 switchport mode trunk switchport trunk allowed vlan 2000 channel-group 258 mode active no shutdown MDS9506-1# MDS9506-1# show run int epo258 !Command: show running-config interface ethernet-port-channel258 !Time: Tue Jul 31 01:31:42 2012 version 5.2(2a) interface ethernet-port-channel258 switchport mode trunk switchport trunk allowed vlan 2000 Invalid interface format at '^' marker. MDS9506-1# show run int vfc101 !Command: show running-config interface vfc101 !Time: Tue Jul 31 01:31:52 2012 version 5.2(2a) interface vfc101 bind interface ethernet-port-channel258 switchport mode E switchport trunk allowed vsan 2000 no shutdown MDS9506-1# MDS9506-1# show int vfc101 vfc101 is trunking Bound interface is ethernet-port-channel258 Hardware is Ethernet Port WWN is 20:64:00:0d:ec:35:1e:ff Admin port mode is E, trunk mode is on snmp link state traps are enabled Port mode is TE Port vsan is 1 Speed is 40 Gbps Trunk vsans (admin allowed and active) (2000) Trunk vsans (up) (2000) Trunk vsans (isolated) () Trunk vsans (initializing) () 117696 fcoe in packets 10091312 fcoe in octets 117695 fcoe out packets 13575440 fcoe out octets Interface last changed at Tue Jul 31 01:17:09 2012 MDS9506-1#
FCoE on the Nexus 7000 also supports a unique capability that enables interfaces to be shared between two VDCs. This enables the Nexus 7000 to be used in the access layer of networks where servers connect to the switch and use FCoE. A shared interface enables FCoE traffic to be segmented into the Storage VDC at the edge of the network. When an interface is shared between two VDCs, a few rules must be followed:
- Interfaces can be shared only between one Ethernet VDC and one Storage VDC.
- Interfaces to be shared must be configured as 802.1Q trunks in the Ethernet VDC.
- Interfaces may be shared only from the Ethernet VDC that allocated VLANs to the Storage VDC.
- The Ethernet VDC “owns” the physical interface. If the interface is admin down in the Ethernet VDC, it will be admin down in the Storage VDC.
- All ports that have a common ASIC must be allocated as shared interfaces. This is done in groups of two on the F1 modules and groups of four on F2/F2e modules.
In Example 8-17, four ports are configured as trunks in the Ethernet VDC and then configured for shared interfaces in the Storage VDC.
Example 8-17. Nexus 7000 Shared Interface Allocation
N7K-1# config Enter configuration commands, one per line. End with CNTL/Z. N7K-1(config)# vdc fcoe N7K-1(config-vdc)# allocate shared interface e6/17 Entire port-group is not present in the command. Missing ports will be included automatically Ports that share the port group of the interfaces you have specified will be affected as well. Continue (y/n)? [yes] yes N7K-1(config-vdc)# end N7K-1# fcoe Cisco Nexus Operating System (NX-OS) Software TAC support: http://www.cisco.com/tac Copyright (c) 2002-2012, Cisco Systems, Inc. All rights reserved. The copyrights to certain works contained in this software are owned by other third parties and used and distributed under license. Certain components of this software are licensed under the GNU General Public License (GPL) version 2.0 or the GNU Lesser General Public License (LGPL) Version 2.1. A copy of each such license is available at http://www.opensource.org/licenses/gpl-2.0.php and http://www.opensource.org/licenses/lgpl-2.1.php N7K-1-FCoE# show int brief ------------------------------------------------------------------------------- Interface Status Speed (Gbps) ------------------------------------------------------------------------------- sup-fc0 up 1 -------------------------------------------------------------------------------- Ethernet VLAN Type Mode Status Reason Speed Por t Interface Ch # -------------------------------------------------------------------------------- Eth6/17 1 eth trunk down Administratively down auto(D) -- Eth6/18 1 eth trunk down Administratively down auto(D) -- Eth6/19 1 eth trunk down Administratively down auto(D) -- Eth6/20 1 eth trunk down Administratively down auto(D) -- Eth6/25 -- eth routed down Administratively down auto(D) -- Eth6/26 -- eth routed down Administratively down auto(D) -- Eth6/27 -- eth routed down Administratively down auto(D) -- Eth6/28 -- eth routed down SFP not inserted auto(D) -- Eth6/29 1 eth trunk up none 10G(D) 258 Eth6/30 1 eth trunk up none 10G(D) 258 N7K-1-FCoE#
The next step required is to create the VFC interface for the host and specify the shared interface as the binding. This is the same syntax used on the Nexus 5x00 earlier in the chapter. Example 8-18 shows the process for the topology shown in Figure 8-14.
Figure 8-14. FCoE Topology
Example 8-18. Nexus 7000 VFC Interface Creation
N7K-1-FCoE# config Enter configuration commands, one per line. End with CNTL/Z. N7K-1-FCoE(config)# int vfc617 N7K-1-FCoE(config-if)# bind interface ethernet 6/17 N7K-1-FCoE(config-if)# no shut N7K-1-FCoE(config-if)# end N7K-1-FCoE#
With the VFCs created and bound, VEs created to the MDS, and both storage and hosts connected to the fabric, the last step would be to configure zoning and device aliasing for the FC network. The Nexus switches can participate in zoning with a Fibre Channel network.
Example 8-19 shows a device-alias, zone and zoneset creation, and activation.
Example 8-19. Device alias, zone, and zoneset Creation and Activation
N7K-1-FCoE# config Enter configuration commands, one per line. End with CNTL/Z. N7K-1-FCoE(config)# device-alias mode enhanced N7K-1-FCoE(config)# device-alias database N7K-1-FCoE(config-device-alias-db)# device-alias name C210-ESX1 pwwn 20:00:e8:b7:48:4d:74:22 N7K-1-FCoE(config-device-alias-db)# device-alias name NetApp_FAS270 pwwn 50:0a:09:81:85:75:90:88 N7K-1-FCoE(config-device-alias-db)# device-alias commit N7K-1-FCoE(config-device-alias-db)# exit N7K-1-FCoE(config)# zone name NetappArray vsan 2000 N7K-1-FCoE(config-zone)# member device-alias NetApp_FAS270 N7K-1-FCoE(config-zone)# member device-alias C210-ESX1 N7K-1-FCoE(config-zone)# zone name C210-ESX1 vsan 2000 N7K-1-FCoE(config-zone)# member device-alias C210-ESX1 N7K-1-FCoE(config-zone)# zoneset name VSAN2000_ZS vsan 2000 N7K-1-FCoE(config-zoneset)# member NetappArray N7K-1-FCoE(config-zoneset)# member C210-ESX1 N7K-1-FCoE(config-zoneset)# exit N7K-1-FCoE(config)# zoneset activate name VSAN2000_ZS vsan 2000 N7K-1-FCoE(config)# end N7K-1-FCoE#