概要
このドキュメントでは、Nexus 5000 シリーズ スイッチ上の Cisco Fabric Services (CFS)ロックのトラブルシューティング方法について説明します。
背景説明
CFS は、ファブリック内で自動的に設定を同期化するための、共通のインフラストラクチャを提供します。CFS は、転送機能と、さまざまな共通サービスをアプリケーションに提供します。CFS は、ファブリック内の CFS 対応スイッチだけでなく、そのアプリケーションの機能を検出できます。DFS を使用して同期させることができる Nexus 5000 スイッチ上のアプリケーションの一部は、次のとおりです。
- arp
- callhome
- device-alias
- dhcp_snoop
- dpvm
- eth_port_sec
- fc-port-security
- fcdomain
- fctimer
- fscm
- fwm
- icmpv6
- igmp
- mcectest
- msp
- ntp
- rscn
- session-mgr
- stp
- syslogd
- tapp
- vem_mgr
- vim
- vms
- vpc
CFS のインフラストラクチャを使用するアプリケーションを設定する場合、この機能は CFS セッションを開始し、ファブリックをロックします。ファブリックがロックされると、Nexus ソフトウェアはロックを保持しているスイッチ以外のスイッチからのいかなる設定変更も許可しません。Nexus ソフトウェアは、「Operation failed.Fabric is already locked」というエラー メッセージも発行します。
ファブリックのロックが必要な CFS セッションを開始した後に、セッションが終了されなかった場合、管理者はセッションをクリアできます。ファブリックをロックしたユーザの名前は、再起動およびスイッチオーバーを行っても保持されます。(同じマシン上の)別のユーザが設定作業を実行しようとすると、そのユーザの試行は拒否され、「session currently owned by a different user」エラー メッセージが表示されます。
問題
ユーザは、CFS ロックがかかっている、該当するアプリケーションの設定に関連するいずれの変更も行うことができません。または、session-mgr に対して CFS がロックされている場合、In-Service Software Upgrade (ISSU)を実行できません。
次のリストは、CFS ロックによって引き起こされる一般的なエラー メッセージの一部を示しています。
- Operation failed.Fabric is already locked
- Session currently owned by a different user
- Service "cfs" returned error:Operation failed.Fabric is already locked (0x40B30029)
解決方法
CFS ロックを解放するには、次の 2 とおりの方法があります。
- Enter the clear <application> session コマンドを入力します。
- アプリケーションの SAP-ID を特定し、隠しコマンド cfs internal unlock <sap-id> を使用してアプリケーションのファブリックをアンロックします。SAP-ID とは、プロセスごとに一意に割り当てられた数値 ID です。
この手順には、次の両方の方法が含まれています。
- CSF がロックされているかどうかを検証し、影響を受けるアプリケーションを特定します。
次の出力例は、CFS が現在、仮想ポート チャネル(VPC)に対してロックされていることを示します。
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.
また、show cfs application コマンドを入力すると、現在 CFS を使用しているアプリケーションが表示されます。
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 ロックを解除します。次の手順に含まれる 2 つの方法のいずれかを選択します。
方法 1:clear <application> session コマンドを入力してロックを解除します。
この例では、NTP アプリケーションの CFS ロックが解除されています。
cisco-N5k#clear ntp session
注:このコマンドは、すべてのアプリケーションには該当しません。たとえば、Address Resolution Protocol (ARP)、Forwarding Manager (FWM)、Spanning Tree Protocol (STP)、VPC、Internet Group Management Protocol (IGMP)、および Internet Control Message Protocol (ICMP6)などの、「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 に関して、次のような既知のソフトウェアの欠陥がいくつか存在します。