Sommario

Introduzione

Premesse

Abbreviazioni

Presupposto

Procedura di ripristino

Ripristino CPS

Ripristina VM di Cluster Manager in OpenStack

Ripristina Cronjobs

Ripristino di singole VM nel cluster

Per ridistribuire la VM pcrfclient01

Per ridistribuire la VM pcrfclient02

Per ridistribuire una VM sessionmgr

Per ridistribuire la macchina virtuale di Policy Director (servizio di bilanciamento del carico)

Per ridistribuire la macchina virtuale di Policy Server (QNS)

Procedura generale per il ripristino del database

Ripristino repository subversion

Ripristina dashboard Grafana

Convalida il ripristino

Introduzione

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.

Premesse

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):

- Elastic Services Controller (ESC)

- Cisco Policy Suite (CPS)

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.

Abbreviazioni

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

Presupposto

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

Procedura di ripristino

Quando ESC non riesce ad avviare la VM:

- In alcuni casi, ESC non riesce ad avviare la macchina virtuale a causa di uno stato imprevisto. Per risolvere il problema, è possibile eseguire il passaggio a un ESC riavviando il Master ESC. Il passaggio all'ESC richiede circa un minuto. Eseguire health.sh sul nuovo Master ESC per verificare che sia attivo. Quando la funzione ESC diventa Master, la funzione ESC può correggere lo stato della macchina virtuale e avviarla. Poiché l'operazione è pianificata, è necessario attendere 5-7 minuti per il completamento.

- È possibile monitorare /var/log/esc/yangesc.log e /var/log/esc/escmanager.log. Se NON si vede che la VM viene ripristinata dopo 5-7 minuti, l'utente deve procedere al ripristino manuale delle VM interessate.

- Una volta che la VM è stata ripristinata ed eseguita correttamente; accertarsi che tutta la configurazione specifica del syslog sia ripristinata dal precedente backup noto riuscito. Garantire il ripristino in tutte le VM ESC

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

Ripristino CPS

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-*

Ripristina VM di Cluster Manager in OpenStack

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

Ripristina Cronjobs

1. Spostare il file di backup da OSPD a Cluman/Pcrfclient01

2. Eseguire il comando per attivare il cronjob dal backup

#crontab Cron-backup

3. Verificare se i cronjob sono stati attivati dal comando seguente

#crontab -l

Ripristino di singole VM nel cluster

Per ridistribuire la VM pcrfclient01

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.

Per ridistribuire la VM pcrfclient02

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

Per ridistribuire una VM sessionmgr

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

Per ridistribuire la macchina virtuale di Policy Director (servizio di bilanciamento del carico)

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.

Per ridistribuire la macchina virtuale di Policy Server (QNS)

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

Procedura generale per il ripristino del database

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).

Ripristino repository subversion

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.

Ripristina dashboard Grafana

È possibile ripristinare il dashboard Grafana utilizzando il comando seguente:

config_br.py -a import --grafanadb /mnt/backup/

Convalida il ripristino

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

- In alcuni casi, ESC non riesce ad avviare la macchina virtuale a causa di uno stato imprevisto. Per risolvere il problema, è possibile eseguire il passaggio a un ESC riavviando il Master ESC. Il passaggio all'ESC richiede circa un minuto. Eseguire health.sh sul nuovo Master ESC per verificare che sia attivo. Quando la funzione ESC diventa Master, la funzione ESC può correggere lo stato della macchina virtuale e avviarla. Poiché l'operazione è pianificata, è necessario attendere 5-7 minuti per il completamento.

- È possibile monitorare /var/log/esc/yangesc.log e /var/log/esc/escmanager.log. Se NON si vede che la VM viene ripristinata dopo 5-7 minuti, l'utente deve procedere al ripristino manuale delle VM interessate.

- Se il cluster è completamente non disponibile e solo ESC è raggiungibile, il ripristino deve essere eseguito dai backup più recenti acquisiti dai backup pianificati eseguiti tramite Cronjobs. La procedura di recupero rimane la stessa menzionata nella MOP.