简介
本文档介绍如何排除策略服务器(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可访问且工作正常。