本產品的文件集力求使用無偏見用語。針對本文件集的目的,無偏見係定義為未根據年齡、身心障礙、性別、種族身分、民族身分、性別傾向、社會經濟地位及交織性表示歧視的用語。由於本產品軟體使用者介面中硬式編碼的語言、根據 RFP 文件使用的語言,或引用第三方產品的語言,因此本文件中可能會出現例外狀況。深入瞭解思科如何使用包容性用語。
思科已使用電腦和人工技術翻譯本文件,讓全世界的使用者能夠以自己的語言理解支援內容。請注意,即使是最佳機器翻譯,也不如專業譯者翻譯的內容準確。Cisco Systems, Inc. 對這些翻譯的準確度概不負責,並建議一律查看原始英文文件(提供連結)。
本文檔介紹在託管CPS虛擬網路功能(VNF)的Ultra-M設定中恢復整個CPS群集所需的步驟。
Ultra-M是經過預先打包和驗證的虛擬化移動資料包核心解決方案,旨在簡化VNF的部署。Ultra-M解決方案由以下虛擬機器(VM)型別組成:
Ultra-M的高級體系結構及涉及的元件如下圖所示:
本文檔適用於熟悉Cisco Ultra-M平台的思科人員。
附註:Ultra M 5.1.x版本用於定義本文檔中的過程。
VNF | 虛擬網路功能 |
ESC | 彈性服務控制器 |
澳門幣 | 程式方法 |
OSD | 對象儲存磁碟 |
硬碟 | 硬碟驅動器 |
固態硬碟 | 固態驅動器 |
VIM | 虛擬基礎架構管理員 |
虛擬機器 | 虛擬機器 |
UUID | 通用唯一識別符號 |
對於此過程,假設只恢復CPS群集,並且在Openstack級別的所有元件(包括ESC)都正常運行
當ESC無法啟動VM時:
root@abautotestvnfm1em-0:/etc/rsyslog.d# pwd
/etc/rsyslog.d
root@abautotestvnfm1em-0:/etc/rsyslog.d# ll
total 28
drwxr-xr-x 2 root root 4096 Jun 7 18:38 ./
drwxr-xr-x 86 root root 4096 Jun 6 20:33 ../]
-rw-r--r-- 1 root root 319 Jun 7 18:36 00-vnmf-proxy.conf
-rw-r--r-- 1 root root 317 Jun 7 18:38 01-ncs-java.conf
-rw-r--r-- 1 root root 311 Mar 17 2012 20-ufw.conf
-rw-r--r-- 1 root root 252 Nov 23 2015 21-cloudinit.conf
-rw-r--r-- 1 root root 1655 Apr 18 2013 50-default.conf
root@abautotestvnfm1em-0:/etc/rsyslog.d# ls /etc/rsyslog.conf
rsyslog.conf
1.建立CPS Cluster-Manager的備份
步驟1.使用以下命令檢視新星例項並記下集群管理器VM例項的名稱:
nova list
從ESC中停止Cluman。
/opt/cisco/esc/esc-confd/esc-cli/esc_nc_cli vm-action STOP
步驟2.檢驗Cluster Manager是否處於SHUTOFF狀態。
admin@esc1 ~]$ /opt/cisco/esc/confd/bin/confd_cli admin@esc1> show esc_datamodel opdata tenants tenant Core deployments * state_machine
步驟3.建立新星快照映像,如以下命令所示:
nova image-create --poll
注意:請確保有足夠的磁碟空間用於快照。
重要資訊 — 如果快照建立後無法訪問虛擬機器,請使用nova list命令檢查VM的狀態。如果處於「關閉」狀態,則需要手動啟動VM。
步驟4.使用以下命令檢視影象清單:nova image-list圖1:輸出範例
步驟5.建立快照時,快照映像儲存在OpenStack概覽中。要將快照儲存在遠端資料儲存中,請下載快照並將檔案以OSPD格式傳輸到(/home/stack/CPS_BACKUP)
若要下載映像,請在OpenStack中使用以下命令:
glance image-download –-file For example: glance image-download –-file snapshot.raw 2bbfb51c-cd05-4b7c-ad77-8362d76578db
步驟6.列出下載的映像,如以下命令所示:
ls —ltr *snapshot*
Example output: -rw-r--r--. 1 root root 10429595648 Aug 16 02:39 snapshot.raw
步驟7.儲存要在將來還原的Cluster Manager VM的快照。
2.備份配置和資料庫。
1. config_br.py -a export --all /var/tmp/backup/ATP1_backup_all_$(date +\%Y-\%m-\%d).tar.gz OR 2. config_br.py -a export --mongo-all /var/tmp/backup/ATP1_backup_mongoall$(date +\%Y-\%m-\%d).tar.gz 3. config_br.py -a export --svn --etc --grafanadb --auth-htpasswd --haproxy /var/tmp/backup/ATP1_backup_svn_etc_grafanadb_haproxy_$(date +\%Y-\%m-\%d).tar.gz 4. mongodump - /var/qps/bin/support/env/env_export.sh --mongo /var/tmp/env_export_$date.tgz 5. patches - cat /etc/broadhop/repositories, check which patches are installed and copy those patches to the backup directory /home/stack/CPS_BACKUP on OSPD 6. backup the cronjobs by taking backup of the cron directory: /var/spool/cron/ from the Pcrfclient01/Cluman. Then move the file to CPS_BACKUP on the OSPD.
從crontab -l中驗證是否需要任何其他備份
將所有備份傳輸到OSPD /home/stack/CPS_BACKUP
3.從ESC主伺服器備份yaml檔案。
/opt/cisco/esc/confd/bin/netconf-console --host 127.0.0.1 --port 830 -u-p --get-config > /home/admin/ESC_config.xml
在OSPD /home/stack/CPS_BACKUP中傳輸檔案
4.備份crontab -l條目
使用crontab -l建立一個txt檔案,然後將其ftp到遠端位置(在OSPD /home/stack/CPS_BACKUP中)
5.從LB和PCRF客戶端備份路由檔案。
Collect and scp the below conifgurations from both LBs and Pcrfclients route -n /etc/sysconfig/network-script/route-*
步驟1.將群集管理器VM快照複製到控制器刀片,如下命令所示:
ls —ltr *snapshot*
輸出示例:-rw-r—r— 1 root root使用者81042959564816日02:39 snapshot.raw
步驟2.將快照映像從資料儲存上傳到OpenStack:
glance image-create --name --file --disk-format qcow2 --container-format bare
步驟3.驗證是否已使用Nova命令上傳快照,如下例所示:
nova image-list
圖2:輸出範例
步驟4.根據群集管理器虛擬機器是否存在,您可以選擇建立群集或重建群集:
如果Cluster Manager VM例項不存在,請使用Heat或Nova命令建立Cluman VM,如下例所示:
使用ESC建立Cluman VM
/opt/cisco/esc/esc-confd/esc-cli/esc_nc_cli edit-config /opt/cisco/esc/cisco-cps/config/gr/tmo/gen/
PCRF群集將在上述命令的幫助下生成,然後從使用config_br.py restore進行的備份中恢復群集管理器配置,從備份中進行的轉儲中恢復mongorestore
delete - nova boot --config-drive true --image "" --flavor "" --nic net-id=",v4-fixed-ip=" --nic net-id="network_id,v4-fixed-ip=ip_address" --block-device-mapping "/dev/vdb=2edbac5e-55de-4d4c-a427-ab24ebe66181:::0" --availability-zone "az-2:megh-os2-compute2.cisco.com" --security-groups cps_secgrp "cluman"
如果Cluster Manager VM例項存在,請使用nova rebuild命令重建帶有上載快照的Cluster VM例項,如下所示:
nova rebuild
例如:nova rebuild cps-cluman-5f3tujqvbi67 cluman_snapshot
第5步列出所有例項,如圖所示,並驗證新的集群管理器例項已建立且正在運行:
新星清單
圖3:輸出範例
還原系統上的最新修補程式
1. Copy the patch files to cluster manager which were backed up in OSPD /home/stack/CPS_BACKUP 2. Login to the Cluster Manager as a root user. 3. Untar the patch by executing the following command: tar -xvzf [patch name].tar.gz 4. Edit /etc/broadhop/repositories and add the following entry: file:///$path_to_the plugin/[component name] 5. Run build_all.sh script to create updated QPS packages: /var/qps/install/current/scripts/build_all.sh 6. Shutdown all software components on the target VMs: runonall.sh sudo monit stop all 7. Make sure all software components are shutdown on target VMs: statusall.sh
附註:軟體元件必須全部顯示「未監視」為當前狀態)8.使用reinit.sh指令碼使用新軟體更新qns VM:/var/qps/install/current/scripts/upgrade/reinit.sh 9.重新啟動目標VM上的所有軟體元件:runonall.sh sudo monit start all 10.驗證元件是否已更新,運行:關於.sh
步驟1.以根使用者身份登入到Cluster Manager VM。
步驟2.使用以下命令注意SVN儲存庫的UUID:
svn info http://pcrfclient02/repos | grep UUID
該命令將輸出儲存庫的UUID。
例如:儲存庫UUID:ea50bbd2-5726-46b8-b807-10f4a7424f0e
步驟3.在群集管理器上匯入備份策略生成器配置資料,如下例所示:
config_br.py -a import --etc-oam --svn --stats --grafanadb --auth-htpasswd --users /mnt/backup/oam_backup_27102016.tar.gz
附註:許多部署運行定期備份配置資料的cron作業。有關詳細資訊,請參閱Subversion儲存庫備份。
步驟4.要使用最新配置在群集管理器上生成VM歸檔檔案,請執行以下命令:
/var/qps/install/current/scripts/build/build_svn.sh
步驟5.要部署pcrfclient01 VM,請執行以下操作之一:
在OpenStack中,使用HEAT模板或Nova命令重新建立VM。有關詳細資訊,請參閱《CPS Installation Guide for OpenStack》。
步驟6.在運行pcrfclient01和pcrfclient02命令時,以pcrfclient01為主節點重新建立SVN主/從同步。
如果SVN已同步,請不要發出這些命令。
要檢查SVN是否同步,請從pcrfclient02運行此命令。
如果返回值,則SVN已同步:
/usr/bin/svn propget svn:sync-from-url --revprop -r0 http://pcrfclient01/repos
從pcrfclient01運行以下命令:
/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
步驟7.如果pcrfclient01也是仲裁器VM,則運行以下步驟:
1.根據系統配置建立mongodb啟動/停止指令碼。並非所有部署都配置了所有這些資料庫。
注意:請參閱/etc/broadhop/mongoConfig.cfg以確定需要設定哪些資料庫。
cd /var/qps/bin/support/mongo build_set.sh --session --create-scripts build_set.sh --admin --create-scripts build_set.sh --spr --create-scripts build_set.sh --balance --create-scripts build_set.sh --audit --create-scripts build_set.sh --report --create-scripts
2.啟動蒙哥進程:
/usr/bin/systemctl start sessionmgr-XXXXX
3.等待仲裁程式啟動,然後運行diagnostics.sh —get_replica_status檢查副本集的運行狀況。
步驟1.以根使用者身份登入到Cluster Manager VM。
步驟2.要使用最新配置在群集管理器上生成VM歸檔檔案,請運行以下命令:
/var/qps/install/current/scripts/build/build_svn.sh
第3步要部署pcrfclient02 VM,請執行以下操作之一:
在OpenStack中,使用HEAT模板或Nova命令重新建立VM。有關詳細資訊,請參閱《CPS Installation Guide for OpenStack》。
第4步將shell保護到pcrfclient01:
ssh pcrfclient01
第5步運行此指令碼以從pcrfclient01恢復SVN重寫:
/var/qps/bin/support/recover_svn_sync.sh
步驟1.以根使用者身份登入到Cluster Manager VM
步驟2.要部署sessionmgr虛擬機器並替換故障或損壞的虛擬機器,請執行以下操作之一:
在OpenStack中,使用HEAT模板或Nova命令重新建立VM。有關詳細資訊,請參閱《OpenStack CPS安裝指南》
步驟3.根據系統配置建立mongodb啟動/停止指令碼。
並非所有部署都配置了所有這些資料庫。請參閱/etc/broadhop/mongoConfig.cfg以確定需要設定哪些資料庫
cd /var/qps/bin/support/mongo build_set.sh --session --create-scripts build_set.sh --admin --create-scripts build_set.sh --spr --create-scripts build_set.sh --balance --create-scripts build_set.sh --audit --create-scripts build_set.sh --report --create-scripts
步驟4.將shell保護到sessionmgr VM並啟動mongo進程:
ssh sessionmgrXX /usr/bin/systemctl start sessionmgr-XXXXX
步驟5.等待成員啟動且輔助成員同步,然後運行diagnostics.sh —get_replica_status檢查資料庫的運行狀況。
步驟6.要恢復Session Manager資料庫,請使用以下示例命令之一,具體取決於是使用 — mongo-all還是 — mongo選項執行備份:
• config_br.py -a import --mongo-all --users /mnt/backup/Name of backup or • config_br.py -a import --mongo --users /mnt/backup/Name of backup
步驟1.以根使用者身份登入到Cluster Manager VM。
步驟2.要在群集管理器上匯入備份策略生成器配置資料,請運行以下命令:
config_br.py -a import --network --haproxy --users /mnt/backup/lb_backup_27102016.tar.gz
步驟3要使用最新配置在群集管理器上生成VM歸檔檔案,請運行以下命令:
/var/qps/install/current/scripts/build/build_svn.sh
步驟4.要部署lb01 VM,請執行以下操作之一:
在OpenStack中,使用HEAT模板或Nova命令重新建立VM。有關詳細資訊,請參閱《CPS Installation Guide for OpenStack》。
步驟1.以根使用者身份登入到Cluster Manager VM。
步驟2.在群集管理器上匯入備份策略生成器配置資料,如下例所示:
config_br.py -a import --users /mnt/backup/qns_backup_27102016.tar.gz
步驟3.要使用最新配置在群集管理器上生成VM歸檔檔案,請運行以下命令:
/var/qps/install/current/scripts/build/build_svn.sh
第4步要部署qns VM,請執行以下操作之一:
在OpenStack中,使用HEAT模板或Nova命令重新建立VM。有關詳細資訊,請參閱《OpenStack CPS安裝指南》
步驟1.運行此命令以還原資料庫:
config_br.py –a import --mongo-all /mnt/backup/backup_$date.tar.gz where $date is the timestamp when the export was made.
例如,
config_br.py –a import --mongo-all /mnt/backup/backup_27092016.tgz
步驟2.登入資料庫,並驗證其是否正在運行且可訪問:
1.登入會話管理器:
mongo --host sessionmgr01 --port $port
其中$port是要檢查的資料庫的埠號。例如,27718是預設餘額埠。
2.通過執行以下命令顯示資料庫:
show dbs
3.通過執行以下命令將mongo shell切換到資料庫:
use $db
其中$db是在上一個命令中顯示的資料庫名稱。
use命令將mongo shell切換到該資料庫。
例如,
use balance_mgmt
4.為了顯示集合,請運行以下命令:
show collections
5.要顯示集合中的記錄數,請運行以下命令:
db.$collection.count() For example, db.account.count()
上例將顯示餘額資料庫(balance_mgmt)中集合「帳戶」中的記錄數。
要從備份中還原策略生成器配置資料,請執行以下命令:
config_br.py –a import --svn /mnt/backup/backup_$date.tgz where, $date is the date when the cron created the backup file.
您可以使用以下命令恢復Grafana儀表板:
config_br.py -a import --grafanadb /mnt/backup/
還原資料後,使用以下命令驗證工作系統:
/var/qps/bin/diag/diagnostics.sh
當ESC無法啟動VM時