Ayuda Configuracion de Bacula

Forums: 

Estimados,

Necesitó respaldar todos los pcs de la empresa unos 70 windows 70 linux, para esto quiero utilizar bacula he seguido varios tutoriales y aparentemente bacula esta operativo pero cuando agrego un pc windows 7 sea de 32 o 64 bits y echo a correr el respaldo con el comando run, obtengo el siguiente error.

Error: VSS API failure calling "BackupComplete". ERR=Object is not initialized; called during restore or not called in correct sequence", ya voy varios días y no logro respaldar, en algunos foros decían q es por la versión del cliente de bacula, pero en la de 32 instale de 32 y en la de 64 instale bacula de 64 descargados de sourgeforce.

Que mas puedo intentar para lograr respaldar estos pcs o que otra solución me recomiendan usar????

Saludos

Bacula

Buenas Edwin.

Una pregunta:

Que version de bacula estas instalando? Se recomienda que los clientes y el director de bacula corran en la misma version?

Si bajaste los instaladores de la pagina de bacula, estan disponibles hasta la version 5.x, y esta la he utilizado hasta en Windows 8 y Windows Server 2012, y funciona sin inconvenientes.

Ahora bien, por favor corre el comando status client desde la consola de bacula (bconsole), esto te mostrara un listado de los clientes configurados y alli escoge el cliente que te esta presentando el problema. Con esto, basicamente, lo que queremos probar es la conectividad.

Saludos,

Bacula

Esta es la version de Bacula instalada en mi ubuntu

For Bacula release 5.2.6 (21 February 2012) -- ubuntu 14.04

La version instalada en el cliente windows 7 de 64 bits es bacula-win64-5.2.10, desinstale todo el bacula de mi ubuntu y volvi a instalar de nuevo y dejando todo por defecto y escogiendo al hacer el job todo por default ya me realizo el respaldo, ahora lo que no puedo es recuperar un archivo que ya fue respaldado estoy utilizando la herramienta Bacula administracion tool (Bat) pero me sale el siguiente error can't find any jobid, lo que no tengo es creado ningun job para restauracion o es necesario crear un job para poder restaurar, en caso de ser asi como seria mi job de restauracion si mi job de respaldo es el siguiente:
Client {
Name = panchin-fd
Password = ecua2014
Address = 192.188.99.54
FDPort = 9102
Catalog = MyCatalog
AutoPrune = yes
File Retention = 30 days
Job Retention = 6 months
}
FileSet {
Name = tardes
Include {
File = c:/datos
Options {
signature = MD5
}
}
}
Schedule {
Name = sietesch
Run = Level=Incremental at 10:45
}
Job {
Name = pona2
JobDefs = DefaultJob
Type = Backup
Client = emer_clini-fd
FileSet = tardes
Schedule = sietesch
}

Ademas queria su opinion si me recomendaria este software para realizar respaldos de informacion de 150 pcs entre windows 7 y ubuntu que tan confiable es la herramienta, ya anteriormente utilizaba backuppc y hasta con 30 usuarios funcionaba bien pero con 60 colapso???

Saludos,

Bacula

Revisando lo que enviaste, las versiones del cliente y el director son diferentes. Ahora bien, aunque se recomienda que ambas sean la misma, ya probaste que pudiste hacer el respaldo. Eso es avance.

Nos comentas, que no puedes restaurar desde bat. Te propongo que primero intentes hacer la recuperacion con la consola de bacula (bconsole), a traves de comandos. Luego puedes revisar con mas detalle la configuracion de bat, sin embargo, esto es muy sencillo. En este enlace hay unos ejemplos que quizas puedan ayudarte, en cuanto al uso del bconsole

http://www.ecualug.org/?q=2009/06/18/blog/herrerajs/comandos_utiles_de_consola_de_bacula_y_ejemplos_de_ejecucion_manual_de_respaldos_y_recuperaciones

En relacion a si necesitas algun job de configuracion para el restore, esto no es necesario. Es mas en el archivo de configuracion del director debes tener algo parecido a esto:

Job {
Name = "RestoreFiles"
Type = Restore
Client = Any-client
FileSet = "Any-FileSet"
232
Storage = Any-storage
Where = /tmp/bacula-restores
Messages = Standard
Pool = Default
}

Este job es generico, y se ajustan en momento de ejecucion cuando se asignan los parametros respectivos de la operacion de restauracion.

En relacion de la efectividad de bacula, te comento que es muy estable y confiable. Lo he utilizado con varias versiones de Linux y Microsoft Windows y hasta ahora ha cumplido con todas las expectativas y requerimientos. Lo bueno de open source es que tienes alternativas en cuanto a backup, por ejemplo amanda tambien es otra opcion.

Finalmente, en cuanto a la configuracion que quieres hacer para el respaldo de los 150 equipos, esto se puede realizar siempre y cuando definas una correcta politica de backup, que considere todas las ventanas y opciones, como por ejemplo:

* Horario para los equipos
* Storage donde haras el almacenamiento
* Posibilidad de configurar varios jobs simultaneos.
* Aplicaciones, servicios y equipos criticos.

Espero que esto pueda ayudarte un poco.

Saludos,

Bacula

Gracias por los tips,

Ya restauro pero no encuentro donde realizo la restauracion lo que necesito es visualizar el archivo restaurado realice varias veces la restauracion y me sale el siguiente mensaje en el log:

2015-05-19 14:45:30
edwgeo-dir
Iniciar Job Restaurar pruebarestore.2015-05-19_14.45.28_09

Usando dispositivo «FileStorage»
2015-05-19 14:45:30
edwgeo-sd
Ready to read from volume "vol-0001" on device "FileStorage" (/mybackup/backup).

Forward spacing Volume "vol-0001" to file:block 0:2847705698.
2015-05-19 14:45:30
edwgeo-dir
Bacula edwgeo-dir 5.2.6 (21Feb12):
Compilación SO: x86_64-pc-linux-gnu ubuntu 14.04
IdTrabajo: 43
Trabajo: pruebarestore.2015-05-19_14.45.28_09
Cliente restauración: emer_clini-fd
Hora de inicio: 19-may-2015 14:45:30
Hora de fin: 19-may-2015 14:45:30
Archivos esperados: 1
Archivos restaurados: 1
Bytes restaurados: 14,241
Tasa de transferencia: 0.0 KB/s
Errores FD: 0
Estado terminación FD: OK
Estado terminación SD: OK
Terminación: Restauración OK
2015-05-19 14:45:31
edwgeo-dir
Empezar podando trabajos más antiguos de 6 months .

No encontraron Jobs para podar.

Comenzando a podar archivos.

No se encontraron archivos para podar.

Fin auto podar(prune).

Me dirijo a la siguiente ruta /mybackup/backup y no encuentra el archivo restaurado, esta carpeta /mybackup/backup esta creada en mi computador que es el que tiene instalado y configurado bacula es un ubuntu 14 de 64 bits y estoy intentando recuperar un archivo respaldado de un pc windows(emer_clini-fd).

A la espera de tu ayuda,
Saludos,

Bacula restauracion

A la orden.

Ya tenemos el trabajo hecho. Ahora vamos a revisar lo de la restauracion.

Efectivamente, la restauracion corrio, tal como te lo muestra el log, sin embargo, cuando escogiste el cliente de restauracion tomaste al original (emer_clini-fd), que no esta mal, ya que generalmente se hace la recuperacion en el cliente en el cual realizamos el backup.

Sin embargo, en nuestro caso, queremos realizar la restauracion en tu equipo, que parece ser el servidor de bacula (bacula-dir). Si es asi, primero tenemos que crear un directorio de restauracion, aunque puede ser el mismo de /mybackup/backup, seria ideal que los mantengas separados de los volumenes de backup de bacula.

Y finalmente, debes realizar una modificacion al job de restauracion al momento de ejecucion. Debes ver algo parecido a esto:

Run Restore job
JobName: RestoreFiles
Bootstrap: /var/lib/bacula/debian-dir.restore.1.bsr
Where: /nonexistant/path/to/file/archive/dir/bacula-restores
Replace: always
FileSet: Full Set
Backup Client: debian-fd
Restore Client: debian-fd
Storage: File
When: 2009-05-17 22:56:30
Catalog: MyCatalog
Priority: 10
OK to run? (yes/mod/no):

Debes ingresar "mod"

Esto muestra un menu parecido a:

Parameters to modify:
1: Level
2: Storage
3: Job
4: FileSet
5: Restore Client
6: When
7: Priority
8: Bootstrap
9: Where
10: File Relocation
11: Replace
12: JobId
Select parameter to modify (1-12):

En este punto, debes seleccionar la opcion 5, donde colocaras a tu equipo, y la opcion 9, donde indicaras el directorio de restauracion que creaste previamente. Luego procedes con la ejecucion del job.

Finalmente, en tu equipo debes tener restaurado el objeto que deseas.

Espero que pueda servirte.

Saludos,

Bacula

Gracias por tu paciencia, lo estoy realizando como me indicas y si me pidio la ruta donde se restaurara y le puse:

/home/usuario/, pero no funciono sigue dando el mensaje que se restauro en /mybackup/backup pero reviso ese directorio y el archivo marcado no existe, tambien procedi a crear otro FileStorage2 para utilizar este para restauracion y dentro de la configuracion de este en Device puse igual a /mybackup/restore pero tampoco existe nada, voy a enviar mis archivos de configuracion ya que no se que estoy haciendo mal, o si puede enviarme un ejemplo de configuracion ya que yo deje todo por default ya que anteriormente cree pools para cada maquina pero nunca me funciono y como te comente tendria q hacer esto para 150 pcs.

Quise adjuntar los archivos de configuracion pero veo que no se puede, quizas me puedes ayuda con algun correo, igual voy a poner aqui el contenido de los archivos de configuracion
MENSAJE AL RESTURAR UTILIZANDO BCONSOLE:
*messages
19-may 14:34 edwgeo-dir JobId 41: Iniciar Job Restaurar RestoreFiles.2015-05-19_14.34.52_06
19-may 14:34 edwgeo-dir JobId 41: Usando dispositivo «FileStorage»
19-may 14:34 edwgeo-sd JobId 41: Ready to read from volume "vol-0001" on device "FileStorage" (/mybackup/backup).
19-may 14:34 edwgeo-sd JobId 41: Forward spacing Volume "vol-0001" to file:block 0:2847721424.
19-may 14:34 edwgeo-dir JobId 41: Bacula edwgeo-dir 5.2.6 (21Feb12):
Compilación SO: x86_64-pc-linux-gnu ubuntu 14.04
IdTrabajo: 41
Trabajo: RestoreFiles.2015-05-19_14.34.52_06
Cliente restauración: emer_clini-fd
Hora de inicio: 19-may-2015 14:34:54
Hora de fin: 19-may-2015 14:34:55
Archivos esperados: 1
Archivos restaurados: 1
Bytes restaurados: 14,241
Tasa de transferencia: 14.2 KB/s
Errores FD: 0
Estado terminación FD: OK
Estado terminación SD: OK
Terminación: Restauración OK

19-may 14:34 edwgeo-dir JobId 41: Empezar podando trabajos más antiguos de 6 months .
19-may 14:34 edwgeo-dir JobId 41: No encontraron Jobs para podar.
19-may 14:34 edwgeo-dir JobId 41: Comenzando a podar archivos.
19-may 14:34 edwgeo-dir JobId 41: No se encontraron archivos para podar.
19-may 14:34 edwgeo-dir JobId 41: Fin auto podar(prune).
BACULA-DIR.CONF
#
# Default Bacula Director Configuration file
#
# The only thing that MUST be changed is to add one or more
# file or directory names in the Include directive of the
# FileSet resource.
#
# For Bacula release 5.2.6 (21 February 2012) -- ubuntu 14.04
#
# You might also want to change the default email address
# from root to your address. See the "mail" and "operator"
# directives in the Messages resource.
#

Director { # define myself
Name = edwgeo-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 = "oMcGCUkncXcwGeLwI_eUL7MZKA0MkQGBK" # Console password
Messages = Daemon
DirAddress = 192.188.98.31
}

JobDefs {
Name = "DefaultJob"
Type = Backup
Level = Incremental
Client = edwgeo-fd
FileSet = "Full Set"
Schedule = "WeeklyCycle"
Storage = File
Messages = Standard
Pool = File
Priority = 10
Write Bootstrap = "/var/lib/bacula/%c.bsr"
}

#
# Define the main nightly save backup job
# By default, this job will back up to disk in /nonexistant/path/to/file/archive/dir
Job {
Name = "BackupClient1"
JobDefs = "DefaultJob"
}

#Job {
# Name = "BackupClient2"
# Client = edwgeo2-fd
# JobDefs = "DefaultJob"
#}

# Backup the catalog database (after the nightly save)
Job {
Name = "BackupCatalog"
JobDefs = "DefaultJob"
Level = Full
FileSet="Catalog"
Schedule = "WeeklyCycleAfterBackup"
# This creates an ASCII copy of the catalog
# Arguments to make_catalog_backup.pl are:
# make_catalog_backup.pl
RunBeforeJob = "/etc/bacula/scripts/make_catalog_backup.pl MyCatalog"
# This deletes the copy of the catalog
RunAfterJob = "/etc/bacula/scripts/delete_catalog_backup"
Write Bootstrap = "/var/lib/bacula/%n.bsr"
Priority = 11 # run after main backup
}

#
# Standard Restore template, to be changed by Console program
# Only one such job is needed for all Jobs/Clients/Storage ...
#
Job {
Name = RestoreFiles
Type = Restore
Client = emer_clini-fd
FileSet = "Full Set"
Storage = File
Pool = Default
Messages = Standard
Where = /mybackup/restore
}

# List of files to be backed up
FileSet {
Name = "Full Set"
Include {
Options {
signature = MD5
}
#
# Put your list of files here, preceded by 'File =', one per line
# or include an external list with:
#
# File = \" -s \"Bacula: %t %e of %c %l\" %r"
operatorcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula: Intervention needed for %j\" %r"
mail = root = all, !skipped
operator = root = mount
console = all, !skipped, !saved
#
# WARNING! the following will create a file that you must cycle from
# time to time as it will grow indefinitely. However, it will
# also keep all your messages if they scroll off the console.
#
append = "/var/log/bacula/bacula.log" = all, !skipped
catalog = all
}

#
# Message delivery for daemon messages (no job).
Messages {
Name = Daemon
mailcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula daemon message\" %r"
mail = root = all, !skipped
console = all, !skipped, !saved
append = "/var/log/bacula/bacula.log" = all, !skipped
}

# Default pool definition
Pool {
Name = Default
Pool Type = Backup
Recycle = yes # Bacula can automatically recycle Volumes
AutoPrune = yes # Prune expired volumes
Volume Retention = 365 days # one year
}

# File Pool definition
Pool {
Name = File
Pool Type = Backup
Recycle = yes # Bacula can automatically recycle Volumes
AutoPrune = yes # Prune expired volumes
Volume Retention = 365 days # one year
Maximum Volume Bytes = 50G # Limit Volume size to something reasonable
Maximum Volumes = 100 # Limit number of Volumes in Pool
}

# Scratch pool definition
Pool {
Name = Scratch
Pool Type = Backup
}

#
# Restricted console used by tray-monitor to get the status of the director
#
Console {
Name = edwgeo-mon
Password = "2BzqH3mXLUw1OswlZCY275A8MAFG7Y8Zt"
CommandACL = status, .status
}
Client {
Name = emer_clini-fd
Password = ecua2014
Address = 192.188.99.161
FDPort = 9102
Catalog = MyCatalog
File Retention = 30 days
Job Retention = 6 months
AutoPrune = yes
}
FileSet {
Name = tardes
Include {
File = c:/datos
Options {
signature = MD5
}
}
}
Job {
Name = prueba
Type = Backup
Level = Incremental
Client = emer_clini-fd
FileSet = tardes
Schedule = sietesch
Storage = File
Messages = Standard
Pool = File
Priority = 10
Write Bootstrap = "/var/lib/bacula/%c.bsr"
}
Client {
Name = panchin-fd
Password = ecua2014
Address = 192.188.99.54
FDPort = 9102
Catalog = MyCatalog
AutoPrune = yes
File Retention = 30 days
Job Retention = 6 months
}
Job {
Name = pona
JobDefs = DefaultJob
Type = Backup
Client = panchin-fd
FileSet = tardes
Schedule = WeeklyCycle
}
Schedule {
Name = sietesch
Run = Level=Incremental at 10:45
}
Job {
Name = pona2
JobDefs = DefaultJob
Type = Backup
Client = emer_clini-fd
FileSet = tardes
Schedule = sietesch
}
Job {
Name = pruebarestore
Type = Restore
Client = emer_clini-fd
FileSet = tardes
Storage = File2
Pool = File
Messages = Standard
}
Storage {
Name = File2
Password = ecua2014
Address = 192.188.98.31
SDPort = 9103
Device = FileStorage1
Media Type = File
Maximum Concurrent Jobs = 20
}
BACULA-SD.CONF
#
# Default Bacula Storage Daemon Configuration file
#
# For Bacula release 5.2.6 (21 February 2012) -- ubuntu 14.04
#
# You may need to change the name of your tape drive
# on the "Archive Device" directive in the Device
# resource. If you change the Name and/or the
# "Media Type" in the Device resource, please ensure
# that dird.conf has corresponding changes.
#

Storage { # definition of myself
Name = edwgeo-sd
SDPort = 9103 # Director's port
WorkingDirectory = "/var/lib/bacula"
Pid Directory = "/var/run/bacula"
Maximum Concurrent Jobs = 20
SDAddress = 192.188.98.31
}

#
# List Directors who are permitted to contact Storage daemon
#
Director {
Name = edwgeo-dir
Password = "Bqg8cYV59bbScPq4qgzQkz8jp1cmaiOHr"
}

#
# Restricted Director, used by tray-monitor to get the
# status of the storage daemon
#
Director {
Name = edwgeo-mon
Password = "73XBU0vDzFFEV4PuZvcV4zId_cdX_TFcb"
Monitor = yes
}

#
# Note, for a list of additional Device templates please
# see the directory /examples/devices
# Or follow the following link:
# http://bacula.svn.sourceforge.net/viewvc/bacula/trunk/bacula/examples/devices/
#

#
# Devices supported by this Storage daemon
# To connect, the Director's bacula-dir.conf must have the
# same Name and MediaType.
#

Device {
Name = FileStorage
Media Type = File
Archive Device = /mybackup/backup
LabelMedia = yes; # lets Bacula label unlabeled media
Random Access = Yes;
AutomaticMount = yes; # when device opened, read it
RemovableMedia = no;
AlwaysOpen = no;
}

#
# An autochanger device with two drives
#
#Autochanger {
# Name = Autochanger
# Device = Drive-1
# Device = Drive-2
# Changer Command = "/etc/bacula/scripts/mtx-changer %c %o %S %a %d"
# Changer Device = /dev/sg0
#}

#Device {
# Name = Drive-1 #
# Drive Index = 0
# Media Type = DLT-8000
# Archive Device = /dev/nst0
# AutomaticMount = yes; # when device opened, read it
# AlwaysOpen = yes;
# RemovableMedia = yes;
# RandomAccess = no;
# AutoChanger = yes
# #
# # Enable the Alert command only if you have the mtx package loaded
# # Note, apparently on some systems, tapeinfo resets the SCSI controller
# # thus if you turn this on, make sure it does not reset your SCSI
# # controller. I have never had any problems, and smartctl does
# # not seem to cause such problems.
# #
# Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'"
# If you have smartctl, enable this, it has more info than tapeinfo
# Alert Command = "sh -c 'smartctl -H -l error %c'"
#}

#Device {
# Name = Drive-2 #
# Drive Index = 1
# Media Type = DLT-8000
# Archive Device = /dev/nst1
# AutomaticMount = yes; # when device opened, read it
# AlwaysOpen = yes;
# RemovableMedia = yes;
# RandomAccess = no;
# AutoChanger = yes
# # Enable the Alert command only if you have the mtx package loaded
# Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'"
# If you have smartctl, enable this, it has more info than tapeinfo
# Alert Command = "sh -c 'smartctl -H -l error %c'"
#}

#
# A Linux or Solaris LTO-2 tape drive
#
#Device {
# Name = LTO-2
# Media Type = LTO-2
# Archive Device = /dev/nst0
# AutomaticMount = yes; # when device opened, read it
# AlwaysOpen = yes;
# RemovableMedia = yes;
# RandomAccess = no;
# Maximum File Size = 3GB
## Changer Command = "/etc/bacula/scripts/mtx-changer %c %o %S %a %d"
## Changer Device = /dev/sg0
## AutoChanger = yes
# # Enable the Alert command only if you have the mtx package loaded
## Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'"
## If you have smartctl, enable this, it has more info than tapeinfo
## Alert Command = "sh -c 'smartctl -H -l error %c'"
#}

#
# A Linux or Solaris LTO-3 tape drive
#
#Device {
# Name = LTO-3
# Media Type = LTO-3
# Archive Device = /dev/nst0
# AutomaticMount = yes; # when device opened, read it
# AlwaysOpen = yes;
# RemovableMedia = yes;
# RandomAccess = no;
# Maximum File Size = 4GB
## Changer Command = "/etc/bacula/scripts/mtx-changer %c %o %S %a %d"
## Changer Device = /dev/sg0
## AutoChanger = yes
# # Enable the Alert command only if you have the mtx package loaded
## Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'"
## If you have smartctl, enable this, it has more info than tapeinfo
## Alert Command = "sh -c 'smartctl -H -l error %c'"
#}

#
# A Linux or Solaris LTO-4 tape drive
#
#Device {
# Name = LTO-4
# Media Type = LTO-4
# Archive Device = /dev/nst0
# AutomaticMount = yes; # when device opened, read it
# AlwaysOpen = yes;
# RemovableMedia = yes;
# RandomAccess = no;
# Maximum File Size = 5GB
## Changer Command = "/etc/bacula/scripts/mtx-changer %c %o %S %a %d"
## Changer Device = /dev/sg0
## AutoChanger = yes
# # Enable the Alert command only if you have the mtx package loaded
## Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'"
## If you have smartctl, enable this, it has more info than tapeinfo
## Alert Command = "sh -c 'smartctl -H -l error %c'"
#}

#
# A FreeBSD tape drive
#
#Device {
# Name = DDS-4
# Description = "DDS-4 for FreeBSD"
# Media Type = DDS-4
# Archive Device = /dev/nsa1
# AutomaticMount = yes; # when device opened, read it
# AlwaysOpen = yes
# Offline On Unmount = no
# Hardware End of Medium = no
# BSF at EOM = yes
# Backward Space Record = no
# Fast Forward Space File = no
# TWO EOF = yes
# If you have smartctl, enable this, it has more info than tapeinfo
# Alert Command = "sh -c 'smartctl -H -l error %c'"
#}

#
# Send all messages to the Director,
# mount messages also are sent to the email address
#
Messages {
Name = Standard
director = edwgeo-dir = all
}
Device {
Name = FileStorage1
Archive Device = /mybackup/restore
Media Type = File
LabelMedia = yes
Random Access = yes
AutomaticMount = yes
RemovableMedia = no
AlwaysOpen = no
}

A la espera de tu ayuda,
Saludos,

Saludos,