目录

简介

背景信息

RCMChassisReload陷阱

数据收集和分析

相关信息

简介

本文档介绍如何调查 RCMChassisReload 陷阱由于 RCM Initiated Reload 在StarOS中。

背景信息

冗余配置管理器(RCM)是思科专有节点/网络功能(NF)，可提供基于StarOS的用户平面(UP)/用户平面功能(UPF)的冗余。RCM提供N:M UP/UPF冗余，其中“N”是活动UP/UPF的数量且小于10，而“M”是冗余组中的备用UP/UPF的数量。RCM监控其UP/UPF的故障并启动切换到备用UP/UPF。

UP中出现问题导致发生计划外切换，无需手动干预即可重新启动。当发生计划外切换时，双向转发检测(BFD)监控器Pod检测到UP已关闭并触发RCM控制器启动切换机制。RCM控制器选择备用UP和冗余管理器Pod以将配置和检查点推送到新UP。

手动切换可以从RCM启动，使用 rcm switchover source

destination

命令。

RCMChassisReload陷阱

此 RCMChassisReload 陷阱由于 RCM Initiated Reload 在StarOS中报告。

当BFD故障和手动命令执行导致重新加载时，将会报告类似的日志。

由于BFD故障而导致的日志：

2022-Nov-03+12:35:28.682 [snmp 22002 info] [1/0/6083 <vpnmgr:5> trap_api.c:11832] [software internal system syslog] Internal trap notification 1427 (RCMChassisReload) RCM Chassis Reload Reason: (2) RCM Initiated Reload

2022-Nov-03+12:35:28.682 [srp 84201 info] [1/0/6083 <vpnmgr:5> vpnmgr_rcm.c:1492] [context: RCM, contextID: 5] [software internal system syslog] RCM: Attempting to reload UPF.

2022-Nov-03+12:35:28.735 [snmp 22002 info] [1/0/5271 <cspctrl:0> trap_api.c:17907] [software internal system syslog] Internal trap notification 1521 (CseShutDownNotify) Shutdown reason "Reload chassis requested by CLI command"

由于手动切换命令而导致的日志：

2022-Nov-03+12:41:04.984 [snmp 22002 info] [1/0/6073 <vpnmgr:5> trap_api.c:11832] [software internal system syslog] Internal trap notification 1427 (RCMChassisReload) RCM Chassis Reload Reason: (2) RCM Initiated Reload

2022-Nov-03+12:41:04.984 [srp 84201 info] [1/0/6073 <vpnmgr:5> vpnmgr_rcm.c:1492] [context: RCM, contextID: 5] [software internal system syslog] RCM: Attempting to reload UPF.

2022-Nov-03+12:41:05.014 [snmp 22002 info] [1/0/5265 <cspctrl:0> trap_api.c:17907] [software internal system syslog] Internal trap notification 1521 (CseShutDownNotify) Shutdown reason "Reload chassis requested by CLI command"

数据收集和分析

RCM切换如所示 rcm show-statistics switchover 命令输出.

在本例中，最新的切换位置为15:28:14 on Nov 3 was due to BGP failover on the UP/UPF, while prior switchover was at 15:14:23 on Nov 3 due to manual command switchover from RCM.

[unknown] rcm# rcm show-statistics switchover

Thu Nov 3 15:39:10.486 UTC+00:00

message :

{

"stats_history": [

{

"status": "Success",

"started": "Nov 3 15:28:12.315",

"ended": "Nov 3 15:28:14.107",

"switchoverreason": "BGP Failure",

"source_endpoint": "192.168.60.3",

"destination_endpoint": "192.168.60.4"

},

{

"status": "Success",

"started": "Nov 3 15:13:48.808",

"ended": "Nov 3 15:14:23.670",

"switchoverreason": "Planned Switchover",

"source_endpoint": "192.168.60.4",

"destination_endpoint": "192.168.60.3"

},

{

万一出现以下情况 RCMChassisReload 未从日志中识别，然后收集数据：

- 收集 show support details 从主用和备用UP/UPF。

- 从活动和备用UP/UPF收集系统日志信息。

- 收集 rcm support-summary 和RCM中的系统日志信息。

- 检查RCM Pod事件：

- 检验Kubernetes Pod
ubuntu@CUPS-RCM-01:~$ kubectl get pods -n rcm

NAME READY STATUS RESTARTS AGE

documentation-65d698cfbb-l94lg 1/1 Running 0 161d

etcd-rcm-etcd-cluster-0 2/2 Running 0 161d

grafana-dashboard-etcd-rcm-65bd789-t57pq 1/1 Running 0 161d

ops-center-rcm-ops-center-6f946946c7-wlpnq 5/5 Running 0 161d

prometheus-rules-etcd-5c5cff47c6-vlzr7 1/1 Running 0 161d

rcm-bfdmgr-7fd47466c4-xm99h 1/1 Running 0 161d

rcm-checkpointmgr-0 1/1 Running 0 161d

rcm-checkpointmgr-1 1/1 Running 0 161d

rcm-checkpointmgr-2 1/1 Running 0 161d

rcm-checkpointmgr-3 1/1 Running 0 161d

rcm-configmgr-569f6d89c5-g7ztg 1/1 Running 0 161d

rcm-controller-775c4cc7bb-q96m6 1/1 Running 0 161d

smart-agent-rcm-ops-center-5c475b6bd-2plc6 1/1 Running 1 161d

- 收集 describe 检查点管理器的命令
ubuntu@CUPS-RCM-01:~$ kubectl describe pod rcm-checkpointmgr-0 -n rcm

Name: rcm-checkpointmgr-0

Namespace: rcm

Priority: 0

Node: rcm/10.10.1.1

Start Time: Wed, 01 Jun 2022 23:38:40 +0000

Labels: component=rcm-checkpointmgr

controller-revision-hash=rcm-checkpointmgr-566cdd886f

release=rcm-rcm-chkptmgr

statefulset.kubernetes.io/pod-name=rcm-checkpointmgr-0

Annotations: cni.projectcalico.org/containerID: 0dea15df9e41a9195d9827cdb257430bab3257bad3417281fb6c8f3d3ed146cc

cni.projectcalico.org/podIP: 10.42.0.72/32

cni.projectcalico.org/podIPs: 10.42.0.72/32

prometheus.io/port: 8081

prometheus.io/scrape: true

sidecar.istio.io/inject: false

Status: Running

IP: 10.10.0.72

IPs:

IP: 10.10.0.72

Controlled By: StatefulSet/rcm-checkpointmgr

Containers:

rcm-checkpointmgr:

Container ID: docker://b86826c43e191f0266a1489ef6f0398b21c1801d6a79e40093aed6e3c023ba4d

Image: dockerhub.cisco.com/smi-fuse-docker-internal/mobile-cnat-rcm/rcm-chkptmgr/v21.27.x/rcm_chkptmgr:0.0.5-38a8de3

Image ID: docker://sha256:adc4013783f60f6413fa81eb2bf16a652fddcd8d164e469368c2587560e42bc8

Ports: 9900/TCP, 9300/TCP, 8080/TCP, 8081/TCP

Host Ports: 0/TCP, 0/TCP, 0/TCP, 0/TCP

Command:

/usr/local/bin/run-app

State: Running

Started: Wed, 01 Jun 2022 23:38:44 +0000

Ready: True

Restart Count: 0

Environment:

K8S_NAMESPACE: rcm

GODEBUG: madvdontneed=1

GOGC: 25

GOTRACEBACK: crash

SERVICE_NAME: rcm-checkpointmgr

DATACENTER_NAME: DC

CLUSTER_NAME: Local

APPLICATION_NAME: RCM

RCM_CHKPT_POD_IP: (v1:status.podIP)

RCM_CHKPT_POD_NAME: rcm-checkpointmgr-0 (v1:metadata.name)

INFRA_PROMETHEUS_PORT: 8081

Mounts:

/config/rcm-logging from rcm-logging-volume (ro)

/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-6828r (ro)

Conditions:

Type Status

Initialized True

Ready True

ContainersReady True

PodScheduled True

Volumes:

rcm-logging-volume:

Type: ConfigMap (a volume populated by a ConfigMap)

Name: infra-logging-conf

Optional: false

kube-api-access-6828r:

Type: Projected (a volume that contains injected data from multiple sources)

TokenExpirationSeconds: 3607

ConfigMapName: kube-root-ca.crt

ConfigMapOptional: <nil>

DownwardAPI: true

QoS Class: BestEffort

Node-Selectors: nodeType=RCM

Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s

node.kubernetes.io/unreachable:NoExecute op=Exists for 300s

Events: <none>

- 检查Pod的当前日志
ubuntu@CUPS-RCM-01:~$ kubectl logs rcm-checkpointmgr-0 -n rcm | more

2022/11/09 20:19:01.554 rcm-checkpointmgr [DEBUG] [TopologyData.go:295] [infra.topology.core] Setting state of the application as APP_STARTED

2022/11/09 20:19:01.558 rcm-checkpointmgr [DEBUG] [TopologyData.go:295] [infra.topology.core] Setting state of the application as APP_STARTED

- 如果Pod崩溃，可以使用收集来自上一个Pod的日志 -p 选项
ubuntu@CUPS-RCM-01:~$ kubectl logs

-n rcm -p

相关信息

RCM配置和管理指南