目录

简介

故障排除

从SHUTOFF状态打开集群管理器电源

从错误状态恢复任何实例

通过快照重建CPS集群管理器

通过快照重新部署CPS群集管理器

验证

简介

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

故障排除

从SHUTOFF状态打开集群管理器电源

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

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

source /home/stack/destackovsrc-Pcrf

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

| c5e4ebd4-803d-45c1-bd96-fd6e459b7ed6 | SVS1-tmo_cm_0_e3ac7841-7f21-45c8-9f86-3524541d6634 | 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 cm_0

SVS1-tmo_cm_0_e3ac7841-7f21-45c8-9f86-3524541d6634 VM_ERROR_STATE

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

source /home/stack/destackovsrc-Pcrf

nova start SVS1-tmo_cm_0_e3ac7841-7f21-45c8-9f86-3524541d6634

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

source /home/stack/destackovsrc-Pcrf

nova list –fields name,status | grep cm_0

| c5e4ebd4-803d-45c1-bd96-fd6e459b7ed6 | SVS1-tmo_cm_0_e3ac7841-7f21-45c8-9f86-3524541d6634 | ACTIVE

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

/opt/cisco/esc/esc-confd/esc-cli/esc_nc_cli vm-action ENABLE_MONITOR SVS1-tmo_cm_0_e3ac7841-7f21-45c8-9f86-3524541d6634

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

从错误状态恢复任何实例

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

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

source /home/stack/destackovsrc-Pcrf

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

| c5e4ebd4-803d-45c1-bd96-fd6e459b7ed6 | SVS1-tmo_cm_0_e3ac7841-7f21-45c8-9f86-3524541d6634 | destackovs-compute-2  | ERROR|

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

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 cm_0

SVS1-tmo_cm_0_e3ac7841-7f21-45c8-9f86-3524541d6634 VM_ERROR_STATE

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

source /home/stack/destackovsrc-Pcrf

nova reset-state –active SVS1-tmo_cm_0_e3ac7841-7f21-45c8-9f86-3524541d6634

nova reboot –-hard  SVS1-tmo_cm_0_e3ac7841-7f21-45c8-9f86-3524541d6634

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

source /home/stack/destackovsrc-Pcrf

nova list –fields name,status | grep cm_0

| c5e4ebd4-803d-45c1-bd96-fd6e459b7ed6 | SVS1-tmo_cm_0_e3ac7841-7f21-45c8-9f86-3524541d6634 | ACTIVE |

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

/opt/cisco/esc/esc-confd/esc-cli/esc_nc_cli vm-action ENABLE_MONITOR SVS1-tmo_cm_0_e3ac7841-7f21-45c8-9f86-3524541d6634

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

通过快照重建CPS集群管理器

如果思科策略套件(CPS)停滞在ERROR状态，无法通过已描述的过程启动，且实例在openstack中可用。建议通过快照映像重建实例。

步骤1.确保最后确认的正常配置的快照作为QCOW文件存在，在备份期间使用此之前生成的文件，scp/sftp将其返回OpenStack平台 — 导向器(OSPD)计算。使用以下步骤将其转换为一目了然的图像：

source /home/stack/destackovsrc-Pcrf

glance image-create --name CPS_Cluman_13.1.1 --disk-format "qcow2" --container "bare" --file /var/Pcrf/cluman_snapshot.raw

Alternatively,

glance image-create --name rebuild_cluman --file /home/stack/cluman_snapshot.raw --disk-format qcow2 --container-format bare

步骤2.在OSPD上使用nova rebuild命令，使用如图所示的上载快照重建云VM实例。

nova rebuild

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

source /home/stack/destackovsrc-Pcrf

nova list –fields name,status | grep cm

| c5e4ebd4-803d-45c1-bd96-fd6e459b7ed6 |cm_0_170d9c14-0221-4609-87e3-d752e636f57f| ACTIVE |

步骤4.如果，集群管理器在重建后将状态更改为ACTIVE，请检查ESC中实例的状态，如果需要，在ESC中启用VM监控。

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

cm_0_170d9c14-0221-4609-87e3-d752e636f57f VM_ERROR_STATE

/opt/cisco/esc/esc-confd/esc-cli/esc_nc_cli vm-action ENABLE_MONITOR cm_0_170d9c14-0221-4609-87e3-d752e636f57f

步骤5.验证与Cluster Manager原始ISO映像关联的Cinder卷是否已更新为重新部署后的当前时间：

cinder list | grep tmobile-pcrf-13.1.1-1.iso

| 2f6d7deb-60d6-40fa-926f-a88536cf98a3 | in-use    | tmobile-pcrf-13.1.1-1.iso | 3    | -           | true     | a3f3bc62-0195-483a-bbc0-692bccd37307 |

cinder show 2f6d7deb-60d6-40fa-926f-a88536cf98a3 | grep updated_at

| updated_at                     | 2018-06-18T08:54:59.000000

updated_at                     | 2018-06-18T08:54:59.000000

步骤6.如果在前面的步骤中未自动附加备份磁盘或之前附加到Cluster Manager实例的任何其他Cinder卷。

source /home/stack/destackovsrc-Pcrf

cinder list

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

| ID                                   | Status    | Name                      | Size | Volume Type | Bootable | Attached to                          |

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

| 0e7ec662-b59e-4e3a-91a9-35c4ed3f51d7 | available | pcrf-atp1-mongo02         | 3    | -           | false    |                                      |

| 2f6d7deb-60d6-40fa-926f-a88536cf98a3 | in-use    | tmobile-pcrf-13.1.1-1.iso | 3    | -           | true     | a3f3bc62-0195-483a-bbc0-692bccd37307 |

| 4c553948-df75-4f0b-bf7b-0e64127dfda3 | available | pcrf-atp1-svn01           | 3    | -           | false    |                                      |

| 594c052e-aaa3-4c82-867d-3b36162244b3 | available | tmobile-pcrf-13.1.1-2.iso | 3    | -           | true     |                                      |

| 64953713-de86-40d5-a0e5-07db22d692f2 | in-use    | tmobile-pcrf-13.1.1.iso   | 3    | -           | true     | 80a93e90-59e2-43bd-b67e-5d766d0a2f11 |

openstack server add volume

--device

步骤7.如果群集快照已旧，且config_br.py备份在拍摄日期后快照时可用。从备份导入配置，如果不是，则跳过此步骤。

ssh

config_br.py –a import --svn --etc --grafanadb --auth-htpasswd --haproxy /mnt/backup/

步骤8.通过集群管理器上的config_br.py从备份中重建所有VM映像：

/var/qps/install/current/scripts/build/build_all.sh

通过快照重新部署CPS群集管理器

如果CPS集群管理器VM丢失（无法恢复），并且重建进程（如2.3中所述）也失败，则需要通过ESC重新部署实例。此过程描述了相同过程：

步骤1.确保QCOW文件中存在上次确认良好配置的快照，在备份期间使用此之前生成的文件，scp/sftp将其返回OSPD计算。

ls –ltr /var/Pcrf/cluman_snapshot.qcow

-rw-r--r--. 1 root root 328514100 May 18 16:59 cluman_snapshot.qcow

步骤2.使用此步骤将其转换为概览图像。

source /home/stack/destackovsrc-Pcrf

glance image-create --name CPS_Cluman_13.1.1 --disk-format "qcow2" --container "bare" --file /var/Pcrf/cluman_snapshot.qcow

步骤3.映像可用后，登录ESC并验证ESC操作数据中的Cluster Manager实例状态。

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

cm_0_170d9c14-0221-4609-87e3-d752e636f57f VM_ERROR_STATE

步骤4.确保/home/admin/PCRF_config.xml文件在2.1.1中备份时存在

步骤5.获取要恢复的群集管理器的部署、租户和vm_group的名称。

示例代码段：

步骤6.触发从ESC删除Cluster Manager VM:

警告：从opdata中删除实例的命令应该完整，不完整的命令可以删除整个部署。请小心。命令应始终包含所有参数，即租户名称、部署名称和vm_group名称。

/opt/cisco/esc/confd/bin/confd_cli -u admin –C

esc-ha-01# config

esc-ha-01(config)# no esc_datamodel tenants tenant Pcrf deployments deployment DEP1 vm_group cm

esc-ha-01(config)# commit

esc-ha-01(config)# exit

上述步骤应从openstack和ESC opdata中删除实例。换句话说，群集管理器现在不是部署的一部分。

步骤7.验证是否已从ESC中的yangesc.log、ESC中的escmanager.log和OSPD节点中的nova列表中删除群集管理器实例。

步骤 8  修改在步骤2.1.1中备份的PCRF_config.xml文件，并将群集管理器映像的名称修改为从上述步骤的快照中新创建的映像：

更改前

更改后

<vm_group>

<name>cm</name>

<image>pcrf-13.1.1.qcow2</image>

<vm_group>

<name>cm</name>

<image>CPS_Cluman_13.1.1</image>

步骤9.修改PCRF_config.xml并删除Cluster Manager虚拟机组的云用户数据文件。要删除的xml代码段示例如下所示：

--user-data

file:///opt/cisco/esc/cisco-cps/config/pcrf-cm_cloud.cfg

CLUSTER_ID

P1

CM_IP_ADDR_PVT

192.168.1.107

PREFIX

vpc

SEQ

01

SITE_ID

DE

步骤10.将文件PCRF_config.xml复制到/opt/cisco/esc/cisco-cps/config/文件夹，其中存在所有其他配置文件。

步骤11.加载将新配置文件合并到ESC选项。

/opt/cisco/esc/confd/bin/confd_cli -u admin –C

esc-ha-01# config

esc-ha-01(config)# load merge /opt/cisco/esc/cisco-cps/config/PCRF_config.xml

esc-ha-01(config)# commit

esc-ha-01(config)# exit

步骤12.监控ESC上的yangesc.log、escmanager.log和OSPD上的nova列表，以验证Cluster Manager的部署。

source /home/stack/destackovsrc-Pcrf

nova list --fields name,status| grep cm

| 96a5647e-9970-4e61-ab5c-5e7285543a09 | cm_0_a11a9068-df37-4974-9bd8-566f825d5e39    | ACTIVE

步骤13.如果，集群管理器在重建后将状态更改为ACTIVE，请检查ESC中实例的状态，如果需要，在ESC中启用VM监控。

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

cm_0_170d9c14-0221-4609-87e3-d752e636f57f VM_ERROR_STATE

/opt/cisco/esc/esc-confd/esc-cli/esc_nc_cli vm-action ENABLE_MONITOR cm_0_170d9c14-0221-4609-87e3-d752e636f57f

步骤14.附加备份磁盘或之前附加到Cluster Manager实例的任何其他Cinder卷，而不是由Esc在上一步自动附加。

source /home/stack/destackovsrc-Pcrf

cinder list

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

| ID                                   | Status | Name                   | Size | Volume Type| Bootable| Attached to                            |

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

| 4c478cce-c746-455a-93f1-3f360acb87ce | in-use | CPS_14.0.0.release.iso | 3    | -           | true   | 96a5647e-9970-4e61-ab5c-5e7285543a09   |

| 7e5573d9-29bc-4ea0-b046-c666bb1f7e06 | in-use | PCRF_backup            | 1024 | -           | false  |                                        |

| d5ab1991-3e09-41f2-89f5-dd1cf8a9e172 | in-use | svn01                  | 2    | -           | false  | 09f4bafa-dfb6-457f-9af5-69196eb31b13   |

| d74988a7-1f59-4241-9777-fc4f2d4f3e78 | in-use | svn02                  | 2    | -           | false  | 86ea448d-09bc-4d2f-81a3-de05884f1e05   |

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

openstack server add volume

--device

步骤 15 如果群集快照已旧，且config_br.py备份在拍摄日期后快照时可用。从备份导入配置（如果不是），则跳过此步骤。

ssh

config_br.py –a import --svn --etc --grafanadb --users --auth-htpasswd --haproxy /mnt/backup/

步骤16.通过集群管理器上的config_br.py从备份中重建所有VM映像：

/var/qps/install/current/scripts/build/build_all.sh

验证

- 对集群管理器IP执行ping操作，以确保连接正常。

- 通过SSH连接群集管理器以检查可访问性。

- 从集群管理器验证诊断，以确保CPS的其他VM的运行状况不受影响。