目录

简介

背景信息

缩写

MoP工作流

先决条件

备份

组件RMA — 计算节点

识别托管在计算节点中的虚拟机

1. CPAR应用程序关闭

2.虚拟机快照任务

VM快照

平稳关闭电源

从计算节点替换故障组件

恢复虚拟机

使用快照恢复实例

创建并分配浮动IP地址

启用 SSH

建立SSH会话

组件RMA - OSD计算节点

识别托管在OSD计算节点中的虚拟机

1. CPAR应用程序关闭

2.虚拟机快照任务

VM快照

将CEPH置于维护模式

平稳关闭电源

从OSD计算节点更换故障组件

将CEPH移出维护模式

恢复虚拟机

使用快照恢复实例

组件RMA — 控制器节点

预检

将控制器集群移至维护模式

从控制器节点更换故障组件

打开服务器电源

简介

本文档介绍在Ultra-M设置中更换统一计算系统(UCS)服务器中此处提及的故障组件所需的步骤。

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

- 双列直插式内存模块(DIMM)更换MOP

- FlexFlash控制器故障

- 固态驱动器(SSD)故障

- 可信平台模块(TPM)故障

- RAID缓存故障

- RAID控制器/热总线适配器(HBA)故障

- PCI提升板故障

- PCIe适配器Intel X520 10G故障

- 模块化板载局域网(MLOM)故障

- 风扇托架RMA

- CPU故障

背景信息

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

通用唯一标识符

MoP工作流

先决条件

备份

在更换故障组件之前，必须检查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

此过程可确保在不影响任何实例可用性的情况下更换节点。此外，建议备份StarOS配置，特别是当要更换的计算/OSD计算节点托管控制功能(CF)虚拟机(VM)时。

注意：如果服务器是控制器节点，请继续“”部分，否则继续下一部分。确保您拥有实例的快照，以便在需要时恢复虚拟机。按照有关如何拍摄VM快照的步骤操作。

组件RMA — 计算节点

识别托管在计算节点中的虚拟机

确定服务器上托管的虚拟机。

[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 |

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

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

备份：快照流程

1. CPAR应用程序关闭

步骤1.打开连接到TMO生产网络并连接到CPAR实例的所有SSH客户端。

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

步骤2.要关闭CPAR应用，请运行以下命令：

/opt/CSCOar/bin/arserver stop

消息“Cisco Prime Access Registrar Server Agent Shutdown complete”。 必须出现。

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

ERROR:    You cannot 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。

步骤3.要验证CPAR应用确实已关闭，请运行以下命令：

/opt/CSCOar/bin/arstatus

必须显示以下消息：

Cisco Prime Access Registrar Server Agent not running

Cisco Prime Access Registrar GUI not running

2.虚拟机快照任务

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

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

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

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

步骤3.一次只关闭一个实例，重复本文档中的整个过程。要关闭VM，请导航至操作>关闭实例(如下图所示)并确认您的选择。

步骤4.通过选中Status = Shutoff和Power State = Shut Down（关闭），验证实例是否确实已关闭，如下图所示。

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

VM快照

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

四个QCOW2文件并行创建。

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

1. 登录POD的OpenStack的Horizon GUI。

2. 登录后，导航至顶部菜单的“项目”>“计算”>“实例”部分，并查找AAA实例，如下图所示。

3.单击“创建快照”以继续创建快照（需要在相应的AAA实例上执行此操作），如下图所示。

4.执行快照后，导航至“图像”菜单，并验证所有快照都已完成且未报告任何问题，如此图所示。

5.下一步是下载QCOW2格式的快照并将其传输到远程实体，以防OSPD在此过程中丢失。为此，请在OSPD级别运行命令glance 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.确定要下载的快照（标有绿色的快照）后，可以使用QCOW2格式下载快照，命令glance image-download如下所示。

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

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

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

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

7.下载过程完成后，需要执行压缩过程，因为由于操作系统(OS)处理的进程、任务和临时文件，快照可以用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将其临时传输到另一站点的OSPD，其中x.x.x.x是远程OSPD的IP。为了加快传输速度，目的地可以发送到多个OSPD。同样，您也可以运行命令scp *name_of_the_file*.qcow2 root@ x.x.x.x:/tmp（其中x.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服务器上的故障组件，请参阅以下步骤：

更换服务器组件

恢复虚拟机

使用快照恢复实例

恢复过程

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

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

步骤2.连接到OSPD节点，在该节点中可以重新部署实例，如图所示。

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

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

步骤3.要将快照用作映像，必须将其上传到展望期。请运行下一个命令以执行此操作。

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

该过程可在水平线中看到，如下图所示。

步骤4.在Horizon中，导航至Project > Instances，然后单击Launch Instance，如下图所示。

步骤5.输入实例名称并选择可用区，如下图所示。

步骤6.在“源”选项卡中，选择映像以创建实例。在“选择启动源”菜单中选择映像，将显示映像列表，通过单击其+号选择先前上传的映像，如此图像所示。

步骤7.在Flavor选项卡中，单击+号选择AAA风味，如此图所示。

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

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

几分钟后，该实例完全部署，可供使用，如下图所示。

创建并分配浮动IP地址

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

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

步骤2.单击Allocate IP to Project。

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

例如：

步骤4.单击“分配浮动IP”按钮。

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

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

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

步骤8.最后，单击“关联”。

启用 SSH

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

步骤2.单击“启动新实例”一节中创建的实例/VM的名称。

步骤3.单击“控制台”选项卡。这将显示VM的CLI。

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

用户名：root

密码：cisco123

步骤5.在CLI中，运行命令vi /etc/ssh/sshd_config以编辑SSH配置。

步骤6.打开SSH配置文件后，按I编辑文件。然后查找该部分，将第一行从PasswordAuthentication no更改为PasswordAuthentication yes，如此图所示。

步骤7.按ESC并运行：wq!以保存sshd_config文件更改。

步骤8.运行命令service sshd restart，如图所示。

步骤9.为了测试SSH配置更改已正确应用，请打开任何SSH客户端，并尝试使用分配给实例（即10.145.0.249）和用户根连接（如图所示）。

建立SSH会话

步骤1.使用安装应用的相应VM/服务器的IP地址打开SSH会话，如图所示。

CPAR实例启动

执行以下步骤后，活动完成后，可在关闭的站点中重新建立CPAR服务。

步骤1.重新登录展望期，导航至“项目”>“实例”>“开始实例”

步骤2.验证实例的状态为“活动”，且电源状态为“运行”，如此图所示。

9.活动后健康检查

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

[root@wscaaa04 ~]# /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

步骤3.运行命令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

步骤5.在name_radius_1_log中查找任何“错误”或“警报”消息

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

步骤6.通过运行命令验证CPAR进程使用的内存量：

top | 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，这是应用级别允许的最大值。

组件RMA - OSD计算节点

识别托管在OSD计算节点中的虚拟机

确定托管在OSD-Compute服务器上的VM。

[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 |

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

备份：快照流程

1. CPAR应用程序关闭

步骤1.打开连接到TMO生产网络并连接到CPAR实例的所有SSH客户端。

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

步骤2.要关闭CPAR应用，请运行以下命令：

/opt/CSCOar/bin/arserver stop

消息“Cisco Prime Access Registrar Server Agent Shutdown complete”。 必须出现。

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

ERROR:    You cannot 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。

步骤3.运行以下命令，验证CPAR应用确实已关闭：

/opt/CSCOar/bin/arstatus

必须显示以下消息：

Cisco Prime Access Registrar Server Agent not running

Cisco Prime Access Registrar GUI not running

2.虚拟机快照任务

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

当您访问Horizon时，可以观察此屏幕。

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

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

步骤3.一次只关闭一个实例，重复本文档中的整个过程。要关闭VM，请导航至操作>关闭实例(如图所示)并确认您的选择。

步骤4.通过选中Status = Shutoff和Power State = Shut Down（关闭状态=电源状态=关闭）来验证实例确实已关闭，如图所示。

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

VM快照

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

四个QCOW2文件并行创建。

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

1. 登录POD的OpenStack的Horizon GUI

2. 登录后，导航至顶部菜单的“项目”>“计算”>“实例”部分，并查找AAA实例，如下图所示。

3.单击“创建快照”以继续创建快照（需要在相应的AAA实例上执行此操作），如图所示。

4.执行快照后，导航至“图像”菜单，确认所有快照都已完成，并报告此图像中未出现任何问题。

5.下一步是下载QCOW2格式的快照并将其传输到远程实体，以防OSPD在此过程中丢失。为此，请在OSPD级别运行命令glance 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.确定要下载的快照（标有绿色的快照）后，可以使用QCOW2格式下载快照，命令glance image-download如下所示。

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

- 将进程发送到后台(&S)。完成此操作可能需要一些时间，完成后，映像可以位于/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 -khin以验证内存空间。一条建议是使用SFTP sftproot@x.x.x.x 将其临时传输到另一站点的OSPD，其中x.x.x.x是远程OSPD的IP。为了加快传输速度，目的地可以发送到多个OSPD。同样，您也可以运行命令scp *name_of_the_file*.qcow2 root@ x.x.x.x:/tmp（其中x.x.x.x.x是远程OSPD的IP），以便将文件传输到另一个OSPD。

将CEPH置于维护模式

注意：如果要在OSD-Compute节点上更换有故障的组件，请在继续进行组件更换之前将Ceph置于服务器的“维护”状态。

- 验证服务器中的CEPH 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

- 登录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                 |

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

从OSD计算节点更换故障组件

关闭指定服务器。要更换UCS C240 M4服务器上的故障组件，请参阅以下步骤：

更换服务器组件

将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目录中。

步骤2.连接到将重新部署实例的OSPD节点。

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

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

步骤3.要将快照用作映像，必须将其上传到水平。运行下一个命令。

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

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

步骤4.在“展望期”中，导航到“项目”>“实例”，然后单击“启动实例”，如下图所示。

步骤5.输入实例名称并选择可用区，如图所示。

步骤6.在“源”选项卡中，选择创建实例的图像。在“选择启动源”菜单中，选择映像，显示映像列表，选择之前通过单击其+号上载的映像。

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

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

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

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

创建并分配浮动IP地址

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

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

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

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

例如：

步骤4.单击Allocate Floating IP。

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

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

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

步骤8.最后，单击“关联”。

启用 SSH

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

步骤2.单击“启动新实例”一节中创建的实例/VM的名称。

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

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

用户名：root

密码：cisco123

步骤5.在CLI中，运行命令vi /etc/ssh/sshd_config以编辑ssh配置。

步骤6.打开SSH配置文件后，按I编辑文件。然后查找此部分，将第一行从PasswordAuthentication no更改为PasswordAuthentication yes。

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

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

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

建立SSH会话

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

CPAR实例启动

执行以下步骤后，活动完成后，可在关闭的站点中重新建立CPAR服务。

步骤1.重新登录展望期，导航至“项目”>“实例”>“启动实例”。

步骤2.验证实例的状态为“活动”，且电源状态为“运行”，如图所示。

9.活动后健康检查

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

[root@wscaaa04 ~]# /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 Health（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

步骤3.运行命令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

步骤5.在name_radius_1_log中查找任何“错误”或“警报”消息

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

步骤6.通过运行以下命令来验证CPAR进程使用的内存量：

top | 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，这是应用级别允许的最大值。

组件RMA — 控制器节点

预检

- 从OSPD，登录控制器并验证pc是否处于良好状态 — 所有三个控制器联机和Galera都显示所有三个控制器为主控制器。

注意：正常的集群需要2个活动控制器，因此，请验证保持在线和活动状态的两个控制器。

[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

将控制器集群移至维护模式

- 在备用控制器上运行pcs集群：

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

- 再次检查pcs状态，并确保pcs群集在此节点上停止：

[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

此外，其他2个控制器上的pc状态必须显示节点为备用。

从控制器节点更换故障组件

关闭指定服务器。要更换UCS C240 M4服务器上的故障组件，请参阅以下步骤：

更换服务器组件

打开服务器电源

- 打开服务器电源并验证服务器是否启动：

[stack@director ~]$ source stackrc

[stack@director ~]$ nova list

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

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

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

| 03f15071-21aa-4bcf-8fdd-acdbde305168 | pod2-stack-compute-0 | ACTIVE | - | Running | ctlplane=192.200.0.106 |

| 1f725ce3-948d-49e9-aed9-b99e73d82644 | pod2-stack-compute-1 | ACTIVE | - | Running | ctlplane=192.200.0.107 |

| fbc13c78-dc06-4ac9-a3c5-595ccc147adc | pod2-stack-compute-2 | ACTIVE | - | Running | ctlplane=192.200.0.119 |

| 3b94e0b1-47dc-4960-b3eb-d02ffe9ae693 | pod2-stack-compute-3 | ACTIVE | - | Running | ctlplane=192.200.0.112 |

| 5dbac94d-19b9-493e-a366-1e2e2e5e34c5 | pod2-stack-compute-4 | ACTIVE | - | Running | ctlplane=192.200.0.116 |

| b896c73f-d2c8-439c-bc02-7b0a2526dd70 | pod2-stack-controller-0 | ACTIVE | - | Running | ctlplane=192.200.0.113 |

| 2519ce67-d836-4e5f-a672-1a915df75c7c | pod2-stack-controller-1 | ACTIVE | - | Running | ctlplane=192.200.0.105 |

| e19b9625-5635-4a52-a369-44310f3e6a21 | pod2-stack-controller-2 | ACTIVE | - | Running | ctlplane=192.200.0.120 |

| 6810c884-1cb9-4321-9a07-192443920f1f | pod2-stack-osd-compute-0 | ACTIVE | - | Running | ctlplane=192.200.0.109 |

| 26d3f7b1-ba97-431f-aa6e-ba91661db45d | pod2-stack-osd-compute-1 | ACTIVE | - | Running | ctlplane=192.200.0.117 |

| 6e4a8aa9-4870-465a-a7e2-0932ff55e34b | pod2-stack-osd-compute-2 | ACTIVE | - | Running | ctlplane=192.200.0.103 |

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

- 登录受影响的控制器，使用非备用模式删除备用模式。验证控制器是否与集群联机，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

- 您可以检查某些监控服务，例如ceph，它们处于健康状态：

[heat-admin@pod2-stack-controller-0 ~]$ sudo ceph -s

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