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

Reply via email to