contribuir  :  búsqueda avanzada  :  estadísticas del sitio  :  Directory  :  Documentos para Bajarse  :  Archivos y Programas  :  Links  :  Polls  :  Calendar  
GULBar Grupo de Usuarios de Linux Bariloche
Bienvenido a GULBar
domingo 05 de septiembre de 2010 - 09:24 ART
   

Sistema de Backup simple y sencillo (1ra parte)

El backup es una copia de la informacion sensible de un sistema informatico disponible en otro medio para proteccion de la misma.

En un servidor en produccion normalmente es parte de la planificacion inicial del mismo, por lo que a la hora de tener datos generados estos ya estan protegidos.

Esta planificacion tiene varios aspectos a considerar siendo
algunos de  ellos:

 

1- Programa o aplicacion con que se lleva adelante la tarea

2- Tratamiento que se le efectua a las copias

3- medios en los que se almacenan las copias

4- metodos de recuperacion de los datos

5- documentacion que explique el proceso 

 

1)En un servidor GNU/Linux se encuentran disponibles varias herramientas para generar copias de seguridad, cada una con mayor o menor complejidad en su funcionamiento.

- Tar , empaqueta directorios y archivos

-rsync, sistema de copia y sincronizacion de samba team

-rdiff-backup, para backups diferenciales e incrementales

-otras soluciones completas como Amanda o Bacula

 

2)Debe considerarse si los datos se van a comprimir, encriptar,
dividir en tamaño de acuerdo al soporte donde se almacenaran, copias completas, incrementales o diferenciales, comprobacion de integridad de datos, etc.

 

3)Las copias pueden ser guardadas en Cds, DVDs, en discos
remotos, etc. Datos replicados sin compresion ni empaquetado en discos locales para su pronta restauracion.

 

4)De acuerdo al volumen del backup en ocaciones puede resultar
engorroso encontrar el archivo/s a restaurar, a la vez que en una situacion de
daño total en el servidor es muy importante tener en cuenta el metodo de
restauracion que posee nuestro sistema de backup

 

5)finalmente cuanto mejor documentado este nuestro sistema de
backup, menos problematico terminara siendo su administracion

 

En mi caso particular tengo un servidor de bases de datos y otro de archivos. Para hacer la copia de seguridad me arme un simple script que vuelca las bases de datos a un temporal y lo comprime.

Se rota durante siete dias y empieza a eliminar el mas antiguo

Este backup se copia a una unidad nfs remota, se divide en partes para guardarlo en DVDs regrabables y al a vez tambien queda guardado en otra unidad de disco rigido en el mismo servidor.

Como el dump de la base se realiza todos los dias, un backup incremental no estaria funcionando dado el cambio de fecha y tamaño (o no) de los archivos. Entonces estoy probando si la opcion de backup diferencial funciona bien y solo detecta los agregado de las bases y actualiza esos archivos.

Esto lo realizo con DAR con el que tambien genero controles de integridad de archivos y es posible que mas adelante implemente la encriptacion de las copias.

Para el caso del servidor de archivos, tengo una unidad de disco en el servidor que solo se monta al efecto de sincronizar los datos con rsync y en caso de caidas, solo tengo que montar esa unidad en lugar de la que esta en produccion. Si el daño es total se recupera de la unidad remota por nfs o se recurre a las copias en DVD. Lo demas funciona como el anterior, con el DAR hago copias diarias con eliminacion de las antiguas en un periodo de 7 dias.
Para mas adelante voy a implementar copias completas cada 30 dias pero por el momento solo tengo una copia completa inicial.

 

Las copias estan automatizadas con el Cron y periodicamente hago  chequeos manuales de integridad de datos. Esto podria hacerlo en forma automatica tambien, pero he preferido dedicarle un tiempo en persona ya que al mismo tiempo que monto la unidad de disco local para backup para copiarlo a DVD le paso el chequeo CRC.

 

 

Script de backup de bases:

#!/bin/bash
# Realiza el respaldo de la base de datos en localhost
FECHA=`date -I -d today`
USER="-u user"
CLAVE="-pclave"
MYSQL_DATABASES="OpenBiblio biblioteca geeklog libros webbiblio2 webbiblio3"
# Comprueba que existe el temporal
! test -d
/tmp/bases && mkdir --parent /tmp/bases
# dump de bases al temporal
for base in $MYSQL_DATABASES
{
   mysqldump --opt $USER $CLAVE $base > /tmp/bases/$base.sql
}
# genera el tarball en la unidad remota nfs
cd /tmp/bases
/bin/tar -zcvf /backup/databases.$FECHA.tgz *
# borra el temporal
rm -f  /tmp/bases/*
# borra el backup 7 dias mas viejo
rm -f /backup/databases.`date -d "$FECHA 7 day ago" +%Y-%m-%d`.tgz
# monta la unidad de backup local
mount /dev/sda4 /mnt/backup

dar -c /mnt/backup/databases -R /backup -A /mnt/backup/databases1/completo.dar

umount /mnt/backup

 

 

Este script esta editado a partir de otros varios que he visto dando
vueltas en internet y he tomado lo que necesitaba para cumplir con mis
necesidades. He colocado solo algunas variables y no le incorpore avisos, ni
exit codes ni logs, etc. que son los adicionales que finalmente me hicieron
decidir por armar algo que haga solamente lo que necesito.

Hay conceptos que corregir lo que ire descubriendo con el uso, como por
ejemplo de que manera se maneja los diferenciales, no comprimir el tarbal sino
enviar los archivos planos al DAR, etc.

En una segunda oportunidad les traere la guia de como restaurar archivos,
directorios, restaurar parcial o totalmente.
 

Relacionado con esto...

Trackback

Trackback URL for this entry: http://www.gulbar.org.ar/trackback.php?id=20090611080510183

No trackback comments for this entry.
Sistema de Backup simple y sencillo (1ra parte) | 1 comentarios | Crear una Nueva Cuenta
Los siguientes comentarios son de quien sea que los haya enviado. Este sitio no es responsable por lo que dicen.
Sistema de Backup simple y sencillo (1ra parte)
Escrito por: Adi12 sobre viernes 31 de julio de 2009 - 09:27 ART
In information technology, backup refers to making copies of data so that these additional copies may be used to restore the original after a data loss event. These additional copies are typically web hosting called "backups." Backups are useful primarily for two purposes. The first is to restore a state following a disaster (called disaster recovery). The second is to restore small numbers of files after they have been accidentally deleted or corrupted.Data loss is also very common. 66% of internet users have suffered from serious data loss.Since a backup system contains at least one copy of all data worth saving search engine marketing, the data storage requirements are considerable. Organizing this storage space and managing the backup process is a complicated undertaking. A data repository model can be used to provide structure to the storage. In the modern era of computing there are many different types of data storage devices that are useful for making backups. There are also many different ways in which these devices can be arranged to provide geographic redundancy internet service providers, data security, and portability.Before data is sent to its storage location, it is selected, extracted, and manipulated. Many different techniques have been developed to optimize the backup procedure. These include optimizations for dealing with open files and live data sources as well as compression, encryption, and de-duplication, among others. Many organizations and individuals try to have confidence that the process is working as expected and work to define measurements and validation techniques. It is also important to recognize the limitations and human factors web site development involved in any backup scheme.
[ Responder a | # ]