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
On Wed, Jun 28, 2017 at 3:14 PM, Clark, Patti <clar...@ornl.gov> wrote:
> 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 <luke.sals...@gmail.com>
> *Date: *Wednesday, June 28, 2017 at 1:23 PM
> *To: *"bacula-users@lists.sourceforge.net" <bacula-users@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
> 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
>
------------------------------------------------------------------------------
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
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users