소개
이 문서에서는 Nexus 5000 Series 스위치의 CFS(Cisco Fabric Services) 잠금을 해결하는 방법에 대해 설명합니다.
배경 정보
CFS는 패브릭에서 자동 컨피그레이션 동기화를 위한 공통 인프라를 제공합니다.또한 전송 기능과 애플리케이션에 다양한 공통 서비스를 제공합니다.CFS는 패브릭에서 CFS 지원 스위치와 애플리케이션 기능을 검색할 수 있습니다.Nexus 5000 스위치에서 CFS를 사용하여 동기화할 수 있는 애플리케이션 중 일부는 다음과 같습니다.
- arp
- 콜 홈
- 디바이스 별칭
- dhcp_snoop
- dvm
- eth_port_sec
- fc-port-security
- fcdomain
- fctimer
- fscm
- fwm
- icmpv6
- igmp
- 검사
- msp
- ntp
- rscn
- 세션 관리자
- stp
- syslogd
- 앱
- vm_mgr
- 영상
- vm
- vpc
CFS 인프라를 사용하는 애플리케이션을 구성할 때 이 기능은 CFS 세션을 시작하고 패브릭을 잠급니다.패브릭이 잠겨 있으면 Nexus 소프트웨어는 잠금을 보유한 스위치 이외의 스위치에서 어떤 컨피그레이션 변경도 허용하지 않습니다.Nexus 소프트웨어에서는 "Operation failed(작업 실패)"라는 오류 메시지도 발행합니다.패브릭이 이미 잠겨 있습니다."
패브릭 잠금이 필요하지만 세션을 종료하지 않는 CFS 세션을 시작하면 관리자가 세션을 지울 수 있습니다.언제든지 패브릭을 잠글 경우 사용자 이름은 재시작 및 전환 전반에 걸쳐 기억됩니다.동일한 시스템의 다른 사용자가 구성 작업을 수행하려고 하면 해당 사용자의 시도가 거부되고 "다른 사용자가 현재 소유한 세션" 오류 메시지가 나타납니다.
문제
CFS가 session-mgr에 대해 잠겨 있는 경우 사용자는 해당 애플리케이션에 대한 컨피그레이션 관련 변경을 수행할 수 없습니다. 이 경우 CFS 잠금이 중단되거나 ISSU(In-Service Software Upgrade)를 수행할 수 없습니다.
이 목록에는 CFS 잠금으로 인해 발생하는 몇 가지 일반적인 오류 메시지가 표시됩니다.
- 작업이 실패했습니다.패브릭이 이미 잠겨 있습니다.
- 현재 다른 사용자가 소유한 세션
- 서비스 "cfs"에서 오류를 반환했습니다.작업이 실패했습니다.패브릭이 이미 잠겨 있습니다(0x40B30029).
솔루션
CFS 잠금을 지우려면 두 가지 방법을 사용할 수 있습니다.
- clear <application> session 명령을 입력합니다.
- 숨겨진 명령 cfs internal unlock <sap-id>를 사용하여 애플리케이션 SAP-ID를 식별하고 애플리케이션의 패브릭을 잠금 해제합니다.SAP-ID는 각 프로세스에 대해 고유하게 할당된 숫자 ID입니다.
이 절차에는 두 가지 방법이 모두 포함됩니다.
- CFS가 잠겨 있는지 확인하고 영향을 받는 애플리케이션을 식별합니다.
다음 예제 출력에서는 CFS가 현재 VPC(Virtual Port Channel)에 대해 잠겨 있음을 보여 줍니다.
cisco-N5k# show cfs lock
Application: vpc
Scope : Physical-eth
--------------------------------------------------------------
Switch WWN IP Address User Name User Type
--------------------------------------------------------------
20:00:00:2a:6a:6d:03:c0 0.0.0.0 CLI/SNMP v3
Total number of entries = 1
Cisco-N5k# show cfs lock name vpc
Scope : Physical-eth
--------------------------------------------------------------
Switch WWN IP Address User Name User Type
--------------------------------------------------------------
20:00:00:2a:6a:6d:03:c0 0.0.0.0 CLI/SNMP v3
Total number of entries = 1
cisco-N5k#
cisco-N5k# show system internal csm info trace
Thu Feb 19 13:20:40.856718 csm_get_locked_ssn_ctxt[515]: Lock not yet taken.
Thu Feb 19 11:21:11.106929 Unlocking DB, Lock Owner Details:Client:2 ID:-1
Thu Feb 19 11:21:11.104247 DB Lock Successful by Client:2 ID:-1
Mon Feb 16 20:45:16.320494 csm_get_locked_ssn_ctxt[515]: Lock not yet taken.
Mon Feb 16 20:45:14.223875 csm_get_locked_ssn_ctxt[515]: Lock not yet taken.
Mon Feb 16 20:44:59.40095 csm_get_locked_ssn_ctxt[515]: Lock not yet taken.
현재 CFS를 사용하는 애플리케이션을 보려면 show cfs application 명령을 입력할 수도 있습니다.
cisco-N5k# show cfs application
----------------------------------------------
Application Enabled Scope
----------------------------------------------
arp Yes Physical-eth
fwm Yes Physical-eth
ntp No Physical-fc-ip
stp Yes Physical-eth
vpc Yes Physical-eth
fscm Yes Physical-fc
igmp Yes Physical-eth
role No Physical-fc-ip
rscn No Logical
icmpv6 Yes Physical-eth
radius No Physical-fc-ip
fctimer No Physical-fc
syslogd No Physical-fc-ip
fcdomain No Logical
session-mgr Yes Physical-ip
device-alias Yes Physical-fc
Total number of entries = 16
- CFS 잠금을 지웁니다.이 단계에서 제공되는 두 가지 방법 중 하나를 선택합니다.
방법 1:잠금을 지우려면 clear <application> session 명령을 입력합니다.
다음 예에서는 NTP 애플리케이션에 대한 CFS 잠금이 지워집니다.
cisco-N5k#clear ntp session
참고:이 명령은 일부 응용 프로그램에는 적용되지 않습니다.예를 들어, ARP(Address Resolution Protocol), FWM(Forwarding Manager), STP(Spanning Tree Protocol), VPC, IGMP(Internet Group Management Protocol), ICMP6(Internet Control Message Protocol)와 같은 "Physical-eth" 범위에 속하는 애플리케이션입니다. 세션 잠금을 해제하려면 방법 2에서 숨겨진 명령을 사용해야 합니다.
방법 2:애플리케이션 sap-id를 식별하고 숨겨진 명령 cfs internal unlock <sap-id>로 패브릭의 잠금을 해제합니다.
cisco-N5k# show system internal sysmgr service all
Name UUID PID SAP state Start count Tag Plugin ID
---------------- ------- ---- ----- ----- ---------- ----- ---------
aaa 0x000000B5 3221 111 s0009 1 N/A 0
cert_enroll 0x0000012B 3220 169 s0009 1 N/A 0
Flexlink 0x00000434 [NA] [NA] s0075 None N/A 0
psshelper_gsvc 0x0000021A 3159 398 s0009 1 N/A 0
radius 0x000000B7 3380 113 s0009 1 N/A 0
securityd 0x0000002A 3219 55 s0009 1 N/A 0
tacacs 0x000000B6 [NA] [NA] s0075 None N/A 0
eigrp 0x41000130 [NA] [NA] s0075 None N/A 0
isis_fabricpath0x41000243 3876 436 s0009 1 N/A 0
vpc 0x00000251 3900 450 s0009 1 N/A 0 < <
vsan 0x00000029 3817 15 s0009 1 N/A 2
vshd 0x00000028 3149 37 s0009 1 N/A 0
vtp 0x00000281 3902 478 s0009 1 N/A 0
다음 예에서는 출력의 sap-id를 식별하고 패브릭을 잠금 해제합니다.
cisco-N5k# cfs internal unlock 450
Application Unlocked
cisco-N5k#
참고:cfs internal unlock 명령은 CFS의 잠금을 해제하는 데 사용되는 숨겨진 Nexus OS 명령이며 프로덕션에서 실행할 수 있습니다.
- 솔루션을 검증하려면 다음 show 명령을 실행합니다.
cisco-N5k# show cfs lock name vpc
cisco-N5k#
cisco-N5k# show cfs internal session-history name vpc
--------------------------------------------------------
Time Stamp Source WWN Event
User Name Session ID
---------------------------------------------------------
Tue May 26 23:35:51 2015 20:00:00:05:73:d0:c0:00 LOCK_OBTAINED
admin 147513262
Tue May 26 23:53:52 2015 20:00:00:05:73:d0:c0:00 LOCK_CLEAR
admin 147513262
---------------------------------------------------------
알려진 문제
다음은 CFS와 관련된 알려진 소프트웨어 결함의 일부입니다.
- Cisco 버그 ID CSCtj40756 - ISSU 실패 -"cfs"에서 오류를 반환했습니다.패브릭이 이미 잠겼습니다(0x40B30029).
- Cisco 버그 ID CSCue03528 - 세션 데이터베이스/구성 동기화/CFS가 커밋 없이 한 쪽에서 잠겼습니다.