此产品的文档集力求使用非歧视性语言。在本文档集中,非歧视性语言是指不隐含针对年龄、残障、性别、种族身份、族群身份、性取向、社会经济地位和交叉性的歧视的语言。由于产品软件的用户界面中使用的硬编码语言、基于 RFP 文档使用的语言或引用的第三方产品使用的语言,文档中可能无法确保完全使用非歧视性语言。 深入了解思科如何使用包容性语言。
思科采用人工翻译与机器翻译相结合的方式将此文档翻译成不同语言,希望全球的用户都能通过各自的语言得到支持性的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 Cisco Systems, Inc. 对于翻译的准确性不承担任何责任,并建议您总是参考英文原始文档(已提供链接)。
本文档介绍恢复在Ultra-M/OpenStack环境上部署的虚拟思科策略和计费规则功能(vPCRF)实例的过程。
Cisco 建议您了解以下主题:
本文档不限于特定的软件和硬件版本。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
ESC-HA中的配置必须在ESC中进行任何上扩或下扩操作之前/之后以及配置更改之前/之后每月备份一次。必须备份它,才能有效执行ESC的灾难恢复。
ESC选项数据作为XML
请按以下步骤将ESC选项数据导出为XML:
1.使用管理员凭证登录ESC。
2.将操作数据导出到XML:
/opt/cisco/esc/confd/bin/netconf-console --host 127.0.0.1 --port 830 -u <admin-user> -p <admin-password> --get-config > /home/admin/ESC_config.xml
3.将此文件下载到您的本地计算机ftp/sftp,下载到云外的服务器。
4.部署XML中引用的所有脚本和用户数据文件。从上一步骤中导出的操作数据中查找所有VNF的部署XML中引用的所有用户数据文件。
grep "file://" /home/admin/ESC_config.xml | sort | uniq
示例输出:
<file>file://opt/cisco/esc/cisco-cps/config/gr/cfg/std/pcrf-cm_cloud.cfg</file> <file>file://opt/cisco/esc/cisco-cps/config/gr/cfg/std/pcrf-oam_cloud.cfg</file> <file>file://opt/cisco/esc/cisco-cps/config/gr/cfg/std/pcrf-pd_cloud.cfg</file> <file>file://opt/cisco/esc/cisco-cps/config/gr/cfg/std/pcrf-qns_cloud.cfg</file> <file>file://opt/cisco/esc/cisco-cps/config/gr/cfg/std/pcrf-sm_cloud.cfg</file>
5.查找用于发送CPS协调API的所有部署后脚本。
6. ESC操作数据中post_deploy脚本的示例片段
示例输出:
<policies> <policy> <name>PCRF_POST_DEPLOYMENT</name> <conditions> <condition> <name>LCS::POST_DEPLOY_ALIVE</name> </condition> </conditions> <actions> <action> <name>FINISH_PCRF_INSTALLATION</name> <type>SCRIPT</type> <properties> ---------- <property> <name>script_filename</name> <value>/opt/cisco/esc/cisco-cps/config/gr/tmo/cfg/../cps_init.py</value> </property> <property> <name>script_timeout</name> <value>3600</value> </property> </properties> </action> </actions> </policy> </policies>
示例 2:
<policy> <name>PCRF_POST_DEPLOYMENT</name> <conditions> <condition> <name>LCS::POST_DEPLOY_ALIVE</name> </condition> </conditions> <actions> <action> <name>FINISH_PCRF_INSTALLATION</name> <type>SCRIPT</type> <properties> <property> <name>CLUMAN_MGMT_ADDRESS</name> <value>10.174.132.46</value> </property> <property> <name>CLUMAN_YAML_FILE</name> <value>/opt/cisco/esc/cisco-cps/config/vpcrf01/ cluman_orch_config.yaml</value> </property> <property> <name>script_filename</name> <value>/opt/cisco/esc/cisco-cps/config/vpcrf01/vpcrf_cluman_post_deployment.py</value> </property> <property> <name>wait_max_timeout</name> <value>3600</value> </property> </properties> </action> </actions> </policy>
如果部署ESC选项数据(在上一步中提取)包含任何突出显示的文件,请使用此命令将其备份。
tar –zcf esc_files_backup.tgz /opt/cisco/esc/cisco-cps/config/
将此文件下载到您的本地计算机ftp/sftp,下载到云外的服务器。
注意:虽然opdata在ESC主实例和备用实例之间同步,但包含用户数据、XML和部署后脚本的目录不会在两个实例之间同步。建议客户使用SCP或SFTP推送包含这些文件的目录的内容,这些文件应在ESC-Primary和ESC-Standby之间保持恒定,以便在部署时主要的ESC VM不可用时恢复部署。
ESC中的建议备份计划
这些是建议在ESC主和ESC备用中添加的根用户的crontab条目。但是,您可以根据网络中的要求和更改频率修改小时/天/月。
30 01 * * * tar –zcf /home/admin/esc_files_backup_$(date +"\%Y-\%m-\%d").tgz /opt/cisco/esc/cisco-cps/config/ 00 02 * * * /opt/cisco/esc/confd/bin/netconf-console --host 127.0.0.1 --port 830 -u <admin-user> -p <admin-password> --get-config > /home/admin/ESC_config_$(date +"\%Y-\%m-\%d").xml
集群管理器充当一个CPS集群的伪主。因此,有必要拍摄此实例的快照。此外,思科提供的备份和恢复实用程序可用于收集mongoDB、策略配置、grafana DB、用户、网络和其他pcrf配置文件的备份。这些文件应经常使用CPS备份实用程序进行备份,并存储在Ultra-M云外的位置。
群集管理器VM快照
必须每月备份Cluster Manager实例快照,而且必须在任何配置更改、补丁更新和升级之前和之后进行备份。成功执行活动后,可以删除旧快照以节省磁盘空间。此过程介绍将群集管理器实例备份为快照的步骤:
1.此命令用于查看nova实例并注意群集管理器VM实例的名称:
nova list
2.创建新星快照映像,如下所示:
nova image-create --poll <cluman_instance_name> <cluman_snapshot_name>
示例输出:
Server snapshotting... 100% complete
Finished
注意:确保有足够的磁盘空间用于快照。群集管理器有时在创建快照时变得无法访问,并在创建快照后恢复自身。如果实例即使在快照过程完成后仍无法访问,请使用nova list命令检查VM的状态。如果它处于SHUTOFF状态,则需要使用nova start命令手动启动VM。
3.确保使用此命令创建快照映像。
glance image-list
示例输出:
+--------------------------------------+-------------------------------------+ | ID | Name | +--------------------------------------+-------------------------------------+ | 1683d05f-2a9f-46d8-877d-10982ee819e1 | cluman_backup_image | | 30f2ece1-6438-4ef7-b4cf-44a0e7de183e | CPS_13.1.1.release.iso | | d38321a1-27c1-4c47-bc0f-24aedab5867a | CPS_13.1.1_Base | +--------------------------------------+-------------------------------------+
4.执行任何可能影响Ceph的平台更改时,始终建议将群集管理器的快照转换为QCOW文件并将其保存到某个远程位置。
glance image-download --file /var/Pcrf/cluman_snapshot.raw <image-id of the snapshot>
5.将此文件下载到您的本地计算机ftp/sftp,下载到云外的服务器。
CPS配置和数据库的备份
1.为了备份CPS配置和数据库内容,config_br.py实用程序内置在CPS平台中。《CPS备份和还原指南》中提供了有关使用config_br.py实用程序的详细信息。这是群集管理器中的crontab示例,用于在每天01时备份所有配置和数据库。
00 01 * * * /var/platform/modules/config_br.py -a export -–all /mnt/backup/backup_$(date +\%Y-\%m-\%d).tar
2. MongoDB也可以使用mongodump进行备份。
30 01 * * * mongodump --host sessionmgr01 –port 27721 --out /mnt/backup/mongo_admin_27721_$(date +\%Y-\%m-\%d)/ 30 01 * * * mongodump --host sessionmgr01 –port 27720 --out /mnt/backup/mongo_spr_27720_$(date +\%Y-\%m-\%d)/ 30 01 * * * mongodump --host sessionmgr01 –port 27718 --out /mnt/backup/mongo_bal_27718_$(date +\%Y-\%m-\%d)/ 30 01 * * * mongodump --host sessionmgr01 –port 27719 --out /mnt/backup/mongo_report_27721_$(date +\%Y-\%m-\%d)/
3.备份协调YAML。
curl -i -X GET http://<Cluster Manager IP>:8458/api/system/config -H "Content-Type: application/yaml" > /mnt/backup/CPS_orc_$(date +\%Y-\%m-\%d).yaml
如果CPS协调API用于配置系统,建议也备份此配置。
注意:所有备份都必须存储/传输到CPS VNF外,最好是部署CPS的云外。
CPS VNF实例恢复过程
从关闭状态打开任何实例。
如果任何实例由于计划的关闭或其他原因处于关闭状态,请使用此过程启动实例并在ESC中启用其监控。
1.通过OpenStack检查实例的状态。
source /home/stack/destackovsrc-Pcrf nova list --fields name,host,status | grep cm | c5e4ebd4-803d-45c1-bd96-fd6e459b7ed6 | cm_0_170d9c14-0221-4609-87e3-d752e636f57f| destackovs-compute-2 | SHUTOFF|
2.检查计算是否可用,并确保状态为up。
source /home/stack/destackovsrc-Pcrf nova list --fields name,host,status | grep cm | c5e4ebd4-803d-45c1-bd96-fd6e459b7ed6 | cm_0_170d9c14-0221-4609-87e3-d752e636f57f| destackovs-compute-2 | SHUTOFF|
3.以管理员用户身份登录ESC Primary,并检查opdata中实例的状态。
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.从OpenStack打开实例电源。
source /home/stack/destackovsrc-Pcrf nova start cm_0_170d9c14-0221-4609-87e3-d752e636f57f
5.等待5分钟,使实例启动并进入活动状态。
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 |
6.在实例处于“活动”状态后,在ESC中启用VM监控。
/opt/cisco/esc/esc-confd/esc-cli/esc_nc_cli vm-action ENABLE_MONITOR cm_0_170d9c14-0221-4609-87e3-d752e636f57f
有关实例配置的进一步恢复,请参阅此处提供的实例类型特定过程。
从错误状态恢复任何实例
如果OpenStack中CPS实例的状态为ERROR,可以使用以下过程:
1.检查OpenStack中实例的状态。
source /home/stack/destackovsrc-Pcrf nova list --fields name,host,status | grep cm | c5e4ebd4-803d-45c1-bd96-fd6e459b7ed6 | cm_0_170d9c14-0221-4609-87e3-d752e636f57f| destackovs-compute-2Â | ERROR|
2.检查计算是否可用且运行正常。
source /home/stack/destackovsrc-Pcrf nova list --fields name,host,status | grep cm | c5e4ebd4-803d-45c1-bd96-fd6e459b7ed6 | cm_0_170d9c14-0221-4609-87e3-d752e636f57f| destackovs-compute-2 | ERROR|
3.以管理员用户身份登录ESC Primary,并检查opdata中实例的状态。
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.重置实例的状态,以强制实例返回“活动”状态,而不是错误状态。完成后,重新启动实例。
source /home/stack/destackovsrc-Pcrf nova reset-state –active cm_0_170d9c14-0221-4609-87e3-d752e636f57f nova reboot –-hard cm_0_170d9c14-0221-4609-87e3-d752e636f57f
5.等待5分钟,使实例启动并进入“活动”状态。
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 |
6.如果Cluster Manager在重新启动后将状态更改为ACTIVE,请在ESC中启用VM Monitor。
/opt/cisco/esc/esc-confd/esc-cli/esc_nc_cli vm-action ENABLE_MONITOR
cm_0_170d9c14-0221-4609-87e3-d752e636f57f
7.恢复到RUNNING/ACTIVE状态后,请参阅实例类型特定过程以从备份中恢复配置/数据。