目录

简介

背景信息

缩写

MoP的工作流

在Ultra-M设置中更换主板

先决条件

计算节点中的主板更换

确定托管在计算节点中的虚拟机

备份：快照流程

步骤1. CPAR应用关闭。

VM快照任务

VM快照

平稳关闭电源

更换主板

恢复虚拟机

通过快照恢复实例

恢复过程

创建并分配浮动IP地址

启用SSH

建立SSH会话

CPAR实例启动

活动后运行状况检查

OSD计算节点中的主板更换

识别托管在Osd-Compute节点中的虚拟机

备份：快照流程

CPAR应用关闭

VM快照任务

VM快照

将CEPH置于维护模式

平稳关闭电源

更换主板

将CEPH移出维护模式

恢复虚拟机

通过快照恢复实例

创建并分配浮动IP地址

启用SSH

建立SSH会话

CPAR实例启动

活动后运行状况检查

控制器节点中的主板更换

验证控制器状态并将集群置于维护模式

更换主板

恢复集群状态

简介

本文档介绍在Ultra-M设置中更换服务器的主板故障所需的步骤。

此过程适用于使用NEWTON版本的OpenStack环境，其中ESC不管理CPAR，CPAR直接安装在OpenStack上部署的VM上。

背景信息

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

- 计算

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

- 控制器

- OpenStack平台 — 导向器(OSPD)

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

本文档面向熟悉Cisco Ultra-M平台的思科人员，并详细介绍在OpenStack和Redhat OS中执行所需的步骤。

注意：为了定义本文档中的步骤，我们考虑了Ultra M 5.1.x版本。

缩写

MOP

程序方法

OSD

对象存储磁盘

OSPD

OpenStack平台导向器

硬盘

硬盘驱动器

SSD

固态驱动器

VIM

虚拟基础设施管理器

虚拟机

虚拟机

EM

元素管理器

UAS

超自动化服务

UUID

通用唯一IDentifier

MoP的工作流

在Ultra-M设置中更换主板

在Ultra-M设置中，可能存在以下服务器类型需要更换主板的情况：计算、OSD — 计算和控制器。

注意：更换主板后，将更换带有openstack安装的引导盘。因此，无需将节点重新添加到过云。在更换活动后，服务器打开电源后，它将自行注册回过云堆栈。

先决条件

在替换计算节点之前，必须检查Red Hat OpenStack平台环境的当前状态。建议您检查当前状态，以避免在计算更换过程开启时出现问题。通过这种替换流可以实现。

在恢复时，思科建议使用以下步骤备份OSPD数据库：

[root@director ~]# mysqldump --opt --all-databases > /root/undercloud-all-databases.sql

[root@director ~]# tar --xattrs -czf undercloud-backup-`date +%F`.tar.gz /root/undercloud-all-databases.sql

/etc/my.cnf.d/server.cnf /var/lib/glance/images /srv/node /home/stack

tar: Removing leading `/' from member names

此过程可确保在不影响任何实例可用性的情况下更换节点。

注意：确保您拥有实例的快照，以便在需要时恢复虚拟机。请按照以下步骤操作如何拍摄虚拟机快照。

计算节点中的主板更换

在练习之前，托管在计算节点中的虚拟机将正常关闭。更换主板后，VM将恢复。

确定托管在计算节点中的虚拟机

[stack@al03-pod2-ospd ~]$ nova list --field name,host

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

| ID                                   | Name                      | Host                             |

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

| 46b4b9eb-a1a6-425d-b886-a0ba760e6114 | AAA-CPAR-testing-instance | pod2-stack-compute-4.localdomain |

| 3bc14173-876b-4d56-88e7-b890d67a4122 | aaa2-21                   | pod2-stack-compute-3.localdomain |

| f404f6ad-34c8-4a5f-a757-14c8ed7fa30e | aaa21june                 | pod2-stack-compute-3.localdomain |

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

注意：在此处显示的输出中，第一列对应于通用唯一IDentifier(UUID)，第二列是VM名称，第三列是VM所在的主机名。此输出的参数将用于后续部分。

备份：快照流程

步骤1. CPAR应用关闭。

步骤1.打开连接到网络并连接到CPAR实例的任何SSH客户端。

切勿同时关闭一个站点内的所有4个AAA实例，以逐个方式执行。

第二步：使用以下命令关闭CPAR应用：

/opt/CSCOar/bin/arserver stop

A Message stating “Cisco Prime Access Registrar Server Agent shutdown complete.” Should show up

如果用户使CLI会话处于打开状态，则arserver stop命令将不起作用，并且显示以下消息：

ERROR:    You can not shut down Cisco Prime Access Registrar while the

CLI is being used.   Current list of running

CLI with process id is:

2903 /opt/CSCOar/bin/aregcmd –s

在本例中，需要终止突出显示的进程ID 2903，然后才能停止CPAR。如果是这种情况，请使用以下命令终止此过程：

kill -9 *process_id*

然后重复步骤1。

第三步：发出以下命令，验证CPAR应用确实已关闭：

/opt/CSCOar/bin/arstatus

应显示以下消息：

Cisco Prime Access Registrar Server Agent not running

Cisco Prime Access Registrar GUI not running

VM快照任务

步骤1:输入与当前正在处理的站点（城市）对应的Horizon GUI网站。

访问Horizon时，会观察此屏幕：

第二步：导航到项目>实例，如图所示。

如果使用的用户是CPAR，则此菜单中仅显示4个AAA实例。

第三步：一次只关闭一个实例，请重复本文档中的整个过程。

要关闭VM，请导航至“操作”>“关闭实例”并确认选择。

第四步：通过选中状态=关闭和电源状态=关闭来验证实例确实已关闭。

此步骤将结束CPAR关闭过程。

VM快照

一旦CPAR VM关闭，快照可以并行拍摄，因为它们属于独立计算机。

四个QCOW2文件将并行创建。

拍摄每个AAA实例的快照（25分钟–1小时）（使用qcow映像作为源的实例为25分钟，使用原始映像作为源的实例为1小时）

步骤1.登录POD的OpenStack的HorizonGUI.

步骤2.登录后，继续进入顶部菜单的“项目”>“计算”>“实例”部分，并查找AAA实例。

步骤3.单击“创建快照”按钮继续创建快照（需要在相应的AAA实例上执行此操作）。

步骤4.快照运行后，导航至“图像”菜单，确认所有快照都已完成并且没有报告问题。

步骤5.下一步是下载QCOW2格式的快照，并将其传输到远程实体，以防OSPD在此过程中丢失。为此，请使用此命令在OSPD级别查看image-list来标识快照。

[root@elospd01 stack]# glance image-list

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

| ID                                   | Name                      |             +--------------------------------------+---------------------------+

| 80f083cb-66f9-4fcf-8b8a-7d8965e47b1d | AAA-Temporary             |             | 22f8536b-3f3c-4bcc-ae1a-8f2ab0d8b950 | ELP1 cluman 10_09_2017    |

| 70ef5911-208e-4cac-93e2-6fe9033db560 | ELP2 cluman 10_09_2017    |

| e0b57fc9-e5c3-4b51-8b94-56cbccdf5401 | ESC-image                 |

| 92dfe18c-df35-4aa9-8c52-9c663d3f839b | lgnaaa01-sept102017       |

| 1461226b-4362-428b-bc90-0a98cbf33500 | tmobile-pcrf-13.1.1.iso   |

| 98275e15-37cf-4681-9bcc-d6ba18947d7b | tmobile-pcrf-13.1.1.qcow2 |

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

步骤6.一旦确定要下载的快照（在本例中将是上面标记为绿色的快照），请使用命令glance image-download将其以QCOW2格式下载，如下所示。

[root@elospd01 stack]# glance image-download 92dfe18c-df35-4aa9-8c52-9c663d3f839b --file /tmp/AAA-CPAR-LGNoct192017.qcow2 &

- “&”将进程发送到后台。完成此操作需要一些时间，完成后，映像可以位于/tmp目录。

- 在将进程发送到后台时，如果连接丢失，则进程也会停止。

- 执行命令“disown -h”，以便在SSH连接丢失时，进程仍在OSPD上运行并完成。

步骤7.下载过程完成后，需要执行压缩过程，因为由于操作系统处理的进程、任务和临时文件，该快照可能会用ZEROES填充。用于文件压缩的命令是virt-sparsify。

[root@elospd01 stack]# virt-sparsify AAA-CPAR-LGNoct192017.qcow2 AAA-CPAR-LGNoct192017_compressed.qcow2

此过程需要一段时间（大约10-15分钟）。 完成后，生成的文件是需要按照下一步指定的方式传输到外部实体的文件。

需要验证文件完整性，为此，请执行下一个命令并在其输出末尾查找“损坏”属性。

[root@wsospd01 tmp]# qemu-img info AAA-CPAR-LGNoct192017_compressed.qcow2

image: AAA-CPAR-LGNoct192017_compressed.qcow2

file format: qcow2

virtual size: 150G (161061273600 bytes)

disk size: 18G

cluster_size: 65536

Format specific information:

compat: 1.1

lazy refcounts: false

refcount bits: 16

corrupt: false

为避免OSPD丢失的问题，需要将最近创建的QCOW2格式快照传输到外部实体。在开始文件传输之前，我们必须检查目的主机是否有足够的可用磁盘空间，请使用命令“df -kh”以验证内存空间。我们的建议是，使用SFTP“sftproot@x.x.x.x”（其中x.x.x.x是远程OSPD的IP）将其临时传输到另一站点的OSPD。为了加快传输速度，目的地可以发送到多个OSPD。同样，我们可以使用以下命令scp *name_of_the_file*.qcow2 root@ x.x.x.x:/tmp（其中x.x.x.x是远程OSPD的IP）将文件传输到另一个OSPD。

平稳关闭电源

关闭节点电源

1. 要关闭实例，请执行以下操作：nova stop <INSTANCE_NAME>

2. 现在，您将看到实例名称和状态关闭。

[stack@director ~]$ nova stop  aaa2-21

Request to stop server aaa2-21 has been accepted.

[stack@director ~]$ nova list

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

| ID                                   | Name                      | Status  | Task State | Power State | Networks                                                                                                   |

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

| 46b4b9eb-a1a6-425d-b886-a0ba760e6114 | AAA-CPAR-testing-instance | ACTIVE  | -          | Running     | tb1-mgmt=172.16.181.14, 10.225.247.233; radius-routable1=10.160.132.245; diameter-routable1=10.160.132.231 |

| 3bc14173-876b-4d56-88e7-b890d67a4122 | aaa2-21                   | SHUTOFF | -          | Shutdown    | diameter-routable1=10.160.132.230; radius-routable1=10.160.132.248; tb1-mgmt=172.16.181.7, 10.225.247.234  |

| f404f6ad-34c8-4a5f-a757-14c8ed7fa30e | aaa21june                 | ACTIVE  | -          | Running     | diameter-routable1=10.160.132.233; radius-routable1=10.160.132.244; tb1-mgmt=172.16.181.10                 |

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

更换主板

要更换UCS C240 M4服务器中的主板，请参阅《Cisco UCS C240 M4服务器安装和服务指南》

1. 使用CIMC IP登录服务器。

2. 如果固件与之前使用的推荐版本不同，请执行BIOS升级。BIOS升级步骤如下：Cisco UCS C系列机架式服务器BIOS升级指南

恢复虚拟机

通过快照恢复实例

恢复过程

可以重新部署上一个实例，并在前面的步骤中拍摄快照。

第1步[可选]。如果之前没有可用的VMsnapshot，则连接到发送备份的OSPD节点，并将备份发送回其原始OSPD节点。使用“sftproot@x.x.x.x”，其中x.x.x.x是原始OSPD的IP。将快照文件保存在/tmp目录中。

第二步：连接到实例重新部署的OSPD节点。

使用以下命令来源化环境变量：

# source /home/stack/pod1-stackrc-Core-CPAR

第三步：要将快照用作映像，必须将其上传到水平线。使用下一个命令执行此操作。

#glance image-create -- AAA-CPAR-Date-snapshot.qcow2 --container-format bare --disk-format qcow2 --name AAA-CPAR-Date-snapshot

这个过程可以在地平线上看到。

第四步：在Horizon中，导航至Project > Instances，然后单击Launch Instance。

第五步：填写实例名称并选择可用区域。

第六步：在“源”选项卡中，选择创建实例的图像。在“选择启动源”菜单中选择映像，此处显示映像列表，选择您单击+号时之前上传的映像列表。

步骤 7.在Flavor（风味）选项卡中，点击+号时选择AAA风味选项。

步骤8.最后，导航至网络选项卡，并在您点击+号时选择实例所需的网络。对于此情况，请选择diameter-soutable1、radius-routable1和tb1-mgmt。

步骤9.最后，单击“启动实例”创建实例。进度可在Horizon中监控：

几分钟后，该实例已完全部署并准备使用。

创建并分配浮动IP地址

浮动IP地址是可路由的地址，这意味着它可以从Ultra M/Openstack体系结构外部访问，并且能够从网络与其他节点通信。

步骤1.在“水平线顶部”菜单中，导航至“管理”>“浮动IP”。

步骤2.单击“将IP分配到项目”按钮。

步骤3.在分配浮动IP窗口中，选择新浮动IP所属的池、分配浮动IP的项目以及新浮动IP地址本身

例如：

步骤4.单击AllocateFloating IP按钮。

步骤5.在“展望期顶部”菜单中，导航至“项目”>“实例”。

第六步：在“操作”列中，单击指向“创建快照”按钮中的向下箭头，应显示菜单。选择关联浮动IP选项。

步骤7.在IP Address字段中选择要使用的相应浮动IP地址，并从将在要关联的端口中分配此浮动IP的新实例中选择相应的管理接口(eth0)。请参考下一张图像作为此步骤的示例。

第8步。最后，单击“关联”按钮。

启用SSH

步骤1:在“展望期顶部”菜单中，导航至“项目”>“实例”。

第二步：单击在“午餐新实例”部分中创建的实例/VM的名称。

步骤3.单击“控制台”选项卡。这将显示VM的命令行界面。

第四步：显示CLI后，输入正确的登录凭证：

用户名：root

密码：cisco123

第五步：在CLI中，输入commanddvi /etc/ssh/sshd_config以编辑ssh配置。

步骤6.打开SSH配置文件后，按Ito编辑文件。然后查找下面显示的部分，并更改第一行fromPasswordAuthentication notoPasswordAuthentication yes。

步骤 7.按Esc并输入：wq!以保存sshd_config文件更改。

步骤8.执行命令service sshd restart。

步骤9.为了测试SSH配置更改已正确应用，请打开任何SSH客户端，并尝试使用分配给实例(即10.145.0.249)的浮动IP和用户根建立远程安全连接。

建立SSH会话

使用安装应用的相应VM/服务器的IP地址打开SSH会话。

CPAR实例启动

请按照以下步骤操作，活动完成后，可在关闭的站点中重新建立CPAR服务。

1. 要重新登录到Horizon，请导航至Project > Instance > Start Instance。

2. 验证实例的状态为活动且电源状态为运行：

活动后运行状况检查

步骤1.在操作系统级别执行命令/opt/CSCOar/bin/arstatus。

[root@aaa04 ~]# /opt/CSCOar/bin/arstatus

Cisco Prime AR RADIUS server running       (pid: 24834)

Cisco Prime AR Server Agent running        (pid: 24821)

Cisco Prime AR MCD lock manager running    (pid: 24824)

Cisco Prime AR MCD server running          (pid: 24833)

Cisco Prime AR GUI running                 (pid: 24836)

SNMP Master Agent running                (pid: 24835)

[root@wscaaa04 ~]#

步骤2.在操作系统级别执行命令/opt/CSCOar/bin/aregcmd并输入管理员凭证。验证CPAR运行状况是10/10，并退出CPAR CLI。

[root@aaa02 logs]# /opt/CSCOar/bin/aregcmd

Cisco Prime Access Registrar 7.3.0.1 Configuration Utility

Copyright (C) 1995-2017 by Cisco Systems, Inc.  All rights reserved.

Cluster:

User: admin

Passphrase:

Logging in to localhost

[ //localhost ]

LicenseInfo = PAR-NG-TPS 7.2(100TPS:)

PAR-ADD-TPS 7.2(2000TPS:)

PAR-RDDR-TRX 7.2()

PAR-HSS 7.2()

Radius/

Administrators/

Server 'Radius' is Running, its health is 10 out of 10

--> exit

第三步：运行netstat命令 | grep diameter，并验证所有DRA连接都已建立。

下面提到的输出适用于需要Diameter链路的环境。如果显示的链路较少，则表示与需要分析的DRA断开。

[root@aa02 logs]# netstat | grep diameter

tcp         0            0 aaa02.aaa.epc.:77 mp1.dra01.d:diameter ESTABLISHED

tcp         0            0 aaa02.aaa.epc.:36 tsa6.dra01:diameter ESTABLISHED

tcp         0            0 aaa02.aaa.epc.:47 mp2.dra01.d:diameter ESTABLISHED

tcp         0            0 aaa02.aaa.epc.:07 tsa5.dra01:diameter ESTABLISHED

tcp         0            0 aaa02.aaa.epc.:08 np2.dra01.d:diameter ESTABLISHED

步骤4.检查TPS日志是否显示CPAR正在处理的请求。突出显示的值代表TPS，这些值是我们需要注意的。

TPS的值不应超过1500。

[root@wscaaa04 ~]# tail -f /opt/CSCOar/logs/tps-11-21-2017.csv

11-21-2017,23:57:35,263,0

11-21-2017,23:57:50,237,0

11-21-2017,23:58:05,237,0

11-21-2017,23:58:20,257,0

11-21-2017,23:58:35,254,0

11-21-2017,23:58:50,248,0

11-21-2017,23:59:05,272,0

11-21-2017,23:59:20,243,0

11-21-2017,23:59:35,244,0

11-21-2017,23:59:50,233,0

第五步：在name_radius_1_log中查找任何“error”或“alarm”消息

[root@aaa02 logs]# grep -E "error|alarm" name_radius_1_log

步骤 6 发出以下命令，验证CPAR进程正在使用的内存量：

顶部 | grep radius

[root@sfraaa02 ~]# top | grep radius

27008 root      20   0 20.228g 2.413g  11408 S 128.3  7.7   1165:41 radius

此突出显示的值应低于：7Gb，是应用级别允许的最大值。

OSD计算节点中的主板更换

在练习之前，托管在计算节点中的虚拟机将正常关闭，CEPH将进入维护模式。更换主板后，VM将恢复，CEPH将移出维护模式。

识别托管在Osd-Compute节点中的虚拟机

确定托管在OSD计算服务器上的虚拟机。

[stack@director ~]$ nova list --field name,host | grep osd-compute-0

| 46b4b9eb-a1a6-425d-b886-a0ba760e6114 | AAA-CPAR-testing-instance | pod2-stack-compute-4.localdomain |

备份：快照流程

CPAR应用关闭

步骤1.打开连接到网络并连接到CPAR实例的任何SSH客户端。

切勿同时关闭一个站点内的所有4个AAA实例，以逐个方式执行。

第二步：使用以下命令关闭CPAR应用：

/opt/CSCOar/bin/arserver stop

A Message stating “Cisco Prime Access Registrar Server Agent shutdown complete.” Should show up

注意：如果用户使CLI会话处于打开状态，则arserver stop命令将不起作用，并且将显示以下消息：

ERROR:    You can not shut down Cisco Prime Access Registrar while the

CLI is being used.   Current list of running

CLI with process id is:

2903 /opt/CSCOar/bin/aregcmd –s

在本例中，需要终止突出显示的进程ID 2903，然后才能停止CPAR。如果是这种情况，请使用以下命令终止此过程：

kill -9 *process_id*

然后重复步骤1。

第三步：使用以下命令验证CPAR应用确实已关闭：

/opt/CSCOar/bin/arstatus

系统将显示以下消息：

Cisco Prime Access Registrar Server Agent not running

Cisco Prime Access Registrar GUI not running

VM快照任务

步骤1:输入与当前正在处理的站点（城市）对应的Horizon GUI网站。

访问Horizon时，会观察到以下图像：

步骤2.导航至“项目”>“实例”，如图所示。

如果使用的用户是CPAR，则此菜单中仅显示4个AAA实例。

第三步：一次只关闭一个实例，请重复本文档中的整个过程。

要关闭VM，请导航至操作>关闭实例并确认选择。

第四步：通过选中状态=关闭和电源状态=关闭来验证实例确实已关闭。

此步骤将结束CPAR关闭过程。

VM快照

一旦CPAR VM关闭，快照可以并行拍摄，因为它们属于独立计算机。

四个QCOW2文件并行创建。

拍摄每个AAA实例的快照（25分钟–1小时）（使用qcow映像作为源的实例为25分钟，使用原始映像作为源的实例为1小时）

步骤1.登录POD的Openstack的HorizonGUI。

步骤2.登录后，继续进入顶部菜单的“项目”>“计算”>“实例”部分，并查找AAA实例。

步骤3.单击“创建快照”按钮继续创建快照（需要在相应的AAA实例上执行此操作）。

步骤4.快照运行后，导航至“图像”菜单，确认所有快照都已完成并且没有报告问题。

步骤5.下一步是下载QCOW2格式的快照，并将其传输到远程实体，以防OSPD在此过程中丢失。为此，请使用此命令在OSPD级别查看image-list来标识快照。

[root@elospd01 stack]# glance image-list

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

| ID                                   | Name                      |             +--------------------------------------+---------------------------+

| 80f083cb-66f9-4fcf-8b8a-7d8965e47b1d | AAA-Temporary             |             | 22f8536b-3f3c-4bcc-ae1a-8f2ab0d8b950 | ELP1 cluman 10_09_2017    |

| 70ef5911-208e-4cac-93e2-6fe9033db560 | ELP2 cluman 10_09_2017    |

| e0b57fc9-e5c3-4b51-8b94-56cbccdf5401 | ESC-image                 |

| 92dfe18c-df35-4aa9-8c52-9c663d3f839b | lgnaaa01-sept102017       |

| 1461226b-4362-428b-bc90-0a98cbf33500 | tmobile-pcrf-13.1.1.iso   |

| 98275e15-37cf-4681-9bcc-d6ba18947d7b | tmobile-pcrf-13.1.1.qcow2 |

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

步骤6.一旦确定要下载快照（在本例中为绿色标记的快照），现在使用此命令glance image-download下载快照。

[root@elospd01 stack]# glance image-download 92dfe18c-df35-4aa9-8c52-9c663d3f839b --file /tmp/AAA-CPAR-LGNoct192017.qcow2 &

- “&”将进程发送到后台。完成此操作需要一些时间，完成后，映像可以位于/tmp目录。

- 在将进程发送到后台时，如果连接丢失，则进程也会停止。

- 执行命令“disown -h”，以便在SSH连接丢失时，进程仍在OSPD上运行并完成。

7.下载过程完成后，需要执行压缩过程，因为由于操作系统处理的进程、任务和临时文件，该快照可能会用ZEROES填充。用于文件压缩的命令是virt-sparsify。

[root@elospd01 stack]# virt-sparsify AAA-CPAR-LGNoct192017.qcow2 AAA-CPAR-LGNoct192017_compressed.qcow2

此过程需要一段时间（大约10-15分钟）。 完成后，生成的文件是需要按照下一步指定的方式传输到外部实体的文件。

需要验证文件完整性，为此，请运行下一个命令并在其输出末尾查找“损坏”属性。

[root@wsospd01 tmp]# qemu-img info AAA-CPAR-LGNoct192017_compressed.qcow2

image: AAA-CPAR-LGNoct192017_compressed.qcow2

file format: qcow2

virtual size: 150G (161061273600 bytes)

disk size: 18G

cluster_size: 65536

Format specific information:

compat: 1.1

lazy refcounts: false

refcount bits: 16

corrupt: false

为避免OSPD丢失的问题，需要将最近创建的QCOW2格式快照传输到外部实体。在开始文件传输之前，我们必须检查目的主机是否有足够的可用磁盘空间，请使用命令“df -kh”以验证内存空间。我们的建议是，使用SFTP“sftproot@x.x.x.x”（其中x.x.x.x是远程OSPD的IP）将其临时传输到另一站点的OSPD。为了加快传输速度，目的地可以发送到多个OSPD。同样，我们可以使用以下命令scp *name_of_the_file*.qcow2 root@ x.x.x.x:/tmp（其中x.x.x.x是远程OSPD的IP）将文件传输到另一个OSPD。

将CEPH置于维护模式

步骤1.验证服务器中的OSD树状态是否为up

[heat-admin@pod2-stack-osd-compute-0 ~]$ sudo ceph osd tree

ID WEIGHT TYPE NAME UP/DOWN REWEIGHT PRIMARY-AFFINITY

-1 13.07996 root default

-2 4.35999 host pod2-stack-osd-compute-0

0 1.09000 osd.0 up 1.00000 1.00000

3 1.09000 osd.3 up 1.00000 1.00000

6 1.09000 osd.6 up 1.00000 1.00000

9 1.09000 osd.9 up 1.00000 1.00000

-3 4.35999 host pod2-stack-osd-compute-1

1 1.09000 osd.1 up 1.00000 1.00000

4 1.09000 osd.4 up 1.00000 1.00000

7 1.09000 osd.7 up 1.00000 1.00000

10 1.09000 osd.10 up 1.00000 1.00000

-4 4.35999 host pod2-stack-osd-compute-2

2 1.09000 osd.2 up 1.00000 1.00000

5 1.09000 osd.5 up 1.00000 1.00000

8 1.09000 osd.8 up 1.00000 1.00000

11 1.09000 osd.11 up 1.00000 1.00000

步骤2.登录OSD计算节点并将CEPH置于维护模式。

[root@pod2-stack-osd-compute-0 ~]# sudo ceph osd set norebalance

[root@pod2-stack-osd-compute-0 ~]# sudo ceph osd set noout

[root@pod2-stack-osd-compute-0 ~]# sudo ceph status

cluster eb2bb192-b1c9-11e6-9205-525400330666

health HEALTH_WARN

noout,norebalance,sortbitwise,require_jewel_osds flag(s) set

monmap e1: 3 mons at {pod2-stack-controller-0=11.118.0.10:6789/0,pod2-stack-controller-1=11.118.0.11:6789/0,pod2-stack-controller-2=11.118.0.12:6789/0}

election epoch 10, quorum 0,1,2 pod2-stack-controller-0,pod2-stack-controller-1,pod2-stack-controller-2

osdmap e79: 12 osds: 12 up, 12 in

flags noout,norebalance,sortbitwise,require_jewel_osds

pgmap v22844323: 704 pgs, 6 pools, 804 GB data, 423 kobjects

2404 GB used, 10989 GB / 13393 GB avail

704 active+clean

client io 3858 kB/s wr, 0 op/s rd, 546 op/s wr

注意：删除CEPH后，VNF HD RAID将进入“已降级”状态，但必须仍可访问硬盘

平稳关闭电源

关闭节点电源

1. 要关闭实例，请执行以下操作：nova stop <INSTANCE_NAME>

2. 您会看到实例名称和状态关闭。

[stack@director ~]$ nova stop  aaa2-21

Request to stop server aaa2-21 has been accepted.

[stack@director ~]$ nova list

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

| ID                                   | Name                      | Status  | Task State | Power State | Networks                                                                                                   |

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

| 46b4b9eb-a1a6-425d-b886-a0ba760e6114 | AAA-CPAR-testing-instance | ACTIVE  | -          | Running     | tb1-mgmt=172.16.181.14, 10.225.247.233; radius-routable1=10.160.132.245; diameter-routable1=10.160.132.231 |

| 3bc14173-876b-4d56-88e7-b890d67a4122 | aaa2-21                   | SHUTOFF | -          | Shutdown    | diameter-routable1=10.160.132.230; radius-routable1=10.160.132.248; tb1-mgmt=172.16.181.7, 10.225.247.234  |

| f404f6ad-34c8-4a5f-a757-14c8ed7fa30e | aaa21june                 | ACTIVE  | -          | Running     | diameter-routable1=10.160.132.233; radius-routable1=10.160.132.244; tb1-mgmt=172.16.181.10                 |

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

更换主板

要更换UCS C240 M4服务器中的主板，请参阅《Cisco UCS C240 M4服务器安装和服务指南》

1. 使用CIMC IP登录服务器。

2. 如果固件与之前使用的推荐版本不同，请执行BIOS升级。BIOS升级步骤如下：Cisco UCS C系列机架式服务器BIOS升级指南

将CEPH移出维护模式

登录OSD计算节点并将CEPH移出维护模式。

[root@pod2-stack-osd-compute-0 ~]# sudo ceph osd unset norebalance

[root@pod2-stack-osd-compute-0 ~]# sudo ceph osd unset noout

[root@pod2-stack-osd-compute-0 ~]# sudo ceph status

cluster eb2bb192-b1c9-11e6-9205-525400330666

health HEALTH_OK

monmap e1: 3 mons at {pod2-stack-controller-0=11.118.0.10:6789/0,pod2-stack-controller-1=11.118.0.11:6789/0,pod2-stack-controller-2=11.118.0.12:6789/0}

election epoch 10, quorum 0,1,2 pod2-stack-controller-0,pod2-stack-controller-1,pod2-stack-controller-2

osdmap e81: 12 osds: 12 up, 12 in

flags sortbitwise,require_jewel_osds

pgmap v22844355: 704 pgs, 6 pools, 804 GB data, 423 kobjects

2404 GB used, 10989 GB / 13393 GB avail

704 active+clean

client io 3658 kB/s wr, 0 op/s rd, 502 op/s wr

恢复虚拟机

通过快照恢复实例

恢复过程：

可以重新部署上一个实例，并在前面的步骤中拍摄快照。

第1步[可选]。如果之前没有可用的VMsnapshot，则连接到发送备份的OSPD节点，并将备份发送回其原始OSPD节点。使用“sftproot@x.x.x.x”，其中x.x.x.x是原始OSPD的IP。将快照文件保存在/tmp目录中。

第二步：连接到实例重新部署的OSPD节点。

使用以下命令来源化环境变量：

# source /home/stack/pod1-stackrc-Core-CPAR

第三步：要将快照用作映像，必须将其上传到水平线。使用下一个命令执行此操作。

#glance image-create -- AAA-CPAR-Date-snapshot.qcow2 --container-format bare --disk-format qcow2 --name AAA-CPAR-Date-snapshot

这个过程可以在地平线上看到。

第四步：在Horizon中，导航至Project > Instances，然后单击Launch Instance。

第五步：填写实例名称并选择可用区域。

第六步：在“源”选项卡中，选择要创建实例的映像。在“选择启动源”菜单中选择映像，此处显示映像列表，选择您单击+号时之前上传的映像列表。

步骤 7.在Flavor（风味）选项卡中，单击+号时选择AAA风味。

步骤8.最后，导航至网络选项卡，并在单击+号时选择实例所需的网络。对于此情况，请选择diameter-soutable1、radius-routable1和tb1-mgmt。

步骤9.最后，单击“启动实例”创建实例。进度可在Horizon中监控：

几分钟后，该实例已完全部署并准备使用。

创建并分配浮动IP地址

浮动IP地址是可路由的地址，这意味着它可以从Ultra M/Openstack体系结构外部访问，并且能够从网络与其他节点通信。

步骤1.在“水平线顶部”菜单中，导航至“管理”>“浮动IP”。

第二步：单击“AllocateIP to Project”按钮。

步骤3.在分配浮动IP窗口中，选择新浮动IP所属的池、分配浮动IP的项目以及新浮动IP地址本身

例如：

步骤4.单击AllocateFloating IP按钮。

步骤5.在“展望期顶部”菜单中，导航至“项目”>“实例”。

步骤6.在“操作”列中，单击指向“创建快照”按钮中的向下箭头，应显示菜单。选择关联浮动IP选项。

步骤7.在IP Address字段中选择要使用的相应浮动IP地址，并从将在要关联的端口中分配此浮动IP的新实例中选择相应的管理接口(eth0)。请参考下一张图像作为此步骤的示例。

第8步。最后，单击Associate按钮。

启用SSH

步骤1:在“展望期顶部”菜单中，导航至“项目”>“实例”。

第二步：单击在“午餐新实例”部分中创建的实例/VM的名称。

第三步：单击“Console（控制台）”选项卡。这显示VM的CLI。

步骤4.显示CLI后，输入正确的登录凭据：

用户名：root

密码：cisco123

第五步：在CLI中，输入commanddvi /etc/ssh/sshd_config以编辑ssh配置。

步骤6.打开SSH配置文件后，按Ito编辑文件。然后查找此处显示的部分，并更改第一行fromPasswordAuthentication notoPasswordAuthentication yes。

步骤 7.按Esc并输入：wq!以保存sshd_config文件更改。

步骤8.运行命令服务sshd重新启动。

步骤9.为了测试SSH配置更改已正确应用，请打开任何SSH客户端，并尝试使用分配给实例(即10.145.0.249)的浮动IP和用户根建立远程安全连接。

建立SSH会话

使用安装应用的相应VM/服务器的IP地址打开SSH会话。

CPAR实例启动

请按照以下步骤操作，一旦活动完成，CPAR服务可以在关闭的站点中重新建立。

1. 登录回Horizon，导航至Project > Instance > Start Instance。

2. 验证实例的状态为活动且电源状态为运行：

活动后运行状况检查

步骤1.在操作系统级别运行命令/opt/CSCOar/bin/arstatus。

[root@aaa04 ~]# /opt/CSCOar/bin/arstatus

Cisco Prime AR RADIUS server running       (pid: 24834)

Cisco Prime AR Server Agent running        (pid: 24821)

Cisco Prime AR MCD lock manager running    (pid: 24824)

Cisco Prime AR MCD server running          (pid: 24833)

Cisco Prime AR GUI running                 (pid: 24836)

SNMP Master Agent running                (pid: 24835)

[root@wscaaa04 ~]#

步骤2.在操作系统级别运行命令/opt/CSCOar/bin/aregcmd并输入管理员凭证。验证CPAR运行状况是10/10，并退出CPAR CLI。

[root@aaa02 logs]# /opt/CSCOar/bin/aregcmd

Cisco Prime Access Registrar 7.3.0.1 Configuration Utility

Copyright (C) 1995-2017 by Cisco Systems, Inc.  All rights reserved.

Cluster:

User: admin

Passphrase:

Logging in to localhost

[ //localhost ]

LicenseInfo = PAR-NG-TPS 7.2(100TPS:)

PAR-ADD-TPS 7.2(2000TPS:)

PAR-RDDR-TRX 7.2()

PAR-HSS 7.2()

Radius/

Administrators/

Server 'Radius' is Running, its health is 10 out of 10

--> exit

第三步：运行命令netstat | grep diameter，并验证所有DRA连接都已建立。

此处提到的输出适用于需要Diameter链路的环境。如果显示的链路较少，则表示与需要分析的DRA断开。

[root@aa02 logs]# netstat | grep diameter

tcp         0            0 aaa02.aaa.epc.:77 mp1.dra01.d:diameter ESTABLISHED

tcp         0            0 aaa02.aaa.epc.:36 tsa6.dra01:diameter ESTABLISHED

tcp         0            0 aaa02.aaa.epc.:47 mp2.dra01.d:diameter ESTABLISHED

tcp         0            0 aaa02.aaa.epc.:07 tsa5.dra01:diameter ESTABLISHED

tcp         0            0 aaa02.aaa.epc.:08 np2.dra01.d:diameter ESTABLISHED

步骤4.检查TPS日志是否显示CPAR正在处理的请求。突出显示的值代表TPS，这些值是我们需要注意的。

TPS的值不应超过1500。

[root@wscaaa04 ~]# tail -f /opt/CSCOar/logs/tps-11-21-2017.csv

11-21-2017,23:57:35,263,0

11-21-2017,23:57:50,237,0

11-21-2017,23:58:05,237,0

11-21-2017,23:58:20,257,0

11-21-2017,23:58:35,254,0

11-21-2017,23:58:50,248,0

11-21-2017,23:59:05,272,0

11-21-2017,23:59:20,243,0

11-21-2017,23:59:35,244,0

11-21-2017,23:59:50,233,0

第五步：在name_radius_1_log中查找任何“error”或“alarm”消息

[root@aaa02 logs]# grep -E "error|alarm" name_radius_1_log

步骤 6 验证CPAR进程使用此命令的内存量：

顶部 | grep radius

[root@sfraaa02 ~]# top | grep radius

27008 root      20   0 20.228g 2.413g  11408 S 128.3  7.7   1165:41 radius

此突出显示的值应低于：7Gb，是应用级别允许的最大值。

控制器节点中的主板更换

验证控制器状态并将集群置于维护模式

从OSPD，登录控制器并验证pc是否处于正常状态 — 所有三个控制器联机和加莱拉都显示所有三个控制器为主控制器。

[heat-admin@pod2-stack-controller-0 ~]$ sudo pcs status

Cluster name: tripleo_cluster

Stack: corosync

Current DC: pod2-stack-controller-2 (version 1.1.15-11.el7_3.4-e174ec8) - partition with quorum

Last updated: Fri Jul 6 09:02:52 2018Last change: Mon Jul 2 12:49:52 2018 by root via crm_attribute on pod2-stack-controller-0

3 nodes and 19 resources configured

Online: [ pod2-stack-controller-0 pod2-stack-controller-1 pod2-stack-controller-2 ]

Full list of resources:

ip-11.120.0.49(ocf::heartbeat:IPaddr2):Started pod2-stack-controller-1

Clone Set: haproxy-clone [haproxy]

Started: [ pod2-stack-controller-0 pod2-stack-controller-1 pod2-stack-controller-2 ]

Master/Slave Set: galera-master [galera]

Masters: [ pod2-stack-controller-0 pod2-stack-controller-1 pod2-stack-controller-2 ]

ip-192.200.0.110(ocf::heartbeat:IPaddr2):Started pod2-stack-controller-1

ip-11.120.0.44(ocf::heartbeat:IPaddr2):Started pod2-stack-controller-2

ip-11.118.0.49(ocf::heartbeat:IPaddr2):Started pod2-stack-controller-2

Clone Set: rabbitmq-clone [rabbitmq]

Started: [ pod2-stack-controller-0 pod2-stack-controller-1 pod2-stack-controller-2 ]

ip-10.225.247.214(ocf::heartbeat:IPaddr2):Started pod2-stack-controller-1

Master/Slave Set: redis-master [redis]

Masters: [ pod2-stack-controller-2 ]

Slaves: [ pod2-stack-controller-0 pod2-stack-controller-1 ]

ip-11.119.0.49(ocf::heartbeat:IPaddr2):Started pod2-stack-controller-2

openstack-cinder-volume(systemd:openstack-cinder-volume):Started pod2-stack-controller-1

Daemon Status:

corosync: active/enabled

pacemaker: active/enabled

pcsd: active/enabled

将集群置于维护模式

[heat-admin@pod2-stack-controller-0 ~]$ sudo pcs cluster standby

[heat-admin@pod2-stack-controller-0 ~]$ sudo pcs status

Cluster name: tripleo_cluster

Stack: corosync

Current DC: pod2-stack-controller-2 (version 1.1.15-11.el7_3.4-e174ec8) - partition with quorum

Last updated: Fri Jul 6 09:03:10 2018Last change: Fri Jul 6 09:03:06 2018 by root via crm_attribute on pod2-stack-controller-0

3 nodes and 19 resources configured

Node pod2-stack-controller-0: standby

Online: [ pod2-stack-controller-1 pod2-stack-controller-2 ]

Full list of resources:

ip-11.120.0.49(ocf::heartbeat:IPaddr2):Started pod2-stack-controller-1

Clone Set: haproxy-clone [haproxy]

Started: [ pod2-stack-controller-1 pod2-stack-controller-2 ]

Stopped: [ pod2-stack-controller-0 ]

Master/Slave Set: galera-master [galera]

Masters: [ pod2-stack-controller-0 pod2-stack-controller-1 pod2-stack-controller-2 ]

ip-192.200.0.110(ocf::heartbeat:IPaddr2):Started pod2-stack-controller-1

ip-11.120.0.44(ocf::heartbeat:IPaddr2):Started pod2-stack-controller-2

ip-11.118.0.49(ocf::heartbeat:IPaddr2):Started pod2-stack-controller-2

Clone Set: rabbitmq-clone [rabbitmq]

Started: [ pod2-stack-controller-0 pod2-stack-controller-1 pod2-stack-controller-2 ]

ip-10.225.247.214(ocf::heartbeat:IPaddr2):Started pod2-stack-controller-1

Master/Slave Set: redis-master [redis]

Masters: [ pod2-stack-controller-2 ]

Slaves: [ pod2-stack-controller-1 ]

Stopped: [ pod2-stack-controller-0 ]

ip-11.119.0.49(ocf::heartbeat:IPaddr2):Started pod2-stack-controller-2

openstack-cinder-volume(systemd:openstack-cinder-volume):Started pod2-stack-controller-1

Daemon Status:

corosync: active/enabled

pacemaker: active/enabled

pcsd: active/enabled

更换主板

更换UCS C240 M4服务器主板的步骤可参阅《Cisco UCS C240 M4服务器安装和服务指南》

1. 使用CIMC IP登录服务器。

2. 如果固件与之前使用的推荐版本不同，请执行BIOS升级。BIOS升级步骤如下：

Cisco UCS C系列机架式服务器BIOS升级指南

恢复集群状态

登录到受影响的控制器，通过设置非备用模式删除备用模式。  验证控制器是否与集群联机，并且galera将所有三个控制器显示为主控制器。  此过程需要几分钟的时间。

[heat-admin@pod2-stack-controller-0 ~]$ sudo pcs cluster unstandby

[heat-admin@pod2-stack-controller-0 ~]$ sudo pcs status

Cluster name: tripleo_cluster

Stack: corosync

Current DC: pod2-stack-controller-2 (version 1.1.15-11.el7_3.4-e174ec8) - partition with quorum

Last updated: Fri Jul 6 09:03:37 2018Last change: Fri Jul 6 09:03:35 2018 by root via crm_attribute on pod2-stack-controller-0

3 nodes and 19 resources configured

Online: [ pod2-stack-controller-0 pod2-stack-controller-1 pod2-stack-controller-2 ]

Full list of resources:

ip-11.120.0.49(ocf::heartbeat:IPaddr2):Started pod2-stack-controller-1

Clone Set: haproxy-clone [haproxy]

Started: [ pod2-stack-controller-0 pod2-stack-controller-1 pod2-stack-controller-2 ]

Master/Slave Set: galera-master [galera]

Masters: [ pod2-stack-controller-1 pod2-stack-controller-2 ]

Slaves: [ pod2-stack-controller-0 ]

ip-192.200.0.110(ocf::heartbeat:IPaddr2):Started pod2-stack-controller-1

ip-11.120.0.44(ocf::heartbeat:IPaddr2):Started pod2-stack-controller-2

ip-11.118.0.49(ocf::heartbeat:IPaddr2):Started pod2-stack-controller-2

Clone Set: rabbitmq-clone [rabbitmq]

Started: [ pod2-stack-controller-1 pod2-stack-controller-2 ]

Stopped: [ pod2-stack-controller-0 ]

ip-10.225.247.214(ocf::heartbeat:IPaddr2):Started pod2-stack-controller-1

Master/Slave Set: redis-master [redis]

Masters: [ pod2-stack-controller-2 ]

Slaves: [ pod2-stack-controller-0 pod2-stack-controller-1 ]

ip-11.119.0.49(ocf::heartbeat:IPaddr2):Started pod2-stack-controller-2

openstack-cinder-volume(systemd:openstack-cinder-volume):Started pod2-stack-controller-1

Daemon Status:

corosync: active/enabled

pacemaker: active/enabled

pcsd: active/enabled