Backup: Copia de seguridad de Athento ECM
AthentoECM permite realizar copias de seguridad mientras el sistema continĆŗa funcionando. Para realizar las copias es necesario tener en cuenta algunos aspectos:
- Hora de la copia: escoger una hora en la que el sistema registre poca actividad con el fin de evitar pĆ©rdidas de informaciĆ³n parciales.
- Tipo de copia de seguridad: puede ser completa o incremental. Normalmente se realiza una completa y a partir de ese momento, incrementales cada dĆa, semana o mes.
- Software a copiar: decidir quƩ elementos de software se desean almacenar:
- Software y configuraciĆ³n: son los elementos que convierten al sistema en la herramienta que es. No son elementos que cambien con frecuencia (quizĆ” la configuraciĆ³n pueda cambiar), pero conviene disponer de una copia del momento de instalaciĆ³n y de todos los cambios de configuraciĆ³n o software que se realicen.
- Datos: los datos que procesa, crea, modifica y elimina el sistema en su funcionamiento. En AthentoECM, los datos se almacenan en 2 almacenes, base de datos y sistema de ficheros.
- Software y configuraciĆ³n: son los elementos que convierten al sistema en la herramienta que es. No son elementos que cambien con frecuencia (quizĆ” la configuraciĆ³n pueda cambiar), pero conviene disponer de una copia del momento de instalaciĆ³n y de todos los cambios de configuraciĆ³n o software que se realicen.
- UbicaciĆ³n de las copias. Es recomendable almacenar las copias de seguridad en lugares diferentes para evitar accidentes y pĆ©rdida de informaciĆ³n.
Para poder restaurar un sistema completamente, es necesario disponer de copias de seguridad del software, la configuraciĆ³n y los datos.
Instalar software requerido
Para realizar copias de seguridad de una instalaciĆ³n standard de AthentoECM es necesario instalar en el servidor los siguientes paquetes:
- rdiff-backup
- pigz
apt-get install -qq -y pigz rdiff-backup
Realizar copia de seguridad
Copias semanales
Se recomienda almacenar copia semanalmente de los elementos que conforman el sistema (software + configuraciĆ³n) ya que no son elementos que cambien a diario:Ā
rdiff-backup --print-statistics /etc /mnt/backupstorage/incremental/etc rdiff-backup --print-statistics /var/lib/nuxeo/server/ /mnt/backupstorage/incremental/var/lib/nuxeo/server
Copias diarias
Se recomienda almacenar copia diaria incremental de los datos con los que trabaja el sistema. Esto es: base de datos + repositorio.
Volcado de las base de datos mediante la herramienta adecuada para ello (por defecto, postgresql y mondodb):
pg_dump -p 5433 -Z0 -Fc nuxeo | pigz --rsyncable > /mnt/backupstorage/db/nuxeo.pigz.dump.gz mongodump -h localhost --gzip --db nuxeo --archive=/mnt/backupstorage/db/mongodb.nuxeo.archive.gz
Esto genera ficheros que se sobreescriben diariamente. Antes de ser sobreescritos, se copian incrementalmente a la ubicaciĆ³n definida para ello.
Copia incremental de datos:
rdiff-backup --print-statistics /mnt/backupstorage/db/ /mnt/backupstorage/incremental/db rdiff-backup --print-statistics /var/lib/nuxeo/repo/ /mnt/backupstorage/incremental/var/lib/nuxeo/repo
ADVERTENCIA: la copia del repositorio de binarios puede ser pesada y ocupar mucho espacio dependiendo del volumen de datos de la instancia. Es recomendable asegurarse de que va a caber en el destino y lanzarla en momentos de poca carga del sistema.
Restaurar la copia de seguridad
Es importante tener en cuenta algunos puntos:
- La restauraciĆ³n debe hacerse con AthentoECM parado.
- Es necesario cambiar de nombre o eliminar (previo backup) las bases de datos de postgresql y mongodb ANTES de comenzar el proceso y con AthentoECM parado.
- Es necesario asegurar que se dispone de espacio suficiente en el servidor para albergar los archivos restaurados.
- Si alguno de los servidores de base de datos (mongodb o postrgresql) se ha vuelto inestable, estabilizarlo antes de continuar.
RestauraciĆ³n de datos
Normalmente la restauraciĆ³n de datos es suficiente. Supongamos que queremos restaurar el estado del sistema de 10 dĆas atrĆ”s.
Restaurar los datos binarios y de base de datos.
rdiff-backup -r 10D /mnt/backupstorage/incremental/var/lib/nuxeo/repo /tmp/repo rdiff-backup -r 10D /mnt/backupstorage/incremental/db /tmp/db
ADVERTENCIA: Asegurar que la restauraciĆ³n se realiza sobre un directorio con capacidad para albergar el volumen de datos del repositorio. En el ejemplo se utiliza /tmp.
- Cargar las bases de datos con los datos restaurados.
su - postgres -c "gzip -d -c /tmp/db/nuxeo.pgiz.dump.gz | pg_restore -p 5433 --disable-triggers --clean -d nuxeo -v mongorestore --gzip --archive=/tmp/db/mongodb.nuxeo.archive.gz --db nuxeo