3. Introdución
• Situación actual
– Presupuestos muy reducidos
– Tecnología heterogénea
– Elevada carga de trabajo del equipo técnico
– Elevada rotación de personal
– Elevado consumo de disco de nuestras
aplicaciones
– Necesidad de respaldo en caliente de nuestras
Bases de datos, mayoritariamente, Oracle
4. Introducción
• Alternativas
– Backups tradicionales a cinta u otros medios
– Contratación de los servicios del centro de
respaldo (opción deseable)
– Adquirir herramientas de backup de terceros
– Opción “háztelo-tú-mismo”
6. Introducción
• El recorrido que vamos a hacer incluye estas
aproximaciones:
– Backups tradicionales:
• visión de bacula
• Servicio de recogida de cintas CdR
– Adquirir herramientas de terceros
• A evaluar dependiendo del entorno.
• Estrategia poco deseable: mejor el enfoque a servicio o a
software libre (más estandarizado)
– Opcíon háztelo tú mismo
• Rsync
• duplicity
7. Bacula vs otras herramientas
• Bacula:
– Sistema de backup orientado a la red
– Open Source
– Versión actual: 5.2.6 (22/Feb/2012)
– Admite diferentes medios, incluyendo disco y
cintas
– Comparable a Legato Networker. ARCserveIT,
Arkeia, o PerfectBackup+
– Idóneo para backups de clientes, no sólo
servidores
– Disponibles diferentes consolas gráficas
8. Bacula vs otras herramientas
• Principales componentes de bacula
– Bacula Director
– Bacula Console
– Bacula File
– Bacula Storage (almacenamiento)
– Bacula catalog
– Bacula Monitor (monitorización de servicios)
9. Bacula vs otras herramientas
• Bacula Director
– Bacula Director es el programa que supervisa
todo el backup, restore, vrificaciónes y
operaciones de archivado.
– El administrador de sistema usa Bacula
Director para planificar y/o recuperar ficheros.
– Bacula Director se ejecuta como un daemon
(o servicio) en background.
10. Bacula vs otras herramientas
• Bacula Console
– Bacula Console es elprograma que permite al
administrador comunicarse con Bacula
Director para darle órdenes.
– Versiones: texto, QT y wxWindows
11. Bacula vs otras herramientas
• Bacula File
– Bacula File service (también llamado Bacula
Client) es el software que se instala en la
máquina a ser respaldada.
– Versiones Unix/Windows
12. Bacula vs otras herramientas
• Bacula Storage
– Bacula Storage está formado por los
programas que efectúan el almacenador y
recuperación de los datos y atributos de
ficheros hacia el mdio físico de backup o
volúmenes.
– En otras palabras, es por ejemplo el
responsable de leer y escribir en las cintas.
13. Bacula vs otras herramientas
• Bacula Catalog
– Compuesto por los programas responsables
de mantener los índices y bases de datos de
volúmenes de todos los ficheros respaldados.
– Soporta MySQL, PostgreSQL o SQLite
(oracle no)
14. Bacula vs otras herramientas
• Bacula Monitor
– Bacula Monitor esel programa que permite al
administrador comrprobar el estado de los
componentes Bacula Director, Bacula File y
Bacula Storage.
– Versión GTK+ disponible.
18. rsync
• ¿Qué es rsync?
– Programa para sincronizar dos árboles de
directorio.
– Puede funcionar a través de ssh para
garantizar privacidad.
– Si un fichero a transmitir ya existe en el host
destino, no es transmitido.
• Si existe pero es diferente, sólo se transmiten las
partes que son diferentes.
20. Rsync: ejemplo
• Ejercicio:
– Creamos un full y un incremental
– Creamos un fichero con cat /dev/zero en carpeta
Dropbox/temp
– Comprobamos lo que tarda en transmitir.
– Modificamos el archivo y comprobamos que tarda
menos en llevarlo.
• Conclusión: idóneo para los backups de
usuarios, donde cada uno se puede recuperar
los ficheros perdidos.
21. Rsync: parámetros utilizados
• --archive: obliga a reservar permisos,
propietarios, y hora.
• --one-file-system: NO entra de forma recursiva
en otros file systems.
• --hard-links:Mantiene hard links del servidor
que están siendo respaldados.
• --numeric-ids: Impide a rsync el intento de
transformar UID <> userid o GID <> groupid.
23. duplicity
• Duplicity:
– Es una suite software que proporciona backup
remoto sencillo, encriptado, firmado digitalmente
y versionado.
– Permite backups full e incrementales
– Usa GnuPG, librsync, tar y rdiff.
– Para transmitir datos, puede usar SSH/SCP,
ficheros locales, rsync, FTP, Amazon S3,
webdav...
– Funciona en Unix/Linux y windows con cygwin
24. duplicity
• Ejemplo1:
– duplicity –no-encryption
Escritorio/
file:///tmp/backup/pruebadup
– La primera vez, lanza un backup full, las
demás incremental.
– No cifra la copia con GPG
– Guarda la copia en sistema de ficheros local
– Bastante optimizado en espacio
– Al menos un parámetro debe ser URL
25. duplicity
• Ejemplo 2:
– duplicity Escritorio/
ftp://jcrubio@redania.com/pruebadup
– La primera vez, lanza un backup full, las
demás incremental.
– **SÍ** cifra la copia con GPG
– Guarda la copia en remoto (FTP)
– Al menos un parámetro debe ser URL, en
este caso, recurso FTP.
26. duplicity
• duplicity full /home/jcrubio/Escritorio
scp://jcrubio@mi_servidor/mi_directorio
• Fuerza un full backup y lo envía por SCP
• duplicity scp://jcrubio@redania.com/pruebadup
/home/jcrubio/Escritorio
• Restaura TODO tal y como estaba
originalmente.
27. duplicity
• duplicity -t 3D --file-to-restore ceritos
file:///tmp/backup/pruebadup
/home/jcrubio/Escritorio/ceritos --force
• Restaura UN ÚNICO FICHERO de la
copia en la ubicación proporcionada,
tomando de la copia la versión de hace
tres días entre las que haya.
28. duplicity
• echo “prueba” >>
/home/jcrubio/Escritorio/ceritos
• duplicity verify file:///tmp/backup/pruebadup
/home/jcrubio/Escritorio
• Comprueba lo que ha cambiado entre el
directorio actual y la réplica
– Siguiente diapositiva muestra salida del
comando.
29. duplicity
• Salida del comando anterior:
root@server:/home/jcrubio# duplicity verify
file:///tmp/backup/pruebadup /home/jcrubio/Escritorio/
GnuPG passphrase:
Local and Remote metadata are synchronized, no sync needed.
Last full backup date: Wed Mar 14 15:08:45 2012
Difference found: File . has mtime Wed Mar 14 22:38:13 2012, expected Tue
Mar 13 21:20:22 2012
Difference found: File ceritos has mtime Wed Mar 14 22:42:39 2012,
expected Wed Mar 14 15:09:37 2012
Verify complete: 13 files compared, 2 differences found.
30. duplicity
• duplicity --exclude /mnt --exclude /tmp
--exclude /proc / file:///media/backup
• Copia el directorio raíz excluyendo los
directorios listados.
• duplicity --include /home --include /etc
--exclude ’**’ / file:///media/backup
• Lo único que copia del raíz son los
directorios /home y /etc
31. duplicity
• CONCLUSIÓN: Idóneo para backup de
servidores
• ¿Podríamos hacer backups de Oracle u
otras bases de datos, o de máquinas
virtuales en caliente?
– Casi....
– Ejemplo de BD oracle
32. duplicity#!/bin/bash
# NOMBRE SCRIPT: start-backup-mode.sh
# Pone la BD en modo backup mode
sqlplus /nolog <<EOF
conn sys/managger as sysdba
alter database begin backup;
exit
EOF
# Usando LVM, crea y monta Snapshots
/usr/sbin/lvcreate -L 20G -s -n oradata-snap oradata
/usr/sbin/lvcreate -L 20G -s -n oraappl-snap oraappl
mount /dev/VG_DATA/oradata-snap /mnt/snapshots/var/oradata/
mount /dev/VG_DATA/oraappl-snap /mnt/snapshots/opt/oraappl/
# Sacamos la BD de modo backup
sqlplus /nolog <<EOF
conn sys/managger as sysdba
alter database end backup;
exit
EOF
exit 0
33. duplicity
• Hacemos la copia con duplicity
• duplicity ora* ftp://usuario@servidor/path
• Esta misma orden podría ir en el archivo
anterior, start-backup-mode.sh, después
de que se haya sacado la BD de modo
backup
• Por último, destruimos el snapshot