Còpies de seguretat amb linux

Recentment he adquirit un parell de discos de xarxa per tal de fer les còpies de seguretat i tenir les dades replicades… m’ha sorprès gratament, realitzar búsquedes per internet per poder analitzar diferents opcions de còpies de seguretat amb linus -que és el sistema operatiu que disposa la controladora del disc dur en qüestió-.  He acabat la pàgina del Centre Nacional d’Informació  i Comunicació Educativa (http://www.cnice.mecd.es), pertanyent al ministeri d’educació i ciència (http://www.mec.es). A la pàgina s’explica molt detalladament com configurar el servidor de còpies, pas a pas, amb les comandes, comentaris… quan validi el seu funcionament ja faré algun post ampliant la informació i experiència obtinguda.

Aquí­ l’enllaç per no perdre’l:

http://observatorio.cnice.mec.es/modules.php?op=modload&name=News&file=article&sid=175 

Creación de un sistema de copias de seguridad automatizado en Linux

Cí“MO CREAR COPIAS DE SEGURIDAD EN LINUX

INTRODUCCIí“N

En el presente documento se va a explicar cómo realizar copias de seguridad automatizadas en una red interna de servidores con el sistema operativo Linux.

El sistema automatiza las copias de seguridad, creando un fichero “comprimido” y “paquetizado” con el comando tar, con el compresor compress para cada uno de los directorios a copiar. Para ello, se usará compartición de ficheros remotos del sistema NFS. La ejecución de las distintas funciones se realizará desde un servidor de control, ya que tiene permiso de rsh sobre todas las máquinas.

REQUISITOS DEL SISTEMA AUTOMATIZADO DE COPIAS DE SEGURIDAD

  1. Las máquinas de las que se vayan a hacer copias de seguridad han de dar permiso para hacer rsh desde el servidor de control.

  2. Deben de poder ejecutar el cliente de nfs, para ubicar la copia realizada en el servidor de copias, que es donde se va a realizar el volcado a un dispositivo de almacenamiento (cinta, cd , …).

  3. Todas las máquinas involucradas, incluso los servidores de copias y de control han de pertenecer a la misma red.

  4. Deben estar instalados los paquetes del ncompress, y del rsh, en las máquinas que se van a copiar.

SERVIDOR DE CONTROL

  1. Debemos de tener un directorio donde ubicaremos el script que lanzará el cron, a partir de las 12 de la noche. Se harán a esta hora ya que los ficheros a copiar sufren menos modificaciones.

  2. En ese mismo directorio, tendremos otro fichero de texto que tendrá el siguiente formato:

servidorACopiar DiaIntegra DiaIncremental DirectorioEnServidorCopias

DirMontado

donde,

servidorACopiar: es el nombre de la máquina de la cual se realizará la copia.

DiaIntegra: dí­a del mes en que se hará la copia í­ntegra.

DiaIncremental: dí­a de la semana en que se hará la copia incremental. Va de 1..7, el ‘1’ será Lunes, y el ‘6’ Sabado. Si indicamos el valor de ‘7’, es que no se hará copia incremental de ese servidor.

DirectorioEnServidorCopias: Es el directorio que está exportando el servidor de copias.

DirMontado: Es el nombre del directorio de montaje en el cliente nfs.

  1. Tendremos también por cada servidor a copiar, un fichero de texto que nos indique, qué cosas debemos de copiar, y podrí­a tener el siguiente formato:

nombreDirectorioACopiar nombreFicheroAGenerar

donde,

nombreDirectorioACopiar: es el directorio que deseamos empaquetar y comprimir.

NombreFicheroAGenerar: es el nombre que damos al fichero empaquetado y comprimido (tendrá extensión .tar.Z). Por ejemplo:

/etc/ etc

/home/patron home-patron

NOTA: Las rutas han de ser absolutas, y no se pueden usar caracteres reservados del sistema operativo.

  1. El script debe de crear un fichero que indique la fecha de la última copia realizada, ésto lo utilizan las copias incrementales (opcción –newer del comando tar).

SERVIDOR DE COPIAS

  1. En el /etc/fstab debemos de tener una lí­nea por cada dispositivo que deseemos usar para almacenar las copias hasta que sean volcadas definitivamente a dispositivo magnético. Ej:

/dev/hdaX /DirMontaje TipoSSFF defaults 1 2

  1. Debemos de exportar los directorios, para los clientes de nfs:

Editamos el fichero /etc/exports, e insertamos una lí­nea por cada directorio a exportar;

Ej:  /DirMontaje/DirectorioAExportar  nombreMaquinaCliente.dominio(rw,no_root_squash)

  1. Levantar servidor de nfs.

MíQUINA DE USUARIO

Es la que va a levantar el cliente de nfs, para que la copia se genere fí­sicamente en la máquina que hace de Servidor de Copias. La orden mount deberá emitirse desde el script que se va a ejecutar en el Servidor de Control, y ha de ser algo similar a:

Ej: #función que monta en el cliente el directorio exportado por el servidor NFS

rsh -n $CLIENTE mount -o rw $SERVIDOR:$DIREXPORTADO $DIRMONTADO 2>> $log_error

SCRIPT DE AUTOMATIZACIí“N DEL PROCESO DE COPIA

Pasos que debe ejecutar dicho script­:

a) Leer:

servidorACopiar DiaIntegra DiaIncremental DirectorioEnServidorCopias DirMontado

Estos datos se toman del fichero de texto que se comentó anteriormente.

b) Leer del fichero de esa máquina concreta qué es lo que debemos copiar (por ej.: /etc), y el nombre que se va a dar al fichero.

c) Comprobar si esa máquina está planificada para ser copiada en la fecha actual.

d) Si se ha de copiar, existen dos opciones:

d.1-. Copia í­ntegra:

  • Se monta el directorio con el comando citado en el apartado anterior.

  • Se realiza la copia, con una orden similar a:

    -. Se van leyendo los directorios que han de copiarse, y para cada uno de ellos;

      rsh -n $CLIENTE tar $NEWER -cf – $DIRACOPIAR ‘|’ compress -c ‘>’ $DIRMONTADO/$CLIENTE-$FechaHoy$tipoCOPIA-$NOMBRE.tar.Z 2>> $log_error

donde,

      $CLIENTE es el nombre de la máquina de la cual haremos la copia, y que tiene lanzado el cliente de nfs.

      $NEWER debe valer “” si es copia í­ntegra, y “–newer fecha-ultima-copia” si es incremental.

      $DIRACOPIAR es la ruta absoluta del directorio a copiar.

      $DIRMONTADO es el directorio de montaje (usado en el cliente de nfs).

      $FechaHoy es la fecha actual.

      $tipoCOPIA añade un texto que nos indicará si la copia es í­ntegra o incremental.

      $NOMBRE es el nombre que le damos al directorio que estamos copiando, y se ha obtenido de leer el 2º campo del fichero de texto, donde se indica ‘Directorio a copiar’ ‘nombreFicheroDirectorio’ (hace referencia a éste último valor).

d.2-. Copia Incremental:

  • Es similar a la copia í­ntegra, excepto en dos aspectos fundamentales:

    $ NEWER=”–newer fecha-ultima-copia “

    $tipoCOPIA=”Incremental”

  • Al finalizar la copia, se debe de actualizar la fecha de última copia, para que la siguiente vez que se realice la incremental, tome únicamente los datos que hayan sufrido modificaciones a partir de dicha fecha.

    e) Por último, ya sólo queda desmontar el directorio del cliente nfs ($DIRMONTADO).

NOTA: Se pueden ir guardando logs de todo el proceso, para en caso de fallo seguir el rastro, y poder solucionar el problema con mayor rapidez.

RECUPERACIí“N DE LOS DATOS

Se recomienda volcar las copias a dispositivos de almacenamiento secundario (cintas magnéticas, Cds, …), y en caso de necesitarse, copiar dichos ficheros a una máquina de recuperación de datos. Una vez hecho ésto, se descomprimen y desempaquetan los mismos usando la orden:

(Para RedHat) # tar xvZf nombreFichero.tar.Z

One Reply to “Còpies de seguretat amb linux”

  1. You actually make it appear really easy together with your presentation however I in finding this topic to be really something which I believe I’d by no means understand.
    It sort of feels too complicated and extremely vast for me.
    I’m taking a look forward for your next put up, I’ll
    try to get the hold of it!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.