Product SiteDocumentation Site

9.10. Respaldo

Realizar respaldos es una de las principales responsabilidades de cualquier administrador; pero es un tema complejo, que involucra herramientas potentes que usualmente son difíciles de dominar.
Existen muchos programas, como amanda, bacula o BackupPC. Éstos son sistemas cliente/servidor con muchas opciones y cuya configuración es bastante complicada. Algunos proveen una interfaz de usuario amigable para mitigarlo. Para los sistemas que no sean de empresa, los administradores podrían querer comprobar rsnapshot o rdiff-backup. Los usuarios pueden crear fácilmente copias de seguridad de sus sistemas de archivos con timeshift, fsarchiver, duplicity, o incluso dd.
Debian contiene docenas de otro softwares de copia de seguridad que cubren todos los casos de uso posibles, como se puede confirmar fácilmente con apt-cache search backup.
En lugar de detallar algunos de ellos, esta sección presentará lo que pensaron los administradores de Falcot Corp cuando definieron su estrategia de respaldos.
En Falcot Corp los respaldos tiene dos objetivos: restaurar archivos eliminados por error y recuperar rápidamente cualquier equipo (servidor o de escritorio) en el que falle el disco duro.

9.10.1. Respaldos con rsync

Habiendo descartado los respaldos en cintas por ser lentos y costosos, se respaldarán los datos en discos duros en un servidor dedicado en el que utilizarán RAID por software (revise la Sección 12.1.1, “RAID por software”) que protegerá los datos contra errores de disco duro. No se respaldarán individualmente los equipos de escritorio, pero se le informa a los usuarios que se respaldará su cuenta personal en el servidor de archivos del departamento. Se utiliza diariamente el programa rsync (en el paquete del mismo nombre) para respaldar estos diferentes servidores.
El espacio en disco disponible prohíbe la implementación de un respaldo diario completo. Por lo tanto, el programa rsync es precedido con una duplicación del contenido del respaldo anterior con enlaces duros, lo que evita utilizar demasiado espacio en disco. Luego, el proceso rsync sólo reemplazará los archivos que fueron modificados desde el último respaldo. Con este mecanismo, pueden mantener una gran cantidad de respaldos en un espacio pequeño. Debido a que todos los respaldos están disponibles inmediatamente (por ejemplo, en diferentes directorios de un recurso compartido en la red) puede realizar comparaciones entre dos fechas rápidamente.
Puede implementar fácilmente este mecanismo de respaldo con el programa dirvish. Utiliza un espacio de almacenamiento de respaldo («bank» — banco — en su vocabulario) en el que ubica copias con marcas temporales de conjuntos de archivos de respaldo (estos conjuntos son llamados «vaults» — bóvedas — en la documentación de dirvish).
La configuración principal se encuentra en el archivo /etc/dirvish/master.conf. Define la ubicación del espacio de almacenamiento de respaldos, la lista de «bóvedas» administradas y los valores predeterminados de expiración de los respaldos. El resto de la configuración está ubicada en los archivos banco/bóveda/dirvish/default.conf y contienen las configuraciones específicas a los conjuntos de archivos correspondientes.

Ejemplo 9.3. EL archivo /etc/dirvish/master.conf

bank:
    /backup
exclude:
    lost+found/
    core
    *~
Runall:
    root    22:00
expire-default: +15 days
expire-rule:
#   MIN HR    DOM MON       DOW  STRFTIME_FMT
    *   *     *   *         1    +3 months
    *   *     1-7 *         1    +1 year
    *   *     1-7 1,4,7,10  1
La configuración bank indica el directorio en el que se almacenarán los respaldos. La configuración exclude le permite indicar archivos (o tipos de archivo) a excluir del respaldo. Runall es una lista de conjuntos de archivos a respaldar con una marca temporal para cada conjunto, lo que le permite asignar la fecha correcta a la copia en caso que el respaldo no se ejecute exactamente en el momento programado. Debe de indicar una hora justo antes del momento de ejecución (según /etc/cron.d/dirvish). Finalmente, las configuraciones expire-default y expire-rule definen las políticas de expiración para los respaldos. El ejemplo anterior mantiene para siempre los respaldos generados el primer domingo de cada trimestre, elimina después de un año aquellos realizados el primer domingo de cada mes y luego de 3 meses aquellos realizados otros domingos. Mantendrá los demás respaldos diarios durante 15 días. El orden de las reglas sí importa, Dirvish utiliza la última regla que coincida o la directiva expire-default si ninguna línea de expire-rule.

Ejemplo 9.4. El archivo /backup/root/dirvish/default.conf

client: rivendell.falcot.com
tree: /
xdev: 1
index: gzip
image-default: %Y%m%d
exclude:
    /var/cache/apt/archives/*.deb
    /var/cache/man/**
    /tmp/**
    /var/tmp/**
    *.bak
El ejemplo anterior especifica el conjunto de archivos a respaldar: los archivos en la máquina rivendell.falcot.com (para respaldos de datos locales, simplemente especifique el nombre local del equipo según indica hostname), especialmente aquellos en el árbol raíz (tree: /), excepto aquellos enumerados en exclude. El respaldo estará limitado a los contenidos de un sistema de archivos (xdev: 1). No incluirá archivos de otros puntos de montaje. Generará un índice de los archivos almacenados (index: gzip) y el nombre de la imagen estará basado en la fecha actual (image-default: %Y%m%d).
Existen muchas opciones disponibles, todas documentadas en la página del manual dirvish.conf(5). Una vez finalizados estos archivos de configuración, debe de inicializar cada conjunto de archivos ejecutando dirvish --vault vault --init. Luego, la ejecución de dirvish-runall automáticamente generará una nueva copia de respaldo inmediatamente después de eliminar aquellas que hayan expirado.

9.10.2. Restauración de equipos sin repaldos

Los equipos de escritorio, que no son respaldados, serán fáciles de reinstalar desde DVD-ROMs/USB personalizados que se prepararon con simple-cdd (ver Sección 12.3.3, “Simple-CDD: la solución todo-en-uno”). Dado que se realiza una instalación desde cero, se pierden todas las personalizaciones que pueden haberse realizado luego de la instalación inicial. Esto no es un problema ya que los sistemas están conectados a un directorio LDAP central para las cuentas de usuario y la mayoría de las aplicaciones de escritorio son preconfiguradas gracias a dconf(ver Sección 13.3.1, “GNOME” para más información al respecto).
Los administradores de Falcot Corp están al tanto de las limitaciones de sus políticas de respaldo. Debido a que no pueden proteger el servidor de respaldo tan bien como una cinta en una caja fuerte a prueba de fuego, lo instalaron en una habitación separada para que desastres como fuego en la sala de servidores no destruyan los respaldos junto con todo lo demás. Lo que es más, realizan un respaldo incremental en DVD-ROM una vez por semana — sólo se incluyen los archivos que fueron modificados desde el último respaldo.