目录

简介

先决条件

要求

使用的组件

故障排除

从关闭状态打开仲裁电源

从错误状态恢复任何实例

恢复仲裁器/arbitervip

验证

简介

本文档介绍如何恢复在Ultra-M/Openstack部署上部署的思科虚拟策略和计费规则功能(vPCRF)实例。

作者：思科高级服务部Nitesh Bansal。

先决条件

要求

思科建议您了解以下主题：

- OpenStack

- CPS

- 现在可以使用部署受影响实例的计算。

- 计算资源在与受影响实例相同的可用区域中可用。

使用的组件

本文档中的信息基于CPS，适用于所有版本。

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

故障排除

从关闭状态打开仲裁电源

如果任何实例由于计划的关闭或其他原因处于关闭状态，请使用以下步骤启动该实例并在弹性服务控制器(ESC)中启用其监控。

步骤1.通过OpenStack检查实例的状态。

source /home/stack/destackovsrc-Pcrf

nova list --fields name,host,status | grep arbiter

| c5e4ebd4-803d-45c1-bd96-fd6e459b7ed6 | r5-arbiter_arb_0_2eb86cbf-07e5-4e14-9002-8990588b8957 | destackovs-compute-2  | SHUTOFF|

步骤2.检查计算是否可用并确保状态为up。

source /home/stack/destackovsrc

nova hypervisor-show destackovs-compute-2 | egrep ‘status|state’

| state                     | up                                       |

| status                    | enabled                                  |

步骤3.以管理员用户身份登录到ESC Master并检查opdata中实例的状态。

/opt/cisco/esc/esc-confd/esc-cli/esc_nc_cli get esc_datamodel/opdata | grep arbiter

r5-arbiter_arb_0_2eb86cbf-07e5-4e14-9002-8990588b8957 VM_ERROR_STATE

步骤4.从openstack打开实例电源。

source /home/stack/destackovsrc-Pcrf

nova start r5-arbiter_arb_0_2eb86cbf-07e5-4e14-9002-8990588b8957

步骤5.等待五分钟，使实例启动并进入活动状态。

source /home/stack/destackovsrc-Pcrf

nova list –fields name,status | grep cm

| c5e4ebd4-803d-45c1-bd96-fd6e459b7ed6 | r5-arbiter_arb_0_2eb86cbf-07e5-4e14-9002-8990588b8957 | ACTIVE |

步骤6.在实例处于活动状态后，在ESC中启用VM监控。

/opt/cisco/esc/esc-confd/esc-cli/esc_nc_cli vm-action ENABLE_MONITOR r5-arbiter_arb_0_2eb86cbf-07e5-4e14-9002-8990588b8957

有关实例配置的进一步恢复，请参阅下面提供的实例类型特定过程。

从错误状态恢复任何实例

如果openstack中的CPS实例状态为ERROR状态，请使用以下步骤启动该实例：

步骤1.重置实例的状态以强制实例返回活动状态而不是错误状态，完成后，重新启动实例。

source /home/stack/destackovsrc-Pcrf

nova reset-state –active r5-arbiter_arb_0_2eb86cbf-07e5-4e14-9002-8990588b8957

nova reboot –-hard  r5-arbiter_arb_0_2eb86cbf-07e5-4e14-9002-8990588b8957

步骤2.以管理员用户身份登录到ESC Master并检查opdata中实例的状态。

/opt/cisco/esc/esc-confd/esc-cli/esc_nc_cli get esc_datamodel/opdata | grep arbiter

r5-arbiter_arb_0_2eb86cbf-07e5-4e14-9002-8990588b8957 VM_ERROR_STATE

步骤3.检查计算是否可用并运行正常。

source /home/stack/destackovsrc

nova hypervisor-show destackovs-compute-2 | egrep ‘status|state’

| state                     | up                                       |

| status                    | enabled                                  |

步骤4.检查OpenStack中实例的状态。

source /home/stack/destackovsrc-Pcrf

nova list --fields name,host,status | grep arbiter

| c5e4ebd4-803d-45c1-bd96-fd6e459b7ed6 | r5-arbiter_arb_0_2eb86cbf-07e5-4e14-9002-8990588b8957 | destackovs-compute-2  | ERROR|

步骤5.等待五分钟，使实例启动并进入活动状态。

source /home/stack/destackovsrc-Pcrf

nova list –fields name,status | grep arbiter

| c5e4ebd4-803d-45c1-bd96-fd6e459b7ed6 | r5-arbiter_arb_0_2eb86cbf-07e5-4e14-9002-8990588b8957 | ACTIVE |

步骤6.如果 在重新启动后，集群管理器将状态更改为活动，在集群管理器实例处于活动状态后，在ESC中启用VM监控器。

/opt/cisco/esc/esc-confd/esc-cli/esc_nc_cli vm-action ENABLE_MONITOR r5-arbiter_arb_0_2eb86cbf-07e5-4e14-9002-8990588b8957

步骤7.恢复到运行/活动状态后，请参阅实例类型特定过程以从备份中恢复配置/数据。

恢复仲裁器/arbitervip

如果最近恢复了仲裁器实例/pcrfclient，并且仲裁器不在diagnostics.sh get_replica_status输出中，则按照此步骤操作。

如果部署有专用仲裁服务器VM使用步骤1到3，则对于arbitervip，请另外运行步骤4，然后运行以下步骤：

1. 在集群管理器上，运行以下命令以根据系统配置创建mongodb启动/停止脚本：

cd /var/qps/bin/support/mongo

build_set.sh --all --create-scripts

2.  在PCRFCLIENTXX或（和）仲裁服务器上，运行此命令以列出您需要启动的所有进程。

cd etc/init.d/

ll | grep sessionmgr

3.  在PCRFCLIENTXX或（和）仲裁服务器上列出的每个文件上，运行此命令，用端口号替换xxxxx，例如27717:

/etc/init.d/sessionmgr-xxxxx start

Example:

/etc/init.d/sessionmgr-27717 start

4. 如果使用仲裁服务器vip，请通过以下命令检查pcrfclient01上的任何pcs资源是否需要清除：

pcs resource show | grep –v started

如果步骤4中的命令返回了任何输出，请使用以下命令清除pcs资源，对于未启动的多个pcs资源，请对每个资源重复该命令：

pcs resource cleanup

验证

验证副本状态的运行状况：

Run diagnostics.sh on pcrfclient01

如果仲裁服务器作为仲裁服务器运行，而不是仲裁服务器/pcrfclient，则验证VM是否完全恢复，您可以执行以下步骤：

1. 在主仲裁器上，所有mongo进程都应运行，并且可以在仲裁器上使用此命令来验证它：

ps –aef | grep mongo

2. 验证监控下的所有进程是否都处于仲裁器的正常（运行/监控）状态。

monit summary