PDF Bacula Bacula Install

8

Click here to load reader

Transcript of PDF Bacula Bacula Install

Page 1: PDF Bacula Bacula Install

Tabla de Contenidos

Instalación de Bacula

Componentes de bacula:

Bacula director

Bacula File

Bacula Storage

Bacula Console

Catalog

Bacula MonitorTipos de backup

Full

Incremental

DiferencialPrerequisitos:

Base de Datos

MTX

DVDInstalación Servidor

Archivos de configuración

Instalación de Bacula

Componentes de bacula:

Bacula director

1/8

Page 2: PDF Bacula Bacula Install

Es el encargado de gestionar todas las operaciones de backup. El director sabe los trabajos que se van arealizar, cuando , donde y como. Y además se encarga de restaurar los ficheros que le pidamos y suverificación (una especie de suma de comprobación de integridad).

Bacula File

El cliente. Es necesario instalarlo en todas las máquinas de las que queramos hacer respaldo. Su función esleer y transmitir los ficheros que el director le pida, o restaurarlos.

Bacula Storage

Se encarga de la lectura/escritura física en los volúmenes que estén definidos (cintas, ficheros,etc)

Bacula Console

Es el programa que permite administrar Bacula Director. Disponible en tres versiones: consola, Gnome GUIy wxWidgets GUI que además de tener todas las capacidades de la consola permite completar comandoscon Bacula necesita de un servidor de base de datos para poder almacenar la información Es compatiblecon MySQL, PostgreSQL y SQLite. Se asumirá de ahora en adelante que se trabajara con PostgreSQL yque este se encuentra configurado. tab y ayuda acerca del comando que se esta tipeando en el momento.

Catalog

Programa responsable de mantener indexados los archivos y volúmenes de bases de datos para todos losarchivos respaldados. Permite ubicar y restaurar rápidamente cualquier archivo.

Bacula Monitor

Permite monitorizar el estado actual de Bacula Director, Bacula File y Bacula Storage. actualmente solo estadisponible una versión para GTK+

Tipos de backup

Full

Respaldo completo de todos los archivos, sin importar si es que son los mismos que el ultimo backup Full.

Incremental

Todos los archivos que han cambiado desde el ultimo backup diferencial, full o incremental del mismo Jobusando el mismo FileSet y Cliente serán respaldados. Si el director no puede encontrar un backup Fullanterior, en vez de backup incremental se realizara un backup Full.

2/8

Page 3: PDF Bacula Bacula Install

bacula-fd decide que archivos respaldar comparando el tiempo del Job anterior y la fecha de la ultimamodificación de los atributos o del archivo, por lo que cualquier archivo que haya sido borrado desde elultimo backup full aparecerá en el respaldo. Si se mueve un directorio en vez de copiarlo, los archivos queestán dentro de la carpeta no cambiaran sus atributos de tiempo de modificación, por lo que probablementeno serán respaldados por un backup incremental o diferencial. Si se mueve un directorio y se quiererespaldar lo mejor es copiarlo y borrar el directorio original.

Diferencial

Igual que el backup Incremental, salvo que este tipo de respaldo se basa en el ultimo Full Backup hecho, adiferencia del incremental que se basa en el ultimo backup llevado a cabo sin importar el tipo. Si no se tieneningún full backup, en vez de backup diferencial se realizara un backup Full.

Prerequisitos:

Base de Datos

Servidor de base de datos para poder almacenar la información. Bacula Es compatible con MySQL,PostgreSQL y SQLite. En nuestro caso usaremos un servidor de MySQL.

MTX

MTX puede controlar mecanismos roboticos para backups de Cinta, es necesario tenerlo instalado, aunqueno se utilice.

DVD

Si se quieren hacer respaldados en DVD se necesitan descargar los sources de dvd+rw-tools:

http://fy.chalmers.se/~appro/linux/DVD+RW/tools/dvd+rw-tools-6.1.tar.gz

Aplicar el parche dvd+rw-tools-6.1.bacula.patch que se encuentra en la carpeta patches en el archivo de lasfuentes de bacula. Las dvd+rw-tools que vienen con la distribución no funcionan.

Instalación Servidor

Descargamos desde la web del proyecto el paquete bacula-mysql y lo instalamos. El paquete no quedaracorrectamente instalado si tenemos mysql configurado con password y habrá que lanzar los siguientescomandos desde el directorio /etc/bacula:

./grant_mysql_privileges -p -u usuario_mysql ./create_mysql_database -p -u usuario_mysql ./make_mysql_tables -p -u usuario_mysql Si por algún motivo se quieren eliminar la información de los respaldos bastaría con ejecutar desde eldirectorio /etc/bacula

3/8

Page 4: PDF Bacula Bacula Install

./drop_bacula_tables ./make_bacula_tables

Archivos de configuración

Consolas de Bacula

/etc/bacula/bconsole.conf, /etc/bacula/wx-console.conf

Director { Name = maquina_directora-dir DIRport = 9101 address = ip-maquina_directora Password = "clave" } Bacula Storage

/etc/bacula-sd.conf

# definicion del servidor de Storage Storage { Name = maquina_storage-sd SDPort = 9103 WorkingDirectory = "/var/bacula" Pid Directory = "/var/run" Maximum Concurrent Jobs = 20 } # Definicion del Director que se conecta con el Storage Director { Name = maquina_directora-dir Password = "clave" } # Tray Monitor para el director Director { Name = maquina_directora-mon Password = "otra-clave" Monitor = yes } # Dispositivos de Almacenamiento # Archivos en Disco Device { Name = FileStorage Media Type = File Archive Device = /respaldos LabelMedia = yes;

4/8

Page 5: PDF Bacula Bacula Install

Random Access = Yes; AutomaticMount = yes; RemovableMedia = no; AlwaysOpen = no; } # Enviar todos los mensajes al director Messages { Name = Standard director = test-dir = all } Bacula Director

/etc/bacula-dir.conf

# Definición del director Director { Name = maquina_directora-dir DIRport = 9101 QueryFile = "/etc/bacula/query.sql" WorkingDirectory = "/var/bacula" PidDirectory = "/var/run" Maximum Concurrent Jobs = 1 Password = "clave" Messages = Daemon } # Definición del backup JobDefs { Name = "Trabajo" Type = Backup Level = Incremental Schedule = "Diaria-Work" Storage = File Messages = Standard Pool = Semanal Priority = 10 } # Backup database Job { Name = "BackupCatalog" Client= maquina1-fd JobDefs = "Trabajo" Level = Full FileSet="Catalog" Schedule = "semanal-backupdb" # Se crea una copia de la base de datos, por si algo falla RunBeforeJob = "/etc/bacula/make_catalog_backup db usr passwd" # Borra la copia de la base de datos RunAfterJob = "/etc/bacula/delete_catalog_backup"

5/8

Page 6: PDF Bacula Bacula Install

Write Bootstrap = "/var/bacula/BackupCatalog.bsr" Priority = 11 } # Trabajo de Restauración standard Job { Name = "Restauracion" Type = Restore Client= maquina1-fd FileSet="HomeMaquina1 Storage = File Pool = Semanal Messages = Standard Where = / } # Base de datos FileSet { Name = "Catalog" Include { Options { signature = MD5 } File = /var/bacula/bacula.sql } } # Full backup el primer Viernes del Mes, Diferencial todos los otros Viernes # Incremental los dias Lunes-Viernes. Los respaldos se hacen a la hora dealmuerzo Schedule { Name = "Diaria-Work" Run = Full 1st fri at 13:00 Run = Differential 2nd-5th fri at 13:00 Run = Incremental mon-fri at 13:00 } # Respaldo de la base de datos. 15 min despues de Diaria-Work. Schedule { Name = "semanal-backupdb" Run = Full mon-fri at 13:15 } # Definicion del Storage Storage { Name = File Address = ip-storage SDPort = 9103 Password = "clave" Device = FileStorage Media Type = File }

6/8

Page 7: PDF Bacula Bacula Install

# Servicio de almacenamiento en la base de datos Catalog { Name = MyCatalog dbname = bacula user = usuario-mysql password = "pass-mysql" } # Entrega de mensajes por email. Messages { Name = Standard mailcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) %r\" -s\"Bacula: %t %e of %c %l\" %r" operatorcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) %r\" -s\"Bacula: Se necesita intervencion para %j\" %r" mail = su-nombre@su-dominio = all, !skipped operator = su-nombre@su-dominio = mount console = all, !skipped, !saved #ojo aca, el archivo crecera de forma continua... append = "/var/bacula/log" = all, !skipped } # Entrega de mensajes para los daemons. Messages { Name = Daemon mailcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Baculadaemon message\" %r" mail = su-nombre@su-dominio = all, !skipped console = all, !skipped, !saved append = "/var/bacula/log" = all, !skipped } # Default pool definition Pool { Name = Semanal Pool Type = Backup Recycle = yes AutoPrune = yes Volume Retention = 3 months } # Tray Monitor to get the status of the director Console { Name = maquina_directora-mon Password = "otra-clave" CommandACL = status, .status } Por cada cliente se necesitan configurar las siguientes directivas:

# Definiciones de los trabajos de las maquinas # Maquina 1 Job {

7/8

Page 8: PDF Bacula Bacula Install

Name = "Maquina1" Client = maquina1-fd JobDefs = "Trabajo" Write Bootstrap = "/var/bacula/maquina1.bsr" FileSet = "HomeMaquina1" } # Set de archivos a ser respaldados # Maquina1 FileSet { Name = "HomeMaquina1" Include { Options { signature = MD5 } File = /home/maquina1 } Exclude { File = /home/maquina1/musica File = /home/maquina1/pr0n } } # Definicion de Clientes # Maquina1 Client { Name = maquina1-fd Address = ip-maquina1 FDPort = 9102 Catalog = MyCatalog Password = "clave" File Retention = 30 days Job Retention = 2 months AutoPrune = yes }

8/8