Hello,

One of the File Daemons in my backup setup has stopped working. The file daemon is setup at a datacenter, and the director and storage daemon are both located on the same server at my company's office. Here's the error message I'm getting:

27-Mar 14:16 apollo-dir: WebServer.2006-03-27_12.05.20 Fatal error: Network error with FD during Backup: ERR=Connection timed out
27-Mar 14:17 apollo-dir: WebServer.2006-03-27_12.05.20 Fatal error: No Job status returned from FD.
27-Mar 14:17 apollo-dir: WebServer.2006-03-27_12.05.20 Error: Bacula 1.38.5 (18Jan06): 27-Mar-2006 14:17:08
  JobId:                  266
  Job:                    WebServer.2006-03-27_12.05.20
  Backup Level:           Full
  Client:                 "thor-fd" i686-pc-linux-gnu,debian,3.1
  FileSet:                "FullBackup" 2006-01-25 16:20:58
  Pool:                   "Default"
  Storage:                "autochanger-ext"
  Scheduled time:         27-Mar-2006 12:05:13
  Start time:             27-Mar-2006 12:05:22
  End time:               27-Mar-2006 14:17:08
  Priority:               5
  FD Files Written:       0
  SD Files Written:       0
  FD Bytes Written:       0
  SD Bytes Written:       0
  Rate:                   0.0 KB/s
  Software Compression:   None
  Volume name(s):         tape1
  Volume Session Id:      3
  Volume Session Time:    1143476473
  Last Volume Bytes:      14,465,995,903
  Non-fatal FD errors:    0
  SD Errors:              0
  FD termination status:  Error
  SD termination status:  Running
  Termination:            *** Backup Error ***

I'm not sure what to do from here. The configuration was fine before and it stopped working without my making any changes to it. I'm running Debian 3.1 on both servers. Bacula 1.38.5 on both. Before today I was running 1.36.2 on the FD. I tried upgrading to see if it would help.

Director config:

#
# 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 1.38.5 (18 January 2006) -- debian 3.1
#
#  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 = apollo-dir
  DIRport = 9101                # where we listen for UA connections
  QueryFile = "/usr/local/etc/query.sql"
  WorkingDirectory = "/usr/local/var/bacula/working"
  PidDirectory = "/var/run"
  Maximum Concurrent Jobs = 1
  Password = "q46rqcd9zjJHa7CjZWlJpsZRk+977vPxgOdiYhiUOxdv"         # Console password
  Messages = Daemon
}

JobDefs {
  Name = "DefaultJob"
  Type = Backup
  Level = Incremental
  Client = apollo-fd
  FileSet = "Full Set"
  Schedule = "WeeklyCycle"
  Storage = autochanger-int
  Messages = Standard
  Pool = Default
  Priority = 6
}

JobDefs {
  Name = "ThorJob"
  Type = Backup
  Level = Incremental
  Client = thor-fd
  FileSet = "FullBackup"
  Schedule = "WeeklyCycle"
  Storage = autochanger-ext
  Messages = Standard
  Pool = Default
  Priority = 5
}

JobDefs {
  Name = "ApolloJob"
  Type = Backup
  Level = Incremental
  Client = apollo-fd
  FileSet = "FullBackup"
  Schedule = "WeeklyCycle"
  Storage = autochanger-int
  Messages = Standard
  Pool = Default
  Priority = 7
}

JobDefs {
  Name = "WinSvrJob"
  Type = Backup
  Level = Incremental
  Client = winsvr-fd
  FileSet = "FullWinBackup"
  Schedule = "WeeklyCycle"
  Storage = autochanger-int
  Messages = Standard
  Pool = Default
  Priority = 10
}


#
# Define the main nightly save backup job
#   By default, this job will back up to disk in /tmp
#Job {
#  Name = "Client1"
#  JobDefs = "DefaultJob"
#  Write Bootstrap = "/usr/local/var/bacula/working/Client1.bsr"
#}

#
# Define the main nightly save backup job
Job {
  Name = "WinSvrBackup"
  JobDefs = "WinSvrJob"
  Write Bootstrap = "/usr/local/var/bacula/working/winsvr.bsr"
}

#
# Define the main nightly save backup job
Job {
  Name = "WebServer"
  JobDefs = "ThorJob"
  Write Bootstrap = "/usr/local/var/bacula/working/webserver.bsr"
}

#
# Define the main nightly save backup job
Job {
  Name = "BackupServer"
  JobDefs = "ApolloJob"
  Write Bootstrap = "/usr/local/var/bacula/working/backupserver.bsr"
}

#Job {
#  Name = "Client2"
#  Client = apollo2-fd
#  JobDefs = "DefaultJob"
#  Write Bootstrap = "/usr/local/var/bacula/working/Client2.bsr"
#}

# 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
  RunBeforeJob = "/usr/local/etc/make_catalog_backup bacula bacula bacula"
  # This deletes the copy of the catalog
  RunAfterJob  = "/usr/local/etc/delete_catalog_backup"
  Write Bootstrap = "/usr/local/var/bacula/working/BackupCatalog.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=apollo-fd
  FileSet="Full Set"
  Storage = File
  Pool = Default
  Messages = Standard
  Where = /tmp/bacula-restores
}


#
# Standard Restore template, to be changed by Console program
#  Only one such job is needed for all Jobs/Clients/Storage ...
#
Job {
  Name = "RestoreWebServer"
  Type = Restore
  Client=thor-fd
  FileSet="FullBackup"
  Storage = autochanger-ext
  Pool = Default
  Messages = Standard
  Where = /tmp/bacula-restores
}


#
# Standard Restore template, to be changed by Console program
#  Only one such job is needed for all Jobs/Clients/Storage ...
#
Job {
  Name = "RestoreWinSvr"
  Type = Restore
  Client=winsvr-fd
  FileSet="FullWinBackup"
  Storage = autochanger-int
  Pool = Default
  Messages = Standard
  Where = /tmp/bacula-restores
}

# List of files to be backed up
FileSet {
  Name = "FullBackup"
  Include {
    Options {
      signature = MD5
    }
#
#  Put your list of files here, preceded by 'File =', one per line
#    or include an external list with:
#
#    File = <file-name
#
#  Note: / backs up everything on the root partition.
#    if you have other partitons such as /usr or /home
#    you will probably want to add them too.
#
#  By default this is defined to point to the Bacula build
#    directory to give a reasonable FileSet to backup to
#    disk storage during initial testing.
#
    File = /
    File = /home
    File = /usr
    File = /var
  }

#
# If you backup the root directory, the following two excluded
#   files can be useful
#
  Exclude {
    File = /proc
    File = /tmp
    File = /.journal
    File = /.fsck
    File = /var/local/old-server
  }
}

# List of files to be backed up
FileSet {
  Name = "FullWinBackup"
  Enable VSS = yes
  Include {
    Options {
      signature = MD5
    }
#
#  Put your list of files here, preceded by 'File =', one per line
#    or include an external list with:
#
#    File = <file-name
#
#  Note: / backs up everything on the root partition.
#    if you have other partitons such as /usr or /home
#    you will probably want to add them too.
#
#  By default this is defined to point to the Bacula build
#    directory to give a reasonable FileSet to backup to
#    disk storage during initial testing.
#
    File = "c:\\"
    File = "d:\\"
  }

#
# If you backup the root directory, the following two excluded
#   files can be useful
#
  Exclude {
  }
}

# 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 = <file-name
#
#  Note: / backs up everything on the root partition.
#    if you have other partitons such as /usr or /home
#    you will probably want to add them too.
#
#  By default this is defined to point to the Bacula build
#    directory to give a reasonable FileSet to backup to
#    disk storage during initial testing.
#
    File = /usr/src/bacula-1.38.5
  }

#
# If you backup the root directory, the following two excluded
#   files can be useful
#
  Exclude {
    File = /proc
    File = /tmp
    File = /.journal
    File = /.fsck
  }
}

#
# When to do the backups, full backup on first sunday of the month,
#  differential (i.e. incremental since full) every other sunday,
#  and incremental backups other days
Schedule {
  Name = "WeeklyCycle"
  Run = Full 1st sun at 23:05
  Run = Differential 2nd-5th sun at 23:05
  Run = Incremental mon-sat at 23:05
}

# This schedule does the catalog. It starts after the WeeklyCycle
Schedule {
  Name = "WeeklyCycleAfterBackup"
  Run = Full sun-sat at 23:10
}

# This is the backup of the catalog
FileSet {
  Name = "Catalog"
  Include {
    Options {
      signature = MD5
    }
    File = /usr/local/var/bacula/working/bacula.sql
  }
}

# Client (File Services) to backup
Client {
  Name = winsvr-fd
  Address = 192.168.86.5
  FDPort = 9102
  Catalog = MyCatalog
  Password = ...          # password for FileDaemon
  File Retention = 30 days            # 30 days
  Job Retention = 6 months            # six months
  AutoPrune = yes                     # Prune expired Jobs/Files
}

# Client (File Services) to backup
Client {
  Name = thor-fd
  Address = world-inet.com
  FDPort = 9102
  Catalog = MyCatalog
  Password = ...          # password for FileDaemon
  File Retention = 30 days            # 30 days
  Job Retention = 6 months            # six months
  AutoPrune = yes                     # Prune expired Jobs/Files
}

# Client (File Services) to backup
Client {
  Name = apollo-fd
  Address = 192.168.86.10
  FDPort = 9102
  Catalog = MyCatalog
  Password = ...          # password for FileDaemon
  File Retention = 30 days            # 30 days
  Job Retention = 6 months            # six months
  AutoPrune = yes                     # Prune expired Jobs/Files
}

#
# Second Client (File Services) to backup
#  You should change Name, Address, and Password before using
#
#Client {
#  Name = apollo2-fd
#  Address = apollo2
#  FDPort = 9102
#  Catalog = MyCatalog
#  Password = ...         # password for FileDaemon 2
#  File Retention = 30 days            # 30 days
#  Job Retention = 6 months            # six months
#  AutoPrune = yes                     # Prune expired Jobs/Files
#}


# Definition of file storage device
Storage {
  Name = File
# Do not use "localhost" here
  Address = 192.168.86.10                # N.B. Use a fully qualified name here
  SDPort = 9103
  Password = ...
  Device = FileStorage
  Media Type = File
}



# Definition of AIT-3 autochanger tape storage device
Storage {
  Name = autochanger-ext
#  Do not use "localhost" here
  Address = office.world-inet.com                # N.B. Use a fully qualified name here
  SDPort = 9103
  Password = ...         # password for Storage daemon
  Device = Autochanger                      # must be same as Device in Storage daemon
  Media Type = AIT-3                  # must be same as MediaType in Storage daemon
  Autochanger = yes                   # enable for autochanger device
}

# Definition of AIT-3 autochanger tape storage device
Storage {
  Name = autochanger-int
#  Do not use "localhost" here
  Address = 192.168.86.10                # N.B. Use a fully qualified name here
  SDPort = 9103
  Password = ...         # password for Storage daemon
  Device = Autochanger                      # must be same as Device in Storage daemon
  Media Type = AIT-3                  # must be same as MediaType in Storage daemon
  Autochanger = yes                   # enable for autochanger device
}

# Definition of 8mm tape storage device
#Storage {
#  Name = "8mmDrive"
#  Do not use "localhost" here
#  Address = apollo                # N.B. Use a fully qualified name here
#  SDPort = 9103
#  Password = ...
#  Device = "Exabyte 8mm"
#  MediaType = "8mm"
#}

# Definition of DVD storage device
#Storage {
#  Name = "DVD"
#  Do not use "localhost" here
#  Address = apollo                # N.B. Use a fully qualified name here
#  SDPort = 9103
#  Password = ...
#  Device = "DVD Writer"
#  MediaType = "DVD"
#}


# Generic catalog service
Catalog {
  Name = MyCatalog
  dbname = bacula; user = bacula; password = "bacula"
}

# Reasonable message delivery -- send most everything to email address
#  and to the console
Messages {
  Name = Standard
#
# NOTE! If you send to two email or more email addresses, you will need
#  to replace the %r in the from field (-f part) with a single valid
#  email address in both the mailcommand and the operatorcommand.
#
  mailcommand = "/usr/local/sbin/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Bacula: %t %e of %c %l\" %r"
  operatorcommand = "/usr/local/sbin/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Bacula: Intervention needed for %j\" %r"
  mail = [EMAIL PROTECTED] = all, !skipped
  operator = [EMAIL PROTECTED] = 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 = "/usr/local/var/bacula/working/log" = all, !skipped
}


#
# Message delivery for daemon messages (no job).
Messages {
  Name = Daemon
  mailcommand = "/usr/local/sbin/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Bacula daemon message\" %r"
  mail = [EMAIL PROTECTED] = all, !skipped
  console = all, !skipped, !saved
  append = "/usr/local/var/bacula/working/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
  Accept Any Volume = yes             # write on any volume in the pool
}

#
# Restricted console used by tray-monitor to get the status of the director
#
Console {
  Name = apollo-mon
  Password = ...
  CommandACL = status, .status
}


FD config:

#
# Default  Bacula File Daemon Configuration file
#
#  For Bacula release 1.36.2 (28 February 2005) -- debian 3.1
#
# There is not much to change here except perhaps the
# File daemon Name to
#

#
# List Directors who are permitted to contact this File daemon
#
Director {
  Name = apollo-dir
  Password = "piw4zIqWmm2c6wRZWtNy2ZxWj3EBjrbgk7HqchCUG4Ck"
}

#
# Restricted Director, used by tray-monitor to get the
#   status of the file daemon
#
Director {
  Name = apollo-mon
  Password = "1gZYyoTBH36jcrNZixhV5C5uhps7GQ6jefl2E5mZrFAp"
  Monitor = yes
}

#
# "Global" File daemon configuration specifications
#
FileDaemon {                          # this is me
  Name = thor-fd
  FDport = 9102                  # where we listen for the director
  WorkingDirectory = /var/lib/bacula
  Pid Directory = /var/run
  Maximum Concurrent Jobs = 20
}

# Send all messages except skipped files back to Director
Messages {
  Name = Standard
  director = apollo-dir = all, !skipped
}

Thanks,
Sean Proctor

Reply via email to