Sei sulla pagina 1di 17

BACULA

Jose Pertuz
josepertuz en gmail.com
3.1.- INTRODUCCIN Y ARQUITECTURA DE BACULA
3.2.- Qu es BACULA?
Bacula es una coleccin de herramientas de respaldo, capaces
de cubrir las necesidades de respaldo de equipos bajo redes
IP. Se basa en una arquitectura Cliente-servidor que resulta
eficaz y fcil de manejar, dada la amplia gama de funciones y
caractersticas que brinda; copiar y restaurar ficheros daados
o perdidos. Adems, debido a su desarrollo y estructura
modular, Bacula se adapta tanto al uso personal como
profesional, para parques de ordenadores muy grandes.

3.3.- Arquitectura de BACULA


3.4.- Servicios y componentes del sistema BACULA
3.4.1- BACULA Director
Es el demonio que gestiona la lgica de los procesos de
backup y los dems servicios. El servidor de la base de datos
debe estar accesible desde la mquina que ejecuta este
demonio (o tambin puede estar en la misma mquina y
escuchar en localhost).
En el archivo de configuracin de este demonio se especifica
dnde y cmo acceder al resto de demonios y recursos, la
contrasea para el acceso mediante bacula-console y los
trabajos o jobs.
3.4.2.- BACULA Console
Linea de comandos.
3.4.3.- BACULA File
Mediante este demonio Bacula obtiene los ficheros que
necesita respaldar, as pues ste es el componente que hay que
instalar en las mquinas que necesiten respaldo. Realiza la
misma funcin que los "agentes" en otros sistemas de backup.
Este archivo de configuracin es el ms simple de todos,

simplemente especifica qu directores pueden realizarle


peticiones.
Para poder interactuar con el servicio de backup,
necesitaremos un cliente.
3.4.4.- BACULA Storage
Este demonio es el encargado de manejar los dispositivos de
almacenamiento; esto exige que este demonio est instalado
en la mquina que posea la conexin fsica a los dispositivos
de almacenamiento, tales como: discos locales, grabadoras de
CD o DVD, unidades de cinta, volmenes NAS o SAN,
autocargadores o libreras de cinta.
El fichero de configuracin de este servicio define tanto los
dispositivos de almacenamiento que maneja, como que
directores pueden utilizarlo.
3.2.- Instalacin de BACULA
Laboratorio.
aptitude install mysql-server
aptitude install bacula-director-mysql bacula-sd-mysql
aptitude install bacula-console
aptitude install bacula-console-qt (BAT)

3.2.1.- Catalog Services (MySQL, PostgreSQL)


El catlogo es una base de datos donde se guarda informacin
sobre los archivos y directorios resguardados, junto con
informacin propia de Bacula. Por ejemplo, es mediante el
catlogo que Bacula sabe cules son los archivos que debe
resguardar.
Esta es la nica pieza que no es propia del proyecto Bacula,
dado que actualmente puede utilizar tres bases de datos,
ninguna de las cuales fue creada por el proyecto Bacula.
Las bases soportadas son: MySQL, PostgreSQL y SQLite.
Para una implementacin en produccin, no es recomendable
utilizar SQLite (Imagine que el catlogo ocupa varios GBs).
Una nota importante: Los datos en s no se almacenan en el
catlogo, sino que se guardan en el medio elegido (cinta y/o
disco). El catlogo almacena, entre otras cosas, datos sobre
los datos (fecha y hora de modificacin, path completo, etc.).
3.2.2.- Configuracin de BACULA Monitor
Laboratorio
/etc/bacula/bconsole.conf
Reinicio de servicios:
/etc/init.d/bacula-director (opcion)
/etc/init.d/bacula-sd (opcion).

3.3.- Configuracin de Bacula


Laboratorio.
3.3.1.- Interacciones entre los diferentes servicios de
BACULA

Con el comando bconsole se ingresa al administrador de Bacula.


Ejecutando help podemos observar la lista de comandos
disponibles.

3.3.2.- Configuracin de BACULA DIRECTOR


Director {

# define myself

Name = srvlnxbkp-dir
DIRport = 9101

# where we listen for UA connections

QueryFile = "/etc/bacula/scripts/query.sql"
WorkingDirectory = "/var/lib/bacula"
PidDirectory = "/var/run/bacula"
Maximum Concurrent Jobs = 1
Password = "1qazxsw2"

# Console password

Messages = Daemon
#DirAddress = 127.0.0.1
}
3.3.3.- Configuracin de BACULA STORAGE
Storage {

# definition of myself

Name = srvlnxbkp-sd
SDPort = 9103

# Director's port

WorkingDirectory = "/var/lib/bacula"
Pid Directory = "/var/run/bacula"
Maximum Concurrent Jobs = 20
SDAddress = 192.168.58.2
}

Director {
Name = srvlnxbkp-dir
Password = "1qazxsw2"
}
Device {
Name = FileStorage
Media Type = File
Archive Device = /respaldos
LabelMedia = yes;

# lets Bacula label unlabeled media

Random Access = Yes;


AutomaticMount = yes;
RemovableMedia = no;
AlwaysOpen = no;
}

# when device opened, read it

3.3.4.- Configuracin de BACULA FILE DAEMON


Director {
Name = srvlnxbkp-dir
Password = "1qazxsw2"
}
FileDaemon {

# this is me

Name = Laptop
FDport = 9102

# where we listen for the director

WorkingDirectory = /var/lib/bacula
Pid Directory = /var/run/bacula
Maximum Concurrent Jobs = 20
FDAddress = 192.168.58.1
}
3.3.5.- Configuracin de BACULA CONSOLE
Director {
Name = srvlnxbkp-dir
DIRport = 9101
address = localhost
Password = "1qazxsw2"
}

Copia diferencial
La copia diferencial (o diferencial acumulativa) slo copia los
ficheros que han sido creados o modificados (normalmente mirando
la fecha de modificacin de los mismos) desde la ltima copia
completa (y en algunos casos cmo el sistema de backup integrado
en windows xp desde la ltima incremental). Esto quiere decir que si
hicimos una copia completa el domingo, el lunes se copiarn
aquellos ficheros modificados o creados desde el domingo, y el
martes se copiarn los creados o modificados desde el domingo
tambin. Las copias diferenciales se van haciendo ms grandes ya
que reflejan los cambios desde una marca fija en el tiempo.
Es similar al incremental, la nica diferencia es que compara el
contenido de los archivos a la hora de determinar cules se
modificaron de manera tal que solamente copia aqullos que hayan
cambiado realmente y no se deja engaar por las fechas de
modificacin de los mismos.
Un backup diferencial es un backup de todos los archivos que han
cambiado desde el ltimo backup completo. Ejemplo:
Viernes: Backup completo
Lunes:

Archivos

que

han

cambiado

desde

el

viernes

Martes: Archivos que han cambiado desde el viernes, incluidos los


archivos cambiados el lunes

La copia incremental (o diferencial incremental) es ms avanzada


(o inteligente) ya que slo copia los ficheros creados o
modificados desde el ltimo backup, ya sea completo o incremental,
reduciendo la cantidad de informacin a copiar en cada proceso. En
el caso anterior de tener una copia completa el domingo, el lunes se
copiarn las novedades respecto al domingo, y el martes las
novedades respecto a la copia del lunes, con la consiguiente
reduccin de tamao de copia.
Backup Incremental: esta clase de backup, como su nombre lo
indica, solamente genera una copia de resguardo con todos aquellos
archivos que hayan sido modificados (o aparenten haberlo sido
debido a cambios en su fecha de modificacin) o se hayan creado
desde el ltimo backup realizado, ya sea este ltimo incremental o
completo. Si se utiliza por primera vez en una unidad en vez de un
backup completo, se comportar como este ltimo, pero en los
backups siguientes, ir copiando solamente lo nuevo o lo
modificado.

Un backup incremental es un backup de los archivos que han


cambiado desde el ltimo backup; ya sea ste completo o
incremental.
Ejemplo:
Viernes: Backup completo
Lunes: Archivos que han cambiado desde el viernes
Martes: Archivos que han cambiado desde el lunes
si tratamos de recuperar archivos desde una copia diferencial,
necesitaremos la ltima copia completa de referencia para las copias
diferenciales, y la copia diferencial de la fecha que queremos
recuperar.
si vamos a recuperar archivos de copias incrementales,
necesitaremos la copia completa base y todas las copias
incrementales desde la misma hasta la fecha de restauracin. Si
partimos de incrementales necesitaramos la completa, la diferencial
ms reciente y las incrementales desde la misma.

REPASO:
Administrador
Persona responsable de la administracin del sistema Bacula
Backup
Trabajo realizado por la aplicacin Bacula para salvar los
ficheros
Bootstrap File
Es un fichero ASCII que contiene los comandos que permiten a
Bacula trabajar de forma autonoma para la recuperacion de
ficheros de uno o mas volumenes. Con este fichero, Bacula
puede restaurar el sistema sin necesidad de Catalogo. Debera
crear este fichero, desde el Catalogo para poder recuperar datos.
Catalogo
El catalogo se utiliza para almacenar datos acerca de trabajos
(jobs), Clientes y ficheros que han sido salvados, y en que
volumen se han salvado. Esta informacin permite al
administrador o al usuario los trabajos realizados, su estado, y
caractersticas acerca de los ficheros salvados, y lo mas
importante, permite seleccionar los ficheros a recuperar. En el
catalogo se conserva informacin acerca de los ficheros, pero no
sus datos. As mismo, en el soporte de seguridad, se encuentran
tambin mucha de la informacin existente en el catalogo
(nombre de fichero, atributos)

Cliente
En terminologa Bacula, la palabra Cliente se refiere a la
maquina que va a ser salvada y es sinnimo de File services o
File daemon, y a menudo nos referimos a ella como FD
Console
Programa que se relaciona con el Director y permite al
administrador del sistema controlar Bacula
Daemon (Demonio)
Realmente es terminologa UNIX y se refiere a un programa que
esta corriendo background continuamente. En algunos sistemas
Unix y en Windows se les denomina Servicios
Directiva
El termino directiva se usa para referirse a un registro que
establece caractersticas determinadas para un recurso. Por
ejemplo la Directiva Name define el nombre del recurso
Director
El demonio principal del servidor Bacula que controla y dirige
todas las operaciones de este sistema. Ocasionalmente, nos
dirigiremos al Director como DIR
Diferencial
Copia que incluye nicamente los ficheros cambiados desde la
ultima orden de backup.

File Attributes (Atributos de fichero)


Toda la informacin necesaria para identificar al fichero, como
nombre, fecha creacin, tamao, fecha modificacin, permisos,..
Los atributos son gestionados por Bacula y el usuario no ha de
preocuparse en absoluto por ellos.
FileSet (Definicin de ficheros)
Es un recurso contenido en el fichero de configuracin que
establece todos los ficheros a salvar, los que se han de excluir, y
como se han de almacenar.
Incremental
Sistema de backup que aade todos los ficheros que se han
modificado desde la ultima operacin de backup.
Job(Trabajo)
Es una combinacin de recursos que establece el trabajo que
Bacula debe hacer en un backup o restore de un cliente concreto.
Se establece Tipo (backup, restore, verify), Nivel (full,
incremental), FileSet y Storage
Monitor
Programa que permite al usuario o al administrador comprobar
el estado de avance del trabajo.
Restore
Es una recursos (configuracin)que describe las operaciones
necesarias para recuperar un fichero desde su backup. Se trata de
la situacin inversa a Save.

Schedule
Es un recurso (configuracin) que establece cuando va a realizar
los trabajos Bacula
Storage Daemon
Nos referiremos a el tambin como SD y es el programa que
escribe la informacin en los volmenes de seguridad
(normalmente cintas o discos)
Retention Period
Existen varios tipos de periodos de retencin que Bacula
gestiona. Los mas importantes son: File Retention Period, Job
Retention Period y Volume Retention Period. Cada uno de estos
periodos de retencin especifican el tiempo que los registros
permanecern en el Catalogo. Todo esto no se debe confundir
con los tiempos que son validos los datos salvados.
El Periodo de retencin de fichero es el tiempo que permanece
en la base de datos la informacin acerca de un fichero. Este
periodo es importante por dos razones; la primera de ella es que
mientras el registro exista podr explorar la base de datos con los
programas de consola, y restaurar individualmente el fichero.
Una vez desaparezca, ya no podr explorar el trabajo en la base
de datos. La segunda razn para ajustar correctamente este valor,
es la ocupacin de la base de datos, y la necesidad de limpieza
para controlar su tamao
El Periodo de retencin del trabajo es el tiempo en el que el
trabajo permanecer en la base de datos, Puede pasar que los
detalles (ficheros) desaparezcan antes, aunque lo habitual es que
se borren cuando se borra el Job

El Periodo de retencin del volumen establece el tiempo


mnimo antes de que el volumen se pueda reutilizar para otro
Backup. Bacula no va a reescribir nunca un volumen que
contenga un backup anterior. Lo ideal seria que el catalogo
contuviera todas las entradas de todos los volmenes y es
solamente las necesidades de espacio y operatividad que nos van
a obligar a establecer periodos de retencin, para as permitir a
Bacula que vaya borrando la informacin.
Scan
La operacin scan permite explorar un conjunto de volmenes
que contengan backups. Todos aquellos volmenes que fueron
grabados por el sistema Bacula, se leen y se obtiene los datos de
los ficheros que sin dejados nuevamente en la base de datos, para
que puedan ser restaurados manualmente. Esta operacin sera
necesaria hacerla cuando haya vencido el periodo de retencin
de un trabajo y todava tengamos la copia.
Volumen
Es una unidad de archivo, normalmente una cinta o un disco o
particin donde Bacula almacena los datos de uno o mas
backups. Todos los volmenes son identificados por el sistema
para evitar que se monten de forma errnea.

3.3.6.- Integracin BACULA + MySQL +PostgreSQL: Almacenar informacin


de respaldos
3.4.- Puesta en marcha de Bacula
3.4.1.- Planeacin del servicio BACULA
3.4.2.- Configuracin de CLIENTS: Aadiendo estaciones clientes
3.4.3.- FILESET: Rutas de Backups
3.4.4.- Configuracin de SCHEDULES: Cronogramas de Backups
3.4.5.- Configuracin de Nivel de Backup FULL
3.4.6.- Configuracin de Nivel de Backup INCREMENTAL
3.4.7.- Configuracin de Nivel de Backup DIFERENCIAL
3.4.8.- Configuracin de Volmenes Lgicos en BACULA
3.5.- Bacula en estaciones de trabajo y recoverys
3.5.1.- Instalacin de Bacula en clientes Windows y Linux
3.5.2.- Configuracin y pruebas de respaldo y restauracin
3.5.3.- Bacula Restore Backup
3.5.4.- Bacula Recovery
3.5.5.- Automatizacin de Backups
3.5.6.- Migracin y copias
3.6.- Instalacin, configuracin y uso de las herramientas Bat y Webacula.