Avances tecnológicos del siglo XXI y ejemplos de estos
Rsync and Backups
1. Administración de sistemas.
Backups
En una organización es imprescindible asegurar
la supervivencia de los datos ante:
Fallos humanos
Fallos de Hardware
Catástrofes
La estrategia principal consiste en conservar
copias de los datos en un formato compacto y
recuperable
2. Medidas contra la pérdida de
información
Distintas causas distintas soluciones:
Fallos humanos: copias de los ficheros.
Fallos de Hardware: redundancia del Hw. Copias en
diferentes dispositivos. RAID
Catástrofes: Copias deslocalizadas geográficamente,
protegidas por armarios inífugos o en silos
antiinundaciones.
3. Planes de backup
Consiste en decidir cómo queremos que sea
nuestra copia de seguridad y cómo nos
podemos permitir hacerla.
Es una solución de compromiso entre:
Recursos disponibles (espacio y tipo dispositivos).
Comodidad de recuperación de la información.
Grado de protección.
Medios: Discos duros (array de discos), todavía
cintas DAT (secuencial).
Volumen de información: compresión o no.
Periodididad y estrategia
4. Planes de backup
¿Qué tiempo necesito para una backup
completo? (Completo / incremental)
¿Qué espacio de almacenamiento necesito?
(Completo / incremental)
¿Cuánto tiempo de trabajo puedo asumir perder?
Estrategia general:
Bactup Backup Backup ... Backup Bactup Backup
completo increment increment increment completo increment
al al al al
tiempo
5. Recuperación de datos
Fallo o pérdida
Bactup Backup Backup ... Backup Bactup Backup
completo increment increment increment completo increment
al al al al
tiempo
La recuperación con este esquema general
supodría:
Restaurar el último backup completo
Restaurar el backup incremental 1
Restaurar el backup incremental 2
Asumir la pérdida entre el último backup incremental
y el fallo.
6. Rsync como herramienta de
backup
Permite copia remota (deslocalización).
Interoperable (varios sistemas operativos).
A partir de fiecheros/directorios originales
mantiene copias espejo (sincroniza).
Minimiza la transferencia de datos, mandando
sólo los cambios entre el fichero/carpeta
original y el sincronizado y de forma
comprimida.
Necesita bajo ancho de banda pero alto
consumo de CPU y memoria.
7. Rsync mediante ejemplos
rsync -v fichero1 /otrodir/otronombre
-v (verbose)
sent 7626448 bytes received 42 bytes 15252980.00 bytes/sec
total size is 7625431 speedup is 1.00
rsync -av dir1 dir2 (Crear un nuevo fichero en origen y
reejecutar. Ejecutar otra vez y comparar, )
-a ( copia exacta de la jerarquía de ficheros y
directorios), combina:
-r recursivo -g mantener grupo
-l enlaces simbólicos -o mantener propietario
-p mantener permisos -D mantener ficheros de
-t mantener hora dispositivo
8. Rsync mediante ejemplos
echo Texto >> dir1/ficherotexto y repetimos el comando
anterior. Vemos que se copia el fichero entero.
Comportamiento por defecto en local.
rsync -avz --no-whole-file dir1/ dir2/
---no-whole-file sólo copia los bloques modificados
-z comprime el bloque antes de transferirlo (+CPU)
Sólo se copian los ficheros que tienen diferente
fecha/tamaño, pero para evitar casos raros, se
puede usar -c comprueba una suma CRC para
decidir copiar. (+CPU)
9. Rsync mediante ejemplos
Sin ”/” al final del directorio de origen: copia el
propio directorio de origen.
Con ”/” al final del directorio de origen: copia el
contenido.
rsync -av --delete dirA/ dirB
elimina los ficheros borrados en la carpeta destino. Para
evitar borrados por error probar rsync -avn –delete
dirA/ dirB (-n prueba sin consecuencias)
rsync -avu dirA/ dirB
-u evita sobreescribir ficheros más recientes. Útil si
modificamos cosas en la copia backup.
10. Backups con ”rsync”
Backup completo:
rsync -av dirorigen/ dirbackup
Backups incrementales (aprox. 1):
Para guardar los ficheros borrados y las versiones
previas de modificados en un directorio especial a
la vez que resincronizamos dirA con dirB:
rsync -avvb --delete --backup-dir=
/ruta_abs/BAK1 dirA/ FULL/
--backup-dir debe estar en forma absoluta, si no es
relativo a dir-destino
11. Backups con”rsync” aprox. 1
Ahora
Quiero
Volver atrás
a este punto Reconstruyo dirA con:
f1 f1 versión1
f2 f3 BAK1 + FULL
FULL
BAK1 BAK2
tiempo
Modifico f1 Modifico f1 Fallo o Pérdida
dirA Borro f2 Modifico f3 Reconstruyo dirA con
Creo f3 Creo f4 FULL
Contenido dirA y FULL
en el tiempo
f1 f1 versión1 f1 versión2 f1 versión2
f2 f3 f3 versión1 f3 versión1
f4 f4
12. Backups con ”rsync”
Backups incrementales (sol. 2):
Supongamos FULL es un backup completo de dirA
Se producen cambios en dirA (FULL ya no es un
mirror de dirA)
Para dejar FULL sin cambios y guardar en INC1 las
modificaciones y los añadidos a dirA comparándolo
con FULL:
rsync -avvb --compare-dest=/ruta_abs/FULL dirA/ INC1
--compare-dest debe estar en forma absoluta, si no
es relativo a dir-destino
No borra nada. En caso de pérdida FULL + INCx = dirA +
ficheros borrados desde el momento de FULL hasta INCx
13. Backups con ”rsync” aprox. 2
f1
f2
f1 versión1 f1 versión2
f3 f3 versión1
f4
FULL
INC1 INC2
tiempo
Modifico f1 Modifico f1 Fallo o Reconstruyo dirA con
dirA Borro f2 Modifico f3 pérdida FULL + INC2
Creo f3 Creo f4
Contenido dirA en el tiempo
f1 versión2
f1 f1 versión1 f1 versión2 f2 acumulo borrados
f2 f3 f3 versión1 f3 versión1
f4 f4
14. Rsync remoto
rsync -av --delete dirA vicente@remoto:/backup/
rsync -av --delete vicente@remoto:/dirA/ dirC
No pueden ser remotos los 2 directorios
Es conveniente evitar que cada vez nos pida
contraseña. Mejor configurar acceso por ssh.