目录

简介

先决条件

要求

使用的组件

背景信息

CPS VNF实例恢复过程

故障排除

从SHUTOFF状态打开任何实例

从错误状态恢复任何实例

CPS应用程序恢复过程

PCRFCLIENT01恢复

PCRFCLIENT02恢复

验证

简介

本文档介绍如何排除策略服务器(PS)恢复故障。

先决条件

要求

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

- 思科策略套件(CPS)

- OpenStack

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

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

- 按照文档中所述的备份过程定期执行/安排。

使用的组件

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

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

背景信息

CPS VNF实例恢复过程

在本节中，如下所述：

- 从SHUTOFF状态恢复任何实例。

- 从ERROR状态恢复任何实例。

故障排除

从SHUTOFF状态打开任何实例

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

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

source /home/stack/destackovsrc-Pcrf

nova list --fields name,host,status | grep oam-s1

| c5e4ebd4-803d-45c1-bd96-fd6e459b7ed6 | SVS1-oam-s1_0_fd8b0bb8-a2d7-4dae-8048-0c3d86c5d8ed  | SHUTOFF|

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

source /home/stack/destackovsrc

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

| state                     | up                                       |

| status                    | enabled                                  |

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

echo "show esc_datamodel opdata tenants tenant Pcrf deployments * state_machine | tab" | /opt/cisco/esc/confd/bin/confd_cli -u admin –C | grep qns-s2

SVS1-tmo_oam-s1_0_fd8b0bb8-a2d7-4dae-8048-0c3d86c5d8ed VM_ERROR_STATE

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

source /home/stack/destackovsrc-Pcrf

nova start SVS1-tmo_oam-s1_0_fd8b0bb8-a2d7-4dae-8048-0c3d86c5d8ed

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

source /home/stack/destackovsrc-Pcrf

nova list –fields name,status | grep oam-s1

| c5e4ebd4-803d-45c1-bd96-fd6e459b7ed6 |SVS1-tmo_oam-s1_0_fd8b0bb8-a2d7-4dae-8048-0c3d86c5d8ed  | ACTIVE |

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

/opt/cisco/esc/esc-confd/esc-cli/esc_nc_cli vm-action ENABLE_MONITOR SVS1-tmo_oam-s1_0_fd8b0bb8-a2d7-4dae-8048-0c3d86c5d8ed

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

从错误状态恢复任何实例

如果openstack中CPS实例的状态为ERROR，则可使用此过程：

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

source /home/stack/destackovsrc-Pcrf

nova list --fields name,host,status | grep oam-s1

| c5e4ebd4-803d-45c1-bd96-fd6e459b7ed6 | SVS1-tmo_oam-s1_0_fd8b0bb8-a2d7-4dae-8048-0c3d86c5d8ed  | ERROR|

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

source /home/stack/destackovsrc

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

| state                     | up                                       |

| status                    | enabled                                  |

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

echo "show esc_datamodel opdata tenants tenant Pcrf deployments * state_machine | tab" | /opt/cisco/esc/confd/bin/confd_cli -u admin -C | grep oam-s1

SVS1-tmo_oam-s1_0_fd8b0bb8-a2d7-4dae-8048-0c3d86c5d8ed VM_ERROR_STATE

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

source /home/stack/destackovsrc-Pcrf

nova reset-state –active oam-s1_0_170d9c14-0221-4609-87e3-d752e636f57f

nova reboot --hard  oam-s1_0_170d9c14-0221-4609-87e3-d752e636f57f

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

source /home/stack/destackovsrc-Pcrf

nova list --fields name,status | grep oam-s1

| c5e4ebd4-803d-45c1-bd96-fd6e459b7ed6 |SVS1-tmo_oam-s1_0_fd8b0bb8-a2d7-4dae-8048-0c3d86c5d8ed | ACTIVE |

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

/opt/cisco/esc/esc-confd/esc-cli/esc_nc_cli vm-action ENABLE_MONITOR SVS1-tmo_oam-s1_0_fd8b0bb8-a2d7-4dae-8048-0c3d86c5d8ed

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

CPS应用程序恢复过程

PCRFCLIENT01恢复

策略SVN恢复：

在PCRFCLIENTXX上，PCRFCLIENTXX在/var/www/svn/repos/上安装策略SVN，这样，即使实例丢失，丢失策略SVN的变化也会减少。如果您的部署没有策略服务的不同调心卷，或者存储策略服务的调心卷也丢失，请按照以下步骤恢复PCRFCLIENT01上的策略SVN。

步骤1.以根用户身份登录到Cluster Manager VM。

步骤2.通过以下命令记录SVN存储库的UUID:

svn info http://pcrfclient02/repos | grep UUID

该命令为输出提供存储库的UUID:

For Example Repository UUID: ea50bbd2-5726-46b8-b807-10f4a7424f0e

步骤3.检查策略SVN在使用提供的命令时是否同步。如果返回值，则SVN已同步。而且您不需要从PCRFCLIENT02同步它，您应跳过步骤4。从上次备份恢复仍然可以按照本节后面所述的要求使用。

/usr/bin/svn propget svn:sync-from-url --revprop -r0 http://pcrfclient01/repos

步骤4.在PCRFCLIENT01上执行一系列命令，以pcrfclient01为主，在pcrfclient01和pcrfclient02之间重新建立SVN主/从同步

/bin/rm -fr /var/www/svn/repos

/usr/bin/svnadmin create /var/www/svn/repos

/usr/bin/svn propset --revprop -r0 svn:sync-last-merged-rev 0

http://pcrfclient02/repos-proxy-sync

/usr/bin/svnadmin setuuid /var/www/svn/repos/ "Enter the UUID captured in step 2"

/etc/init.d/vm-init-client

/var/qps/bin/support/recover_svn_sync.sh

步骤5.如果PCRFCLIENT01上的策略SVN与PCRFCLEINT02同步，但最新的服务未在策略生成器中反映，则可以通过在集群管理器VM上使用命令的上次备份导入该服务。

config_br.py –a import --svn /mnt/backup/

PCRFCLIENT02恢复

在PCRFCLIENTXX上，PCRFCLIENTXX在/var/www/svn/repos/上安装策略SVN，这样，即使实例丢失，丢失策略SVN的变化也会减少。如果您的部署没有策略服务的不同内容量，或者存储策略服务的内容也丢失，请按照以下步骤恢复PCRFCLIENT02上的策略SVN。

步骤1.保护pcrfclient01的外壳

ssh pcrfclient01

步骤2.运行脚本，将SVN重订点从pcrfclient01同步到pcrfclient02

/var/qps/bin/support/recover_svn_sync.sh

验证

验证pcrfclient的运行状况：

run diagnostics.sh from pcrfrclient

确保PB、控制中心和Grafana GUI可访问且工作正常。

- /var/qps/bin/support/recover_svn_sync.sh

/var/qps/bin/support/recover_svn_sync.sh