Copia de seguridad y restauración
En este tema se describen las capacidades de copia de seguridad y restauración disponibles en Paragon Automation. Aunque Paragon Automation es una aplicación basada en la interfaz gráfica de usuario, las operaciones de copia de seguridad y restauración se administran desde la CLI de cMGD de Paragon Insights. Postgres es la base de datos de almacenamiento persistente principal para microservicios. Los archivos de copia de seguridad se guardan en un volumen persistente local en los nodos del clúster. El procedimiento de copia de seguridad se puede realizar mientras se ejecutan los microservicios y no afecta al funcionamiento del clúster. Sin embargo, en el caso de los procedimientos de restauración, los microservicios se detienen y el clúster no funciona hasta que se restauran las bases de datos.
Actualmente, no puede seleccionar aplicaciones personalizadas para realizar copias de seguridad y restaurar. Solo puede realizar copias de seguridad y restaurar un conjunto preconfigurado y fijo de ajustes de aplicaciones y administraciones para cada componente, como se indica en la tabla 1.
| Dispositivos |
Configuración de alertas/alarmas |
Grupos de administradores |
| Temas |
Configuración de trazado |
Acciones y funciones definidas por el usuario |
| Libros de jugadas |
Perfiles de resumen |
Registros de auditoría |
| Grupos de dispositivos |
Configuración de ingesta |
Configuración del filtro de topología |
| Grupos de red |
Configuración del proxy SNMP |
Configuración de Pathfinder |
| Configuración de notificaciones |
Configuración de IAM |
Perfiles y políticas de LSP |
| Políticas de retención |
flujos de trabajo |
Configuración de generación de informes (configuración de destino, informe y programador) |
El procedimiento de copia de seguridad tiene las siguientes limitaciones:
-
Datos de telemetría: no se realizará una copia de seguridad de los datos capturados desde los dispositivos de forma predeterminada. Se debe realizar una copia de seguridad manual de los datos de telemetría.
Para obtener más información, consulte Copia de seguridad y restauración de la TSDB.
-
Datos transitorios y de registro: no se realizará una copia de seguridad de los datos que se están procesando y de los eventos caducados. Por ejemplo:
-
Alertas y alarmas generadas
-
Cambios de configuración que no se confirman
-
La mayoría de los registros de aplicaciones
-
-
Configuración que no es de Paragon-Automatizaciσn: no se realizará una copia de seguridad de la configuración realizada en servicios de terceros compatibles con Paragon Automation. Por ejemplo:
-
Detalles del usuario de LDAP
-
-
Configuración de ingesta de topología: no se realizará una copia de seguridad de la configuración de cRPD para emparejarse con enrutadores BGP-LS para obtener información de topología. Esto debe reconfigurarse manualmente de nuevo según sea necesario. Para obtener más información, consulte Modificar configuración de cRPD.
Utilice scripts en contenedores invocados a través de trabajos de Kubernetes para implementar los procedimientos de copia de seguridad y restauración.
Puede realizar una copia de seguridad manual del clúster siguiendo las instrucciones descritas en Copia de seguridad de la configuración. También puede utilizar un script de copia de seguridad para realizar una copia de seguridad del clúster siguiendo las instrucciones descritas en Scripts de copia de seguridad y restauración.
Del mismo modo, puede restaurar manualmente la configuración de la copia de seguridad siguiendo las instrucciones descritas en Restaurar la configuración. También puede utilizar un script de restauración para restaurar la configuración de la copia de seguridad siguiendo las instrucciones descritas en Scripts de copia de seguridad y restauración.
de copia de seguridad y restauración
Para Paragon Automation versión 24.1, puede restaurar una configuración de copia de seguridad de versiones anteriores de Paragon Automation solo después de realizar una copia de seguridad ficticia de una instalación de la versión 24.1 nueva. Para utilizar la operación de restauración en un clúster de la versión 24.1, se recomienda lo siguiente:
-
Actualice su grupo actual de Paragon Automation a la versión 23.2.
-
Realice una copia de seguridad de la configuración de la versión 23.2.
-
Instale un clúster de la versión 24.1.
Realice una copia de seguridad del clúster 24.1.
Copie la configuración de la versión 23.2 en la ubicación de la versión 24.1 de la copia de seguridad.
-
Restaure la configuración de la copia de seguridad copiada.
Hacer una copia de seguridad de la configuración
Los datos de la mayoría de las aplicaciones de Paragon Automation se almacenan principalmente en Postgres. Cuando realiza una copia de seguridad de una configuración, se realiza una copia de seguridad de los datos determinados y predefinidos por el sistema. Cuando realiza una copia de seguridad, el sistema operativo y los microservicios no se ven afectados. Puede seguir utilizando Paragon Automation mientras se ejecuta una copia de seguridad. Usará la CLI del demonio de administración (MGD), administrada por Paragon Insights (anteriormente Healthbot), para realizar la copia de seguridad.
Para respaldar la configuración actual de Paragon Automation:
Comandos kubectl de uso frecuente para ver los detalles de la copia de seguridad
Para ver el estado de la copia de seguridad o la ubicación de los archivos de copia de seguridad, o para ver más información sobre los archivos de copia de seguridad, utilice los siguientes comandos.
-
Los trabajos de copia de seguridad existen en el espacio de nombres común y utilizan la
common=db-backupetiqueta. Para ver todos los trabajos de copia de seguridad:root@primary-node:~# kubectl get -n common jobs -l common=db-backup NAME COMPLETIONS DURATION AGE db-backup-hello-world 1/1 3m11s 2d20h
-
Para ver más detalles de un trabajo de Kubernetes específico:
root@primary-node:~# kubectl describe -n common jobs/db-backup-hello-world
-
Para ver los registros de un trabajo de Kubernetes específico:
root@primary-node:~# kubectl logs -n common --tail 50 jobs/db-backup-hello-world
-
Para determinar la ubicación de los archivos de copia de seguridad:
root@primary-node:~# kubectl get -n common pvc db-backup-pvc NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE db-backup-pvc Bound local-pv-cb20f386 145Gi RWO local-storage 3d3h
La salida apunta al volumen persistente local. Utilice ese volumen persistente para determinar el nodo en el que se almacenan los archivos de copia de seguridad.
root@primary-node:~# kubectl describe -n common pv local-pv-cb20f386 Node Affinity: Required Terms: Term 0: kubernetes.io/hostname in [10.49.xxx.x2] Message: Source: Type: LocalVolume (a persistent volume backed by local storage on a node) Path: /export/local-volumes/pv*
Para ver todos los archivos de copia de seguridad, inicie sesión en el nodo y navegue hasta la ubicación de la carpeta de copia de seguridad.
root@primary-node:~# ssh root@10.49.xxx.x2 root@10.49.xxx.x2:~# ls -l /export/local-volumes/pv*
Para ver los escenarios de fallas de copia de seguridad y restauración más comunes, consulte Problemas comunes de copia de seguridad y restauración.
Restaurar la configuración
Puede restaurar una configuración de Paragon Automation desde una carpeta de configuración de la que se haya realizado una copia de seguridad anteriormente. Una operación de restauración reescribe las bases de datos con toda la información de configuración de la copia de seguridad. No se pueden restaurar bases de datos de forma selectiva. Cuando se realiza una operación de restauración, se genera un trabajo de Kubernetes que detiene los microservicios afectados. El trabajo restaura la configuración de la copia de seguridad y reinicia los microservicios. Paragon Automation permanece sin funcionar hasta que se completa el procedimiento de restauración.
No puede ejecutar varios trabajos de restauración al mismo tiempo porque el trabajo de Kubernetes detiene los microservicios durante el proceso de restauración. Además, no puede ejecutar procesos de copia de seguridad y restauración simultáneamente.
Recomendamos encarecidamente que restaure una configuración durante una ventana de mantenimiento, de lo contrario, el sistema puede entrar en un estado inconsistente.
Para restaurar la configuración de Paragon Automation a una configuración previamente respaldada:
Comandos kubectl utilizados con frecuencia para ver detalles de restauración
Para ver más información y el estado del proceso de restauración, utilice los siguientes comandos:
-
Los trabajos de restauración existen en el espacio de nombres común y usan la
common=db-restoreetiqueta. Para ver todos los trabajos de restauración:root@primary-node:~# kubectl get -n common jobs -l common=db-restore NAME COMPLETIONS DURATION AGE db-restore-hello-world 0/1 20s 21s
-
Para ver más detalles de un trabajo de Kubernetes específico:
root@primary-node:~# kubectl describe -n common jobs/db-restore-hello-world
-
Para ver los registros de un trabajo de Kubernetes en particular:
root@primary-node:~# kubectl logs -n common --tail 50 jobs/db-restore-hello-world
Para ver los escenarios de fallas de copia de seguridad y restauración más comunes, consulte Problemas comunes de copia de seguridad y restauración.
Scripts de copia de seguridad y restauración
También puede utilizar los scripts de copia de seguridad y restauración de Paragon Automation para simplificar las operaciones de copia de seguridad y restauración. En este tema se describen las operaciones de copia de seguridad y restauración de las secuencias de comandos, así como las advertencias sobre el uso de las secuencias de comandos.
- Operación de script de copia de seguridad
- Operación de script de restauración
- Advertencias de los scripts de copia de seguridad y restauración
Operación de script de copia de seguridad
El script de copia de seguridad realiza automáticamente una copia de seguridad de su configuración actual. El principal beneficio del script de copia de seguridad es que puede ejecutarlo como un trabajo cron con la frecuencia requerida para programar copias de seguridad periódicas. Además, el script de copia de seguridad crea carpetas de copia de seguridad con sello de fecha distinguibles y las carpetas no se sobrescriben si el script se ejecuta en días diferentes.
Para hacer una copia de seguridad de su configuración con el script de copia de seguridad:
-
Inicie sesión en cualquiera de los nodos principales.
-
Ejecute el script de copia de seguridad.
root@primary-node:~# data.sh --backup
La secuencia de comandos ejecuta un trabajo de copia de seguridad para realizar una copia de seguridad de la configuración actual. Se crea una carpeta de copia de seguridad y se guarda en un volumen persistente local en uno de los nodos del clúster. El nombre de la carpeta tiene el formato <name>-year_month_day . La carpeta del nodo del clúster contiene todos los metadatos de configuración de los que se ha realizado una copia de seguridad.
La secuencia de comandos también crea una carpeta con el mismo nombre en la ruta actual del nodo principal. La carpeta de copia de seguridad del nodo principal contiene los archivos JSON necesarios para la plataforma base utilizada al restaurar la configuración de la copia de seguridad.
A medida que se ejecuta el script, se genera un resumen de la copia de seguridad que se muestra en la pantalla. El resumen contiene el nodo y la ubicación de los archivos de copia de seguridad. Por ejemplo:
===============================Backup Report================================
Name: db-backup-paa-2023-10-18
Namespace: common
Selector: controller-uid=446d45fd-0a7e-4b21-94b1-02f079b11879
Labels: apps=db-backup
common=db-backup
id=paa-2023-10-18
Annotations: <none>
Parallelism: 1
Completions: 1
Start Time: Wed, 18 Oct 2023 08:39:04 -0700
Completed At: Wed, 18 Oct 2023 08:39:23 -0700
Duration: 19s
Pods Statuses: 0 Running / 1 Succeeded / 0 Failed
Pod Template:
Labels: app=db-backup
common=db-backup
controller-uid=446d45fd-0a7e-4b21-94b1-02f079b11879
id=paa-2023-10-18
job-name=db-backup-paa-2023-10-18
Service Account: db-backup
Containers:
db-backup:
Image: localhost:5000/eng-registry.juniper.net/northstar-scm/northstar-containers/ns_dbinit:release-23-1-ge572e4b914
Port: <none>
Host Port: <none>
Command:
/bin/sh
Args:
-c
exec /entrypoint.sh --backup /paa-2023-10-18
Environment:
PG_HOST: atom-db.common
PG_PORT: 5432
PG_ADMIN_USER: <set to the key 'username' in secret 'atom.atom-db.credentials'> Optional: false
PG_ADMIN_PASS: <set to the key 'password' in secret 'atom.atom-db.credentials'> Optional: false
Mounts:
/opt/northstar/data/backup from postgres-backup (rw)
Volumes:
postgres-backup:
Type: PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
ClaimName: db-backup-pvc
ReadOnly: false
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal SuccessfulCreate 47m job-controller Created pod: db-backup-paa-2023-10-18-95b8j
Normal Completed 47m job-controller Job completed
=============================================================================
Running EMS Backup.
===============================Get Backup file location======================
Name: local-pv-81fa4ecb
Labels: <none>
Annotations: pv.kubernetes.io/bound-by-controller: yes
pv.kubernetes.io/provisioned-by: local-volume-provisioner-10.16.18.20-b73872bc-257c-4e82-b744-c6981bc3e131
Finalizers: [kubernetes.io/pv-protection]
StorageClass: local-storage
Status: Bound
Claim: common/db-backup-pvc
Reclaim Policy: Delete
Access Modes: RWO
VolumeMode: Filesystem
Capacity: 149Gi
Node Affinity:
Required Terms:
Term 0: kubernetes.io/hostname in [10.16.18.20]
Message:
Source:
Type: LocalVolume (a persistent volume backed by local storage on a node)
Path: /export/local-volumes/pv1
Events: <none>
=============================================================================
Running Pathfinder Kubernetes Config Backup.
=============================================================================
...<snipped>...
=============================Backup Completed================================
En este ejemplo, la carpeta de copia de seguridad que contiene todos los metadatos de copia de seguridad se almacena en el nodo del clúster con la dirección IP 10.16.18.20 en la carpeta /export/local-volumes/pv1 .
Operación de script de restauración
El script de restauración restaura automáticamente la configuración de la copia de seguridad.
Para restaurar su configuración mediante el script de restauración:
-
Inicie sesión en cualquiera de los nodos principales.
Obtenga el nombre de su contenedor MGD:
#kubectl get po -n healthbot | grep mgd
Ejecute el comando de restauración.
#kubectl exec -ti -n healthbot mgd-858f4b8c9-sttnh -- cli request system restore path /paa-2023-10-18
Busque el pod de restauración en el espacio de nombres común.
#kubectl get po -n common | grep restore db-restore-paa-2023-10-18-6znb8
Compruebe los registros del pod de restauración.
#kubectl logs -n common db-restore-paa-2023-10-18-6znb8
Siga los registros y actualice en busca de Restauración completa hacia el final de los registros.
2023-10-18 16:01:11,127:DEBUG:pg_restore: creating ACL "metric_helpers.TABLE pg_stat_statements" 2023-10-18 16:01:11,129:DEBUG:pg_restore: creating ACL "metric_helpers.TABLE table_bloat" 2023-10-18 16:01:11,131:DEBUG:pg_restore: creating ACL "pg_catalog.TABLE pg_stat_activity" 2023-10-18 16:01:11,137:INFO:Restore complete 2023-10-18 16:01:11,388:INFO:Deleted secret ems/jobmanager-identitysrvcreds 2023-10-18 16:01:11,396:INFO:Deleted secret ems/devicemodel-connector-default-scope-id 2023-10-18 16:01:11,396:WARNING:Could not restore common/iam-smtp-config, iam-smtp-bkup.yml not found 2023-10-18 16:01:21,405:DEBUG:Waiting for secrets to be deleted (10/60) sec 2023-10-18 16:01:21,433:INFO:Created secret ems/jobmanager-identitysrvcreds 2023-10-18 16:01:21,443:INFO:Created secret ems/devicemodel-connector-default-scope-id 2023-10-18 16:01:21,444:INFO:Starting northstar applications 2023-10-18 16:01:22,810:INFO:Starting ems applications 2023-10-18 16:01:23,164:INFO:Starting auditlog applications 2023-10-18 16:01:23,247:INFO:Starting iam applications
Inicie sesión en la interfaz de usuario de la versión 24.1 y verifique los datos restaurados.
Advertencias de los scripts de copia de seguridad y restauración
Las advertencias de los scripts de copia de seguridad y restauración son las siguientes:
-
Puede ejecutar los scripts semanalmente o solo una vez al día. Al ejecutarlos varias veces en un período de 24 horas, se devuelve un error, ya que ya hay una carpeta de copia de seguridad para ese día denominada <name>-year_month_day. Si necesita realizar una copia de seguridad manual en el mismo período de 24 horas, debe eliminar el trabajo mediante el
kubectl delete -n common jobscomando. Por ejemplo:# kubectl delete -n common jobs db-backup-paa-2023_20_04 -
Los scripts llenan el espacio en disco con archivos de copia de seguridad según la frecuencia y el tamaño de los archivos de copia de seguridad. Considere eliminar los metadatos y archivos de copia de seguridad obsoletos para liberar espacio en disco. Puede eliminar los metadatos de Kubernetes mediante el
kubectl delete -n common jobscomando. Por ejemplo:# kubectl delete -n common jobs db-backup-paa-2023_20_04Puede eliminar los archivos de copia de seguridad eliminando las carpetas <name>-year-month-day creadas en la carpeta /root/ en la ruta del volumen local que se muestra en el resumen al ejecutar la secuencia de comandos de copia de seguridad.