bacula
2017-07-11 07:44:25 UTC
Hi all,
my current setup is director on a vm and sd is running on a qnap nas. Everything went fine runing all daemons on a single virtual machine writing to an nfs mount of the qnap.
To improve performance in particualr for the bigger jobs we installed bacula directly on qnap to have the sd running there. Now we got the follwing problem.
Autolabeling doesn't work anymore. After starting a job I got the following message:
From: ***@bacula <mailto:***@bacula.jws.local> <***@bacula <mailto:***@bacula.jws.local> >
Sent: Mon Jul 10 00:05:19 2017
To:Â admin
Cc:
Subject: Bacula: Intervention needed for shares.2017-07-09_23.05.00_13
Auto forwarded by a rule
10-Jul 00:05 qnap4-sd JobId 1: Job shares.2017-07-09_23.05.00_13 is waiting. Cannot find any appendable volumes.
Please use the "label" command to create a new Volume for:
   Storage:     "FileChgr1-Dev2" (/opt/bacula/tapes)
   Pool:        File
   Media type:  File1
That message never apperead on the single machine setup. The labels were properly autolabeled.
Nevertheless I tried to label a tape.
***@bacula:~# bconsole
Connecting to Director localhost:9101
1000 OK: 1 bacula-dir Version: 7.0.5 (28 July 2014)
Enter a period to cancel a command.
*label
Automatically selected Catalog: MyCatalog
Using Catalog "MyCatalog"
The defined Storage resources are:
    1: File1
    2: File2
Select Storage resource (1-2): 1
Enter new Volume name: TestVolume001
Defined Pools:
    1: Default
    2: File
    3: Scratch
Select the Pool (1-3): 2
Connecting to Storage daemon File1 at qnap4.jws.local:9103 ...
Sending label command for Volume "TestVolume001" Slot 0 ...
3000 OK label. VolBytes=195 VolABytes=0 VolType=1 Volume="TestVolume001" Device="FileChgr1-Dev1" (/opt/bacula/tapes)
Label command failed for Volume TestVolume001.
Do not forget to mount the drive!!!
Â
SD creates the volume properly (as fare as I can see in the fielsystem) but director doesn't recognize it.
Can someone please point me to the right direction how to get it work?
cheers
Holger
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
bacula-dir.conf
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Director {Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â # define myself
 Name = bacula-dir
 DIRport = 9101               # where we listen for UA connections
 QueryFile = "/etc/bacula/scripts/query.sql"
 WorkingDirectory = "/var/lib/bacula"
 PidDirectory = "/var/run"
 Maximum Concurrent Jobs = 20
 Password = "xyz"        # Console password
 Messages = Daemon
}
JobDefs {
 Name = "DefaultJob"
 Type = Backup
 Level = Incremental
 Client = bacula-fd
 FileSet = "Full Set"
 Schedule = "WeeklyCycle"
 Storage = File1
 Messages = Standard
 Pool = File
 SpoolAttributes = yes
 SpoolData = yes
 Priority = 10
 Write Bootstrap = "/var/lib/bacula/working/%c.bsr"
}
Job {
 Name = "BackupCatalog"
 JobDefs = "DefaultJob"
 Level = Full
 FileSet="Catalog"
 Schedule = "WeeklyCycleAfterBackup"
  RunBeforeJob = "/etc/bacula/scripts/make_catalog_backup.pl MyCatalog"
  RunAfterJob = "/etc/bacula/scripts/delete_catalog_backup"
 Write Bootstrap = "/etc/bacula/working/%n.bsr"
 Priority = 11                  # run after main backup
}
Job {
 Name = "RestoreFiles"
 Type = Restore
 Client= bacula-fd
 Storage = File1
# The FileSet and Pool directives are not used by Restore Jobs
# but must not be removed
 FileSet="Full Set"
 Pool = File
 Messages = Standard
 Where = /nonexistant/path/to/file/archive/dir/bacula-restores
}
Job {
 Name = samba4
 JobDefs = DefaultJob
 Client = samba4-fd
 FileSet = samba4
 Storage = File1
 Messages = Standard
 Client Run Before Job = /root/bin/backups
 Enabled = no
}
# List of files to be backed up
FileSet {
 Name = "Full Set"
 Include {
   Options {
     signature = MD5
   }
   File = /opt/sbin
 }
 Exclude {
   File = /opt/bacula/working
   File = /opt/bacula/tmp
   File = /proc
   File = /tmp
   File = /sys
   File = /.journal
   File = /.fsck
 }
}
FileSet {
 Name = samba4
 Include {
     File = /opt
     File = /srv/home
 File = /srv/profiles
 File = /srv/backup
    Options {
               Signature = MD5
               Compression = GZIP5
       }
 }
}
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
}
WeeklyCycle
Schedule {
 Name = "WeeklyCycleAfterBackup"
 Run = Full sun-sat at 23:10
}
FileSet {
 Name = "Catalog"
 Include {
   Options {
     signature = MD5
   }
   File = "/var/lib/bacula/bacula.sql"
 }
}
Client {
 Name = samba4-fd
 Password = "4711"
 Address = samba.local
 FDPort = 9102
 Catalog = MyCatalog
 File Retention = 30 days           # 30 days
 Job Retention = 6 months           # six months
 AutoPrune = yes
}
Storage {
 Name = File1
 Address = qnap.local # N.B. Use a fully qualified name here
 SDPort = 9103
 Password = "123"
 Device = FileChgr1
 Media Type = File1
 Maximum Concurrent Jobs = 10       # run up to 10 jobs a the same time
}
Storage {
 Name = File2
 Address = qnap.local # N.B. Use a fully qualified name here
 SDPort = 9103
 Password = "123"
 Device = FileChgr2
 Media Type = File2
 Maximum Concurrent Jobs = 10       # run up to 10 jobs a the same time
}
Catalog {
 Name = MyCatalog
 dbname = "bacula"; dbuser = "root"; dbpassword = "mysqldb_passwd"
}
address
Messages {
 Name = Standard
 mailcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula: %t %e of %c %l\" ***@jws.eu"
 operatorcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula: Intervention needed for %j\" ***@jws.eu"
 mail = root = all, !skipped
 operator = root = mount
 console = all, !skipped, !saved
 append = "/var/log/bacula/bacula.log" = all, !skipped
 catalog = all
}
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
}
Pool {
 Name = Default
 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
 Label Format = "Vol-"
}
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
 Label Format = "Vol-"              # Auto label
}
Pool {
 Name = Scratch
 Pool Type = Backup
}
Console {
 Name = bacula-mon
 Password = "xyz"
 CommandACL = status, .status
}
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
bacula-sd.conf
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Storage {Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â # definition of myself
 Name = qnap-sd
 SDPort = 9103                 # Director's port
 WorkingDirectory = "/opt/bacula/working"
 Pid Directory = "/opt/var/run"
 Maximum Concurrent Jobs = 20
}
Director {
 Name = bacula-dir
 Password = "xyz"
}
Director {
 Name = bacula-mon
 Password = "123"
 Monitor = yes
}
Autochanger {
 Name = FileChgr1
 Device = FileChgr1-Dev1, FileChgr1-Dev2
 Changer Command = ""
 Changer Device = /dev/null
}
Device {
 Name = FileChgr1-Dev1
 Media Type = File1
 Archive Device = /opt/bacula/tapes
 LabelMedia = yes;                  # lets Bacula label unlabeled media
 Random Access = Yes;
 AutomaticMount = yes;              # when device opened, read it
 RemovableMedia = no;
 AlwaysOpen = no;
 Maximum Concurrent Jobs = 5
}
Device {
 Name = FileChgr1-Dev2
 Media Type = File1
 Archive Device = /opt/bacula/tapes
 LabelMedia = yes;                  # lets Bacula label unlabeled media
 Random Access = Yes;
 AutomaticMount = yes;              # when device opened, read it
 RemovableMedia = no;
 AlwaysOpen = no;
 Maximum Concurrent Jobs = 5
}
Autochanger {
 Name = FileChgr2
 Device = FileChgr2-Dev1, FileChgr2-Dev2
 Changer Command = ""
 Changer Device = /dev/null
}
Device {
 Name = FileChgr2-Dev1
 Media Type = File2
 Archive Device = /opt/bacula/tapes
 LabelMedia = yes;                  # lets Bacula label unlabeled media
 Random Access = Yes;
 AutomaticMount = yes;              # when device opened, read it
 RemovableMedia = no;
 AlwaysOpen = no;
 Maximum Concurrent Jobs = 5
}
Device {
 Name = FileChgr2-Dev2
 Media Type = File2
 Archive Device = /opt/bacula/tapes
 LabelMedia = yes;                  # lets Bacula label unlabeled media
 Random Access = Yes;
 AutomaticMount = yes;              # when device opened, read it
 RemovableMedia = no;
 AlwaysOpen = no;
 Maximum Concurrent Jobs = 5
}
Messages {
 Name = Standard
 director = bacula-dir = all
}
my current setup is director on a vm and sd is running on a qnap nas. Everything went fine runing all daemons on a single virtual machine writing to an nfs mount of the qnap.
To improve performance in particualr for the bigger jobs we installed bacula directly on qnap to have the sd running there. Now we got the follwing problem.
Autolabeling doesn't work anymore. After starting a job I got the following message:
From: ***@bacula <mailto:***@bacula.jws.local> <***@bacula <mailto:***@bacula.jws.local> >
Sent: Mon Jul 10 00:05:19 2017
To:Â admin
Cc:
Subject: Bacula: Intervention needed for shares.2017-07-09_23.05.00_13
Auto forwarded by a rule
10-Jul 00:05 qnap4-sd JobId 1: Job shares.2017-07-09_23.05.00_13 is waiting. Cannot find any appendable volumes.
Please use the "label" command to create a new Volume for:
   Storage:     "FileChgr1-Dev2" (/opt/bacula/tapes)
   Pool:        File
   Media type:  File1
That message never apperead on the single machine setup. The labels were properly autolabeled.
Nevertheless I tried to label a tape.
***@bacula:~# bconsole
Connecting to Director localhost:9101
1000 OK: 1 bacula-dir Version: 7.0.5 (28 July 2014)
Enter a period to cancel a command.
*label
Automatically selected Catalog: MyCatalog
Using Catalog "MyCatalog"
The defined Storage resources are:
    1: File1
    2: File2
Select Storage resource (1-2): 1
Enter new Volume name: TestVolume001
Defined Pools:
    1: Default
    2: File
    3: Scratch
Select the Pool (1-3): 2
Connecting to Storage daemon File1 at qnap4.jws.local:9103 ...
Sending label command for Volume "TestVolume001" Slot 0 ...
3000 OK label. VolBytes=195 VolABytes=0 VolType=1 Volume="TestVolume001" Device="FileChgr1-Dev1" (/opt/bacula/tapes)
Label command failed for Volume TestVolume001.
Do not forget to mount the drive!!!
Â
SD creates the volume properly (as fare as I can see in the fielsystem) but director doesn't recognize it.
Can someone please point me to the right direction how to get it work?
cheers
Holger
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
bacula-dir.conf
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Director {Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â # define myself
 Name = bacula-dir
 DIRport = 9101               # where we listen for UA connections
 QueryFile = "/etc/bacula/scripts/query.sql"
 WorkingDirectory = "/var/lib/bacula"
 PidDirectory = "/var/run"
 Maximum Concurrent Jobs = 20
 Password = "xyz"        # Console password
 Messages = Daemon
}
JobDefs {
 Name = "DefaultJob"
 Type = Backup
 Level = Incremental
 Client = bacula-fd
 FileSet = "Full Set"
 Schedule = "WeeklyCycle"
 Storage = File1
 Messages = Standard
 Pool = File
 SpoolAttributes = yes
 SpoolData = yes
 Priority = 10
 Write Bootstrap = "/var/lib/bacula/working/%c.bsr"
}
Job {
 Name = "BackupCatalog"
 JobDefs = "DefaultJob"
 Level = Full
 FileSet="Catalog"
 Schedule = "WeeklyCycleAfterBackup"
  RunBeforeJob = "/etc/bacula/scripts/make_catalog_backup.pl MyCatalog"
  RunAfterJob = "/etc/bacula/scripts/delete_catalog_backup"
 Write Bootstrap = "/etc/bacula/working/%n.bsr"
 Priority = 11                  # run after main backup
}
Job {
 Name = "RestoreFiles"
 Type = Restore
 Client= bacula-fd
 Storage = File1
# The FileSet and Pool directives are not used by Restore Jobs
# but must not be removed
 FileSet="Full Set"
 Pool = File
 Messages = Standard
 Where = /nonexistant/path/to/file/archive/dir/bacula-restores
}
Job {
 Name = samba4
 JobDefs = DefaultJob
 Client = samba4-fd
 FileSet = samba4
 Storage = File1
 Messages = Standard
 Client Run Before Job = /root/bin/backups
 Enabled = no
}
# List of files to be backed up
FileSet {
 Name = "Full Set"
 Include {
   Options {
     signature = MD5
   }
   File = /opt/sbin
 }
 Exclude {
   File = /opt/bacula/working
   File = /opt/bacula/tmp
   File = /proc
   File = /tmp
   File = /sys
   File = /.journal
   File = /.fsck
 }
}
FileSet {
 Name = samba4
 Include {
     File = /opt
     File = /srv/home
 File = /srv/profiles
 File = /srv/backup
    Options {
               Signature = MD5
               Compression = GZIP5
       }
 }
}
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
}
WeeklyCycle
Schedule {
 Name = "WeeklyCycleAfterBackup"
 Run = Full sun-sat at 23:10
}
FileSet {
 Name = "Catalog"
 Include {
   Options {
     signature = MD5
   }
   File = "/var/lib/bacula/bacula.sql"
 }
}
Client {
 Name = samba4-fd
 Password = "4711"
 Address = samba.local
 FDPort = 9102
 Catalog = MyCatalog
 File Retention = 30 days           # 30 days
 Job Retention = 6 months           # six months
 AutoPrune = yes
}
Storage {
 Name = File1
 Address = qnap.local # N.B. Use a fully qualified name here
 SDPort = 9103
 Password = "123"
 Device = FileChgr1
 Media Type = File1
 Maximum Concurrent Jobs = 10       # run up to 10 jobs a the same time
}
Storage {
 Name = File2
 Address = qnap.local # N.B. Use a fully qualified name here
 SDPort = 9103
 Password = "123"
 Device = FileChgr2
 Media Type = File2
 Maximum Concurrent Jobs = 10       # run up to 10 jobs a the same time
}
Catalog {
 Name = MyCatalog
 dbname = "bacula"; dbuser = "root"; dbpassword = "mysqldb_passwd"
}
address
Messages {
 Name = Standard
 mailcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula: %t %e of %c %l\" ***@jws.eu"
 operatorcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula: Intervention needed for %j\" ***@jws.eu"
 mail = root = all, !skipped
 operator = root = mount
 console = all, !skipped, !saved
 append = "/var/log/bacula/bacula.log" = all, !skipped
 catalog = all
}
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
}
Pool {
 Name = Default
 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
 Label Format = "Vol-"
}
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
 Label Format = "Vol-"              # Auto label
}
Pool {
 Name = Scratch
 Pool Type = Backup
}
Console {
 Name = bacula-mon
 Password = "xyz"
 CommandACL = status, .status
}
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
bacula-sd.conf
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Storage {Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â # definition of myself
 Name = qnap-sd
 SDPort = 9103                 # Director's port
 WorkingDirectory = "/opt/bacula/working"
 Pid Directory = "/opt/var/run"
 Maximum Concurrent Jobs = 20
}
Director {
 Name = bacula-dir
 Password = "xyz"
}
Director {
 Name = bacula-mon
 Password = "123"
 Monitor = yes
}
Autochanger {
 Name = FileChgr1
 Device = FileChgr1-Dev1, FileChgr1-Dev2
 Changer Command = ""
 Changer Device = /dev/null
}
Device {
 Name = FileChgr1-Dev1
 Media Type = File1
 Archive Device = /opt/bacula/tapes
 LabelMedia = yes;                  # lets Bacula label unlabeled media
 Random Access = Yes;
 AutomaticMount = yes;              # when device opened, read it
 RemovableMedia = no;
 AlwaysOpen = no;
 Maximum Concurrent Jobs = 5
}
Device {
 Name = FileChgr1-Dev2
 Media Type = File1
 Archive Device = /opt/bacula/tapes
 LabelMedia = yes;                  # lets Bacula label unlabeled media
 Random Access = Yes;
 AutomaticMount = yes;              # when device opened, read it
 RemovableMedia = no;
 AlwaysOpen = no;
 Maximum Concurrent Jobs = 5
}
Autochanger {
 Name = FileChgr2
 Device = FileChgr2-Dev1, FileChgr2-Dev2
 Changer Command = ""
 Changer Device = /dev/null
}
Device {
 Name = FileChgr2-Dev1
 Media Type = File2
 Archive Device = /opt/bacula/tapes
 LabelMedia = yes;                  # lets Bacula label unlabeled media
 Random Access = Yes;
 AutomaticMount = yes;              # when device opened, read it
 RemovableMedia = no;
 AlwaysOpen = no;
 Maximum Concurrent Jobs = 5
}
Device {
 Name = FileChgr2-Dev2
 Media Type = File2
 Archive Device = /opt/bacula/tapes
 LabelMedia = yes;                  # lets Bacula label unlabeled media
 Random Access = Yes;
 AutomaticMount = yes;              # when device opened, read it
 RemovableMedia = no;
 AlwaysOpen = no;
 Maximum Concurrent Jobs = 5
}
Messages {
 Name = Standard
 director = bacula-dir = all
}