Академический Документы
Профессиональный Документы
Культура Документы
Bacula se compone de varios elementos (servicios) separados que trabajan en conjunto. Director Storage Console File Daemon Client
De estos servicios los 3 primeros se instalan en el servidor y el ultimo se instala en cada cliente en el cual se requiera efectuar el backup.
Instalamos el Director
Paquetera deb $ sudo aptitude install bacula-director-mysql # instala el director con soporte MySql $ sudo aptitude install bacula-director-pgsql #instala el director con soporte postgres $ sudo aptitude install bacula-director-sqlite3 #instala el director con soporte sqlite 3 Paquetera rpm $ sudo rpm -i bacula-director-mysql # instala el director con soporte MySql $ sudo rpm -i bacula-director-pgsql #instala el director con soporte postgres $ sudo rpm -i bacula-director-sqlite3 #instala el director con soporte sqlite 3 Algunas distribuciones rpm tienen otro paquete administrador de software llamado YUM $ sudo yum -i bacula-director-mysql # instala el director con soporte MySql $ sudo yum -i bacula-director-pgsql #instala el director con soporte postgres $ sudo yum -i bacula-director-sqlite3 #instala el director con soporte sqlite 3
Instalamos el Storage
Paquetera deb $ sudo aptitude install bacula-sd Paquetera rpm $ sudo rpm -i bacula-sd # instala el storage
# instala el storage
Algunas distribuciones rpm tienen otro paquete administrador de software llamado YUM $ sudo yum -i bacula-sd # instala el storage
Instalamos el Console
Paquetera deb $ sudo aptitude install bacula-console # instala la consola Paquetera rpm $ sudo rpm -i bacula-console # instala la consola
Algunas distribuciones rpm tienen otro paquete administrador de software llamado YUM $ sudo yum -i bacula-console # instala la consola
Configuracin
para la configuracin del sistema, cada servicio cuenta con un archivo de configuracin:
Para el caso de los archivos del servidor estos se encuentran en /etc/bacula/ en la siguiente imagen se puede apreciar la relacin entre los diferentes archivos del sistema
el archivo mas importante y (complicado) es el bacula-dir.conf, el cual contiene la configuracin del servidor, as como de los clientes y la storage. Ejemplo bacula-dir.conf # Inicio bacula-dir.conf # aqu se define el servidor Director { Name = respaldo-dir #Nombre que se le da al director DIRport = 9101 QueryFile = "/etc/bacula/scripts/query.sql" WorkingDirectory = "/var/lib/bacula" PidDirectory = "/var/run/bacula" Maximum Concurrent Jobs = 20 Password = "123456" #clave de la consola Messages = Daemon #DirAddress = localhost
} #Definicin del Storage Storage { Name = File Address = 192.168.0.75 SDPort = 9103 Password = "123456" Device = FileStorage Media Type = File }
#Datos de la base de datos Catalog { #la conexin va de acuerdo con el tipo de base de datos utilizada, esta es para MySql Name = MyCatalog dbname = bacula; DB Address = "localhost" ; user = root; password = "123456789" } #Sistema de logs Messages { Name = Standard mailcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Bacula: %t %e of %c %l\" %r" operatorcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Bacula: Intervention needed for %j\" %r" mail =admin@linuxadmin.es = all, !skipped #Deberis configurar el exim4 para que os envi el log a una cuenta externa de correo operator = root@localhost = mount console = all, !skipped, !saved append = "/var/lib/bacula/log" = all, !skipped } Messages { Name = Daemon mailcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Bacula daemon message\" %r" mail = tu-mail@tu-dominio.es = all, !skipped console = all, !skipped, !saved append = "/var/lib/bacula/log" = all, !skipped } #crear los pool a usar, pendiente definir si se puede crear varios pool y asociar clientes a pool especficos Pool { Name = Default #nombre del pool, esta referenciado en el cliente Pool Type = Backup Recycle = yes AutoPrune = yes Volume Retention = 365 days Label Format = Default #Es la etiqueta del archivo de backup? } Pool { Name = Sistemas Pool Type = Backup Recycle = yes AutoPrune = yes Volume Retention = 365 days Label Format = Sistemas } #Consola #nombre del pool, esta referenciado en el cliente
#Programacin a usar en los backups Schedule { Name = "CicloSemanal" Run = Incremental mon-sat at 01:00 Run = Full sun at 01:00 } Schedule { Name = "Diario" Run = Full sun-sat at 23:10 } Schedule { Name = "Pruebas" Run = Incremental at mon-sat 09:30 }
#Para cada cliente (equipo a hacer backup) Client { Name = sistemas-2-fd #nombre del servicio que se creo en el cliente Address = 192.168.0.101 #ip del equipo cliente FDPort = 9102 Catalog = MyCatalog Password = "123456" File Retention = 30 days Job Retention = 6 months AutoPrune = yes } FileSet { Name = "Humberto-1" #nombre del conjunto de archivos Include { File = c:/RESPALDOS File = "c:/pruebas para respaldos" #los directorios con espacios en el nombre, deben estar entre Options { signature = MD5; IgnoreCase = yes; exclude = yes WildFile = *.avi #tipos de archivo a excluir de la copia WildFile = *.mp3 } } Exclude { File = c:/RESPALDOS/antiguo #excluye subdirectorios que estn en los directorios a copiar } } JobDefs { Name = "copia de Humberto-1" Enabled = yes Type = Backup Level = Incremental Client = sistemas-2-fd FileSet = "Humberto-1" Schedule = "CicloSemanal" #Definicin del trabajo, es lo que se ve en la consola #tipo backup Full, incremental, diferencial #nombre del servicio en el cliente #nombre del conjunto de archivos (seccin de arriba) #programacin asignada al backup
Job { Name = "Humberto-1" #Trabajo en si, le dejo el nombre del FileSet JobDefs = "copia de Humberto-1" #Definicin de trabajo a usar Write Bootstrap = "/var/lib/bacula/Humberto-1.bsr" #el final siempre es el nombre del job con extensin bsr } Job { #este job es para la restauracin de archivos Name = "Restauracion de Humberto-1" #Nombre del job, es lo que se ve en la consola Type = Restore client = sistemas-2-fd #nombre del servicio en el cliente FileSet = "Humberto-1" #FileSet a usar Storage = File Pool = Default #pool a usar Messages = Standard Where = c:/Restaurado #Restaura en la misma maquina cliente } # termina la definicin del cliente #Repetir las secciones Client, FileSet, JobDefs, Job (backup y restore) para cada cliente #Fin del bacula-dir.conf Configuracin el Storage #inicio archivo bacula-sd.conf Storage { Name = respaldadora-sd SDPort = 9103 WorkingDirectory = "/var/lib/bacula" Pid Directory = "/var/run/bacula" Maximum Concurrent Jobs = 20 SDAddress = 192.168.0.75 } Director { Name = respaldo-dir Password = "123456" }
#Definicin de los dispositivos de copia Device { Name = FileStorage #nombre del dispositivo Media Type = File Archive Device = /home/datos #ruta donde se van a almacenar las copias LabelMedia = yes; Random Access = yes; AutomaticMount = yes; RemovableMedia = no; AlwaysOpen = no; } Messages { Name = Standard director = respaldo-dir = all
} #Fin del bacula-sd.conf Configuracion del Console #inicio bconsole.conf Director { Name = respaldo-dir DIRport = 9101 address = localhost Password = "123456" } #Fin de bconsole.conf
La instalacin y configuracin del cliente (File Daemon Client), depende del sistema operativo Windows Descargar la versin (32 o 64) de acuerdo al sistema operativo, adems tener en cuenta que debe ser la misma versin instalada en el servidor, para as evitar inconvenientes. Iniciamos el instalador y lo primero es que solo seleccionamos Client
Siguiente y aparece
en esta pantalla escribimos el nombre del Director, y terminamos la instalacion, luego de instalado, en inicio se encuenra el grupo bacula, aqu hacemos click en Archivo de Configuracion, en este archivo buscamos la seccion Director y cambiamos la clave por la usada en el servidor. Para el cliente en Linux Paquetera deb $ sudo aptitude install bacula-client Paquetera rpm $ sudo rpm -i bacula-client
# instala el cliente
# instala el cliente
Algunas distribuciones rpm tienen otro paquete administrador de software llamado YUM $ sudo yum -i bacula-client # instala el cliente en /etc/bacula editamos el archivo bacula-fd.conf buscamos la seccin del Director y cambiamos la clave por la que tenemos en el servidor Nota: si el conectar la consola con un cliente recin configurado, y despus de revisar los archivos de configuracin no se encuentra la razn, entonces hay que revisar que el puerto 9102 del equipo cliente este abierto, en caso de estar cerrado hay que abrir el puerto y reiniciar los servidos en el servidor y el cliente.