目錄

簡介

必要條件

需求

採用元件

備份過程

步驟1.  彈性服務控制器(ESC)

步驟2.思科原則套件備份

疑難排解

簡介

本文檔介紹恢復部署在Ultra-M/OpenStack環境中的虛擬思科策略和計費規則功能(vPCRF)例項的過程。

必要條件

需求

思科建議您瞭解以下主題：

- OpenStack

- 思科原則套件(CPS)

- 部署了受影響例項的計算現在可用

- 計算資源與受影響的例項位於同一可用區中

採用元件

本文件所述內容不限於特定軟體和硬體版本。

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路運作中，請確保您瞭解任何指令可能造成的影響。

備份過程

步驟1.  彈性服務控制器(ESC)

必須每月備份ESC-HA中的配置，在對VNF執行任何擴大或縮小操作之前/之後，以及在ESC配置更改之前/之後。必須進行備份才能有效執行ESC的災難恢復。

ESC以XML形式開啟資料

按照以下步驟將ESC opdata匯出為XML:

1.使用管理員憑據登入到ESC。

2.將opdata導出到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中引用的所有指令碼和使用者資料檔案。從上一步匯出的opdata中查詢所有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 opdata中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 opdata（在上一步中提取）包含任何突出顯示的檔案，請使用此命令進行備份。

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備用中新增root使用者的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

步驟2.思科原則套件備份

集群管理器充當一個CPS集群的傀儡主節點。因此，有必要對此例項製作快照。此外，思科提供的備份和恢復實用程式可用於收集mongoDB、策略配置、grafana DB、使用者、網路及其他pcrf配置檔案的備份。這些檔案應經常使用CPS備份實用程式進行備份，並儲存在Ultra-M雲之外的位置。

Cluster Manager VM的快照

必須每月備份一次群集管理器例項快照，備份時間也是在任何配置更改、修補程式更新和升級之前和之後。在成功執行活動後可以刪除舊快照以節省磁碟空間。以下過程介紹了將群集管理器例項作為快照進行備份的步驟：

1.此命令用於檢視nova例項並記下群集管理器VM例項的名稱：

nova list

2.建立一個新快照映像，如下所示：

nova image-create --poll <cluman_instance_name> <cluman_snapshot_name>

輸出示例：

Server snapshotting... 100% complete

Finished

附註：確保有足夠的磁碟空間用於快照。建立快照時，Cluster Manager有時會變得不可訪問，並在建立快照後恢復自身。如果即使在快照過程完成之後例項仍保持不可訪問，請使用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的平台更改時，始終建議將Cluster Manager的快照轉換為QCOW檔案並將其儲存到某個遠端位置。

glance image-download --file /var/Pcrf/cluman_snapshot.raw <image-id of the snapshot>

5.將此檔案下載到ftp/sftp本地計算機並下載到雲外部的伺服器。

CPS配置和資料庫的備份

1.為了備份CPS配置和資料庫內容，CPS平台中內建了config_br.py實用程式。有關使用config_br.py實用程式的詳細資訊，請參閱《CPS備份和還原指南》。這是群集管理器中的crontab示例，用於每天凌晨1點備份所有配置和資料庫。

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例項恢復過程

從SHUTOFF狀態開啟任何例項。

如果任何例項由於計畫關閉或其他原因而處於SHUTOFF狀態，請使用此過程啟動該例項，並啟用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主節點，然後檢查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.等待五分鐘，以便例項啟動並進入ACTIVE狀態。

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.在例項處於ACTIVE狀態後，在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主節點，然後檢查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.重置例項的狀態以強制例項返回到ACTIVE狀態而不是錯誤狀態。完成後，重新啟動您的例項。

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.等待五分鐘，讓例項啟動並進入ACTIVE狀態。

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狀態後，請參閱例項型別特定的過程，以便從備份中恢復配置/資料。