La documentazione per questo prodotto è stata redatta cercando di utilizzare un linguaggio senza pregiudizi. Ai fini di questa documentazione, per linguaggio senza di pregiudizi si intende un linguaggio che non implica discriminazioni basate su età, disabilità, genere, identità razziale, identità etnica, orientamento sessuale, status socioeconomico e intersezionalità. Le eventuali eccezioni possono dipendere dal linguaggio codificato nelle interfacce utente del software del prodotto, dal linguaggio utilizzato nella documentazione RFP o dal linguaggio utilizzato in prodotti di terze parti a cui si fa riferimento. Scopri di più sul modo in cui Cisco utilizza il linguaggio inclusivo.
Cisco ha tradotto questo documento utilizzando una combinazione di tecnologie automatiche e umane per offrire ai nostri utenti in tutto il mondo contenuti di supporto nella propria lingua. Si noti che anche la migliore traduzione automatica non sarà mai accurata come quella fornita da un traduttore professionista. Cisco Systems, Inc. non si assume alcuna responsabilità per l’accuratezza di queste traduzioni e consiglia di consultare sempre il documento originale in inglese (disponibile al link fornito).
In questo documento viene descritto come ripristinare un intero cluster CPS in una configurazione Ultra-M che ospita le funzioni di rete virtuale (VNF, Virtual Network Functions) di CPS.
Ultra-M è una soluzione mobile packet core preconfezionata e convalidata, progettata per semplificare l'installazione delle VNF. La soluzione Ultra-M è costituita dai seguenti tipi di macchine virtuali (VM):
L'architettura di alto livello di Ultra-M e i componenti coinvolti sono illustrati in questa immagine:
Questo documento è destinato al personale Cisco che ha familiarità con la piattaforma Cisco Ultra-M.
Nota: Per la definizione delle procedure descritte in questo documento, viene presa in considerazione la release Ultra M 5.1.x.
VNF | Funzione di rete virtuale |
ESC | Elastic Service Controller |
MOP | Metodo |
OSD | Dischi Object Storage |
HDD | Unità hard disk |
SSD | Unità a stato solido |
VIM | Virtual Infrastructure Manager |
VM | Macchina virtuale |
UUID | Identificatore univoco universale |
Per questa procedura, si presume che sia necessario ripristinare solo il cluster CPS e che tutti i componenti a livello Openstack siano operativi, incluso il cluster ESC
Quando ESC non riesce ad avviare la 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. Creare un backup di CPS Cluster-Manager
Passaggio 1. Utilizzare il comando seguente per visualizzare le istanze nova e annotare il nome dell'istanza della macchina virtuale di Gestione cluster:
nova list
Ferma la Cluman da ESC.
/opt/cisco/esc/esc-confd/esc-cli/esc_nc_cli vm-action STOP
Passaggio 2. Verificare lo stato di arresto di Gestione cluster.
admin@esc1 ~]$ /opt/cisco/esc/confd/bin/confd_cli admin@esc1> show esc_datamodel opdata tenants tenant Core deployments * state_machine
Passaggio 3. Creare un'immagine snapshot nuova come mostrato in questo comando:
nova image-create --poll
Nota:assicurarsi di disporre di spazio su disco sufficiente per la copia istantanea.
Importante - Se dopo la creazione dell'istantanea la VM non è più raggiungibile, controllare lo stato della VM utilizzando il comando nova list. Se si trova nello stato "SHUTOFF", è necessario avviare la VM manualmente.
Passaggio 4. Visualizzare l'elenco delle immagini con il seguente comando: nova image-list Figura 1: Output di esempio
Passaggio 5. Quando viene creata una copia istantanea, questa viene archiviata in OpenStack Glance. Per archiviare la copia istantanea in un archivio dati remoto, scaricarla e trasferire il file in OSPD in ( /home/stack/CPS_BACKUP )
Per scaricare l'immagine, usare il comando seguente in OpenStack:
glance image-download –-file For example: glance image-download –-file snapshot.raw 2bbfb51c-cd05-4b7c-ad77-8362d76578db
Passaggio 6. Elencare le immagini scaricate come mostrato nel seguente comando:
ls —ltr *snapshot*
Example output: -rw-r--r--. 1 root root 10429595648 Aug 16 02:39 snapshot.raw
Passaggio 7. Archiviare lo snapshot della macchina virtuale di Cluster Manager da ripristinare in futuro.
2. Eseguire il backup della configurazione e del database.
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.
Verificare dal crontab -l se sono necessari altri backup
Trasferire tutti i backup in OSPD /home/stack/CPS_BACKUP
3. Eseguire il backup del file yaml dal master ESC.
/opt/cisco/esc/confd/bin/netconf-console --host 127.0.0.1 --port 830 -u-p --get-config > /home/admin/ESC_config.xml
Trasferire il file in OSPD /home/stack/CPS_BACKUP
4. Eseguire il backup delle voci crontab -l
Creare un file di testo con crontab -l e ftp in una posizione remota ( in OSPD /home/stack/CPS_BACKUP )
5. Eseguire un backup dei file di route dal client LB e PCRF.
Collect and scp the below conifgurations from both LBs and Pcrfclients route -n /etc/sysconfig/network-script/route-*
Passaggio 1. Copiare lo snapshot della macchina virtuale di Gestione cluster nel blade del controller come mostrato in questo comando:
ls —ltr *snapshot*
Output di esempio: -rw-r—r—. 1 radice 10429595648 ago 16 02:39 snapshot.raw
Passaggio 2. Caricare l'immagine della copia istantanea in OpenStack dall'archivio dati:
glance image-create --name --file --disk-format qcow2 --container-format bare
Passaggio 3. Verificare se lo snapshot viene caricato con un comando Nova, come mostrato nell'esempio:
nova image-list
Figura 2: Output di esempio
Passaggio 4. A seconda che la VM di Gestione cluster esista o meno, è possibile scegliere di creare la cluman o di ricrearla:
Se l'istanza della VM di Cluster Manager non esiste, creare la VM cluman con un comando Heat o Nova, come mostrato nell'esempio seguente:
Creare la VM cluman con ESC
/opt/cisco/esc/esc-confd/esc-cli/esc_nc_cli edit-config /opt/cisco/esc/cisco-cps/config/gr/tmo/gen/
Il cluster PCRF verrà generato con l'aiuto del comando precedente e quindi le configurazioni di Gestione cluster verranno ripristinate dai backup eseguiti con il comando config_br.py restore, mongorestore from dump take in backup
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"
Se l'istanza della macchina virtuale di Cluster Manager esiste, utilizzare un comando nova rebuild per ricreare l'istanza della macchina virtuale di Cluster con lo snapshot caricato, come mostrato di seguito:
nova rebuild
Ad esempio: nuova ricostruzione cps-cluman-5f3tujqvbi67 cluman_snapshot
5. Elencare tutte le istanze come mostrato e verificare che la nuova istanza di Gestione cluster sia stata creata e in esecuzione:
elenco nova
Figura 3: Output di esempio
Ripristinare le patch più recenti nel sistema
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
Nota: Tutti i componenti software devono visualizzare lo stato Non monitorato (come lo stato corrente) 8. Aggiornare le VM qns con il nuovo software utilizzando lo script reinit.sh: /var/qps/install/current/scripts/upgrade/reinit.sh 9. Riavviare tutti i componenti software sulle VM di destinazione: runonall.sh sudo mon start all 10. Verificare che il componente sia aggiornato, eseguire: informazioni.sh
Passaggio 1. Accedere alla macchina virtuale di Cluster Manager come utente root.
Passaggio 2. Annotare l'UUID dell'archivio SVN utilizzando il comando seguente:
svn info http://pcrfclient02/repos | grep UUID
Il comando restituirà l'UUID del repository.
Ad esempio: UUID repository: ea50bbd2-5726-46b8-b807-10f4a7424f0e
Passaggio 3. Importare i dati di configurazione di Generatore criteri di backup in Gestione cluster, come illustrato nell'esempio seguente:
config_br.py -a import --etc-oam --svn --stats --grafanadb --auth-htpasswd --users /mnt/backup/oam_backup_27102016.tar.gz
Nota: Molte distribuzioni eseguono un processo cron che esegue regolarmente il backup dei dati di configurazione.Per ulteriori informazioni, vedere Backup del repository di Subversion.
Passaggio 4. Per generare i file di archivio della macchina virtuale in Gestione cluster utilizzando le configurazioni più recenti, eseguire il comando seguente:
/var/qps/install/current/scripts/build/build_svn.sh
Passaggio 5. Per distribuire la macchina virtuale pcrfclient01, eseguire una delle operazioni seguenti:
In OpenStack, utilizzare il modello HEAT o il comando Nova per ricreare la VM. Per ulteriori informazioni, vedere la Guida all'installazione di CPS per OpenStack.
Passaggio 6. Ristabilire la sincronizzazione master/slave SVN tra pcrfclient01 e pcrfclient02 con pcrfclient01 come master durante l'esecuzione di questi comandi.
Se SVN è già sincronizzato, non utilizzare questi comandi.
Per verificare se SVN è sincronizzato, eseguire questo comando da pcrfclient02.
Se viene restituito un valore, SVN è già sincronizzato:
/usr/bin/svn propget svn:sync-from-url --revprop -r0 http://pcrfclient01/repos
Eseguire questo comando da 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
Passaggio 7. Se pcrfclient01 è anche la VM arbitro, eseguire i passaggi seguenti:
1. Creare gli script di avvio/arresto mongodb in base alla configurazione del sistema. Non tutte le distribuzioni dispongono di tutti questi database configurati.
Nota:per determinare i database da configurare, consultare /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. Avviare la procedura di mongo:
/usr/bin/systemctl start sessionmgr-XXXXX
3. Attendere l'avvio dell'arbitro, quindi eseguire diagnostics.sh —get_replica_status per verificare lo stato del set di repliche.
Passaggio 1. Accedere alla macchina virtuale di Cluster Manager come utente root.
Passaggio 2. Per generare i file di archivio della macchina virtuale in Gestione cluster utilizzando le configurazioni più recenti, eseguire questo comando:
/var/qps/install/current/scripts/build/build_svn.sh
3. Per distribuire la VM pcrfclient02, eseguire una delle operazioni seguenti:
In OpenStack, utilizzare il modello HEAT o il comando Nova per ricreare la VM. Per ulteriori informazioni, vedere la Guida all'installazione di CPS per OpenStack.
4. Proteggere la shell da pcrfclient01:
ssh pcrfclient01
5. Eseguire questo script per recuperare i repository SVN da pcrfclient01:
/var/qps/bin/support/recover_svn_sync.sh
Passaggio 1. Accedere alla macchina virtuale di Cluster Manager come utente root
Passaggio 2. Per distribuire la macchina virtuale sessionmgr e sostituire la macchina virtuale danneggiata o non riuscita, eseguire una delle operazioni seguenti:
In OpenStack, utilizzare il modello HEAT o il comando Nova per ricreare la VM. Per ulteriori informazioni, vedere la Guida all'installazione di CPS per OpenStack
Passaggio 3. Creare gli script di avvio/arresto mongodb in base alla configurazione del sistema.
Non tutte le distribuzioni dispongono di tutti questi database configurati. Fare riferimento a /etc/broadhop/mongoConfig.cfg per determinare i database da configurare
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
Passaggio 4. Proteggere la shell nella macchina virtuale sessionmgr e avviare il processo mongo:
ssh sessionmgrXX /usr/bin/systemctl start sessionmgr-XXXXX
Passaggio 5. Attendere l'avvio dei membri e la sincronizzazione dei membri secondari, quindi eseguire diagnostics.sh —get_replica_status per verificare lo stato del database.
Passaggio 6. Per ripristinare il database di Session Manager, utilizzare uno dei seguenti comandi di esempio a seconda che il backup sia stato eseguito con l'opzione —mongo-all o —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
Passaggio 1. Accedere alla macchina virtuale di Cluster Manager come utente root.
Passaggio 2. Per importare i dati di configurazione di Generatore criteri di backup in Gestione cluster, eseguire questo comando:
config_br.py -a import --network --haproxy --users /mnt/backup/lb_backup_27102016.tar.gz
3. Per generare i file di archivio delle VM in Cluster Manager utilizzando le configurazioni più recenti, eseguire questo comando:
/var/qps/install/current/scripts/build/build_svn.sh
Passaggio 4. Per distribuire la VM lb01, eseguire una delle operazioni seguenti:
In OpenStack, utilizzare il modello HEAT o il comando Nova per ricreare la VM. Per ulteriori informazioni, vedere la Guida all'installazione di CPS per OpenStack.
Passaggio 1. Accedere alla macchina virtuale di Cluster Manager come utente root.
Passaggio 2. Importare i dati di configurazione di Generatore criteri di backup in Gestione cluster, come illustrato nell'esempio seguente:
config_br.py -a import --users /mnt/backup/qns_backup_27102016.tar.gz
Passaggio 3. Per generare i file di archivio della macchina virtuale in Gestione cluster utilizzando le configurazioni più recenti, eseguire questo comando:
/var/qps/install/current/scripts/build/build_svn.sh
4. Per installare la VM qns, eseguire una delle operazioni seguenti:
In OpenStack, utilizzare il modello HEAT o il comando Nova per ricreare la VM. Per ulteriori informazioni, vedere la Guida all'installazione di CPS per OpenStack
Passaggio 1. Eseguire questo comando per ripristinare il database:
config_br.py –a import --mongo-all /mnt/backup/backup_$date.tar.gz where $date is the timestamp when the export was made.
Ad esempio,
config_br.py –a import --mongo-all /mnt/backup/backup_27092016.tgz
Passaggio 2. Accedere al database e verificare se è in esecuzione e se è accessibile:
1. Accedere al gestore della sessione:
mongo --host sessionmgr01 --port $port
dove $port è il numero di porta del database da controllare. Ad esempio, 27718 è la porta predefinita Bilanciamento.
2. Visualizzare il database eseguendo il seguente comando:
show dbs
3. Passare la shell mongo al database eseguendo il comando seguente:
use $db
dove $db è un nome di database visualizzato nel comando precedente.
Il comando use passa la shell mongo a quel database.
Ad esempio,
use balance_mgmt
4. Per visualizzare le raccolte, eseguire questo comando:
show collections
5. Per visualizzare il numero di record nella raccolta, eseguire questo comando:
db.$collection.count() For example, db.account.count()
L'esempio precedente mostra il numero di record nella raccolta "account" nel database Balance (balance_mgmt).
Per ripristinare i dati di configurazione di Generatore criteri da un backup, eseguire il comando seguente:
config_br.py –a import --svn /mnt/backup/backup_$date.tgz where, $date is the date when the cron created the backup file.
È possibile ripristinare il dashboard Grafana utilizzando il comando seguente:
config_br.py -a import --grafanadb /mnt/backup/
Dopo aver ripristinato i dati, verificare il sistema funzionante tramite questo comando:
/var/qps/bin/diag/diagnostics.sh
Quando ESC non riesce ad avviare la VM