目录

简介

背景信息

问题

解决方案

已知问题

简介

本文档介绍如何对Nexus 5000系列交换机上的思科交换矩阵服务(CFS)锁进行故障排除。

背景信息

CFS为交换矩阵中的自动配置同步提供通用基础设施。它为应用程序提供传输功能以及一组丰富的公共服务。CFS可以发现交换矩阵中支持CFS的交换机及其应用功能。在Nexus 5000交换机上，可以使用CFS同步的一些应用包括：

- arp

- callhome

- 设备别名

- 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

- vm

- vpc

当您配置使用CFS基础设施的应用时，该功能将启动CFS会话并锁定交换矩阵。交换矩阵锁定时，Nexus软件不允许交换机进行任何配置更改，但保持锁的交换机除外。Nexus软件还发出错误消息，指出“Operation failed（操作失败）”。交换矩阵已锁定”。

如果启动需要交换矩阵锁但忘记结束会话的CFS会话，管理员可以清除该会话。如果您随时锁定交换矩阵，则在重新启动和切换过程中会记住您的用户名。如果另一用户（位于同一台计算机上）尝试执行配置任务，则该用户的尝试将被拒绝，并显示“当前由另一用户拥有的会话”错误消息。

问题

用户无法对CFS锁定的对应应用程序进行任何与配置相关的更改，或者如果CFS锁定用于session-mgr，则无法执行服务中软件升级(ISSU)。

此列表显示由CFS锁引起的一些常见错误消息：

- 操作失败。交换矩阵已锁定

- 当前由其他用户拥有的会话

- 服务“cfs”返回错误：操作失败。交换矩阵已锁定(0x40B30029)

解决方案

有两种方法可用于清除CFS锁：

- 输入clear <application> session命令。

- 使用隐藏命令cfs internal unlock <sap-id>识别应用程序SAP-ID并解锁应用程序的交换矩阵。Sap-ID是每个进程的唯一分配的数字ID。

此过程包括两种方法：

1. 验证CFS是否已锁定，并确定受影响的应用。
此示例输出显示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

2. 清除CFS锁。选择此步骤中提供的两种方法之一：
方法 1：输入clear <application> session命令以清除锁。

本示例中清除NTP应用的CFS锁：

cisco-N5k#clear ntp session

注意：此命令不适用于所有应用。例如，属于“物理以太网”范围的应用，如地址解析协议(ARP)、转发管理器(FWM)、生成树协议(STP)、VPC、互联网组管理协议(IGMP)和互联网控制消息协议(ICMP6)。 必须在方法2中使用隐藏命令才能解锁会话。

方法 2：使用隐藏命令cfs internal unlock <sap-id>识别应用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命令，在生产中运行是安全的。

3. 发出以下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 Bug ID CSCtj40756 - ISSU failure - "cfs"返回错误：交换矩阵已锁定(0x40B30029)

- Cisco Bug ID CSCue03528 — 会话数据库/配置同步/CFS在一端锁定，无需提交