目录

简介

先决条件

要求

使用的组件

背景信息

缩写

问题：EM可能会像从Ultra-M运行状况管理器看起来那样处于此状态

故障排除和恢复步骤

步骤1.检验EM的状态。

步骤2.在未加入群集的节点上检查/var/log/em中的日志。

步骤3.检验问题中的快照是否存在。

步骤4.恢复步骤。

简介

本文档提供有关如何排除元素管理器在独立模式下运行时的问题的摘要。

先决条件

要求

Cisco 建议您了解以下主题：

- StarOs

- Ultra-M基础架构

使用的组件

本文档中的信息基于Ultra 5.1.x版本。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您的网络处于活动状态，请确保您了解所有命令的潜在影响。

背景信息

Ultra-M是预打包和验证的虚拟化移动数据包核心解决方案，旨在简化VNF的部署。OpenStack是Ultra-M的虚拟化基础设施管理器(VIM)，由以下节点类型组成：

- 计算

- 对象存储磁盘 — 计算（OSD — 计算）

- 控制器

- OpenStack平台 — 导向器(OSPD)

此图中描述了Ultra-M的高级体系结构和涉及的组件：

UltraM架构

本文档面向熟悉Cisco Ultra-M平台的思科人员，并详细介绍在更换控制器服务器时在OpenStack和StarOS VNF级别执行所需的步骤。

缩写

本文使用以下缩写：

VNF

虚拟网络功能

EM

元素管理器

VIP

虚拟 IP 地址

CLI

命令行

问题：EM可能会像从Ultra-M运行状况管理器看起来那样处于此状态

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

它取决于版本，系统上可以运行2或3个EM。

如果部署了3个EM，其中两个将正常运行，第三个只是为了能够部署Zookeeper群集。但是，它不被使用。

如果2个功能EM之一无法工作或无法访问，则工作EM将处于独立模式。

如果已部署2个EM，如果其中一个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中只有一个条目 — 这是我们节点的条目。

如果您设法连接到另一个新兴市场，您可以看到以下内容：

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.移动Zookeeper数据。

在/var/lib/zookeeper/data中，有一个名为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。