목차

소개

배경 정보

RCMChassisReload 트랩

데이터 수집 및 분석

관련 정보

소개

이 문서에서는 RCMChassisReload 다음 이유로 인한 트랩 RCM Initiated Reload StarOS에 있습니다.

배경 정보

RCM(Redundancy Configuration Manager)은 StarOS 기반 UP(User Plane)/UPF(User Plane Function)의 이중화를 제공하는 Cisco 전용 노드/네트워크 기능(NF)입니다. RCM은 UP/UPF의 N:M 이중화를 제공합니다. 여기서 "N"은 액티브 UP/UPF의 수이고 10 미만이며, "M"은 이중화 그룹의 스탠바이 UP/UPF의 수입니다. RCM은 UP/UPF에서 장애가 발생하는지 모니터링하고 대기 UP/UPF로의 전환을 시작합니다.

UP의 문제로 인해 계획되지 않은 전환이 발생하며 수동 개입 없이 재부팅됩니다. 계획되지 않은 전환이 발생하면 BFD(Bidirectional Forwarding Detection) 모니터 Pod가 UP가 다운되었음을 감지하고 RCM 컨트롤러가 전환 메커니즘을 시작하도록 트리거합니다. RCM 컨트롤러는 Standby UP 및 Redundancy Manager 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 Active 및 Standby UP/UPF

- 액티브 및 스탠바이 UP/UPF에서 syslog 정보를 수집합니다.

- 수집 rcm support-summary RCM의 syslog 정보를 제공합니다.

- RCM 포드 이벤트 확인:

- Kubernetes 포드 확인
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 Checkpoint Manager 명령
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 구성 및 관리 가이드