Discussion:
[Bacula-users] Please mount append Volume or label a new one - help needed
Luke Salsich
2017-06-28 17:23:46 UTC
Permalink
​​
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
Kern Sibbald
2017-06-28 19:01:32 UTC
Permalink
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Clark, Patti
2017-06-28 19:14:36 UTC
Permalink
Luke,

This usually happens when the path to the device in Bacula does not line up with the OS. For each drive one at a time, mount a volume in bconsole and verify with mtx status that it is where it is expected to be. Release the volume and verify that it has returned to its slot. Go through all of your drives that you have defined. This should find where the drive configurations need to be modified. One suggestion, it is best to name your bacula drives with the same numeric as the index. Tends to cause identification issues otherwise.

Patti Clark
Sr. Linux System Administrator
Oak Ridge National Laboratory

From: Luke Salsich <***@gmail.com>
Date: Wednesday, June 28, 2017 at 1:23 PM
To: "bacula-***@lists.sourceforge.net" <bacula-***@lists.sourceforge.net>
Subject: [Bacula-users] Please mount append Volume or label a new one - help needed

​​
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<http://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<http://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<http://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<http://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<http://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<http://xxx.amazonaws.com> # N.B. Use a fully qualified name here
Address = safehousebak2.URL.com<http://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<http://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
Luke Salsich
2017-06-28 19:20:28 UTC
Permalink
Kern - thank you for referring me to the white paper. I wish I had been
able to read that about nine months ago - it would have saved me a lot of
time in getting my gateway setup. However, after reading the white paper I
didn't see anything which seemed to speak to my particular challenge.

Patti - thanks so much for the suggestions on the possible device path
problems. I will go through this now and let you know what I find.

I appreciate your time and assistance!


---------------
Luke Salsich
Post by Clark, Patti
Luke,
This usually happens when the path to the device in Bacula does not line
up with the OS. For each drive one at a time, mount a volume in bconsole
and verify with mtx status that it is where it is expected to be. Release
the volume and verify that it has returned to its slot. Go through all of
your drives that you have defined. This should find where the drive
configurations need to be modified. One suggestion, it is best to name
your bacula drives with the same numeric as the index. Tends to cause
identification issues otherwise.
*Patti Clark*
*Sr. Linux System Administrator*
*Oak Ridge National Laboratory*
*Date: *Wednesday, June 28, 2017 at 1:23 PM
sourceforge.net>
*Subject: *[Bacula-users] Please mount append Volume or label a new one -
help needed
​​
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.
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.
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"
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
$ 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
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"
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
$ 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
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 { # 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 { # 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
# 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
Luke Salsich
2017-06-28 23:57:30 UTC
Permalink
​​
​
OK, so I've gone through my drives, mounting and unmounting from within
Bacula and then checking those results in MTX to see if there are any
discrepancies.

I should note that I modified my SD config file to change the device names
to match the drive index. Maybe I should have waited to make that change
until after these tests...... wanted to mention it in case you notice a
change in drive numbers.

Output:

*mount
Automatically selected Storage: VTL
Enter autochanger drive[0]:
Enter autochanger slot: 1
3001 OK mount requested. Specified slot ignored. Device="Drive-0"
(/dev/tape/by-path/ip-172.31.52.111:3260-iscsi-iqn.1997-05.com.amazon:sgw-c2e005ab-tapedrive-01-lun-0-nst)
*mount
Automatically selected Storage: VTL
Enter autochanger drive[0]: 1
Enter autochanger slot: 12
3304 Issuing autochanger "load slot 12, drive 1" command.
3305 Autochanger "load slot 12, drive 1", status is OK.
3001 Mounted Volume: BAKC8A9D2B
3001 Device ""Drive-1"
(/dev/tape/by-path/ip-172.31.52.111:3260-iscsi-iqn.1997-05.com.amazon:sgw-c2e005ab-tapedrive-02-lun-0-nst)"
is already mounted with Volume "BAKC8A9D2B"
*mount
Automatically selected Storage: VTL
Enter autochanger drive[0]: 2
Enter autochanger slot: 22
3304 Issuing autochanger "load slot 22, drive 2" command.
3305 Autochanger "load slot 22, drive 2", status is OK.
3001 Mounted Volume: BAKDE09D41
3001 Device ""Drive-2"
(/dev/tape/by-path/ip-172.31.52.111:3260-iscsi-iqn.1997-05.com.amazon:sgw-c2e005ab-tapedrive-03-lun-0-nst)"
is already mounted with Volume "BAKDE09D41"
*mount
Automatically selected Storage: VTL
Enter autochanger drive[0]: 3
Enter autochanger slot: 32
3304 Issuing autochanger "load slot 32, drive 3" command.
3305 Autochanger "load slot 32, drive 3", status is OK.
3001 Mounted Volume: BAKEF19D50
3001 Device ""Drive-3"
(/dev/tape/by-path/ip-172.31.52.111:3260-iscsi-iqn.1997-05.com.amazon:sgw-c2e005ab-tapedrive-04-lun-0-nst)"
is already mounted with Volume "BAKEF19D50"
*


/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 12 Loaded):VolumeTag =
BAKC8A9D2B
Data Transfer Element 2:Full (Storage Element 22 Loaded):VolumeTag =
BAKDE09D41
Data Transfer Element 3:Full (Storage Element 32 Loaded):VolumeTag =
BAKEF19D50
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=
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:Full :VolumeTag=BAKEEC9D4D
Storage Element 12:Empty:VolumeTag=
Storage Element 13:Full :VolumeTag=BAKC909D31
Storage Element 14:Full :VolumeTag=BAKC889D29
Storage Element 15:Full :VolumeTag=BAKC8D9D2C
Storage Element 16:Full :VolumeTag=BAKC8E9D2F
Storage Element 17:Full :VolumeTag=BAKC919D30
Storage Element 18:Full :VolumeTag=BAKC8F9D2E
Storage Element 19:Full :VolumeTag=BAKC8B9D2A
Storage Element 20:Full :VolumeTag=BAKC939D32
Storage Element 21:Full :VolumeTag=BAKEE69D47
Storage Element 22:Empty:VolumeTag=
Storage Element 23:Full :VolumeTag=BAKDE39D42
Storage Element 24:Full :VolumeTag=BAKDE49D45
Storage Element 25:Full :VolumeTag=BAKDE79D46
Storage Element 26:Full :VolumeTag=BAKDE19D40
Storage Element 27:Full :VolumeTag=BAKD9E9D3F
Storage Element 28:Full :VolumeTag=BAKDE29D43
Storage Element 29:Full :VolumeTag=BAKD9F9D3E
Storage Element 30:Full :VolumeTag=BAKD9C9D3D
Storage Element 31:Full :VolumeTag=BAKDE59D44
Storage Element 32:Empty:VolumeTag=
Storage Element 33:Full :VolumeTag=BAKEE89D49
Storage Element 34:Full :VolumeTag=BAKEE99D48
Storage Element 35:Full :VolumeTag=BAKEEA9D4B
Storage Element 36:Full :VolumeTag=BAKEED9D4C
Storage Element 37:Full :VolumeTag=BAKEEE9D4F
Storage Element 38:Full :VolumeTag=BAKEEB9D4A
Storage Element 39:Full :VolumeTag=BAKEEF9D4E

*release
Automatically selected Storage: VTL
Enter autochanger drive[0]:
3307 Issuing autochanger "unload slot 2, drive 0" command.
3922 Device ""Drive-0"
(/dev/tape/by-path/ip-172.31.52.111:3260-iscsi-iqn.1997-05.com.amazon:sgw-c2e005ab-tapedrive-01-lun-0-nst)"
released.
*release
Automatically selected Storage: VTL
Enter autochanger drive[0]: 1
3307 Issuing autochanger "unload slot 12, drive 1" command.
3022 Device ""Drive-1"
(/dev/tape/by-path/ip-172.31.52.111:3260-iscsi-iqn.1997-05.com.amazon:sgw-c2e005ab-tapedrive-02-lun-0-nst)"
released.
*release
Automatically selected Storage: VTL
Enter autochanger drive[0]: 2
3307 Issuing autochanger "unload slot 22, drive 2" command.
3022 Device ""Drive-2"
(/dev/tape/by-path/ip-172.31.52.111:3260-iscsi-iqn.1997-05.com.amazon:sgw-c2e005ab-tapedrive-03-lun-0-nst)"
released.
*release
Automatically selected Storage: VTL
Enter autochanger drive[0]: 3
3307 Issuing autochanger "unload slot 32, drive 3" command.
3022 Device ""Drive-3"
(/dev/tape/by-path/ip-172.31.52.111:3260-iscsi-iqn.1997-05.com.amazon:sgw-c2e005ab-tapedrive-04-lun-0-nst)"
released.

/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:Empty
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:Full :VolumeTag=BAKEEC9D4D
Storage Element 12:Full :VolumeTag=BAKC8A9D2B
Storage Element 13:Full :VolumeTag=BAKC909D31
Storage Element 14:Full :VolumeTag=BAKC889D29
Storage Element 15:Full :VolumeTag=BAKC8D9D2C
Storage Element 16:Full :VolumeTag=BAKC8E9D2F
Storage Element 17:Full :VolumeTag=BAKC919D30
Storage Element 18:Full :VolumeTag=BAKC8F9D2E
Storage Element 19:Full :VolumeTag=BAKC8B9D2A
Storage Element 20:Full :VolumeTag=BAKC939D32
Storage Element 21:Full :VolumeTag=BAKEE69D47
Storage Element 22:Full :VolumeTag=BAKDE09D41
Storage Element 23:Full :VolumeTag=BAKDE39D42
Storage Element 24:Full :VolumeTag=BAKDE49D45
Storage Element 25:Full :VolumeTag=BAKDE79D46
Storage Element 26:Full :VolumeTag=BAKDE19D40
Storage Element 27:Full :VolumeTag=BAKD9E9D3F
Storage Element 28:Full :VolumeTag=BAKDE29D43
Storage Element 29:Full :VolumeTag=BAKD9F9D3E
Storage Element 30:Full :VolumeTag=BAKD9C9D3D
Storage Element 31:Full :VolumeTag=BAKDE59D44
Storage Element 32:Full :VolumeTag=BAKEF19D50
Storage Element 33:Full :VolumeTag=BAKEE89D49
Storage Element 34:Full :VolumeTag=BAKEE99D48
Storage Element 35:Full :VolumeTag=BAKEEA9D4B
Storage Element 36:Full :VolumeTag=BAKEED9D4C
Storage Element 37:Full :VolumeTag=BAKEEE9D4F
Storage Element 38:Full :VolumeTag=BAKEEB9D4A
Storage Element 39:Full :VolumeTag=BAKEEF9D4E

Now, when I mount a volume which has already been used for previous jobs, I
get:

*mount
Automatically selected Storage: VTL
Enter autochanger drive[0]: 3
Enter autochanger slot: 11
3304 Issuing autochanger "load slot 11, drive 3" command.
3305 Autochanger "load slot 11, drive 3", status is OK.
3902 Cannot mount Volume on Storage Device ""Drive-3"
(/dev/tape/by-path/ip-172.31.52.111:3260-iscsi-iqn.1997-05.com.amazon:sgw-c2e005ab-tapedrive-04-lun-0-nst)"
because:
Could not unserialize Volume label: ERR=label.c:873 Expecting Volume Label,
got FI=SOS_LABEL Stream=404 len=174

3905 Device ""Drive-3"
(/dev/tape/by-path/ip-172.31.52.111:3260-iscsi-iqn.1997-05.com.amazon:sgw-c2e005ab-tapedrive-04-lun-0-nst)"
open but no Bacula volume is mounted.
If this is not a blank tape, try unmounting and remounting the Volume.

MTX shows the correct volume label:

/dev/tape/by-id/scsi-2414d5a4e5f5347572d433245:10 Drives, 3200 Slots ( 1600
Import/Export )
Data Transfer Element 0:Empty
Data Transfer Element 1:Empty
Data Transfer Element 2:Empty
Data Transfer Element 3:Full (Storage Element 11 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: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
Storage Element 13:Full :VolumeTag=BAKC909D31
Storage Element 14:Full :VolumeTag=BAKC889D29
Storage Element 15:Full :VolumeTag=BAKC8D9D2C
Storage Element 16:Full :VolumeTag=BAKC8E9D2F
Storage Element 17:Full :VolumeTag=BAKC919D30
Storage Element 18:Full :VolumeTag=BAKC8F9D2E
Storage Element 19:Full :VolumeTag=BAKC8B9D2A
Storage Element 20:Full :VolumeTag=BAKC939D32
Storage Element 21:Full :VolumeTag=BAKEE69D47
Storage Element 22:Full :VolumeTag=BAKDE09D41
Storage Element 23:Full :VolumeTag=BAKDE39D42
Storage Element 24:Full :VolumeTag=BAKDE49D45
Storage Element 25:Full :VolumeTag=BAKDE79D46
Storage Element 26:Full :VolumeTag=BAKDE19D40
Storage Element 27:Full :VolumeTag=BAKD9E9D3F
Storage Element 28:Full :VolumeTag=BAKDE29D43
Storage Element 29:Full :VolumeTag=BAKD9F9D3E
Storage Element 30:Full :VolumeTag=BAKD9C9D3D
Storage Element 31:Full :VolumeTag=BAKDE59D44
Storage Element 32:Full :VolumeTag=BAKEF19D50
Storage Element 33:Full :VolumeTag=BAKEE89D49
Storage Element 34:Full :VolumeTag=BAKEE99D48
Storage Element 35:Full :VolumeTag=BAKEEA9D4B
Storage Element 36:Full :VolumeTag=BAKEED9D4C
Storage Element 37:Full :VolumeTag=BAKEEE9D4F
Storage Element 38:Full :VolumeTag=BAKEEB9D4A
Storage Element 39:Full :VolumeTag=BAKEEF9D4E

Any ideas why this would happen? This also explains (I think) why the jobs
were asking me to mount a volume or label a new one.......


Thanks,

---------------
Luke Salsich
Post by Clark, Patti
Luke,
This usually happens when the path to the device in Bacula does not line
up with the OS. For each drive one at a time, mount a volume in bconsole
and verify with mtx status that it is where it is expected to be. Release
the volume and verify that it has returned to its slot. Go through all of
your drives that you have defined. This should find where the drive
configurations need to be modified. One suggestion, it is best to name
your bacula drives with the same numeric as the index. Tends to cause
identification issues otherwise.
*Patti Clark*
*Sr. Linux System Administrator*
*Oak Ridge National Laboratory*
*Date: *Wednesday, June 28, 2017 at 1:23 PM
sourceforge.net>
*Subject: *[Bacula-users] Please mount append Volume or label a new one -
help needed
​​
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.
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.
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"
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
$ 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
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"
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
$ 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
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 { # 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 { # 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
# 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
Kern Sibbald
2017-06-29 07:15:37 UTC
Permalink
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Luke Salsich
2017-06-29 15:07:58 UTC
Permalink
Hi Kern,

Thanks for the reply. The " Specified slot ignored." error was my fault - I
tried to mount to a drive which was already loaded. I did run through those
steps again with success, but copied the wrong 'mount; results into my
email.

I labeled all the tapes with their virtual bar codes using 'label barcodes'
then 'update slots'. The label listed using mtx for this volume is correct
and it was working well for several months so I assume it has since been
corrupted.

Your comment on connectivity in the could resonates with me based on my
experience using Bacula with AWS storage gateway for 6-9 months. If the
gateway is running 24/7 then I have zero connectivity issues and zero
device errors. This is one reason I decided to locate the Bacula server on
the same subnet in AWS as the storage gateway - the connection is extremely
responsive. I think that having the Bacula server in our local network and
communicating to a remote AWS storage gateway would present more
connectivity problems.

Your comment about Bacula assuming that all I/O works really seems to me to
be the source of my current problem. Since I started shutting the storage
gateway down every day from 2:30 AM - 10:30 PM I've noticed that sometimes
the iscsi devices do no reconnect from the Bacula server to the Gateway.
Or, if they do reconnect they sometimes have conflicting or incorrect iscsi
device mapping. So far, I have noticed that this kind of error effects the
mapping of the drive changer being listed on the same path as a drive. A
reboot of the Bacula server usually clears this up.

However, if there is some kind of iscsi mapping problem and Bacula starts
i'ts jobs I can see how this would result in all kinds of problems. I'm
assuming this is what happened here.

I could try to write a shell script on the Bacula server which checks iscsi
mapping before Bacula starts it's nightly jobs. Then, if the shell script
notices a device mapping problem and can't fix it, it would shut down
Bacula and email me. This wouldn't solve the mapping problem, but it might
help me avoid corrupted volumes because I could login and correct mapping
and then kick the Bacula jobs off. What do you think?

Thank you!


---------------
Luke Salsich
Hello,
It seems to me that there is at least one problem in the output below --
most likely indicating configuration problems.
See comments below ...
​​
​
OK, so I've gone through my drives, mounting and unmounting from within
Bacula and then checking those results in MTX to see if there are any
discrepancies.
I should note that I modified my SD config file to change the device names
to match the drive index. Maybe I should have waited to make that change
until after these tests...... wanted to mention it in case you notice a
change in drive numbers.
*mount
Automatically selected Storage: VTL
Enter autochanger slot: 1
3001 OK mount requested. Specified slot ignored. Device="Drive-0"
(/dev/tape/by-path/ip-172.31.52.111:3260-iscsi-iqn.1997-05.
com.amazon:sgw-c2e005ab-tapedrive-01-lun-0-nst)
The above message indicates that Bacula does not recognize the drive as
being in an autochanger. Did you miss specifying Autochanger=yes, in the
Dir or SD (Device) confs?
Further below, I see that the Volume label seems to be incorrect. I cannot
comment on it since we cannot see how you labeled the volume. On that
Volume and possibly others, you should if it does not contain any important
data, completely eliminate it both in Bacula and AWS then recreate it.
Note, with this kind of a setup for driving AWS, if you have the slightest
communications error, you will probably end up with a Volume that is not
readable. In general Bacula assumes that all I/O works if it does not get
any errors. Given that communicating with the cloud is not any where near
as reliable as a local autochanger, the possibility for problems is high.
In the Bacula Cloud implementation that you should get early next year, I
have designed around these kinds of problems.
Best regards,
Kern
*mount
Automatically selected Storage: VTL
Enter autochanger drive[0]: 1
Enter autochanger slot: 12
3304 Issuing autochanger "load slot 12, drive 1" command.
3305 Autochanger "load slot 12, drive 1", status is OK.
3001 Mounted Volume: BAKC8A9D2B
3001 Device ""Drive-1" (/dev/tape/by-path/ip-172.31.
52.111:3260-iscsi-iqn.1997-05.com.amazon:sgw-c2e005ab-tapedrive-02-lun-0-nst)"
is already mounted with Volume "BAKC8A9D2B"
*mount
Automatically selected Storage: VTL
Enter autochanger drive[0]: 2
Enter autochanger slot: 22
3304 Issuing autochanger "load slot 22, drive 2" command.
3305 Autochanger "load slot 22, drive 2", status is OK.
3001 Mounted Volume: BAKDE09D41
3001 Device ""Drive-2" (/dev/tape/by-path/ip-172.31.
52.111:3260-iscsi-iqn.1997-05.com.amazon:sgw-c2e005ab-tapedrive-03-lun-0-nst)"
is already mounted with Volume "BAKDE09D41"
*mount
Automatically selected Storage: VTL
Enter autochanger drive[0]: 3
Enter autochanger slot: 32
3304 Issuing autochanger "load slot 32, drive 3" command.
3305 Autochanger "load slot 32, drive 3", status is OK.
3001 Mounted Volume: BAKEF19D50
3001 Device ""Drive-3" (/dev/tape/by-path/ip-172.31.
52.111:3260-iscsi-iqn.1997-05.com.amazon:sgw-c2e005ab-tapedrive-04-lun-0-nst)"
is already mounted with Volume "BAKEF19D50"
*
/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 12 Loaded):VolumeTag =
BAKC8A9D2B
Data Transfer Element 2:Full (Storage Element 22 Loaded):VolumeTag =
BAKDE09D41
Data Transfer Element 3:Full (Storage Element 32 Loaded):VolumeTag =
BAKEF19D50
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=
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:Full :VolumeTag=BAKEEC9D4D
Storage Element 12:Empty:VolumeTag=
Storage Element 13:Full :VolumeTag=BAKC909D31
Storage Element 14:Full :VolumeTag=BAKC889D29
Storage Element 15:Full :VolumeTag=BAKC8D9D2C
Storage Element 16:Full :VolumeTag=BAKC8E9D2F
Storage Element 17:Full :VolumeTag=BAKC919D30
Storage Element 18:Full :VolumeTag=BAKC8F9D2E
Storage Element 19:Full :VolumeTag=BAKC8B9D2A
Storage Element 20:Full :VolumeTag=BAKC939D32
Storage Element 21:Full :VolumeTag=BAKEE69D47
Storage Element 22:Empty:VolumeTag=
Storage Element 23:Full :VolumeTag=BAKDE39D42
Storage Element 24:Full :VolumeTag=BAKDE49D45
Storage Element 25:Full :VolumeTag=BAKDE79D46
Storage Element 26:Full :VolumeTag=BAKDE19D40
Storage Element 27:Full :VolumeTag=BAKD9E9D3F
Storage Element 28:Full :VolumeTag=BAKDE29D43
Storage Element 29:Full :VolumeTag=BAKD9F9D3E
Storage Element 30:Full :VolumeTag=BAKD9C9D3D
Storage Element 31:Full :VolumeTag=BAKDE59D44
Storage Element 32:Empty:VolumeTag=
Storage Element 33:Full :VolumeTag=BAKEE89D49
Storage Element 34:Full :VolumeTag=BAKEE99D48
Storage Element 35:Full :VolumeTag=BAKEEA9D4B
Storage Element 36:Full :VolumeTag=BAKEED9D4C
Storage Element 37:Full :VolumeTag=BAKEEE9D4F
Storage Element 38:Full :VolumeTag=BAKEEB9D4A
Storage Element 39:Full :VolumeTag=BAKEEF9D4E
*release
Automatically selected Storage: VTL
3307 Issuing autochanger "unload slot 2, drive 0" command.
3922 Device ""Drive-0" (/dev/tape/by-path/ip-172.31.
52.111:3260-iscsi-iqn.1997-05.com.amazon:sgw-c2e005ab-tapedrive-01-lun-0-nst)"
released.
*release
Automatically selected Storage: VTL
Enter autochanger drive[0]: 1
3307 Issuing autochanger "unload slot 12, drive 1" command.
3022 Device ""Drive-1" (/dev/tape/by-path/ip-172.31.
52.111:3260-iscsi-iqn.1997-05.com.amazon:sgw-c2e005ab-tapedrive-02-lun-0-nst)"
released.
*release
Automatically selected Storage: VTL
Enter autochanger drive[0]: 2
3307 Issuing autochanger "unload slot 22, drive 2" command.
3022 Device ""Drive-2" (/dev/tape/by-path/ip-172.31.
52.111:3260-iscsi-iqn.1997-05.com.amazon:sgw-c2e005ab-tapedrive-03-lun-0-nst)"
released.
*release
Automatically selected Storage: VTL
Enter autochanger drive[0]: 3
3307 Issuing autochanger "unload slot 32, drive 3" command.
3022 Device ""Drive-3" (/dev/tape/by-path/ip-172.31.
52.111:3260-iscsi-iqn.1997-05.com.amazon:sgw-c2e005ab-tapedrive-04-lun-0-nst)"
released.
/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:Empty
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:Full :VolumeTag=BAKEEC9D4D
Storage Element 12:Full :VolumeTag=BAKC8A9D2B
Storage Element 13:Full :VolumeTag=BAKC909D31
Storage Element 14:Full :VolumeTag=BAKC889D29
Storage Element 15:Full :VolumeTag=BAKC8D9D2C
Storage Element 16:Full :VolumeTag=BAKC8E9D2F
Storage Element 17:Full :VolumeTag=BAKC919D30
Storage Element 18:Full :VolumeTag=BAKC8F9D2E
Storage Element 19:Full :VolumeTag=BAKC8B9D2A
Storage Element 20:Full :VolumeTag=BAKC939D32
Storage Element 21:Full :VolumeTag=BAKEE69D47
Storage Element 22:Full :VolumeTag=BAKDE09D41
Storage Element 23:Full :VolumeTag=BAKDE39D42
Storage Element 24:Full :VolumeTag=BAKDE49D45
Storage Element 25:Full :VolumeTag=BAKDE79D46
Storage Element 26:Full :VolumeTag=BAKDE19D40
Storage Element 27:Full :VolumeTag=BAKD9E9D3F
Storage Element 28:Full :VolumeTag=BAKDE29D43
Storage Element 29:Full :VolumeTag=BAKD9F9D3E
Storage Element 30:Full :VolumeTag=BAKD9C9D3D
Storage Element 31:Full :VolumeTag=BAKDE59D44
Storage Element 32:Full :VolumeTag=BAKEF19D50
Storage Element 33:Full :VolumeTag=BAKEE89D49
Storage Element 34:Full :VolumeTag=BAKEE99D48
Storage Element 35:Full :VolumeTag=BAKEEA9D4B
Storage Element 36:Full :VolumeTag=BAKEED9D4C
Storage Element 37:Full :VolumeTag=BAKEEE9D4F
Storage Element 38:Full :VolumeTag=BAKEEB9D4A
Storage Element 39:Full :VolumeTag=BAKEEF9D4E
Now, when I mount a volume which has already been used for previous jobs,
*mount
Automatically selected Storage: VTL
Enter autochanger drive[0]: 3
Enter autochanger slot: 11
3304 Issuing autochanger "load slot 11, drive 3" command.
3305 Autochanger "load slot 11, drive 3", status is OK.
3902 Cannot mount Volume on Storage Device ""Drive-3"
(/dev/tape/by-path/ip-172.31.52.111:3260-iscsi-iqn.1997-05.
Could not unserialize Volume label: ERR=label.c:873 Expecting Volume
Label, got FI=SOS_LABEL Stream=404 len=174
3905 Device ""Drive-3" (/dev/tape/by-path/ip-172.31.
52.111:3260-iscsi-iqn.1997-05.com.amazon:sgw-c2e005ab-tapedrive-04-lun-0-nst)"
open but no Bacula volume is mounted.
If this is not a blank tape, try unmounting and remounting the Volume.
/dev/tape/by-id/scsi-2414d5a4e5f5347572d433245:10 Drives, 3200 Slots (
1600 Import/Export )
Data Transfer Element 0:Empty
Data Transfer Element 1:Empty
Data Transfer Element 2:Empty
Data Transfer Element 3:Full (Storage Element 11 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: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
Storage Element 13:Full :VolumeTag=BAKC909D31
Storage Element 14:Full :VolumeTag=BAKC889D29
Storage Element 15:Full :VolumeTag=BAKC8D9D2C
Storage Element 16:Full :VolumeTag=BAKC8E9D2F
Storage Element 17:Full :VolumeTag=BAKC919D30
Storage Element 18:Full :VolumeTag=BAKC8F9D2E
Storage Element 19:Full :VolumeTag=BAKC8B9D2A
Storage Element 20:Full :VolumeTag=BAKC939D32
Storage Element 21:Full :VolumeTag=BAKEE69D47
Storage Element 22:Full :VolumeTag=BAKDE09D41
Storage Element 23:Full :VolumeTag=BAKDE39D42
Storage Element 24:Full :VolumeTag=BAKDE49D45
Storage Element 25:Full :VolumeTag=BAKDE79D46
Storage Element 26:Full :VolumeTag=BAKDE19D40
Storage Element 27:Full :VolumeTag=BAKD9E9D3F
Storage Element 28:Full :VolumeTag=BAKDE29D43
Storage Element 29:Full :VolumeTag=BAKD9F9D3E
Storage Element 30:Full :VolumeTag=BAKD9C9D3D
Storage Element 31:Full :VolumeTag=BAKDE59D44
Storage Element 32:Full :VolumeTag=BAKEF19D50
Storage Element 33:Full :VolumeTag=BAKEE89D49
Storage Element 34:Full :VolumeTag=BAKEE99D48
Storage Element 35:Full :VolumeTag=BAKEEA9D4B
Storage Element 36:Full :VolumeTag=BAKEED9D4C
Storage Element 37:Full :VolumeTag=BAKEEE9D4F
Storage Element 38:Full :VolumeTag=BAKEEB9D4A
Storage Element 39:Full :VolumeTag=BAKEEF9D4E
Any ideas why this would happen? This also explains (I think) why the jobs
were asking me to mount a volume or label a new one.......
Thanks,
---------------
Luke Salsich
Post by Clark, Patti
Luke,
This usually happens when the path to the device in Bacula does not line
up with the OS. For each drive one at a time, mount a volume in bconsole
and verify with mtx status that it is where it is expected to be. Release
the volume and verify that it has returned to its slot. Go through all of
your drives that you have defined. This should find where the drive
configurations need to be modified. One suggestion, it is best to name
your bacula drives with the same numeric as the index. Tends to cause
identification issues otherwise.
*Patti Clark*
*Sr. Linux System Administrator*
*Oak Ridge National Laboratory*
*Date: *Wednesday, June 28, 2017 at 1:23 PM
e.net>
*Subject: *[Bacula-users] Please mount append Volume or label a new one
- help needed
​​
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.
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.
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"
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
$ 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
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"
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
$ 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
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 { # 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/safehousebak
2-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 { # 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
# 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
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Ana Emília M. Arruda
2017-07-17 00:48:49 UTC
Permalink
Hello Luke,

I noticed you are using "/dev/tape/by-path/" for the tape drives archive
device configuraton. It is safer to use "/dev/tape/by-id" to avoid tape
drives be twisted after server reboots, for example.

It is even more safe to use udev rules based on your tape drives attributes
(such as serial number and model) to have specific device names configured
to be used by bacula for archive device.

Hope this helps.

Best,
Ana

El 29 jun. 2017 17:14, "Luke Salsich" <***@gmail.com> escribió:

Hi Kern,

Thanks for the reply. The " Specified slot ignored." error was my fault - I
tried to mount to a drive which was already loaded. I did run through those
steps again with success, but copied the wrong 'mount; results into my
email.

I labeled all the tapes with their virtual bar codes using 'label barcodes'
then 'update slots'. The label listed using mtx for this volume is correct
and it was working well for several months so I assume it has since been
corrupted.

Your comment on connectivity in the could resonates with me based on my
experience using Bacula with AWS storage gateway for 6-9 months. If the
gateway is running 24/7 then I have zero connectivity issues and zero
device errors. This is one reason I decided to locate the Bacula server on
the same subnet in AWS as the storage gateway - the connection is extremely
responsive. I think that having the Bacula server in our local network and
communicating to a remote AWS storage gateway would present more
connectivity problems.

Your comment about Bacula assuming that all I/O works really seems to me to
be the source of my current problem. Since I started shutting the storage
gateway down every day from 2:30 AM - 10:30 PM I've noticed that sometimes
the iscsi devices do no reconnect from the Bacula server to the Gateway.
Or, if they do reconnect they sometimes have conflicting or incorrect iscsi
device mapping. So far, I have noticed that this kind of error effects the
mapping of the drive changer being listed on the same path as a drive. A
reboot of the Bacula server usually clears this up.

However, if there is some kind of iscsi mapping problem and Bacula starts
i'ts jobs I can see how this would result in all kinds of problems. I'm
assuming this is what happened here.

I could try to write a shell script on the Bacula server which checks iscsi
mapping before Bacula starts it's nightly jobs. Then, if the shell script
notices a device mapping problem and can't fix it, it would shut down
Bacula and email me. This wouldn't solve the mapping problem, but it might
help me avoid corrupted volumes because I could login and correct mapping
and then kick the Bacula jobs off. What do you think?

Thank you!


---------------
Luke Salsich
Hello,
It seems to me that there is at least one problem in the output below --
most likely indicating configuration problems.
See comments below ...
​​
​
OK, so I've gone through my drives, mounting and unmounting from within
Bacula and then checking those results in MTX to see if there are any
discrepancies.
I should note that I modified my SD config file to change the device names
to match the drive index. Maybe I should have waited to make that change
until after these tests...... wanted to mention it in case you notice a
change in drive numbers.
*mount
Automatically selected Storage: VTL
Enter autochanger slot: 1
3001 OK mount requested. Specified slot ignored. Device="Drive-0"
(/dev/tape/by-path/ip-172.31.52.111:3260-iscsi-iqn.1997-05.c
om.amazon:sgw-c2e005ab-tapedrive-01-lun-0-nst)
The above message indicates that Bacula does not recognize the drive as
being in an autochanger. Did you miss specifying Autochanger=yes, in the
Dir or SD (Device) confs?
Further below, I see that the Volume label seems to be incorrect. I cannot
comment on it since we cannot see how you labeled the volume. On that
Volume and possibly others, you should if it does not contain any important
data, completely eliminate it both in Bacula and AWS then recreate it.
Note, with this kind of a setup for driving AWS, if you have the slightest
communications error, you will probably end up with a Volume that is not
readable. In general Bacula assumes that all I/O works if it does not get
any errors. Given that communicating with the cloud is not any where near
as reliable as a local autochanger, the possibility for problems is high.
In the Bacula Cloud implementation that you should get early next year, I
have designed around these kinds of problems.
Best regards,
Kern
*mount
Automatically selected Storage: VTL
Enter autochanger drive[0]: 1
Enter autochanger slot: 12
3304 Issuing autochanger "load slot 12, drive 1" command.
3305 Autochanger "load slot 12, drive 1", status is OK.
3001 Mounted Volume: BAKC8A9D2B
3001 Device ""Drive-1" (/dev/tape/by-path/ip-172.31.5
2.111:3260-iscsi-iqn.1997-05.com.amazon:sgw-c2e005ab-tapedrive-02-lun-0-nst)"
is already mounted with Volume "BAKC8A9D2B"
*mount
Automatically selected Storage: VTL
Enter autochanger drive[0]: 2
Enter autochanger slot: 22
3304 Issuing autochanger "load slot 22, drive 2" command.
3305 Autochanger "load slot 22, drive 2", status is OK.
3001 Mounted Volume: BAKDE09D41
3001 Device ""Drive-2" (/dev/tape/by-path/ip-172.31.5
2.111:3260-iscsi-iqn.1997-05.com.amazon:sgw-c2e005ab-tapedrive-03-lun-0-nst)"
is already mounted with Volume "BAKDE09D41"
*mount
Automatically selected Storage: VTL
Enter autochanger drive[0]: 3
Enter autochanger slot: 32
3304 Issuing autochanger "load slot 32, drive 3" command.
3305 Autochanger "load slot 32, drive 3", status is OK.
3001 Mounted Volume: BAKEF19D50
3001 Device ""Drive-3" (/dev/tape/by-path/ip-172.31.5
2.111:3260-iscsi-iqn.1997-05.com.amazon:sgw-c2e005ab-tapedrive-04-lun-0-nst)"
is already mounted with Volume "BAKEF19D50"
*
/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 12 Loaded):VolumeTag =
BAKC8A9D2B
Data Transfer Element 2:Full (Storage Element 22 Loaded):VolumeTag =
BAKDE09D41
Data Transfer Element 3:Full (Storage Element 32 Loaded):VolumeTag =
BAKEF19D50
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=
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:Full :VolumeTag=BAKEEC9D4D
Storage Element 12:Empty:VolumeTag=
Storage Element 13:Full :VolumeTag=BAKC909D31
Storage Element 14:Full :VolumeTag=BAKC889D29
Storage Element 15:Full :VolumeTag=BAKC8D9D2C
Storage Element 16:Full :VolumeTag=BAKC8E9D2F
Storage Element 17:Full :VolumeTag=BAKC919D30
Storage Element 18:Full :VolumeTag=BAKC8F9D2E
Storage Element 19:Full :VolumeTag=BAKC8B9D2A
Storage Element 20:Full :VolumeTag=BAKC939D32
Storage Element 21:Full :VolumeTag=BAKEE69D47
Storage Element 22:Empty:VolumeTag=
Storage Element 23:Full :VolumeTag=BAKDE39D42
Storage Element 24:Full :VolumeTag=BAKDE49D45
Storage Element 25:Full :VolumeTag=BAKDE79D46
Storage Element 26:Full :VolumeTag=BAKDE19D40
Storage Element 27:Full :VolumeTag=BAKD9E9D3F
Storage Element 28:Full :VolumeTag=BAKDE29D43
Storage Element 29:Full :VolumeTag=BAKD9F9D3E
Storage Element 30:Full :VolumeTag=BAKD9C9D3D
Storage Element 31:Full :VolumeTag=BAKDE59D44
Storage Element 32:Empty:VolumeTag=
Storage Element 33:Full :VolumeTag=BAKEE89D49
Storage Element 34:Full :VolumeTag=BAKEE99D48
Storage Element 35:Full :VolumeTag=BAKEEA9D4B
Storage Element 36:Full :VolumeTag=BAKEED9D4C
Storage Element 37:Full :VolumeTag=BAKEEE9D4F
Storage Element 38:Full :VolumeTag=BAKEEB9D4A
Storage Element 39:Full :VolumeTag=BAKEEF9D4E
*release
Automatically selected Storage: VTL
3307 Issuing autochanger "unload slot 2, drive 0" command.
3922 Device ""Drive-0" (/dev/tape/by-path/ip-172.31.5
2.111:3260-iscsi-iqn.1997-05.com.amazon:sgw-c2e005ab-tapedrive-01-lun-0-nst)"
released.
*release
Automatically selected Storage: VTL
Enter autochanger drive[0]: 1
3307 Issuing autochanger "unload slot 12, drive 1" command.
3022 Device ""Drive-1" (/dev/tape/by-path/ip-172.31.5
2.111:3260-iscsi-iqn.1997-05.com.amazon:sgw-c2e005ab-tapedrive-02-lun-0-nst)"
released.
*release
Automatically selected Storage: VTL
Enter autochanger drive[0]: 2
3307 Issuing autochanger "unload slot 22, drive 2" command.
3022 Device ""Drive-2" (/dev/tape/by-path/ip-172.31.5
2.111:3260-iscsi-iqn.1997-05.com.amazon:sgw-c2e005ab-tapedrive-03-lun-0-nst)"
released.
*release
Automatically selected Storage: VTL
Enter autochanger drive[0]: 3
3307 Issuing autochanger "unload slot 32, drive 3" command.
3022 Device ""Drive-3" (/dev/tape/by-path/ip-172.31.5
2.111:3260-iscsi-iqn.1997-05.com.amazon:sgw-c2e005ab-tapedrive-04-lun-0-nst)"
released.
/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:Empty
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:Full :VolumeTag=BAKEEC9D4D
Storage Element 12:Full :VolumeTag=BAKC8A9D2B
Storage Element 13:Full :VolumeTag=BAKC909D31
Storage Element 14:Full :VolumeTag=BAKC889D29
Storage Element 15:Full :VolumeTag=BAKC8D9D2C
Storage Element 16:Full :VolumeTag=BAKC8E9D2F
Storage Element 17:Full :VolumeTag=BAKC919D30
Storage Element 18:Full :VolumeTag=BAKC8F9D2E
Storage Element 19:Full :VolumeTag=BAKC8B9D2A
Storage Element 20:Full :VolumeTag=BAKC939D32
Storage Element 21:Full :VolumeTag=BAKEE69D47
Storage Element 22:Full :VolumeTag=BAKDE09D41
Storage Element 23:Full :VolumeTag=BAKDE39D42
Storage Element 24:Full :VolumeTag=BAKDE49D45
Storage Element 25:Full :VolumeTag=BAKDE79D46
Storage Element 26:Full :VolumeTag=BAKDE19D40
Storage Element 27:Full :VolumeTag=BAKD9E9D3F
Storage Element 28:Full :VolumeTag=BAKDE29D43
Storage Element 29:Full :VolumeTag=BAKD9F9D3E
Storage Element 30:Full :VolumeTag=BAKD9C9D3D
Storage Element 31:Full :VolumeTag=BAKDE59D44
Storage Element 32:Full :VolumeTag=BAKEF19D50
Storage Element 33:Full :VolumeTag=BAKEE89D49
Storage Element 34:Full :VolumeTag=BAKEE99D48
Storage Element 35:Full :VolumeTag=BAKEEA9D4B
Storage Element 36:Full :VolumeTag=BAKEED9D4C
Storage Element 37:Full :VolumeTag=BAKEEE9D4F
Storage Element 38:Full :VolumeTag=BAKEEB9D4A
Storage Element 39:Full :VolumeTag=BAKEEF9D4E
Now, when I mount a volume which has already been used for previous jobs,
*mount
Automatically selected Storage: VTL
Enter autochanger drive[0]: 3
Enter autochanger slot: 11
3304 Issuing autochanger "load slot 11, drive 3" command.
3305 Autochanger "load slot 11, drive 3", status is OK.
3902 Cannot mount Volume on Storage Device ""Drive-3"
(/dev/tape/by-path/ip-172.31.52.111:3260-iscsi-iqn.1997-05.c
Could not unserialize Volume label: ERR=label.c:873 Expecting Volume
Label, got FI=SOS_LABEL Stream=404 len=174
3905 Device ""Drive-3" (/dev/tape/by-path/ip-172.31.5
2.111:3260-iscsi-iqn.1997-05.com.amazon:sgw-c2e005ab-tapedrive-04-lun-0-nst)"
open but no Bacula volume is mounted.
If this is not a blank tape, try unmounting and remounting the Volume.
/dev/tape/by-id/scsi-2414d5a4e5f5347572d433245:10 Drives, 3200 Slots (
1600 Import/Export )
Data Transfer Element 0:Empty
Data Transfer Element 1:Empty
Data Transfer Element 2:Empty
Data Transfer Element 3:Full (Storage Element 11 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: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
Storage Element 13:Full :VolumeTag=BAKC909D31
Storage Element 14:Full :VolumeTag=BAKC889D29
Storage Element 15:Full :VolumeTag=BAKC8D9D2C
Storage Element 16:Full :VolumeTag=BAKC8E9D2F
Storage Element 17:Full :VolumeTag=BAKC919D30
Storage Element 18:Full :VolumeTag=BAKC8F9D2E
Storage Element 19:Full :VolumeTag=BAKC8B9D2A
Storage Element 20:Full :VolumeTag=BAKC939D32
Storage Element 21:Full :VolumeTag=BAKEE69D47
Storage Element 22:Full :VolumeTag=BAKDE09D41
Storage Element 23:Full :VolumeTag=BAKDE39D42
Storage Element 24:Full :VolumeTag=BAKDE49D45
Storage Element 25:Full :VolumeTag=BAKDE79D46
Storage Element 26:Full :VolumeTag=BAKDE19D40
Storage Element 27:Full :VolumeTag=BAKD9E9D3F
Storage Element 28:Full :VolumeTag=BAKDE29D43
Storage Element 29:Full :VolumeTag=BAKD9F9D3E
Storage Element 30:Full :VolumeTag=BAKD9C9D3D
Storage Element 31:Full :VolumeTag=BAKDE59D44
Storage Element 32:Full :VolumeTag=BAKEF19D50
Storage Element 33:Full :VolumeTag=BAKEE89D49
Storage Element 34:Full :VolumeTag=BAKEE99D48
Storage Element 35:Full :VolumeTag=BAKEEA9D4B
Storage Element 36:Full :VolumeTag=BAKEED9D4C
Storage Element 37:Full :VolumeTag=BAKEEE9D4F
Storage Element 38:Full :VolumeTag=BAKEEB9D4A
Storage Element 39:Full :VolumeTag=BAKEEF9D4E
Any ideas why this would happen? This also explains (I think) why the jobs
were asking me to mount a volume or label a new one.......
Thanks,
---------------
Luke Salsich
Post by Clark, Patti
Luke,
This usually happens when the path to the device in Bacula does not line
up with the OS. For each drive one at a time, mount a volume in bconsole
and verify with mtx status that it is where it is expected to be. Release
the volume and verify that it has returned to its slot. Go through all of
your drives that you have defined. This should find where the drive
configurations need to be modified. One suggestion, it is best to name
your bacula drives with the same numeric as the index. Tends to cause
identification issues otherwise.
*Patti Clark*
*Sr. Linux System Administrator*
*Oak Ridge National Laboratory*
*Date: *Wednesday, June 28, 2017 at 1:23 PM
e.net>
*Subject: *[Bacula-users] Please mount append Volume or label a new one
- help needed
​​
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.
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.
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"
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
$ 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
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"
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
$ 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
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 { # 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 { # 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
# 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
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Luke Salsich
2017-07-17 13:53:17 UTC
Permalink
Hi Ana,

Thanks for your thoughts! I thought I was using a safe approach to device
configuration, but your comments make me rethink this. I will revisit this
today. Much appreciated.

Thanks so much,


---------------
Luke Salsich

On Sun, Jul 16, 2017 at 8:48 PM, Ana Emília M. Arruda <
Post by Ana Emília M. Arruda
Hello Luke,
I noticed you are using "/dev/tape/by-path/" for the tape drives archive
device configuraton. It is safer to use "/dev/tape/by-id" to avoid tape
drives be twisted after server reboots, for example.
It is even more safe to use udev rules based on your tape drives
attributes (such as serial number and model) to have specific device names
configured to be used by bacula for archive device.
Hope this helps.
Best,
Ana
Hi Kern,
Thanks for the reply. The " Specified slot ignored." error was my fault -
I tried to mount to a drive which was already loaded. I did run through
those steps again with success, but copied the wrong 'mount; results into
my email.
I labeled all the tapes with their virtual bar codes using 'label
barcodes' then 'update slots'. The label listed using mtx for this volume
is correct and it was working well for several months so I assume it has
since been corrupted.
Your comment on connectivity in the could resonates with me based on my
experience using Bacula with AWS storage gateway for 6-9 months. If the
gateway is running 24/7 then I have zero connectivity issues and zero
device errors. This is one reason I decided to locate the Bacula server on
the same subnet in AWS as the storage gateway - the connection is extremely
responsive. I think that having the Bacula server in our local network and
communicating to a remote AWS storage gateway would present more
connectivity problems.
Your comment about Bacula assuming that all I/O works really seems to me
to be the source of my current problem. Since I started shutting the
storage gateway down every day from 2:30 AM - 10:30 PM I've noticed that
sometimes the iscsi devices do no reconnect from the Bacula server to the
Gateway. Or, if they do reconnect they sometimes have conflicting or
incorrect iscsi device mapping. So far, I have noticed that this kind of
error effects the mapping of the drive changer being listed on the same
path as a drive. A reboot of the Bacula server usually clears this up.
However, if there is some kind of iscsi mapping problem and Bacula starts
i'ts jobs I can see how this would result in all kinds of problems. I'm
assuming this is what happened here.
I could try to write a shell script on the Bacula server which checks
iscsi mapping before Bacula starts it's nightly jobs. Then, if the shell
script notices a device mapping problem and can't fix it, it would shut
down Bacula and email me. This wouldn't solve the mapping problem, but it
might help me avoid corrupted volumes because I could login and correct
mapping and then kick the Bacula jobs off. What do you think?
Thank you!
---------------
Luke Salsich
Hello,
It seems to me that there is at least one problem in the output below --
most likely indicating configuration problems.
See comments below ...
​​
​
OK, so I've gone through my drives, mounting and unmounting from within
Bacula and then checking those results in MTX to see if there are any
discrepancies.
I should note that I modified my SD config file to change the device
names to match the drive index. Maybe I should have waited to make that
change until after these tests...... wanted to mention it in case you
notice a change in drive numbers.
*mount
Automatically selected Storage: VTL
Enter autochanger slot: 1
3001 OK mount requested. Specified slot ignored. Device="Drive-0"
(/dev/tape/by-path/ip-172.31.52.111:3260-iscsi-iqn.1997-05.c
om.amazon:sgw-c2e005ab-tapedrive-01-lun-0-nst)
The above message indicates that Bacula does not recognize the drive as
being in an autochanger. Did you miss specifying Autochanger=yes, in the
Dir or SD (Device) confs?
Further below, I see that the Volume label seems to be incorrect. I
cannot comment on it since we cannot see how you labeled the volume. On
that Volume and possibly others, you should if it does not contain any
important data, completely eliminate it both in Bacula and AWS then
recreate it.
Note, with this kind of a setup for driving AWS, if you have the
slightest communications error, you will probably end up with a Volume that
is not readable. In general Bacula assumes that all I/O works if it does
not get any errors. Given that communicating with the cloud is not any
where near as reliable as a local autochanger, the possibility for problems
is high.
In the Bacula Cloud implementation that you should get early next year, I
have designed around these kinds of problems.
Best regards,
Kern
*mount
Automatically selected Storage: VTL
Enter autochanger drive[0]: 1
Enter autochanger slot: 12
3304 Issuing autochanger "load slot 12, drive 1" command.
3305 Autochanger "load slot 12, drive 1", status is OK.
3001 Mounted Volume: BAKC8A9D2B
3001 Device ""Drive-1" (/dev/tape/by-path/ip-172.31.5
2.111:3260-iscsi-iqn.1997-05.com.amazon:sgw-c2e005ab-tapedrive-02-lun-0-nst)"
is already mounted with Volume "BAKC8A9D2B"
*mount
Automatically selected Storage: VTL
Enter autochanger drive[0]: 2
Enter autochanger slot: 22
3304 Issuing autochanger "load slot 22, drive 2" command.
3305 Autochanger "load slot 22, drive 2", status is OK.
3001 Mounted Volume: BAKDE09D41
3001 Device ""Drive-2" (/dev/tape/by-path/ip-172.31.5
2.111:3260-iscsi-iqn.1997-05.com.amazon:sgw-c2e005ab-tapedrive-03-lun-0-nst)"
is already mounted with Volume "BAKDE09D41"
*mount
Automatically selected Storage: VTL
Enter autochanger drive[0]: 3
Enter autochanger slot: 32
3304 Issuing autochanger "load slot 32, drive 3" command.
3305 Autochanger "load slot 32, drive 3", status is OK.
3001 Mounted Volume: BAKEF19D50
3001 Device ""Drive-3" (/dev/tape/by-path/ip-172.31.5
2.111:3260-iscsi-iqn.1997-05.com.amazon:sgw-c2e005ab-tapedrive-04-lun-0-nst)"
is already mounted with Volume "BAKEF19D50"
*
/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 12 Loaded):VolumeTag =
BAKC8A9D2B
Data Transfer Element 2:Full (Storage Element 22 Loaded):VolumeTag =
BAKDE09D41
Data Transfer Element 3:Full (Storage Element 32 Loaded):VolumeTag =
BAKEF19D50
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=
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:Full :VolumeTag=BAKEEC9D4D
Storage Element 12:Empty:VolumeTag=
Storage Element 13:Full :VolumeTag=BAKC909D31
Storage Element 14:Full :VolumeTag=BAKC889D29
Storage Element 15:Full :VolumeTag=BAKC8D9D2C
Storage Element 16:Full :VolumeTag=BAKC8E9D2F
Storage Element 17:Full :VolumeTag=BAKC919D30
Storage Element 18:Full :VolumeTag=BAKC8F9D2E
Storage Element 19:Full :VolumeTag=BAKC8B9D2A
Storage Element 20:Full :VolumeTag=BAKC939D32
Storage Element 21:Full :VolumeTag=BAKEE69D47
Storage Element 22:Empty:VolumeTag=
Storage Element 23:Full :VolumeTag=BAKDE39D42
Storage Element 24:Full :VolumeTag=BAKDE49D45
Storage Element 25:Full :VolumeTag=BAKDE79D46
Storage Element 26:Full :VolumeTag=BAKDE19D40
Storage Element 27:Full :VolumeTag=BAKD9E9D3F
Storage Element 28:Full :VolumeTag=BAKDE29D43
Storage Element 29:Full :VolumeTag=BAKD9F9D3E
Storage Element 30:Full :VolumeTag=BAKD9C9D3D
Storage Element 31:Full :VolumeTag=BAKDE59D44
Storage Element 32:Empty:VolumeTag=
Storage Element 33:Full :VolumeTag=BAKEE89D49
Storage Element 34:Full :VolumeTag=BAKEE99D48
Storage Element 35:Full :VolumeTag=BAKEEA9D4B
Storage Element 36:Full :VolumeTag=BAKEED9D4C
Storage Element 37:Full :VolumeTag=BAKEEE9D4F
Storage Element 38:Full :VolumeTag=BAKEEB9D4A
Storage Element 39:Full :VolumeTag=BAKEEF9D4E
*release
Automatically selected Storage: VTL
3307 Issuing autochanger "unload slot 2, drive 0" command.
3922 Device ""Drive-0" (/dev/tape/by-path/ip-172.31.5
2.111:3260-iscsi-iqn.1997-05.com.amazon:sgw-c2e005ab-tapedrive-01-lun-0-nst)"
released.
*release
Automatically selected Storage: VTL
Enter autochanger drive[0]: 1
3307 Issuing autochanger "unload slot 12, drive 1" command.
3022 Device ""Drive-1" (/dev/tape/by-path/ip-172.31.5
2.111:3260-iscsi-iqn.1997-05.com.amazon:sgw-c2e005ab-tapedrive-02-lun-0-nst)"
released.
*release
Automatically selected Storage: VTL
Enter autochanger drive[0]: 2
3307 Issuing autochanger "unload slot 22, drive 2" command.
3022 Device ""Drive-2" (/dev/tape/by-path/ip-172.31.5
2.111:3260-iscsi-iqn.1997-05.com.amazon:sgw-c2e005ab-tapedrive-03-lun-0-nst)"
released.
*release
Automatically selected Storage: VTL
Enter autochanger drive[0]: 3
3307 Issuing autochanger "unload slot 32, drive 3" command.
3022 Device ""Drive-3" (/dev/tape/by-path/ip-172.31.5
2.111:3260-iscsi-iqn.1997-05.com.amazon:sgw-c2e005ab-tapedrive-04-lun-0-nst)"
released.
/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:Empty
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:Full :VolumeTag=BAKEEC9D4D
Storage Element 12:Full :VolumeTag=BAKC8A9D2B
Storage Element 13:Full :VolumeTag=BAKC909D31
Storage Element 14:Full :VolumeTag=BAKC889D29
Storage Element 15:Full :VolumeTag=BAKC8D9D2C
Storage Element 16:Full :VolumeTag=BAKC8E9D2F
Storage Element 17:Full :VolumeTag=BAKC919D30
Storage Element 18:Full :VolumeTag=BAKC8F9D2E
Storage Element 19:Full :VolumeTag=BAKC8B9D2A
Storage Element 20:Full :VolumeTag=BAKC939D32
Storage Element 21:Full :VolumeTag=BAKEE69D47
Storage Element 22:Full :VolumeTag=BAKDE09D41
Storage Element 23:Full :VolumeTag=BAKDE39D42
Storage Element 24:Full :VolumeTag=BAKDE49D45
Storage Element 25:Full :VolumeTag=BAKDE79D46
Storage Element 26:Full :VolumeTag=BAKDE19D40
Storage Element 27:Full :VolumeTag=BAKD9E9D3F
Storage Element 28:Full :VolumeTag=BAKDE29D43
Storage Element 29:Full :VolumeTag=BAKD9F9D3E
Storage Element 30:Full :VolumeTag=BAKD9C9D3D
Storage Element 31:Full :VolumeTag=BAKDE59D44
Storage Element 32:Full :VolumeTag=BAKEF19D50
Storage Element 33:Full :VolumeTag=BAKEE89D49
Storage Element 34:Full :VolumeTag=BAKEE99D48
Storage Element 35:Full :VolumeTag=BAKEEA9D4B
Storage Element 36:Full :VolumeTag=BAKEED9D4C
Storage Element 37:Full :VolumeTag=BAKEEE9D4F
Storage Element 38:Full :VolumeTag=BAKEEB9D4A
Storage Element 39:Full :VolumeTag=BAKEEF9D4E
Now, when I mount a volume which has already been used for previous jobs,
*mount
Automatically selected Storage: VTL
Enter autochanger drive[0]: 3
Enter autochanger slot: 11
3304 Issuing autochanger "load slot 11, drive 3" command.
3305 Autochanger "load slot 11, drive 3", status is OK.
3902 Cannot mount Volume on Storage Device ""Drive-3"
(/dev/tape/by-path/ip-172.31.52.111:3260-iscsi-iqn.1997-05.c
Could not unserialize Volume label: ERR=label.c:873 Expecting Volume
Label, got FI=SOS_LABEL Stream=404 len=174
3905 Device ""Drive-3" (/dev/tape/by-path/ip-172.31.5
2.111:3260-iscsi-iqn.1997-05.com.amazon:sgw-c2e005ab-tapedrive-04-lun-0-nst)"
open but no Bacula volume is mounted.
If this is not a blank tape, try unmounting and remounting the Volume.
/dev/tape/by-id/scsi-2414d5a4e5f5347572d433245:10 Drives, 3200 Slots (
1600 Import/Export )
Data Transfer Element 0:Empty
Data Transfer Element 1:Empty
Data Transfer Element 2:Empty
Data Transfer Element 3:Full (Storage Element 11 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: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
Storage Element 13:Full :VolumeTag=BAKC909D31
Storage Element 14:Full :VolumeTag=BAKC889D29
Storage Element 15:Full :VolumeTag=BAKC8D9D2C
Storage Element 16:Full :VolumeTag=BAKC8E9D2F
Storage Element 17:Full :VolumeTag=BAKC919D30
Storage Element 18:Full :VolumeTag=BAKC8F9D2E
Storage Element 19:Full :VolumeTag=BAKC8B9D2A
Storage Element 20:Full :VolumeTag=BAKC939D32
Storage Element 21:Full :VolumeTag=BAKEE69D47
Storage Element 22:Full :VolumeTag=BAKDE09D41
Storage Element 23:Full :VolumeTag=BAKDE39D42
Storage Element 24:Full :VolumeTag=BAKDE49D45
Storage Element 25:Full :VolumeTag=BAKDE79D46
Storage Element 26:Full :VolumeTag=BAKDE19D40
Storage Element 27:Full :VolumeTag=BAKD9E9D3F
Storage Element 28:Full :VolumeTag=BAKDE29D43
Storage Element 29:Full :VolumeTag=BAKD9F9D3E
Storage Element 30:Full :VolumeTag=BAKD9C9D3D
Storage Element 31:Full :VolumeTag=BAKDE59D44
Storage Element 32:Full :VolumeTag=BAKEF19D50
Storage Element 33:Full :VolumeTag=BAKEE89D49
Storage Element 34:Full :VolumeTag=BAKEE99D48
Storage Element 35:Full :VolumeTag=BAKEEA9D4B
Storage Element 36:Full :VolumeTag=BAKEED9D4C
Storage Element 37:Full :VolumeTag=BAKEEE9D4F
Storage Element 38:Full :VolumeTag=BAKEEB9D4A
Storage Element 39:Full :VolumeTag=BAKEEF9D4E
Any ideas why this would happen? This also explains (I think) why the
jobs were asking me to mount a volume or label a new one.......
Thanks,
---------------
Luke Salsich
Post by Clark, Patti
Luke,
This usually happens when the path to the device in Bacula does not line
up with the OS. For each drive one at a time, mount a volume in bconsole
and verify with mtx status that it is where it is expected to be. Release
the volume and verify that it has returned to its slot. Go through all of
your drives that you have defined. This should find where the drive
configurations need to be modified. One suggestion, it is best to name
your bacula drives with the same numeric as the index. Tends to cause
identification issues otherwise.
*Patti Clark*
*Sr. Linux System Administrator*
*Oak Ridge National Laboratory*
*Date: *Wednesday, June 28, 2017 at 1:23 PM
*Subject: *[Bacula-users] Please mount append Volume or label a new one
- help needed
​​
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.
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.
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
It seemed like the autochanger was working properly - moving tapes
around as needed. But, when I check which volumes are actually listed in
$ 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
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
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
$ 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
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 { # 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 { # 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
# 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
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bacula-users mailing list
https://lists.sourceforge.net/lists/listinfo/bacula-users
Continue reading on narkive:
Search results for '[Bacula-users] Please mount append Volume or label a new one - help needed' (Questions and Answers)
35
replies
What religion (church) is the FIRST ORIGINAL church.......?
started 2008-01-09 12:25:43 UTC
religion & spirituality
Loading...