目录

简介

先决条件

要求

使用的组件

背景信息

缩写

Ultra 6.3版之后的Ultra Element Manager — 架构更改

自6.3版起，UEM VM实例数可配置

ZooKeeper分布

HA的Keepalive简介

将SCM与NCS流程分离

EM服务仅在主节点上运行

排除元件管理器相关问题的步骤

使用2个VM的UEM设置 — 进程启动顺序和日志位置

使用3个VM的UEM设置 — 进程启动顺序和日志位置

UEM流程摘要

简介

本文档介绍在6.3 UltraM版本中引入的元素管理器(EM)体系结构中的更改。

先决条件

要求

Cisco 建议您了解以下主题：

- STAROs

- Ultra-M基础架构

使用的组件

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

背景信息

在Ultra 6.3版本之前，要使Ultra Element Manager工作，需要创建3个UEM VM。  第3个没有使用，并在那里帮助形成ZooKeeper群集。自6.3版本起，此设计已更改。

缩写

本文使用的缩写：

VNF

虚拟网络功能

CF

控制功能

旧金山

服务功能

ESC

弹性服务控制器

VIM

虚拟基础设施管理器

虚拟机

虚拟机

EM

元素管理器

UAS

超自动化服务

UUID

通用唯一IDentifier

ZK

动物园守护者

Ultra 6.3版之后的Ultra Element Manager — 架构更改

本文档介绍作为6.3 UltraM版本一部分引入的以下5项更改：

自6.3版起，UEM VM实例数可配置

在6.3版之前，3个UEM VM是必填项。您可以看到核心租户文件源之后的nova列表：

[root@POD]# openstack server list --all

+--------------------------------------+-----------------------+--------+--------------------------------------------------------------------+---------------+

| ID | Name | Status | Networks | Image Name |

+--------------------------------------+-----------------------+--------+---------------------------------....

| fae2d54a-96c7-4199-a412-155e6c029082 | vpc-LAASmme-em-3 | ACTIVE | orch=192.168.12.53; mgmt=192.168.11.53 | ultra-em |

| c89a3716-9028-4835-9237-759166b5b7fb | vpc-LAASmme-em-2 | ACTIVE | orch=192.168.12.52; mgmt=192.168.11.52 | ultra-em |

| 5f8cda2c-657a-4ba1-850c-805518e4bc18 | vpc-LAASmme-em-1 | ACTIVE | orch=192.168.12.51; mgmt=192.168.11.51 | ultra-em |

使用了此配置快照（从vnf.conf文件）：

vnfc em

health-check enabled

health-check probe-frequency 10

health-check probe-max-miss 6

health-check retry-count 6

health-check recovery-type restart-then-redeploy

health-check boot-time 300

vdu vdu-id em

number-of-instances 1 --> HERE, this value was previously ignored in pre 6.3 releases

connection-point eth0

...

无论此命令中指定的实例数量如何，旋转VM的数量始终为3。换句话说，忽略实例数值。

自6.3起，此值将更改 — 配置的值可以是2或3。

配置2时，将创建2个UEM虚拟机。

配置3时，将创建3个UEM虚拟机。

vnfc em

health-check enabled

health-check probe-frequency 10

health-check probe-max-miss 6

health-check retry-count 3

health-check recovery-type restart

health-check boot-time 300

vdu vdu-id vdu-em

vdu image ultra-em

vdu flavor em-flavor

number-of-instances 2 --> HERE

connection-point eth0

....

此配置将产生2个VM，与nova列表一样。

[root@POD]# openstack server list --all

+--------------------------------------+-----------------------+--------+--------------------------------------------------------------------+---------------+

| ID | Name | Status | Networks | Image Name |

+--------------------------------------+-----------------------+--------+---------------------------------....

| fae2d54a-96c7-4199-a412-155e6c029082 | vpc-LAASmme-em-3 | ACTIVE | orch=192.168.12.53; mgmt=192.168.11.53 | ultra-em |

| c89a3716-9028-4835-9237-759166b5b7fb | vpc-LAASmme-em-2 | ACTIVE | orch=192.168.12.52; mgmt=192.168.11.52 | ultra-em |

但请注意，3个IP地址要求保持不变。即，在配置(vnf.conf文件)的EM部分，3 IP地址仍为必需：

vnfc em

health-check enabled

health-check probe-frequency 10

health-check probe-max-miss 6

health-check retry-count 3

health-check recovery-type restart

health-check boot-time 300

vdu vdu-id vdu-em

vdu image ultra-em

vdu flavor em-flavor

number-of-instances 2 ---> NOTE NUMBER OF INSTANCES is 2

connection-point eth0

virtual-link service-vl orch

virtual-link fixed-ip 172.x.y.51  --> IP #1

!

virtual-link fixed-ip 172.x.y.52 --> IP #2

!

virtual-link fixed-ip 172.x.y.53  --> IP #3

!

ZK需要这样做才能处理3个ZK实例。每个实例都需要一个IP地址。即使第3个实例未得到有效使用，第3个IP也被分配给第3个所谓的Arbiter ZK实例（有关详细信息，请参阅Diff.2）。

这对协调网络有何影响？

协调网络中始终会创建3个端口（用于绑定3个提及的IP地址）。

[root@POD# neutron port-list | grep -em_

| 02d6f499-b060-469a-b691-ef51ed047d8c | vpc-LAASmme-em_vpc-LA_0_70de6820-9a86-4569-b069-46f89b9e2856 | fa:16:3e:a4:9a:49 | {"subnet_id": "bf5dea3d-cd2f-4503-a32d-5345486d66dc", "ip_address": "192.168.12.52"} |

| 0edcb464-cd7a-44bb-b6d6-07688a6c130d | vpc-LAASmme-em_vpc-LA_0_2694b73a-412b-4103-aac2-4be2c284932c | fa:16:3e:80:eb:2f | {"subnet_id": "bf5dea3d-cd2f-4503-a32d-5345486d66dc", "ip_address": "192.168.12.51"} |

| 9123f1a8-b3ea-4198-9ea3-1f89f45dfe74 | vpc-LAASmme-em_vpc-LA_0_49ada683-a5ce-4166-aeb5-3316fe1427ea | fa:16:3e:5c:17:d6 | {"subnet_id": "bf5dea3d-cd2f-4503-a32d-5345486d66dc", "ip_address": "192.168.12.53"} |

ZooKeeper分布

在6.3之前，ZK用于组成集群，因此此要求适用于第3台虚拟机。

这一要求并未改变。但是，对于使用2个UEM VM的设置，第3个ZK实例托管在同一组VM上：

6.3之前和6.3之后的UEM VM设置：

UEM VM1:托管ZK实例1

UEM VM2:托管ZK实例2

UEM VM3:托管ZK实例3

在6.3及更高版本中，仅有2台VM:

UEM VM1:托管ZK实例1和ZK实例3

UEM VM2:托管ZK实例2

UEM VM3:不存在

请参阅本文底部的图1，了解详细的图形表示。

Useful Zk commands:

To see Zk mode (leader/follower):

/opt/cisco/usp/packages/zookeeper/current/bin/zkServer.sh status

ZooKeeper JMX enabled by default

Using config: /opt/cisco/usp/packages/zookeeper/current/bin/../conf/zoo.cfg

Mode: leader

To check if Zk is running:

echo stat | nc IP_ADDRESS 2181

How to find the Ip address of Zk instance:

Run 'ip addr' from EM

In the /opt/cisco/em/config/ip.txt there are all the 3IP's

From vnf.conf file

From 'nova list' look for orchestration IP

For 2 EM's the arbiter IP can be found also in /opt/cisco/em/config/proxy-params.txt

How to check status of the Zk instance:

echo stat | nc 192.168.12.51 2181 | grep Mode

Mode: follower

You can run this command from one Zk for all other Zk instances (even they are on different VM)!

To connect to the Zk cli - now must use the IP (rather then localhost earlier):

/opt/cisco/usp/packages/zookeeper/current/bin/zkCli.sh -server

:2181

You can use same command to connect to other Zk instances (even they are on different VM)!

Some useful command you can run once you connect to ZkCli:

ls /config/vdus/control-function

ls /config/element-manager

ls /

ls /log

ls /stat

get /config/vdus/session-function/BOOTxx

HA的Keepalive简介

在以前版本中，ZK领导者选举框架用于确定主EM。但思科已转向keepalived框架，情况已不再如此。

什么是保持连接，它如何工作？

Keeplaved是基于Linux的软件，用于对Linux系统和基于Linux的基础架构进行负载平衡和高可用性。

ESC中已经使用了HA。

在EM中，Keepalived用于将NCS与Zk集群状态分离。

Keepalived进程仅在EM的前两个实例上运行，并将确定NCS进程的主状态。

To check if the keepalived process is running:

ps -aef | grep keepalived

(must return the process ID)

为什么要改变？

在之前的实现中，(NCS/SCM)主节点选择与Zk集群状态紧密集成（Zk集群状态中第一个锁定/em的实例被选为主节点）。 当Zk失去与群集的连接时，这会产生问题。

Keepalived用于在虚拟机上维护主用/备用UEM集群。

NCS维护配置数据。

Zookeeper维护运行数据。

将SCM与NCS流程分离

在6.3之前的版本中，SCM组件与NCS捆绑。这意味着当NCS启动时，SCM也启动（因此）。 在此版本中，这现在是分离的，而SCM本身是独立的过程。

Commands to check the NCS and SCM services & processes.

To be executed from the ubuntu command line

ps -aef | grep ncs

ps -aef | grep scm

sudo service show ncs

sudo service scm status

EM服务仅在主节点上运行

在6.3版本之前，UEM服务在主/从上运行。截至6.3，服务仅在主节点上运行。这将影响show ems中显示的输出。从6.3开始，登录到UEM CLI后，预计只会看到一个（主）节点使用此命令：

root@vpc-em-2:/var/log# sudo -i

root@vpc-em-2:~# ncs_cli -u admin -C

admin connected from 127.0.0.1 using console on vpc-LAASmme-em-2

admin@scm# show ems

EM VNFM

ID SLA SCM PROXY VERSION

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

52 UP UP UP 6.3.0 ===> HERE Only one EM instance is seen. In previous releases you were able to see 2 instances.

实际上，除NCS外，所有服务都将在主节点上运行，这是由NCS要求造成的。

此图显示了Ultra Element Manager的可能服务和VM分发的摘要

排除元件管理器相关问题的步骤

启动过程中，启动顺序如下：

使用2个VM的UEM设置 — 进程启动顺序和日志位置

大师级UEM:

- 保持连接

- 动物饲养员

- NCS

- Zookeeper的仲裁器(第3个)实例

- VNFM代理

- SCM

- SLA

从UEM:

- 保持连接

- 动物饲养员

- NCS

使用3个VM的UEM设置 — 进程启动顺序和日志位置

大师级UEM:

- 保持连接

- 动物饲养员

- NCS

- VNFM代理

- SCM

- SLA

从UEM:

- 保持连接

- 动物饲养员

- NCS

第3个UEM:

- 动物饲养员

UEM流程摘要

这是您必须运行的UEM进程的摘要。

使用ps -aef检查状态 | grep xx

保持连接

仲裁器

smc

sla

zoo.cfg

ncs

您可以使用服务xx状态检查状态，其中xx:

zookeeper-arbiter

代理

smc

sla

zk

ncs