简介
本文档介绍排除FabricPath故障的基本步骤。
先决条件
要求
Cisco NXOS®建议您了解以下主题:
- 交换矩阵路径
- 中间系统到中间系统(IS-IS)
- 生成树协议 (STP)
- 嵌入式逻辑分析器模块(ELAM)
使用的组件
本文档仅限于Nexus 7000等特定硬件。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
背景信息
FabricPath是一项思科技术,旨在增强以太网网络功能,特别是在大规模数据中心环境中。
以下是Cisco Nexus 7000系列上FabricPath的主要功能和优势:
-
可扩展性:FabricPath旨在支持大量虚拟端口通道(vPC),并提供可处理大量主机的高度可扩展的第2层网络,而不受通常与生成树协议(STP)相关的限制。
-
无环路拓扑:FabricPath消除了FabricPath网络域中的STP需求。这通过使用类似于路由的技术来转发以太网帧(称为多链路透明互联(TRILL))来实现,该技术可防止环路并允许所有路径处于活动状态。
-
高可用性:使用FabricPath,可以更高效地处理网络拓扑更改,从而缩短融合时间。这增强了整体网络稳定性,并提供了更好的网络可用性。
-
易于使用:该技术可实现灵活且可扩展的第2层架构,从而简化网络设计。这使网络更易于管理并降低运营复杂性。
-
等价多路径(ECMP):FabricPath支持ECMP,可在网络中的任意两点之间使用多个并行路径。这可通过在所有可用路径之间均衡流量来优化带宽利用率。
-
虚拟化支持:FabricPath为虚拟化数据中心和私有云部署提供理想的基础设施。它能够处理大量虚拟环境,因此非常适合这些类型的应用。
另外需要注意的是,虽然FabricPath提供了许多好处,但最适合其特定优势与网络设计目标一致的环境(例如需要大型、动态且可扩展的第2层域的数据中心)。
拓扑
为简单起见,此拓扑中只显示一个主干和两个枝叶。
模拟交换机ID枝叶A:3101
模拟交换机ID枝叶
D:3102
故障排除
Host 1无法与Host 2通信。
Leaf_A# ping 192.168.10.17
PING 192.168.10.17 (192.168.10.17): 56 data bytes
ping: sendto 192.168.10.17 64 chars, No route to host
Request 0 timed out
ping: sendto 192.168.10.17 64 chars, No route to host
^C
--- 192.168.10.17 ping statistics ---
2 packets transmitted, 0 packets received, 100.00% packet loss
Leaf_A#
1)验证两台主机的MAC地址表是否已正确填充。
Leaf_A# show mac address-table vlan 409
Note: MAC table entries displayed are getting read from software.
Use the 'hardware-age' keyword to get information related to 'Age'
Legend:
* - primary entry, G - Gateway MAC, (R) - Routed MAC, O - Overlay MAC
age - seconds since last seen,+ - primary entry using vPC Peer-Link,
(T) - True, (F) - False , ~~~ - use 'hardware-age' keyword to retrieve age info
VLAN MAC Address Type age Secure NTFY Ports/SWID.SSID.LID
---------+-----------------+--------+---------+------+----+------------------
* 409 aaaa.aaaa.aaaa dynamic ~~~ F F Po3
<------ Leaf A is not learning the mac address of Host 2
Leaf_A#
Leaf_D# show mac address-table vlan 409
Note: MAC table entries displayed are getting read from software.
Use the 'hardware-age' keyword to get information related to 'Age'
Legend:
* - primary entry, G - Gateway MAC, (R) - Routed MAC, O - Overlay MAC
age - seconds since last seen,+ - primary entry using vPC Peer-Link,
(T) - True, (F) - False , ~~~ - use 'hardware-age' keyword to retrieve age info
VLAN MAC Address Type age Secure NTFY Ports/SWID.SSID.LID
---------+-----------------+--------+---------+------+----+------------------
* 409 bbbb.bbbb.bbbb dynamic ~~~ F F Po4
409 aaaa.aaaa.aaaa dynamic ~~~ F F 3101.1.65535 <------ Leaf D is correctly learning both Mac Addresses.
Leaf_D#
2)检验路径中涉及的每个接口和vlan的配置。必须启用FabricPath。
Leaf_A# show run fabricpath
!Command: show running-config fabricpath
!Time: Mon Apr 22 23:12:40 2024
version 6.2(12)
install feature-set fabricpath
feature-set fabricpath
vlan 409
mode fabricpath
fabricpath domain default
fabricpath switch-id 301
vpc domain 301
fabricpath switch-id 3101
interface port-channel1
switchport mode fabricpath
interface port-channel2
switchport mode fabricpath
interface Ethernet1/1
switchport mode fabricpath
interface Ethernet1/2
switchport mode fabricpath
Leaf_A#
Leaf_D# show run fabricpath
!Command: show running-config fabricpath
!Time: Mon Apr 22 23:12:40 2024
version 6.2(12)
install feature-set fabricpath
feature-set fabricpath
<--------- FabricPath is not enabled for VLAN 409
fabricpath switch-id 101
vpc domain 302
fabricpath switch-id 3102
interface port-channel1
switchport mode fabricpath
interface port-channel2
switchport mode fabricpath
interface Ethernet1/1
switchport mode fabricpath
interface Ethernet1/2
switchport mode fabricpath
Leaf_D#
Leaf_D#
Spine_A# show run fabricpath
!Command: show running-config fabricpath
!Time: Mon Apr 22 23:12:40 2024
version 6.2(12)
install feature-set fabricpath
feature-set fabricpath
vlan 409
mode fabricpath
fabricpath domain default
fabricpath switch-id 31
vpc domain 101
fabricpath switch-id 1003
interface port-channel1
switchport mode fabricpath
interface port-channel2
switchport mode fabricpath
interface Ethernet1/1
switchport mode fabricpath
interface Ethernet1/2
switchport mode fabricpath
interface Ethernet1/3
switchport mode fabricpath
interface Ethernet1/4
switchport mode fabricpath
Spine_A#
3)验证参与FabricPath的每个设备的交换机ID。
Leaf_A# show fabricpath switch-id local
Switch-Id: 301
System-Id: aaaa.aaaa.b341
Leaf_A#
Leaf_D# show fabricpath switch-id local
Switch-Id: 101
System-Id: bbbb.bbbb.b342
Leaf_D#
Spine_A# show fabricpath switch-id local
Switch-Id: 31
System-Id: cccc.cccc.b343
Spine_A#
4)检验是否为每台设备的交换机ID配置了正确的路由。
Leaf_A# show fabricpath route switchid 101
FabricPath Unicast Route Table
'a/b/c' denotes ftag/switch-id/subswitch-id
'[x/y]' denotes [admin distance/metric]
ftag 0 is local ftag
subswitch-id 0 is default subswitch-id
FabricPath Unicast Route Table for Topology-Default
1/101/0, number of next-hops: 1
via Po1, [115/5], 1 day/s 12:21:29, isis_fabricpath-default <------ The route from Leaf A to Leaf D is correctly configured.
Leaf_A
Leaf_D# show fabricpath route switchid 301
FabricPath Unicast Route Table
'a/b/c' denotes ftag/switch-id/subswitch-id
'[x/y]' denotes [admin distance/metric]
ftag 0 is local ftag
subswitch-id 0 is default subswitch-id
FabricPath Unicast Route Table for Topology-Default
1/301/0, number of next-hops: 1
via Po2, [115/5], 1 day/s 12:21:29, isis_fabricpath-default <------ The route from Leaf D to Leaf A is correctly configured.
Leaf_D
Spine_A# show fabricpath route switchid 301
FabricPath Unicast Route Table
'a/b/c' denotes ftag/switch-id/subswitch-id
'[x/y]' denotes [admin distance/metric]
ftag 0 is local ftag
subswitch-id 0 is default subswitch-id
FabricPath Unicast Route Table for Topology-Default
1/301/0, number of next-hops: 1
via Po1, [115/20], 1 day/s 06:13:21, isis_fabricpath-default <------ The route from Spine A to Leaf A is correctly configured.
Spine_A#
Spine_A# show fabricpath route switchid 101
FabricPath Unicast Route Table
'a/b/c' denotes ftag/switch-id/subswitch-id
'[x/y]' denotes [admin distance/metric]
ftag 0 is local ftag
subswitch-id 0 is default subswitch-id
FabricPath Unicast Route Table for Topology-Default
1/101/0, number of next-hops: 1
via Po2, [115/20], 1 day/s 06:13:21, isis_fabricpath-default <------ The route from Spine A to Leaf D is correctly configured.
Spine_A#
5)验证枝叶和主干之间的IS-IS邻接关系。
Leaf_A# show fabricpath isis adjacency
Fabricpath IS-IS domain: default Fabricpath IS-IS adjacency database:
System ID SNPA Level State Hold Time Interface
cccc.cccc.b343 N/A 1 UP 00:00:27 port-channel1
Leaf_A#
Leaf_D# show fabricpath isis adjacency
Fabricpath IS-IS domain: default Fabricpath IS-IS adjacency database:
System ID SNPA Level State Hold Time Interface
cccc.cccc.b343 N/A 1 UP 00:00:27 port-channel2
Leaf_D#
6)验证当前部署中不存在冲突。
Leaf_A# show fabricpath conflict all
No Fabricpath ports in a state of resource conflict.
No Switch id Conflicts
No transitions in progress
Leaf_A#
Leaf_D# show fabricpath conflict all
No Fabricpath ports in a state of resource conflict.
No Switch id Conflicts
No transitions in progress
Leaf_D#
Spine_A# show fabricpath conflict all
No Fabricpath ports in a state of resource conflict.
No Switch id Conflicts
No transitions in progress
Spine_A#
7)验证是否已将VLAN添加到IS-IS VLAN范围。
Leaf_A# show fabricpath isis vlan-range
Fabricpath IS-IS domain: default
MT-0
Vlans configured:1,409
Leaf_A#
Leaf_D# show fabricpath isis vlan-range
Fabricpath IS-IS domain: default
MT-0
Vlans configured:1 <------ VLAN 409 is not present
Leaf_D
Spine_A# show fabricpath isis vlan-range
Fabricpath IS-IS domain: default
MT-0
Vlans configured:1, 409
Spine_A#
8)验证主干A中是否触发了ELAM。
module-1# show hardware internal dev-port-map <------ Determine the F4 ASIC that is used for the FE on port Eth1/2. Enter this command in order to verify this.
--------------------------------------------------------------
CARD_TYPE: 48 port 10G
>Front Panel ports:48
--------------------------------------------------------------
Device name Dev role Abbr num_inst:
--------------------------------------------------------------
> Flanker Eth Mac Driver DEV_ETHERNET_MAC MAC_0 6
> Flanker Fwd Driver DEV_LAYER_2_LOOKUP L2LKP 6
> Flanker Xbar Driver DEV_XBAR_INTF XBAR_INTF 6
> Flanker Queue Driver DEV_QUEUEING QUEUE 6
> Sacramento Xbar ASIC DEV_SWITCH_FABRIC SWICHF 2
> Flanker L3 Driver DEV_LAYER_3_LOOKUP L3LKP 6
> EDC DEV_PHY PHYS 7
+-----------------------------------------------------------------------+
+----------------+++FRONT PANEL PORT TO ASIC INSTANCE MAP+++------------+
+-----------------------------------------------------------------------+
FP port | PHYS | MAC_0 | L2LKP | L3LKP | QUEUE |SWICHF
1 0 0 0 0 0 0,1
2 0 0 0 0 0 0,1
...
module-1#
module-1#
module-1# elam asic flanker instance 0
module-1(fln-elam)#
module-1(fln-elam)# elam asic flanker instance 0
module-1(fln-elam)# layer3
module-1(fln-l2-elam)#
module-1(fln-l2-elam)# trigger dbus ipv4 ingress if source-ipv4-address 192.168.10.17
module-1(fln-l2-elam)#
module-1(fln-l2-elam)# trigger rbus ingress if trig
module-1(fln-l2-elam)# start
module-1(fln-l2-elam)#
module-1(fln-l2-elam)#
module-1(fln-l2-elam)# status
ELAM Slot 1 instance 0: L2 DBUS Configuration: trigger dbus ipv4 ingress if source-ipv4-address 192.168.10.17
L2 DBUS: Armed
ELAM Slot 1 instance 0: L2 RBUS Configuration: trigger rbus ingress if trig
L2 RBUS: Armed
module-1(fln-l2-elam)# status
ELAM Slot 1 instance 0: L2 DBUS Configuration: trigger dbus ipv4 ingress if source-ipv4-address 192.168.10.17
L2 DBUS: Armed
ELAM Slot 1 instance 0: L2 RBUS Configuration: trigger rbus ingress if trig
L2 RBUS: Armed <------ ELAM is not triggered.
module-1(fln-l2-elam)#
9)将VLAN 409添加到FabricPath。
Leaf_D(config)# vlan 409
Leaf_D(config-vlan)# mode fabricpath
Leaf_D(config-vlan)# show run vlan
!Command: show running-config vlan
!Time: Wed Apr 24 20:27:29 2024
version 6.2(12)
vlan 1,409
vlan 409
mode fabricpath
Leaf_D(config-vlan)#
验证
1)检验mac地址表。
Leaf_A# show mac address-table vlan 409
Note: MAC table entries displayed are getting read from software.
Use the 'hardware-age' keyword to get information related to 'Age'
Legend:
* - primary entry, G - Gateway MAC, (R) - Routed MAC, O - Overlay MAC
age - seconds since last seen,+ - primary entry using vPC Peer-Link,
(T) - True, (F) - False , ~~~ - use 'hardware-age' keyword to retrieve age info
VLAN MAC Address Type age Secure NTFY Ports/SWID.SSID.LID
---------+-----------------+--------+---------+------+----+------------------
* 409 aaaa.aaaa.aaaa dynamic ~~~ F F Po3
409 bbbb.bbbb.bbbb dynamic ~~~ F F 3102.1.65535
Leaf_A#
Leaf_D# show mac address-table vlan 409
Note: MAC table entries displayed are getting read from software.
Use the 'hardware-age' keyword to get information related to 'Age'
Legend:
* - primary entry, G - Gateway MAC, (R) - Routed MAC, O - Overlay MAC
age - seconds since last seen,+ - primary entry using vPC Peer-Link,
(T) - True, (F) - False , ~~~ - use 'hardware-age' keyword to retrieve age info
VLAN MAC Address Type age Secure NTFY Ports/SWID.SSID.LID
---------+-----------------+--------+---------+------+----+------------------
* 409 bbbb.bbbb.bbbb dynamic ~~~ F F Po4
409 aaaa.aaaa.aaaa dynamic ~~~ F F 3101.1.65535
Leaf_D#
2)
验证主干A中是否触发了ELAM。
module-1# elam asic flanker instance 0
module-1(fln-elam)#
module-1(fln-elam)# elam asic flanker instance 0
module-1(fln-elam)# layer2
module-1(fln-l2-elam)#
module-1(fln-l2-elam)# trigger dbus ipv4 ingress if source-ipv4-address 192.168.10.17
module-1(fln-l2-elam)#
module-1(fln-l2-elam)# trigger rbus ingress if trig
module-1(fln-l2-elam)# start
module-1(fln-l2-elam)#
module-1(fln-l2-elam)# status
ELAM Slot 1 instance 0: L2 DBUS Configuration: trigger dbus ipv4 ingress if source-ipv4-address 192.168.10.17
L2 DBUS: Armed
ELAM Slot 1 instance 0: L2 RBUS Configuration: trigger rbus ingress if trig
L2 RBUS: Armed
module-1(fln-l2-elam)# status
ELAM Slot 1 instance 0: L2 DBUS Configuration: trigger dbus ipv4 ingress if source-ipv4-address 192.168.10.17
L2 DBUS: Triggered <-------- ELAM triggered
ELAM Slot 1 instance 0: L2 RBUS Configuration: trigger rbus ingress if trig
L2 RBUS: Triggered <-------- ELAM triggered
module-1(fln-l2-elam)#
3)验证从枝叶A到主机A的连接。
Leaf_A# ping 192.168.10.17
PING 192.168.10.17 (192.168.10.17): 56 data bytes
64 bytes from 192.168.10.17: icmp_seq=0 ttl=254 time=1.703 ms
64 bytes from 192.168.10.17: icmp_seq=1 ttl=254 time=1.235 ms
64 bytes from 192.168.10.17: icmp_seq=2 ttl=254 time=1.197 ms
64 bytes from 192.168.10.17: icmp_seq=3 ttl=254 time=3.442 ms
64 bytes from 192.168.10.17: icmp_seq=4 ttl=254 time=1.331 ms
--- 192.168.10.17 ping statistics ---
5 packets transmitted, 5 packets received, 0.00% packet loss
round-trip min/avg/max = 1.197/1.781/3.442 ms
Leaf_A#
相关信息
思科FabricPath
Cisco Nexus 7000系列NX-OS FabricPath命令参考
Nexus 7000 M3模块ELAM流程