简介

    本文档介绍如何恢复在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

      

    1. 如果使用仲裁服务器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