소개

이 문서에서는 Nexus 5000 스위치 로그에서 "FWM-2-STM_LOOP_DETECT" 오류 메시지를 해결하는 방법에 대해 설명합니다.

Nexus 5000 스위치에서 로그에 "FWM-2-STM_LOOP_DETECT" 메시지를 표시할 경우 어떻게 합니까?

%FWM-2-STM_LOOP_DETECT: Loops detected in the network among ports

Eth x/y and Eth x/y vlan xx -

Disabling dynamic learn notifications for 180 seconds

%FWM-2-STM_LEARNING_RE_ENABLE: Re enabling dynamic learning on all interfaces

이 메시지는 스위치가 이 두 인터페이스에서 동일한 소스 MAC 주소를 가진 프레임을 수신하며 스위치에서 이러한 인터페이스의 동일한 MAC 주소를 매우 빠른 속도로 학습함을 나타냅니다.스위치는 이를 루프로 탐지합니다.이 스위치는 컨트롤 플레인을 보호하기 위해 MAC 주소 학습을 비활성화합니다.이는 루프가 하나의 VLAN에서만 발생하더라도 모든 VLAN에 구현됩니다.

가능한 원인

- 잘못된 STP(Spanning Tree Protocol) 포트 상태 컨버전스로 인해 MAC 주소가 이동합니다.

- STP 상태가 통합되고 올바른 상태인 동안 데이터의 소스가 모든 스위치에서 물리적으로 이동되므로 MAC 주소가 이동합니다.

- MAC 주소는 서버 NIC(Network Interface Card)가 teaming/bonding용으로 구성되었지만 연결된 스위치 인터페이스가 구성되지 않은 경우 인터페이스 간에 이동할 수 있습니다.이 문제는 LACP(Link Aggregation Control Protocol)를 사용하여 양쪽 끝에서 인터페이스를 결합하거나 "active/standby" 모드에서 NIC를 사용하도록 서버 인터페이스를 구성하는 경우에에 발생할 수 있습니다.

루프가 어떻게 탐지됩니까?

FWM(Forwarding Manager)에는 MAC-move-back 수를 계산하고 MAC 주소가 이동하는 횟수를 기준으로 무게를 측정하는 메커니즘이 있습니다.전체 MAC 이동 횟수(모든 VLAN, MAC 및 인터페이스 전체의 스위치 전체)를 결정하고 %FWM-2-STM_LOOP_DETECT를 선언하며 루프형 조건에서 FWM을 보호하는 학습을 비활성화합니다.

임계값 수학:지정된 에이징 스캔 기간(스위치 전체 10초)에서 28,000개의 MAC 이동 백 카운트%FWM-2-STM_LOOP_DETECT로 선언되고 학습이 비활성화되었습니다.

메시지 예

2011 Jan 30 16:14:23 Nexus-5000 %FWM-2-STM_LOOP_DETECT:

Loops detected in the network among ports Eth119/1/13 and Po90 vlan 218 -

Disabling dynamic learn notifications for 180 seconds

2011 Jan 30 16:17:23 Nexus-5000 %FWM-2-STM_LEARNING_RE_ENABLE:

Re enabling dynamic learning on all interfaces

MAC-move 알림에 대한 논리를 명시해야 합니다.MAC-moves에 대한 MAC-address-table 알림이 활성화된 경우 MAC-moves를 알릴 수 있습니다.그러면 콘솔에 알림 로그가 추가되지만 아무 작업도 수행되지 않습니다.지정된 MAC 주소가 10초의 에이징 스캔 기간 내에 VLAN의 지정된 포트 쌍을 통해 앞뒤로 3번 이동했을 때 이동이 선언됩니다.

문제 해결

스위치에서 MAC 이동 알림을 활성화하여 어떤 MAC 주소가 이동하는지 확인할 수 있습니다.

Nexus-5000# conf t

Nexus-5000(config)# mac address-table notification mac-move

Nexus 5000 스위치에서는 MAC 이동 알림에 대한 syslog 메시지를 생성하기 위해 MAC 이동 알림을 활성화하는 것이 항상 충분하지 않습니다.

syslog 메시지를 생성하려면 이전 명령과 함께 이러한 명령을 입력합니다.

Nexus-5000# conf t

Nexus-5000(config)# Logging level spanning-tree 6

Nexus-5000(config)# Logging level fwm 6

Nexus-5000(config)# Logging monitor 6

이러한 명령을 추가하면 MAC 주소가 이동할 때 FWM용 syslog가 표시됩니다.

스위치에서 VLAN 간의 STP 포트 상태를 확인하려면 다음 명령을 입력합니다.

Nexus-5000# show spanning-tree

Nexus-5000# show spanning-tree vlan

Nexus-5000# show spanning-tree internal interaction

예

MAC 주소가 이동하는지 확인하려면 다음 명령을 입력합니다.

Nexus-5000# show mac address-table notification mac-move

MAC Move Notify Triggers: 1206

Number of MAC Addresses added: 944088

Number of MAC Addresses moved: 265

Number of MAC Addresses removed: 943920

MAC 주소 이동도 어떤 MAC 주소가 이동하는지 표시하는 데 필요한 최소 로깅 레벨 6으로 기록됩니다.

2012 Jun 12 16:05:31.564 Nexus-5000 %FWM-6-MAC_MOVE_NOTIFICATION:

Host 0000.0000.fe00 in vlan 85 is flapping between

port Eth104/1/8 and port Eth104/1/9

솔루션

- 지형의 모든 스위치에서 올바른 STP 컨버전스와 STP 포트 상태를 확인합니다.또한 분쟁이나 잘못된 포트 상태가 없는지 확인합니다.

- 물리적으로 이동하는 데이터 프레임의 소스가 식별되면 빠르고 연속적인 이동을 중지하기 위해 소스를 제어합니다.

- 기본적으로 동적 학습은 180초 후에 다시 활성화됩니다.이때 STP 분쟁이나 불일치를 해결해야 합니다.그렇지 않으면 동적 학습이 다시 비활성화됩니다.

Nexus 5000 스위치의 관련 개선 사항

Cisco 버그 ID CSCug28099 - Enh:Nexus 5000에서 루프 후 비활성화 포트에 대한 노브.

이전 코드의 현재 동작(pre - 6.0(2)N2(1))에 대해서는 여기에서 설명합니다.

루프 메시지(FWM-2-STM_LOOP_DETECT:포트 간에 네트워크에서 탐지된 루프(포트 <port_id> 및 <po_id> vlan >vlan_id> - 180초 동안 동적 학습 알림을 비활성화함)가 탐지됩니다. 루프 탐지 120초 후 모든 MAC 주소를 신속하게 타임아웃한 다음 전체 MAC 주소 테이블을 에이징하는 대신 다시 학습해야 합니다.이러한 동작으로 인해 120초 동안 새 MAC 주소를 학습하지 않지만 루프가 지속적으로 존재하면 모든 VLAN에서 MAC 주소를 빠르게 사용할 수 있으므로 네트워크에 큰 영향을 미칠 수 있습니다.

이러한 개선 사항은 루프가 탐지된 후 스위치가 해당 포트(루프가 탐지된 포트)를 종료하여 완전한 중단을 방지하기 위해 CLI 노브를 갖도록 합니다.

버전 6.0(2)N2(1) 이상에서 코드에 구현된 명령은 다음과 같습니다.

swo2-371(config)# mac address-table loop-detect ?

port-down  Take port-down action for mac loop detection

swo2-371(config)# mac address-table loop-detect port-down

swo2-371(config)# no mac address-table loop-detect port-down