목차

소개

사전 요구 사항

요구 사항

사용되는 구성 요소

배경 정보

SMI Cluster Manager란?

인셉션 서버란?

문제

유지 보수 절차

호스트 식별

시작 서버에서 클러스터 세부 정보 확인

서버에서 운영 체제를 지우려면 가상 드라이브를 제거하십시오.

클러스터 동기화 실행

클러스터 동기화 로그 모니터링

확인

소개

이 문서에서는 CNDP(Cloud Native Deployment Platform) 설정의 시작 서버에서 클러스터 관리자를 복구하는 절차에 대해 설명합니다.

사전 요구 사항

요구 사항

다음 주제에 대한 지식을 보유하고 있으면 유용합니다.

- Cisco Subscriber SMI(Microservices Infrastructure)

- 5G CNDP 또는 SMI-Bare-Metal(BM) 아키텍처

- DRBD(분산 복제 블록 장치)

사용되는 구성 요소

이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.

- SMI 2020.02.2.35

- 쿠베르네테스 v1.21.0

이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.

배경 정보

SMI Cluster Manager란?

클러스터 관리자는 컨트롤 플레인 및 사용자 플레인 클러스터 구축의 초기 지점으로 사용되는 2노드 킵얼라이브 클러스터입니다. 단일 노드 Kubernetes 클러스터 및 전체 클러스터 설정을 담당하는 POD 집합을 실행합니다. 기본 클러스터 관리자만 활성 상태이며, 보조 관리자는 장애가 발생하거나 유지 보수를 위해 수동으로 작동 중지된 경우에만 인계받습니다.

인셉션 서버란?

이 노드는 기본 CM(Cluster Manager)의 라이프사이클 관리를 수행하며 여기서 Day0 Config를 푸시할 수 있습니다.

이 서버는 일반적으로 지역 단위로 구축되거나 최상위 오케스트레이션 기능(예: NSO)과 동일한 데이터 센터에 구축되며 일반적으로 VM으로 실행됩니다.

문제

클러스터 관리자는 DRBD(Distributed Replicated Block Device)가 있는 2노드 클러스터에서 호스팅되며 클러스터 관리자 기본 및 클러스터 관리자 보조 클러스터로 유지됩니다. 이 경우 UCS에서 OS를 초기화/설치하는 동안 클러스터 관리자 보조가 자동으로 전원 꺼짐 상태로 전환되며, 이는 OS가 손상되었음을 나타냅니다.

cloud-user@POD-NAME-cm-primary:~$ drbd-overview status

0:data/0 WFConnection Primary/Unknown UpToDate/DUnknown /mnt/stateful_partition ext4 568G 369G 170G 69%

유지 보수 절차

이 프로세스는 CM 서버에 OS를 재설치하는 데 도움이 됩니다.

호스트 식별

Cluster-Manager에 로그인하고 호스트를 식별합니다.

cloud-user@POD-NAME-cm-primary:~$ cat /etc/hosts | grep 'deployer-cm'

127.X.X.X POD-NAME-cm-primary POD-NAME-cm-primary

X.X.X.X POD-NAME-cm-primary

X.X.X.Y POD-NAME-cm-secondary

시작 서버에서 클러스터 세부 정보 확인

Inception 서버에 로그인하여 Deployer에 로그인하고 Cluster-Manager에서 hosts-IP로 클러스터 이름을 확인합니다.

Inception 서버에 성공적으로 로그인하면 여기에 표시된 대로 운영 센터에 로그인합니다.

user@inception-server: ~$ ssh -p 2022 admin@localhost

클러스터 관리자 SSH-IP에서 클러스터 이름을 확인합니다(ssh-ip = 노드 SSH IP 주소 = ucs-server cimc ip 주소).

[inception-server] SMI Cluster Deployer# show running-config clusters * nodes * k8s ssh-ip | select nodes * ssh-ip | select nodes * ucs-server cimc ip-address | tab

SSH

NAME             NAME          IP     SSH IP           IP ADDRESS

------------------------------------------------------------------------------

POD-NAME-deployer     cm-primary    -      X.X.X.X          10.X.X.X ---> Verify Name and SSH IP if Cluster is part of inception server SMI.

cm-secondary  -      X.X.X.Y          10.X.X.Y

대상 클러스터의 컨피그레이션을 확인합니다.

[inception-server] SMI Cluster Deployer# show running-config clusters POD-NAME-deployer

서버에서 운영 체제를 지우려면 가상 드라이브를 제거하십시오.

영향받는 호스트의 CIMC에 연결하고 부트 드라이브를 지우고 가상 드라이브(VD)를 삭제합니다.

a) CIMC > Storage > Cisco 12G Modular Raid Controller > Storage Log > Clear Boot Drive

b) CIMC > Storage > Cisco 12G Modular Raid Controller > Virtual drive > Select the virtual drive > Delete Virtual Drive

클러스터 동기화 실행

시작 서버에서 클러스터 관리자에 대한 기본 클러스터 동기화를 실행합니다.

[inception-server] SMI Cluster Deployer# clusters POD-NAME-deployer actions sync run debug true

This will run sync. Are you sure? [no,yes] yes

message accepted

[inception-server] SMI Cluster Deployer#

기본 cluster-sync가 실패할 경우 전체 재설치를 위해 force-vm 재구축 옵션을 사용하여 cluster-sync를 수행합니다(Cluster-sync 활동을 완료하는 데 최대 45-55분이 소요될 수 있으며, 이는 클러스터에 호스팅된 노드 수에 따라 달라짐).

[inception-server] SMI Cluster Deployer# clusters POD-NAME-deployer actions sync run debug true force-vm-redeploy true

This will run sync. Are you sure? [no,yes] yes

message accepted

[inception-server] SMI Cluster Deployer#

클러스터 동기화 로그 모니터링

[inception-server] SMI Cluster Deployer# monitor sync-logs POD-NAME-deployer

2023-02-23 10:15:07.548 DEBUG cluster_sync.POD-NAME: Cluster name: POD-NAME

2023-02-23 10:15:07.548 DEBUG cluster_sync.POD-NAME: Force VM Redeploy: true

2023-02-23 10:15:07.549 DEBUG cluster_sync.POD-NAME: Force partition Redeploy: false

2023-02-23 10:15:07.549 DEBUG cluster_sync.POD-NAME: reset_k8s_nodes: false

2023-02-23 10:15:07.549 DEBUG cluster_sync.POD-NAME: purge_data_disks: false

2023-02-23 10:15:07.549 DEBUG cluster_sync.POD-NAME: upgrade_strategy: auto

2023-02-23 10:15:07.549 DEBUG cluster_sync.POD-NAME: sync_phase: all

2023-02-23 10:15:07.549 DEBUG cluster_sync.POD-NAME: debug: true

...

...

...

성공적인 cluster-sync를 통해 서버가 다시 프로비저닝되고 설치됩니다.

PLAY RECAP *********************************************************************

cm-primary :   ok=535 changed=250 unreachable=0 failed=0 skipped=832 rescued=0 ignored=0

cm-secondary : ok=299 changed=166 unreachable=0 failed=0 skipped=627 rescued=0 ignored=0

localhost :    ok=59  changed=8   unreachable=0 failed=0 skipped=18  rescued=0 ignored=0

Thursday 23 February 2023 13:17:24 +0000 (0:00:00.109) 0:56:20.544 *****. ---> ~56 mins to complete cluster sync

===============================================================================

2023-02-23 13:17:24.539 DEBUG cluster_sync.POD-NAME: Cluster sync successful

2023-02-23 13:17:24.546 DEBUG cluster_sync.POD-NAME: Ansible sync done

2023-02-23 13:17:24.546 INFO cluster_sync.POD-NAME: _sync finished. Opening lock

확인

영향을 받는 클러스터 관리자를 확인할 수 있으며 기본 및 보조 클러스터 관리자의 DRBD 개요가 최신 상태인지 확인합니다.

cloud-user@POD-NAME-cm-primary:~$ ping X.X.X.Y

PING X.X.X.Y (X.X.X.Y) 56(84) bytes of data.

64 bytes from X.X.X.Y: icmp_seq=1 ttl=64 time=0.221 ms

64 bytes from X.X.X.Y: icmp_seq=2 ttl=64 time=0.165 ms

64 bytes from X.X.X.Y: icmp_seq=3 ttl=64 time=0.151 ms

64 bytes from X.X.X.Y: icmp_seq=4 ttl=64 time=0.154 ms

64 bytes from X.X.X.Y: icmp_seq=5 ttl=64 time=0.172 ms

64 bytes from X.X.X.Y: icmp_seq=6 ttl=64 time=0.165 ms

64 bytes from X.X.X.Y: icmp_seq=7 ttl=64 time=0.174 ms

--- X.X.X.Y ping statistics ---

7 packets transmitted, 7 received, 0% packet loss, time 6150ms

rtt min/avg/max/mdev = 0.151/0.171/0.221/0.026 ms

cloud-user@POD-NAME-cm-primary:~$ drbd-overview status

0:data/0 Connected Primary/Secondary UpToDate/UpToDate /mnt/stateful_partition ext4 568G 17G 523G 4%

영향을 받는 클러스터 관리자가 네트워크에 성공적으로 설치 및 다시 프로비저닝되었습니다.

2.2 클러스터 관리자 SSH-IP에서 클러스터 이름을 확인합니다.

[inception-server] SMI Cluster Deployer# show running-config clusters * nodes * k8s ssh-ip | select nodes * ssh-ip | select nodes * ucs-server cimc ip-address | 탭

SSH

이름 IP SSH IP IP 주소

------------------------------------------------------------------------------

POD-NAME cm-primary - 192.X.X 10.192.X.X

cm 보조 - 192.X.X.Y 10.192.X.Y

*SSH IP = 노드 SSH IP

*IP ADDRESS = ucs-server cimc ip-address

2.3 대상 클러스터의 구성을 확인합니다.

[inception-server] SMI Cluster Deployer# show running-config clusters POD-NAME Inception 서버에 로그인하고 Deployer에 로그인한 다음 Cluster-Manager에서 hosts-IP로 cluster-name을 확인합니다. Inception 서버에 로그인하여 Deployer에 로그인하고 Cluster-Manager에서 hosts-IP로 cluster-name을 확인합니다.