Luke Salsich
2017-06-28 17:23:46 UTC
ââ
Hello everyone,
I'm really struggling to solve a problem with my bacula setup and I could
use some guidance or helpful comments, PLEASE PLEASE. I've been using
Bacula for about six months with an AWS storage gateway with success, but
still have so much to learn. I would welcome any help!!
I've tried to walk through this current problem, read the docs, search the
web - but I'm really stuck.
some quick background:
I started shutting down the storage gateway from most of the day because
why run it when my backups aren't scheduled until 11:00 pm? This worked
fine for about a week, then I started getting messages in the jobs asking
'Please mount append Volume "xxxxx" or label a new one for' the job.
So, I 'update slots' to make sure nothing got out of alignment and ran a
job again:
27-Jun 13:03 bacula-dir JobId 419: Start Backup JobId 419,
Job=crashbox.2017-06-27_13.03.25_03
27-Jun 13:03 bacula-dir JobId 419: Using Device "Drive-4" to write.
27-Jun 13:03 bacula-sd JobId 419: 3307 Issuing autochanger "unload slot 31,
drive 3" command.
27-Jun 13:03 bacula-sd JobId 419: 3307 Issuing autochanger "unload slot 11,
drive 0" command.
27-Jun 13:03 bacula-sd JobId 419: 3304 Issuing autochanger "load slot 11,
drive 3" command.
27-Jun 13:03 bacula-sd JobId 419: 3305 Autochanger "load slot 11, drive 3",
status is OK.
27-Jun 13:03 bacula-sd JobId 419: Please mount append Volume "BAKEEC9D4D"
or label a new one for:
It seemed like the autochanger was working properly - moving tapes around
as needed. But, when I check which volumes are actually listed in the slots
using MTX, I got a different result:
$ sudo /usr/sbin/mtx -f /dev/tape/by-id/scsi-2414d5a4e5f5347572d433245
status | head -n 50
Storage Changer /dev/tape/by-id/scsi-2414d5a4e5f5347572d433245:10 Drives,
3200 Slots ( 1600 Import/Export )
Data Transfer Element 0:Full (Storage Element 2 Loaded):VolumeTag =
BAKB3DD699
Data Transfer Element 1:Full (Storage Element 11 Loaded):VolumeTag =
BAKEE69D47
Data Transfer Element 2:Empty
Data Transfer Element 3:Full (Storage Element 21 Loaded):VolumeTag =
BAKEEC9D4D
Data Transfer Element 4:Empty
Data Transfer Element 5:Empty
Data Transfer Element 6:Empty
Data Transfer Element 7:Empty
Data Transfer Element 8:Empty
Data Transfer Element 9:Empty
Storage Element 1:Full :VolumeTag=BAKC8C9D2D
Storage Element 2:Empty:VolumeTag=
SO - bacula was saying that slot 11 is in drive 3, status ok
BUT, mtx was saying that slot 11 is in drive 1.
I stopped bacula-dir and bacula-sd, then used manual mtx commands to unload
/ load the tapes out of the drives, then restarted bacula, updated slots,
volumes and pools, but I keep getting errors about 'Please mount append
Volume "BAKEEC9D4D" or label a new one for' the job - even though now the
drives and volumes seem to line up with mtx data:
27-Jun 19:26 bacula-dir JobId 424: Start Backup JobId 424,
Job=crashbox.2017-06-27_19.26.13_06
27-Jun 19:26 bacula-dir JobId 424: Using Device "Drive-1" to write.
27-Jun 19:26 bacula-sd JobId 424: Please mount append Volume "BAKEEC9D4D"
or label a new one for:
Job: crashbox.2017-06-27_19.26.13_06
Storage: "Drive-1" (/dev/tape/by-path/ip-tapedrive-01-lun-0-nst)
Pool: Tape4
Media type: ULT3580-TD5
a list of the status of the changer:
$ sudo /usr/sbin/mtx -f /dev/tape/by-id/scsi-2414d5a4e5f5347572d433245
status | head -n 50
Storage Changer /dev/tape/by-id/scsi-2414d5a4e5f5347572d433245:10 Drives,
3200 Slots ( 1600 Import/Export )
Data Transfer Element 0:Full (Storage Element 11 Loaded):VolumeTag =
BAKEEC9D4D
Data Transfer Element 1:Empty
Data Transfer Element 2:Empty
Data Transfer Element 3:Empty
Data Transfer Element 4:Empty
Data Transfer Element 5:Empty
Data Transfer Element 6:Empty
Data Transfer Element 7:Empty
Data Transfer Element 8:Empty
Data Transfer Element 9:Empty
Storage Element 1:Full :VolumeTag=BAKC8C9D2D
Storage Element 2:Full :VolumeTag=BAKB3DD699
Storage Element 3:Full :VolumeTag=BAKB38D69C
Storage Element 4:Full :VolumeTag=BAKB31D695
Storage Element 5:Full :VolumeTag=BAKB32D696
Storage Element 6:Full :VolumeTag=BAKB3FD69B
Storage Element 7:Full :VolumeTag=BAKB39D69D
Storage Element 8:Full :VolumeTag=BAKB3AD69E
Storage Element 9:Full :VolumeTag=BAKB33D697
Storage Element 10:Full :VolumeTag=BAKB3CD698
Storage Element 11:Empty:VolumeTag=
Storage Element 12:Full :VolumeTag=BAKC8A9D2B
It looks to me like the correct volume is loaded in the correct drive.
Also, this volume has been written to for several months with no issues.
It's not new.
A query on the bacula database shows that the volume is recorded in the
proper slot and listed with the 'append' status:
Volume name Bytes Media Type Expire Last written
Status Slot
BAKEEC9D4D 298.76 GB ULT3580-TD5 n/a 2017-06-24 23:05:45
Append 11
Is it something in my config?
Director:
Director { # define myself
Name = bacula-dir
DIRport = 9101 # where we listen for UA connections
QueryFile = "/etc/bacula/query.sql"
WorkingDirectory = "/var/spool/bacula"
PidDirectory = "/var/run"
Maximum Concurrent Jobs = 10
Password = "password-here" # Console password
Messages = Daemon
TLS Certificate = /etc/bacula/certs/safehousebak2.URL.com.crt
TLS Key = /etc/bacula/certs/safehousebak2.URL.com-daemon.key
TLS CA Certificate File = /etc/bacula/certs/cacert.pem
TLS Enable = yes
TLS Require = yes
TLS Verify Peer = no
}
JobDefs {
Name = "DefaultJob"
Type = Backup
Level = Incremental
Client = bacula-fd
FileSet = "Full Set"
Schedule = "WeeklyCycle"
Storage = VTL
Messages = Standard
#Pool = File
Pool = Tape
#Prefer Mounted Volumes = "no"
Priority = 10
Write Bootstrap = "/var/spool/bacula/%c.bsr"
}
#
# Define the main nightly save backup job
Job {
Name = "safehousebak1"
JobDefs = "DefaultJob"
Spool Data = no
#Maximum Concurrent Jobs = 10
#Prefer Mounted Volumes = "no"
Pool = Tape
}
Job {
Name = "safehouse"
JobDefs = "DefaultJob"
Client = safe1.URL.com-fd
Spool Data = no
#Maximum Concurrent Jobs = 10
#Prefer Mounted Volumes = "no"
Pool = Tape2
}
Job {
Name = "safe1staging"
JobDefs = "DefaultJob"
Client = safe1staging.URL.com-fd
Schedule = "NoCycle"
Spool Data = no
#Maximum Concurrent Jobs = 10
#Prefer Mounted Volumes = "no"
Pool = Tape3
}
Job {
Name = "luke-MacBookPro"
JobDefs = "DefaultJob"
Client = luke-MacBookPro-fd
Schedule = "NoCycle"
Spool Data = no
#Maximum Concurrent Jobs = 10
#Maximum Bandwidth = 500kb/s
FileSet = "Full Set luke-macbookpro"
#Prefer Mounted Volumes = "no"
Pool = Tape3
}
Job {
Name = "crashbox"
JobDefs = "DefaultJob"
Client = crashbox.URL.com-fd
Spool Data = no
#Maximum Concurrent Jobs = 10
#Maximum Bandwidth = 500kb/s
FileSet = "Full Set crashbox"
#Prefer Mounted Volumes = "no"
Pool = Tape4
}
# Client (File Services) to backup
Client {
Name = bacula-fd
Address = safehousebak2.URL.com
FDPort = 9102
Catalog = MyCatalog
Password = "password-here" # password for FileDaemon
File Retention = 6 months # six months
Job Retention = 6 months # six months
AutoPrune = yes # Prune expired Jobs/Files
TLS Certificate =
/etc/bacula/certs/safehousebak2-client/safehousebak2.URL.com.crt
TLS Key =
/etc/bacula/certs/safehousebak2-client/safehousebak2.URL.com-daemon.key
TLS CA Certificate File = /etc/bacula/certs/cacert.pem
TLS Enable = yes
TLS Require = yes
}
Client {
Name = safe1.URL.com-fd
# Address = 34.207.20.31
Address = safe1.URL.com
FDPort = 9102
Catalog = MyCatalog
# Password = "gcCd1uHeGS62gpUa"
Password = "password-here"
File Retention = 6 months # six months
Job Retention = 6 months
AutoPrune = yes
TLS Certificate = /etc/bacula/certs/safe1/safe1.URL.com.crt
TLS Key = /etc/bacula/certs/safe1/safe1.URL.com-daemon.key
TLS CA Certificate File = /etc/bacula/certs/cacert.pem
TLS Enable = yes
TLS Require = yes
}
Client {
Name = safe1staging.URL.com-fd
Address = safe1staging.URL.com
FDPort = 9102
Catalog = MyCatalog
# Password = "gcCd1uHeGS62gpUa"
Password = "password-here"
File Retention = 6 months # six months
Job Retention = 6 months
AutoPrune = yes
}
#
# Client (File Services) to backup
# You should change Name, Address, and Password before using
#
Client {
Name = luke-MacBookPro-fd
# Address = 68.184.40.205
Address = crashbox.URL.com
FDPort = 9102
Catalog = MyCatalog
Password = "password-here"
File Retention = 6 months # six months
Job Retention = 6 months
AutoPrune = yes
}
#
# Client (File Services) to backup
# You should change Name, Address, and Password before using
#
Client {
Name = crashbox.URL.com-fd
Address = crashbox.URL.com
FDPort = 9105
Catalog = MyCatalog
Password = "password-here"
File Retention = 6 months # six months
Job Retention = 6 months
AutoPrune = yes
TLS Certificate = /etc/bacula/certs/crashbox/crashbox.URL.com.crt
TLS Key = /etc/bacula/certs/crashbox/crashbox.URL.com-daemon.key
TLS CA Certificate File = /etc/bacula/certs/cacert.pem
TLS Enable = yes
TLS Require = yes
}
# Definition of file storage device
Storage {
Name = VTL
# Do not use "localhost" here
# Address = xxx.amazonaws.com # N.B. Use a fully qualified
name here
Address = safehousebak2.URL.com
SDPort = 9103
Password = "password-here"
Device = "VTL-Autochanger"
Media Type = ULT3580-TD5
Autochanger = yes
Maximum Concurrent Jobs = 10;
}
# 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
}
# tape Pool definition
Pool {
Name = Tape
Pool Type = Backup
#Storage = VTL
Recycle = yes # Bacula can automatically recycle
Volumes
AutoPrune = yes # Prune expired volumes
Volume Retention = 365 days # one year
Maximum Volume Bytes = 990G # Limit Volume size to something
reasonable
Maximum Volumes = 10 # Limit number of Volumes in Pool
}
# File Pool definition
Pool {
Name = Tape2
Pool Type = Backup
#Storage = VTL
Recycle = yes # Bacula can automatically recycle
Volumes
AutoPrune = yes # Prune expired volumes
Volume Retention = 365 days # one year
Maximum Volume Bytes = 990G # Limit Volume size to something
reasonable
Maximum Volumes = 10 # Limit number of Volumes in Pool
}
# File Pool definition
Pool {
Name = Tape3
Pool Type = Backup
#Storage = VTL
Recycle = yes # Bacula can automatically recycle
Volumes
AutoPrune = yes # Prune expired volumes
Volume Retention = 365 days # one year
Maximum Volume Bytes = 990G # Limit Volume size to something
reasonable
Maximum Volumes = 10 # Limit number of Volumes in Pool
}
# File Pool definition
Pool {
Name = Tape4
Pool Type = Backup
#Storage = VTL
Recycle = yes # Bacula can automatically recycle
Volumes
AutoPrune = yes # Prune expired volumes
Volume Retention = 365 days # one year
Maximum Volume Bytes = 990G # Limit Volume size to something
reasonable
Maximum Volumes = 10 # Limit number of Volumes in Pool
}
Storage Config:
Storage { # definition of myself
Name = bacula-sd
SDPort = 9103 # Director's port
WorkingDirectory = "/var/spool/bacula"
Pid Directory = "/var/run"
Maximum Concurrent Jobs = 20
SDAddress = xxx.compute-1.amazonaws.com
TLS Certificate = /etc/bacula/certs/safehousebak2.URL.com.crt
TLS Key = /etc/bacula/certs/safehousebak2.URL.com-daemon.key
TLS CA Certificate File = /etc/bacula/certs/cacert.pem
TLS Enable = yes
TLS Require = yes
TLS Verify Peer = no
}
#
# List Directors who are permitted to contact Storage daemon
#
Director {
Name = bacula-dir
Password = "ZWRlODg2ODZjMDNkY2M0MzM0ZjcxNDExN"
}
#
# Restricted Director, used by tray-monitor to get the
# status of the storage daemon
#
Director {
Name = bacula-mon
Password = "ZWRlODg2ODZjMDNkY2M0MzM0ZjcxNDExN"
Monitor = yes
}
#
# Note, for a list of additional Device templates please
# see the directory <bacula-source>/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 = /tmp
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 four drives
#
Autochanger {
Name = VTL-Autochanger
Device = Drive-1, Drive-2, Drive-3, Drive-4
Changer Command = "/usr/libexec/bacula/mtx-changer %c %o %S %a %d"
Changer Device = /dev/tape/by-id/scsi-2414d5a4e5f5347572d433245
}
Device {
Name = Drive-1 #
Drive Index = 0
Media Type = ULT3580-TD5
#Archive Device = /dev/nst0
Archive Device = "/dev/tape/by-path/ip-01-lun-0-nst"
AutomaticMount = yes; # when device opened, read it
AlwaysOpen = yes;
RemovableMedia = yes;
RandomAccess = no;
AutoChanger = yes;
#Maximum Concurrent Jobs = 5;
# #
# # 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 = ULT3580-TD5
#Archive Device = /dev/nst1
Archive Device = "/dev/tape/by-path/ip-tapedrive-02-lun-0-nst"
AutomaticMount = yes; # when device opened, read it
AlwaysOpen = yes;
RemovableMedia = yes;
RandomAccess = no;
AutoChanger = yes;
#Maximum Concurrent Jobs = 5;
# 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'"
}
Device {
Name = Drive-3 #
Drive Index = 2
Media Type = ULT3580-TD5
#Archive Device = /dev/nst1
Archive Device = "/dev/tape/by-path/ip-03-lun-0-nst"
AutomaticMount = yes; # when device opened, read it
AlwaysOpen = yes;
RemovableMedia = yes;
RandomAccess = no;
AutoChanger = yes;
#Maximum Concurrent Jobs = 5;
# 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'"
}
Device {
Name = Drive-4 #
Drive Index = 3
Media Type = ULT3580-TD5
#Archive Device = /dev/nst1
Archive Device = "/dev/tape/by-path/ip-tapedrive-04-lun-0-nst"
AutomaticMount = yes; # when device opened, read it
AlwaysOpen = yes;
RemovableMedia = yes;
RandomAccess = no;
AutoChanger = yes;
#Maximum Concurrent Jobs = 5;
# 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'"
}
---------------
Luke Salsich
Hello everyone,
I'm really struggling to solve a problem with my bacula setup and I could
use some guidance or helpful comments, PLEASE PLEASE. I've been using
Bacula for about six months with an AWS storage gateway with success, but
still have so much to learn. I would welcome any help!!
I've tried to walk through this current problem, read the docs, search the
web - but I'm really stuck.
some quick background:
I started shutting down the storage gateway from most of the day because
why run it when my backups aren't scheduled until 11:00 pm? This worked
fine for about a week, then I started getting messages in the jobs asking
'Please mount append Volume "xxxxx" or label a new one for' the job.
So, I 'update slots' to make sure nothing got out of alignment and ran a
job again:
27-Jun 13:03 bacula-dir JobId 419: Start Backup JobId 419,
Job=crashbox.2017-06-27_13.03.25_03
27-Jun 13:03 bacula-dir JobId 419: Using Device "Drive-4" to write.
27-Jun 13:03 bacula-sd JobId 419: 3307 Issuing autochanger "unload slot 31,
drive 3" command.
27-Jun 13:03 bacula-sd JobId 419: 3307 Issuing autochanger "unload slot 11,
drive 0" command.
27-Jun 13:03 bacula-sd JobId 419: 3304 Issuing autochanger "load slot 11,
drive 3" command.
27-Jun 13:03 bacula-sd JobId 419: 3305 Autochanger "load slot 11, drive 3",
status is OK.
27-Jun 13:03 bacula-sd JobId 419: Please mount append Volume "BAKEEC9D4D"
or label a new one for:
It seemed like the autochanger was working properly - moving tapes around
as needed. But, when I check which volumes are actually listed in the slots
using MTX, I got a different result:
$ sudo /usr/sbin/mtx -f /dev/tape/by-id/scsi-2414d5a4e5f5347572d433245
status | head -n 50
Storage Changer /dev/tape/by-id/scsi-2414d5a4e5f5347572d433245:10 Drives,
3200 Slots ( 1600 Import/Export )
Data Transfer Element 0:Full (Storage Element 2 Loaded):VolumeTag =
BAKB3DD699
Data Transfer Element 1:Full (Storage Element 11 Loaded):VolumeTag =
BAKEE69D47
Data Transfer Element 2:Empty
Data Transfer Element 3:Full (Storage Element 21 Loaded):VolumeTag =
BAKEEC9D4D
Data Transfer Element 4:Empty
Data Transfer Element 5:Empty
Data Transfer Element 6:Empty
Data Transfer Element 7:Empty
Data Transfer Element 8:Empty
Data Transfer Element 9:Empty
Storage Element 1:Full :VolumeTag=BAKC8C9D2D
Storage Element 2:Empty:VolumeTag=
SO - bacula was saying that slot 11 is in drive 3, status ok
BUT, mtx was saying that slot 11 is in drive 1.
I stopped bacula-dir and bacula-sd, then used manual mtx commands to unload
/ load the tapes out of the drives, then restarted bacula, updated slots,
volumes and pools, but I keep getting errors about 'Please mount append
Volume "BAKEEC9D4D" or label a new one for' the job - even though now the
drives and volumes seem to line up with mtx data:
27-Jun 19:26 bacula-dir JobId 424: Start Backup JobId 424,
Job=crashbox.2017-06-27_19.26.13_06
27-Jun 19:26 bacula-dir JobId 424: Using Device "Drive-1" to write.
27-Jun 19:26 bacula-sd JobId 424: Please mount append Volume "BAKEEC9D4D"
or label a new one for:
Job: crashbox.2017-06-27_19.26.13_06
Storage: "Drive-1" (/dev/tape/by-path/ip-tapedrive-01-lun-0-nst)
Pool: Tape4
Media type: ULT3580-TD5
a list of the status of the changer:
$ sudo /usr/sbin/mtx -f /dev/tape/by-id/scsi-2414d5a4e5f5347572d433245
status | head -n 50
Storage Changer /dev/tape/by-id/scsi-2414d5a4e5f5347572d433245:10 Drives,
3200 Slots ( 1600 Import/Export )
Data Transfer Element 0:Full (Storage Element 11 Loaded):VolumeTag =
BAKEEC9D4D
Data Transfer Element 1:Empty
Data Transfer Element 2:Empty
Data Transfer Element 3:Empty
Data Transfer Element 4:Empty
Data Transfer Element 5:Empty
Data Transfer Element 6:Empty
Data Transfer Element 7:Empty
Data Transfer Element 8:Empty
Data Transfer Element 9:Empty
Storage Element 1:Full :VolumeTag=BAKC8C9D2D
Storage Element 2:Full :VolumeTag=BAKB3DD699
Storage Element 3:Full :VolumeTag=BAKB38D69C
Storage Element 4:Full :VolumeTag=BAKB31D695
Storage Element 5:Full :VolumeTag=BAKB32D696
Storage Element 6:Full :VolumeTag=BAKB3FD69B
Storage Element 7:Full :VolumeTag=BAKB39D69D
Storage Element 8:Full :VolumeTag=BAKB3AD69E
Storage Element 9:Full :VolumeTag=BAKB33D697
Storage Element 10:Full :VolumeTag=BAKB3CD698
Storage Element 11:Empty:VolumeTag=
Storage Element 12:Full :VolumeTag=BAKC8A9D2B
It looks to me like the correct volume is loaded in the correct drive.
Also, this volume has been written to for several months with no issues.
It's not new.
A query on the bacula database shows that the volume is recorded in the
proper slot and listed with the 'append' status:
Volume name Bytes Media Type Expire Last written
Status Slot
BAKEEC9D4D 298.76 GB ULT3580-TD5 n/a 2017-06-24 23:05:45
Append 11
Is it something in my config?
Director:
Director { # define myself
Name = bacula-dir
DIRport = 9101 # where we listen for UA connections
QueryFile = "/etc/bacula/query.sql"
WorkingDirectory = "/var/spool/bacula"
PidDirectory = "/var/run"
Maximum Concurrent Jobs = 10
Password = "password-here" # Console password
Messages = Daemon
TLS Certificate = /etc/bacula/certs/safehousebak2.URL.com.crt
TLS Key = /etc/bacula/certs/safehousebak2.URL.com-daemon.key
TLS CA Certificate File = /etc/bacula/certs/cacert.pem
TLS Enable = yes
TLS Require = yes
TLS Verify Peer = no
}
JobDefs {
Name = "DefaultJob"
Type = Backup
Level = Incremental
Client = bacula-fd
FileSet = "Full Set"
Schedule = "WeeklyCycle"
Storage = VTL
Messages = Standard
#Pool = File
Pool = Tape
#Prefer Mounted Volumes = "no"
Priority = 10
Write Bootstrap = "/var/spool/bacula/%c.bsr"
}
#
# Define the main nightly save backup job
Job {
Name = "safehousebak1"
JobDefs = "DefaultJob"
Spool Data = no
#Maximum Concurrent Jobs = 10
#Prefer Mounted Volumes = "no"
Pool = Tape
}
Job {
Name = "safehouse"
JobDefs = "DefaultJob"
Client = safe1.URL.com-fd
Spool Data = no
#Maximum Concurrent Jobs = 10
#Prefer Mounted Volumes = "no"
Pool = Tape2
}
Job {
Name = "safe1staging"
JobDefs = "DefaultJob"
Client = safe1staging.URL.com-fd
Schedule = "NoCycle"
Spool Data = no
#Maximum Concurrent Jobs = 10
#Prefer Mounted Volumes = "no"
Pool = Tape3
}
Job {
Name = "luke-MacBookPro"
JobDefs = "DefaultJob"
Client = luke-MacBookPro-fd
Schedule = "NoCycle"
Spool Data = no
#Maximum Concurrent Jobs = 10
#Maximum Bandwidth = 500kb/s
FileSet = "Full Set luke-macbookpro"
#Prefer Mounted Volumes = "no"
Pool = Tape3
}
Job {
Name = "crashbox"
JobDefs = "DefaultJob"
Client = crashbox.URL.com-fd
Spool Data = no
#Maximum Concurrent Jobs = 10
#Maximum Bandwidth = 500kb/s
FileSet = "Full Set crashbox"
#Prefer Mounted Volumes = "no"
Pool = Tape4
}
# Client (File Services) to backup
Client {
Name = bacula-fd
Address = safehousebak2.URL.com
FDPort = 9102
Catalog = MyCatalog
Password = "password-here" # password for FileDaemon
File Retention = 6 months # six months
Job Retention = 6 months # six months
AutoPrune = yes # Prune expired Jobs/Files
TLS Certificate =
/etc/bacula/certs/safehousebak2-client/safehousebak2.URL.com.crt
TLS Key =
/etc/bacula/certs/safehousebak2-client/safehousebak2.URL.com-daemon.key
TLS CA Certificate File = /etc/bacula/certs/cacert.pem
TLS Enable = yes
TLS Require = yes
}
Client {
Name = safe1.URL.com-fd
# Address = 34.207.20.31
Address = safe1.URL.com
FDPort = 9102
Catalog = MyCatalog
# Password = "gcCd1uHeGS62gpUa"
Password = "password-here"
File Retention = 6 months # six months
Job Retention = 6 months
AutoPrune = yes
TLS Certificate = /etc/bacula/certs/safe1/safe1.URL.com.crt
TLS Key = /etc/bacula/certs/safe1/safe1.URL.com-daemon.key
TLS CA Certificate File = /etc/bacula/certs/cacert.pem
TLS Enable = yes
TLS Require = yes
}
Client {
Name = safe1staging.URL.com-fd
Address = safe1staging.URL.com
FDPort = 9102
Catalog = MyCatalog
# Password = "gcCd1uHeGS62gpUa"
Password = "password-here"
File Retention = 6 months # six months
Job Retention = 6 months
AutoPrune = yes
}
#
# Client (File Services) to backup
# You should change Name, Address, and Password before using
#
Client {
Name = luke-MacBookPro-fd
# Address = 68.184.40.205
Address = crashbox.URL.com
FDPort = 9102
Catalog = MyCatalog
Password = "password-here"
File Retention = 6 months # six months
Job Retention = 6 months
AutoPrune = yes
}
#
# Client (File Services) to backup
# You should change Name, Address, and Password before using
#
Client {
Name = crashbox.URL.com-fd
Address = crashbox.URL.com
FDPort = 9105
Catalog = MyCatalog
Password = "password-here"
File Retention = 6 months # six months
Job Retention = 6 months
AutoPrune = yes
TLS Certificate = /etc/bacula/certs/crashbox/crashbox.URL.com.crt
TLS Key = /etc/bacula/certs/crashbox/crashbox.URL.com-daemon.key
TLS CA Certificate File = /etc/bacula/certs/cacert.pem
TLS Enable = yes
TLS Require = yes
}
# Definition of file storage device
Storage {
Name = VTL
# Do not use "localhost" here
# Address = xxx.amazonaws.com # N.B. Use a fully qualified
name here
Address = safehousebak2.URL.com
SDPort = 9103
Password = "password-here"
Device = "VTL-Autochanger"
Media Type = ULT3580-TD5
Autochanger = yes
Maximum Concurrent Jobs = 10;
}
# 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
}
# tape Pool definition
Pool {
Name = Tape
Pool Type = Backup
#Storage = VTL
Recycle = yes # Bacula can automatically recycle
Volumes
AutoPrune = yes # Prune expired volumes
Volume Retention = 365 days # one year
Maximum Volume Bytes = 990G # Limit Volume size to something
reasonable
Maximum Volumes = 10 # Limit number of Volumes in Pool
}
# File Pool definition
Pool {
Name = Tape2
Pool Type = Backup
#Storage = VTL
Recycle = yes # Bacula can automatically recycle
Volumes
AutoPrune = yes # Prune expired volumes
Volume Retention = 365 days # one year
Maximum Volume Bytes = 990G # Limit Volume size to something
reasonable
Maximum Volumes = 10 # Limit number of Volumes in Pool
}
# File Pool definition
Pool {
Name = Tape3
Pool Type = Backup
#Storage = VTL
Recycle = yes # Bacula can automatically recycle
Volumes
AutoPrune = yes # Prune expired volumes
Volume Retention = 365 days # one year
Maximum Volume Bytes = 990G # Limit Volume size to something
reasonable
Maximum Volumes = 10 # Limit number of Volumes in Pool
}
# File Pool definition
Pool {
Name = Tape4
Pool Type = Backup
#Storage = VTL
Recycle = yes # Bacula can automatically recycle
Volumes
AutoPrune = yes # Prune expired volumes
Volume Retention = 365 days # one year
Maximum Volume Bytes = 990G # Limit Volume size to something
reasonable
Maximum Volumes = 10 # Limit number of Volumes in Pool
}
Storage Config:
Storage { # definition of myself
Name = bacula-sd
SDPort = 9103 # Director's port
WorkingDirectory = "/var/spool/bacula"
Pid Directory = "/var/run"
Maximum Concurrent Jobs = 20
SDAddress = xxx.compute-1.amazonaws.com
TLS Certificate = /etc/bacula/certs/safehousebak2.URL.com.crt
TLS Key = /etc/bacula/certs/safehousebak2.URL.com-daemon.key
TLS CA Certificate File = /etc/bacula/certs/cacert.pem
TLS Enable = yes
TLS Require = yes
TLS Verify Peer = no
}
#
# List Directors who are permitted to contact Storage daemon
#
Director {
Name = bacula-dir
Password = "ZWRlODg2ODZjMDNkY2M0MzM0ZjcxNDExN"
}
#
# Restricted Director, used by tray-monitor to get the
# status of the storage daemon
#
Director {
Name = bacula-mon
Password = "ZWRlODg2ODZjMDNkY2M0MzM0ZjcxNDExN"
Monitor = yes
}
#
# Note, for a list of additional Device templates please
# see the directory <bacula-source>/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 = /tmp
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 four drives
#
Autochanger {
Name = VTL-Autochanger
Device = Drive-1, Drive-2, Drive-3, Drive-4
Changer Command = "/usr/libexec/bacula/mtx-changer %c %o %S %a %d"
Changer Device = /dev/tape/by-id/scsi-2414d5a4e5f5347572d433245
}
Device {
Name = Drive-1 #
Drive Index = 0
Media Type = ULT3580-TD5
#Archive Device = /dev/nst0
Archive Device = "/dev/tape/by-path/ip-01-lun-0-nst"
AutomaticMount = yes; # when device opened, read it
AlwaysOpen = yes;
RemovableMedia = yes;
RandomAccess = no;
AutoChanger = yes;
#Maximum Concurrent Jobs = 5;
# #
# # 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 = ULT3580-TD5
#Archive Device = /dev/nst1
Archive Device = "/dev/tape/by-path/ip-tapedrive-02-lun-0-nst"
AutomaticMount = yes; # when device opened, read it
AlwaysOpen = yes;
RemovableMedia = yes;
RandomAccess = no;
AutoChanger = yes;
#Maximum Concurrent Jobs = 5;
# 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'"
}
Device {
Name = Drive-3 #
Drive Index = 2
Media Type = ULT3580-TD5
#Archive Device = /dev/nst1
Archive Device = "/dev/tape/by-path/ip-03-lun-0-nst"
AutomaticMount = yes; # when device opened, read it
AlwaysOpen = yes;
RemovableMedia = yes;
RandomAccess = no;
AutoChanger = yes;
#Maximum Concurrent Jobs = 5;
# 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'"
}
Device {
Name = Drive-4 #
Drive Index = 3
Media Type = ULT3580-TD5
#Archive Device = /dev/nst1
Archive Device = "/dev/tape/by-path/ip-tapedrive-04-lun-0-nst"
AutomaticMount = yes; # when device opened, read it
AlwaysOpen = yes;
RemovableMedia = yes;
RandomAccess = no;
AutoChanger = yes;
#Maximum Concurrent Jobs = 5;
# 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'"
}
---------------
Luke Salsich