목차

소개

사전 요구 사항

요구 사항

사용되는 구성 요소

배경 정보

약어

문제/장애:EM은 Ultra-M Health Manager의 경우와 마찬가지로 이 상태로 끝날 수 있습니다.

문제 해결 및 복구 단계

1단계. EM의 상태를 확인합니다.

2단계. 클러스터에 참여하지 않는 노드의 /var/log/em에 있는 로그를 확인합니다.

3단계. 문제의 스냅샷이 있는지 확인합니다.

4단계. 복구 단계.

소개

이 문서에서는 요소 관리자가 독립형 모드로 실행될 때 문제를 해결하는 방법에 대한 요약을 제공합니다.

사전 요구 사항

요구 사항

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

- 스타os

- Ultra-M 기본 아키텍처

사용되는 구성 요소

이 문서의 정보는 Ultra 5.1.x 릴리스를 기반으로 합니다.

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

배경 정보

Ultra-M은 VNF 구축을 간소화하기 위해 사전 패키지 및 검증된 가상화 모바일 패킷 코어 솔루션입니다. OpenStack은 Ultra-M용 VIM(Virtualized Infrastructure Manager)이며 다음 노드 유형으로 구성됩니다.

- 컴퓨팅

- 개체 스토리지 디스크 - 컴퓨팅(OSD - 컴퓨팅)

- 컨트롤러

- OpenStack Platform - 디렉터(OSPD)

Ultra-M 및 관련 구성 요소의 고급 아키텍처는 다음 이미지에 설명되어 있습니다.

UltraM 아키텍처

이 문서는 Cisco Ultra-M 플랫폼에 익숙한 Cisco 담당자를 대상으로 하며, 컨트롤러 서버 교체 시 OpenStack 및 StarOS VNF 레벨에서 수행해야 하는 단계를 자세히 설명합니다.

약어

약어는 다음 문장에서 쓰인다.

VNF

가상 네트워크 기능

EM

요소 관리자

VIP

가상 IP 주소

CLI

명령줄

문제/장애:EM은 Ultra-M Health Manager의 경우와 마찬가지로 이 상태로 끝날 수 있습니다.

EM: 1 is not part of HA-CLUSTER,EM is running in standalone mode

버전에 따라 다르며, 시스템에서 실행되는 EM이 2개 또는 3개일 수 있습니다.

3개의 EM이 구축된 경우, 2개는 작동하고 3번째 1개는 Zookeeper 클러스터를 가질 수 있습니다.그러나 사용되지 않습니다.

2개의 기능 EM 중 하나가 작동하지 않거나 연결할 수 없는 경우, 작동 중인 EM은 독립형 모드로 전환됩니다.

2개의 EM을 구축한 경우, 둘 중 하나가 작동하지 않거나 연결할 수 없는 경우 나머지 EM은 독립형 모드에 있을 수 있습니다.

이 문서에서는 이러한 상황이 발생할 경우 어떤 상황을 확인하고 어떻게 복구하는지 설명합니다.

문제 해결 및 복구 단계

1단계. EM의 상태를 확인합니다.

EM VIP에 연결하고 노드가 다음 상태에 있는지 확인합니다.

root@em-0:~# ncs_cli -u admin -C

admin connected from 127.0.0.1 using console on em-0

admin@scm# show ems

EM VNFM ID SLA SCM PROXY

3 up down up

admin@scm#

여기서 SCM에는 단 하나의 엔트리가 있으며, 이것이 Cisco 노드의 엔트리입니다.

다른 EM에 연결할 경우 다음과 같은 항목이 표시됩니다.

root@em-1# ncs_cli -u admin -C admin connected from 127.0.0.1 using

admin connected from 127.0.0.1 using console on em-1

admin@scm# show ems

% No entries found.

EM의 문제에 따라 NCS CLI에 액세스할 수 없거나 노드를 재부팅할 수 있습니다.

2단계. 클러스터에 참여하지 않는 노드의 /var/log/em에 있는 로그를 확인합니다.

문제 상태의 노드의 로그를 확인합니다.따라서 앞서 언급한 샘플의 경우 em-1/var/log/em/zookeeper 로그를 탐색합니다.

...

2018-02-01 09:52:33,591 [myid:4] - INFO [main:QuorumPeerMain@127] - Starting quorum peer

2018-02-01 09:52:33,619 [myid:4] - INFO [main:NIOServerCnxnFactory@89] - binding to port 0.0.0.0/0.0.0.0:2181

2018-02-01 09:52:33,627 [myid:4] - INFO [main:QuorumPeer@1019] - tickTime set to 3000

2018-02-01 09:52:33,628 [myid:4] - INFO [main:QuorumPeer@1039] - minSessionTimeout set to -1

2018-02-01 09:52:33,628 [myid:4] - INFO [main:QuorumPeer@1050] - maxSessionTimeout set to -1

2018-02-01 09:52:33,628 [myid:4] - INFO [main:QuorumPeer@1065] - initLimit set to 5

2018-02-01 09:52:33,641 [myid:4] - INFO [main:FileSnap@83] - Reading snapshot /var/lib/zookeeper/data/version-2/snapshot.5000000b3

2018-02-01 09:52:33,665 [myid:4] - ERROR [main:QuorumPeer@557] - Unable to load database on disk

java.io.IOException: The current epoch, 5, is older than the last zxid, 25769803777

at org.apache.zookeeper.server.quorum.QuorumPeer.loadDataBase(QuorumPeer.java:539)

at org.apache.zookeeper.server.quorum.QuorumPeer.start(QuorumPeer.java:500)

at org.apache.zookeeper.server.quorum.QuorumPeerMain.runFromConfig(QuorumPeerMain.java:153)

at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:111)

at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:78)

2018-02-01 09:52:33,671 [myid:4] - ERROR [main:QuorumPeerMain@89] - Unexpected exception, exiting abnormally

java.lang.RuntimeException: Unable to run quorum server

at org.apache.zookeeper.server.quorum.QuorumPeer.loadDataBase(QuorumPeer.java:558)

at org.apache.zookeeper.server.quorum.QuorumPeer.start(QuorumPeer.java:500)

at org.apache.zookeeper.server.quorum.QuorumPeerMain.runFromConfig(QuorumPeerMain.java:153)

at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:111)

at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:78)

Caused by: java.io.IOException: The current epoch, 5, is older than the last zxid, 25769803777

at org.apache.zookeeper.server.quorum.QuorumPeer.loadDataBase(QuorumPeer.java:539)

3단계. 문제의 스냅샷이 있는지 확인합니다.

/var/lib/zookeeper/data/version-2로 이동하여 2단계에서 빨간색으로 표시된 스냅샷이 있는지 확인합니다.

300000042 log.500000001 snapshot.300000041 snapshot.40000003b

ubuntu@em-1:/var/lib/zookeeper/data/version-2$ ls -la

total 424

drwxrwxr-x 2 zk zk 4096 Jan 30 12:12 .

drwxr-xr-x 3 zk zk 4096 Feb 1 10:33 ..

-rw-rw-r-- 1 zk zk 1 Jan 30 12:12 acceptedEpoch

-rw-rw-r-- 1 zk zk 1 Jan 30 12:09 currentEpoch

-rw-rw-r-- 1 zk zk 1 Jan 30 12:12 currentEpoch.tmp

-rw-rw-r-- 1 zk zk 67108880 Jan 9 20:11 log.300000042

-rw-rw-r-- 1 zk zk 67108880 Jan 30 10:45 log.400000024

-rw-rw-r-- 1 zk zk 67108880 Jan 30 12:09 log.500000001

-rw-rw-r-- 1 zk zk 67108880 Jan 30 12:11 log.5000000b4

-rw-rw-r-- 1 zk zk 69734 Jan 6 05:14 snapshot.300000041

-rw-rw-r-- 1 zk zk 73332 Jan 29 09:21 snapshot.400000023

-rw-rw-r-- 1 zk zk 73877 Jan 30 11:43 snapshot.40000003b

-rw-rw-r-- 1 zk zk 84116 Jan 30 12:09 snapshot.5000000b3 ---> HERE, you see it

ubuntu@em-1:/var/lib/zookeeper/data/version-2$

4단계. 복구 단계.

1. EM이 재부팅을 중지하도록 디버그 모드를 활성화합니다.

ubuntu@em-1:~$ sudo /opt/cisco/em-scripts/enable_debug_mode.sh

VM을 다시 재부팅해야 할 수 있습니다(자동으로 재부팅되며 아무 작업도 필요하지 않음).

2. 사육사 데이터를 이동합니다.

/var/lib/zookeeper/data에 DB의 스냅샷이 있는 version-2라는 폴더가 있습니다.위의 오류는 로드 실패를 표시하여 사용자가 제거합니다.

ubuntu@em-1:/var/lib/zookeeper/data$ sudo mv version-2 old

ubuntu@em-1:/var/lib/zookeeper/data$ ls -la

total 20

....

-rw-r--r-- 1 zk   zk      2 Feb  1 10:33 myid

drwxrwxr-x 2 zk   zk   4096 Jan 30 12:12  old  -->  so you see now old folder and you do not see version-2

-rw-rw-r-- 1 zk   zk      4 Feb  1 10:33 zookeeper_server.pid

..

3. 노드를 재부팅합니다.

sudo reboot

4. 디버그 모드를 비활성화합니다.

ubuntu@em-1:~$ sudo /opt/cisco/em-scripts/disable_debug_mode.sh

이러한 단계를 수행하면 서비스가 문제 EM에 다시 연결됩니다.