Please mount append Volume or label a new one - help needed

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Please mount append Volume or label a new one - help needed

Luke Salsich
​​
Hello everyone,

I'm really struggling to solve a problem with my bacula setup and I could use some guidance or helpful comments, PLEASE PLEASE. I've been using Bacula for about six months with an AWS storage gateway with success, but still have so much to learn. I would welcome any help!!

I've tried to walk through this current problem, read the docs, search the web - but I'm really stuck.

some quick background:

I started shutting down the storage gateway from most of the day because why run it when my backups aren't scheduled until 11:00 pm? This worked fine for about a week, then I started getting messages in the jobs asking 'Please mount append Volume "xxxxx" or label a new one for' the job.

So, I 'update slots' to make sure nothing got out of alignment and ran a job again:

27-Jun 13:03 bacula-dir JobId 419: Start Backup JobId 419, Job=crashbox.2017-06-27_13.03.25_03
27-Jun 13:03 bacula-dir JobId 419: Using Device "Drive-4" to write.
27-Jun 13:03 bacula-sd JobId 419: 3307 Issuing autochanger "unload slot 31, drive 3" command.
27-Jun 13:03 bacula-sd JobId 419: 3307 Issuing autochanger "unload slot 11, drive 0" command.
27-Jun 13:03 bacula-sd JobId 419: 3304 Issuing autochanger "load slot 11, drive 3" command.
27-Jun 13:03 bacula-sd JobId 419: 3305 Autochanger "load slot 11, drive 3", status is OK.
27-Jun 13:03 bacula-sd JobId 419: Please mount append Volume "BAKEEC9D4D" or label a new one for:

It seemed like the autochanger was working properly - moving tapes around as needed. But, when I check which volumes are actually listed in the slots using MTX, I got a different result:

$ sudo /usr/sbin/mtx -f /dev/tape/by-id/scsi-2414d5a4e5f5347572d433245 status | head -n 50

 Storage Changer /dev/tape/by-id/scsi-2414d5a4e5f5347572d433245:10 Drives, 3200 Slots ( 1600 Import/Export )
Data Transfer Element 0:Full (Storage Element 2 Loaded):VolumeTag = BAKB3DD699
Data Transfer Element 1:Full (Storage Element 11 Loaded):VolumeTag = BAKEE69D47
Data Transfer Element 2:Empty
Data Transfer Element 3:Full (Storage Element 21 Loaded):VolumeTag = BAKEEC9D4D
Data Transfer Element 4:Empty
Data Transfer Element 5:Empty
Data Transfer Element 6:Empty
Data Transfer Element 7:Empty
Data Transfer Element 8:Empty
Data Transfer Element 9:Empty
      Storage Element 1:Full :VolumeTag=BAKC8C9D2D
      Storage Element 2:Empty:VolumeTag=

SO - bacula was saying that slot 11 is in drive 3, status ok
BUT, mtx was saying that slot 11 is in drive 1.

I stopped bacula-dir and bacula-sd, then used manual mtx commands to unload / load the tapes out of the drives, then restarted bacula, updated slots, volumes and pools, but I keep getting errors about 'Please mount append Volume "BAKEEC9D4D" or label a new one for' the job - even though now the drives and volumes seem to line up with mtx data:

27-Jun 19:26 bacula-dir JobId 424: Start Backup JobId 424, Job=crashbox.2017-06-27_19.26.13_06
27-Jun 19:26 bacula-dir JobId 424: Using Device "Drive-1" to write.
27-Jun 19:26 bacula-sd JobId 424: Please mount append Volume "BAKEEC9D4D" or label a new one for:
Job: crashbox.2017-06-27_19.26.13_06
Storage: "Drive-1" (/dev/tape/by-path/ip-tapedrive-01-lun-0-nst)
Pool: Tape4
Media type: ULT3580-TD5

a list of the status of the changer:

$ sudo /usr/sbin/mtx -f /dev/tape/by-id/scsi-2414d5a4e5f5347572d433245 status | head -n 50
  Storage Changer /dev/tape/by-id/scsi-2414d5a4e5f5347572d433245:10 Drives, 3200 Slots ( 1600 Import/Export )
Data Transfer Element 0:Full (Storage Element 11 Loaded):VolumeTag = BAKEEC9D4D                     
Data Transfer Element 1:Empty
Data Transfer Element 2:Empty
Data Transfer Element 3:Empty
Data Transfer Element 4:Empty
Data Transfer Element 5:Empty
Data Transfer Element 6:Empty
Data Transfer Element 7:Empty
Data Transfer Element 8:Empty
Data Transfer Element 9:Empty
      Storage Element 1:Full :VolumeTag=BAKC8C9D2D                     
      Storage Element 2:Full :VolumeTag=BAKB3DD699                     
      Storage Element 3:Full :VolumeTag=BAKB38D69C                     
      Storage Element 4:Full :VolumeTag=BAKB31D695                     
      Storage Element 5:Full :VolumeTag=BAKB32D696                     
      Storage Element 6:Full :VolumeTag=BAKB3FD69B                     
      Storage Element 7:Full :VolumeTag=BAKB39D69D                     
      Storage Element 8:Full :VolumeTag=BAKB3AD69E                     
      Storage Element 9:Full :VolumeTag=BAKB33D697                     
      Storage Element 10:Full :VolumeTag=BAKB3CD698                     
      Storage Element 11:Empty:VolumeTag=                               
      Storage Element 12:Full :VolumeTag=BAKC8A9D2B

It looks to me like the correct volume is loaded in the correct drive. Also, this volume has been written to for several months with no issues. It's not new.

A query on the bacula database shows that the volume is recorded in the proper slot and listed with the 'append' status:

Volume name     Bytes             Media Type     Expire     Last written     Status     Slot
BAKEEC9D4D     298.76 GB     ULT3580-TD5     n/a     2017-06-24 23:05:45     Append     11

Is it something in my config?

Director:

Director {                            # define myself
  Name = bacula-dir
  DIRport = 9101                # where we listen for UA connections
  QueryFile = "/etc/bacula/query.sql"
  WorkingDirectory = "/var/spool/bacula"
  PidDirectory = "/var/run"
  Maximum Concurrent Jobs = 10
  Password = "password-here"         # Console password
  Messages = Daemon
  TLS Certificate = /etc/bacula/certs/safehousebak2.URL.com.crt
  TLS Key = /etc/bacula/certs/safehousebak2.URL.com-daemon.key
  TLS CA Certificate File = /etc/bacula/certs/cacert.pem
  TLS Enable = yes
  TLS Require = yes
  TLS Verify Peer = no
}

JobDefs {
  Name = "DefaultJob"
  Type = Backup
  Level = Incremental
  Client = bacula-fd
  FileSet = "Full Set"
  Schedule = "WeeklyCycle"
  Storage = VTL
  Messages = Standard
  #Pool = File
  Pool = Tape
  #Prefer Mounted Volumes = "no"
  Priority = 10
  Write Bootstrap = "/var/spool/bacula/%c.bsr"
}


#
# Define the main nightly save backup job
Job {
  Name = "safehousebak1"
  JobDefs = "DefaultJob"
  Spool Data = no   
  #Maximum Concurrent Jobs = 10
  #Prefer Mounted Volumes = "no"
  Pool = Tape
}

Job {
  Name = "safehouse"
  JobDefs = "DefaultJob"
  Client = safe1.URL.com-fd
  Spool Data = no   
  #Maximum Concurrent Jobs = 10
  #Prefer Mounted Volumes = "no"
  Pool = Tape2
}

Job {
  Name = "safe1staging"
  JobDefs = "DefaultJob"
  Client = safe1staging.URL.com-fd
  Schedule = "NoCycle"
  Spool Data = no   
  #Maximum Concurrent Jobs = 10
  #Prefer Mounted Volumes = "no"
  Pool = Tape3
}

Job {
  Name = "luke-MacBookPro"
  JobDefs = "DefaultJob"
  Client = luke-MacBookPro-fd
  Schedule = "NoCycle"
  Spool Data = no   
  #Maximum Concurrent Jobs = 10
  #Maximum Bandwidth = 500kb/s
  FileSet = "Full Set luke-macbookpro"
  #Prefer Mounted Volumes = "no"
  Pool = Tape3
}

Job {
  Name = "crashbox"
  JobDefs = "DefaultJob"
  Client = crashbox.URL.com-fd
  Spool Data = no
  #Maximum Concurrent Jobs = 10
  #Maximum Bandwidth = 500kb/s
  FileSet = "Full Set crashbox"
  #Prefer Mounted Volumes = "no"
  Pool = Tape4
}

# Client (File Services) to backup
Client {
  Name = bacula-fd
  Address = safehousebak2.URL.com
  FDPort = 9102
  Catalog = MyCatalog
  Password = "password-here"          # password for FileDaemon
  File Retention = 6 months            # six months
  Job Retention = 6 months            # six months
  AutoPrune = yes                     # Prune expired Jobs/Files
  TLS Certificate = /etc/bacula/certs/safehousebak2-client/safehousebak2.URL.com.crt
  TLS Key = /etc/bacula/certs/safehousebak2-client/safehousebak2.URL.com-daemon.key
  TLS CA Certificate File = /etc/bacula/certs/cacert.pem
  TLS Enable = yes
  TLS Require = yes
}

Client {
  Name = safe1.URL.com-fd
  # Address = 34.207.20.31
  Address = safe1.URL.com
  FDPort = 9102
  Catalog = MyCatalog
#  Password = "gcCd1uHeGS62gpUa"
  Password = "password-here"
  File Retention = 6 months            # six months
  Job Retention = 6 months
  AutoPrune = yes
  TLS Certificate = /etc/bacula/certs/safe1/safe1.URL.com.crt
  TLS Key = /etc/bacula/certs/safe1/safe1.URL.com-daemon.key
  TLS CA Certificate File = /etc/bacula/certs/cacert.pem
  TLS Enable = yes
  TLS Require = yes
}

Client {
  Name = safe1staging.URL.com-fd
  Address = safe1staging.URL.com
  FDPort = 9102
  Catalog = MyCatalog
#  Password = "gcCd1uHeGS62gpUa"
  Password = "password-here"
  File Retention = 6 months            # six months
  Job Retention = 6 months
  AutoPrune = yes
}

#
# Client (File Services) to backup
#  You should change Name, Address, and Password before using
#
Client {
  Name = luke-MacBookPro-fd
  # Address = 68.184.40.205
  Address = crashbox.URL.com
  FDPort = 9102
  Catalog = MyCatalog
  Password = "password-here"
  File Retention = 6 months            # six months
  Job Retention = 6 months
  AutoPrune = yes
}

#
# Client (File Services) to backup
#  You should change Name, Address, and Password before using
#
Client {
  Name = crashbox.URL.com-fd
  Address = crashbox.URL.com
  FDPort = 9105
  Catalog = MyCatalog
  Password = "password-here"
  File Retention = 6 months            # six months
  Job Retention = 6 months
  AutoPrune = yes
  TLS Certificate = /etc/bacula/certs/crashbox/crashbox.URL.com.crt
  TLS Key = /etc/bacula/certs/crashbox/crashbox.URL.com-daemon.key
  TLS CA Certificate File = /etc/bacula/certs/cacert.pem
  TLS Enable = yes
  TLS Require = yes
}


# Definition of file storage device
Storage {
  Name = VTL
# Do not use "localhost" here   
  # Address = xxx.amazonaws.com                # N.B. Use a fully qualified name here
  Address = safehousebak2.URL.com
  SDPort = 9103
  Password = "password-here"
  Device = "VTL-Autochanger"
  Media Type = ULT3580-TD5
  Autochanger = yes
  Maximum Concurrent Jobs = 10;
}

# Default pool definition
Pool {
  Name = Default
  Pool Type = Backup
  Recycle = yes                       # Bacula can automatically recycle Volumes
  AutoPrune = yes                     # Prune expired volumes
  Volume Retention = 365 days         # one year
}

# tape Pool definition
Pool {
  Name = Tape
  Pool Type = Backup
  #Storage = VTL
  Recycle = yes                       # Bacula can automatically recycle Volumes
  AutoPrune = yes                     # Prune expired volumes
  Volume Retention = 365 days         # one year
  Maximum Volume Bytes = 990G          # Limit Volume size to something reasonable
  Maximum Volumes = 10               # Limit number of Volumes in Pool
}


# File Pool definition
Pool {
  Name = Tape2
  Pool Type = Backup
  #Storage = VTL
  Recycle = yes                       # Bacula can automatically recycle Volumes
  AutoPrune = yes                     # Prune expired volumes
  Volume Retention = 365 days         # one year
  Maximum Volume Bytes = 990G          # Limit Volume size to something reasonable
  Maximum Volumes = 10             # Limit number of Volumes in Pool
}

# File Pool definition
Pool {
  Name = Tape3
  Pool Type = Backup
  #Storage = VTL
  Recycle = yes                       # Bacula can automatically recycle Volumes
  AutoPrune = yes                     # Prune expired volumes
  Volume Retention = 365 days         # one year
  Maximum Volume Bytes = 990G          # Limit Volume size to something reasonable
  Maximum Volumes = 10               # Limit number of Volumes in Pool
}

# File Pool definition
Pool {
  Name = Tape4
  Pool Type = Backup
  #Storage = VTL
  Recycle = yes                       # Bacula can automatically recycle Volumes
  AutoPrune = yes                     # Prune expired volumes
  Volume Retention = 365 days         # one year
  Maximum Volume Bytes = 990G          # Limit Volume size to something reasonable
  Maximum Volumes = 10                 # Limit number of Volumes in Pool
}

Storage Config:

Storage {                             # definition of myself
  Name = bacula-sd
  SDPort = 9103                  # Director's port     
  WorkingDirectory = "/var/spool/bacula"
  Pid Directory = "/var/run"
  Maximum Concurrent Jobs = 20
  SDAddress = xxx.compute-1.amazonaws.com
  TLS Certificate = /etc/bacula/certs/safehousebak2.URL.com.crt
  TLS Key = /etc/bacula/certs/safehousebak2.URL.com-daemon.key
  TLS CA Certificate File = /etc/bacula/certs/cacert.pem
  TLS Enable = yes
  TLS Require = yes
  TLS Verify Peer = no
}

#
# List Directors who are permitted to contact Storage daemon
#
Director {
  Name = bacula-dir
  Password = "ZWRlODg2ODZjMDNkY2M0MzM0ZjcxNDExN"
}

#
# Restricted Director, used by tray-monitor to get the
#   status of the storage daemon
#
Director {
  Name = bacula-mon
  Password = "ZWRlODg2ODZjMDNkY2M0MzM0ZjcxNDExN"
  Monitor = yes
}

#
# Note, for a list of additional Device templates please
#  see the directory <bacula-source>/examples/devices
# Or follow the following link:
http://bacula.svn.sourceforge.net/viewvc/bacula/trunk/bacula/examples/devices/
#

#
# Devices supported by this Storage daemon
# To connect, the Director's bacula-dir.conf must have the
#  same Name and MediaType.
#

Device {
  Name = FileStorage
  Media Type = File
  Archive Device = /tmp
  LabelMedia = yes;                   # lets Bacula label unlabeled media
  Random Access = Yes;
  AutomaticMount = yes;               # when device opened, read it
  RemovableMedia = no;
  AlwaysOpen = no;
}

#
# An autochanger device with four drives
#
Autochanger {
  Name = VTL-Autochanger
  Device = Drive-1, Drive-2, Drive-3, Drive-4
  Changer Command = "/usr/libexec/bacula/mtx-changer %c %o %S %a %d"
  Changer Device = /dev/tape/by-id/scsi-2414d5a4e5f5347572d433245
}

Device {
  Name = Drive-1                      #
  Drive Index = 0
  Media Type = ULT3580-TD5
  #Archive Device = /dev/nst0
  Archive Device = "/dev/tape/by-path/ip-01-lun-0-nst"
  AutomaticMount = yes;               # when device opened, read it
  AlwaysOpen = yes;
  RemovableMedia = yes;
  RandomAccess = no;
  AutoChanger = yes;
  #Maximum Concurrent Jobs = 5;
#  #
#  # Enable the Alert command only if you have the mtx package loaded
#  # Note, apparently on some systems, tapeinfo resets the SCSI controller
#  #  thus if you turn this on, make sure it does not reset your SCSI
#  #  controller.  I have never had any problems, and smartctl does
#  #  not seem to cause such problems.

#  Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'"
#  If you have smartctl, enable this, it has more info than tapeinfo
#  Alert Command = "sh -c 'smartctl -H -l error %c'"

}

Device {
  Name = Drive-2                      #
  Drive Index = 1
  Media Type = ULT3580-TD5
  #Archive Device = /dev/nst1
  Archive Device = "/dev/tape/by-path/ip-tapedrive-02-lun-0-nst"
  AutomaticMount = yes;               # when device opened, read it
  AlwaysOpen = yes;
  RemovableMedia = yes;
  RandomAccess = no;
  AutoChanger = yes;
  #Maximum Concurrent Jobs = 5;
  # Enable the Alert command only if you have the mtx package loaded
#  Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'"
#  If you have smartctl, enable this, it has more info than tapeinfo
#  Alert Command = "sh -c 'smartctl -H -l error %c'"

}

Device {
  Name = Drive-3                      #
  Drive Index = 2
  Media Type = ULT3580-TD5
  #Archive Device = /dev/nst1
  Archive Device = "/dev/tape/by-path/ip-03-lun-0-nst"
  AutomaticMount = yes;               # when device opened, read it
  AlwaysOpen = yes;
  RemovableMedia = yes;
  RandomAccess = no;
  AutoChanger = yes;
  #Maximum Concurrent Jobs = 5;
  # Enable the Alert command only if you have the mtx package loaded
#  Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'"
#  If you have smartctl, enable this, it has more info than tapeinfo
#  Alert Command = "sh -c 'smartctl -H -l error %c'"

}

Device {
  Name = Drive-4                      #
  Drive Index = 3
  Media Type = ULT3580-TD5
  #Archive Device = /dev/nst1
  Archive Device = "/dev/tape/by-path/ip-tapedrive-04-lun-0-nst"
  AutomaticMount = yes;               # when device opened, read it
  AlwaysOpen = yes;
  RemovableMedia = yes;
  RandomAccess = no;
  AutoChanger = yes;
  #Maximum Concurrent Jobs = 5;
  # Enable the Alert command only if you have the mtx package loaded
#  Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'"
#  If you have smartctl, enable this, it has more info than tapeinfo
#  Alert Command = "sh -c 'smartctl -H -l error %c'"

}



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

------------------------------------------------------------------------------
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Please mount append Volume or label a new one - help needed

Kern Sibbald

Hello,

Try reading the Object Store white paper posted on the web site. It discusses the use of the AWS storage gateway.

Best regards,

Kern



On 06/28/2017 07:23 PM, Luke Salsich wrote:
​​
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-users


------------------------------------------------------------------------------
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Please mount append Volume or label a new one - help needed

Clark, Patti
In reply to this post by Luke Salsich

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 <[hidden email]>
Date: Wednesday, June 28, 2017 at 1:23 PM
To: "[hidden email]" <[hidden email]>
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Please mount append Volume or label a new one - help needed

Luke Salsich
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 <[hidden email]> 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 <[hidden email]>
Date: Wednesday, June 28, 2017 at 1:23 PM
To: "[hidden email]" <[hidden email]>
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Please mount append Volume or label a new one - help needed

Luke Salsich
In reply to this post by Clark, Patti
​​

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

On Wed, Jun 28, 2017 at 3:14 PM, Clark, Patti <[hidden email]> 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 <[hidden email]>
Date: Wednesday, June 28, 2017 at 1:23 PM
To: "[hidden email]" <[hidden email]>
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Please mount append Volume or label a new one - help needed

Kern Sibbald

Hello,

It seems to me that there is at least one problem in the output below -- most likely indicating configuration problems.

See comments below ...


On 06/29/2017 01:57 AM, Luke Salsich wrote:
​​

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)
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
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

On Wed, Jun 28, 2017 at 3:14 PM, Clark, Patti <[hidden email]> 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 <[hidden email]>
Date: Wednesday, June 28, 2017 at 1:23 PM
To: "[hidden email]" <[hidden email]>
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-users


------------------------------------------------------------------------------
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Please mount append Volume or label a new one - help needed

Luke Salsich
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

On Thu, Jun 29, 2017 at 3:15 AM, Kern Sibbald <[hidden email]> wrote:

Hello,

It seems to me that there is at least one problem in the output below -- most likely indicating configuration problems.

See comments below ...


On 06/29/2017 01:57 AM, Luke Salsich wrote:
​​

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)
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
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

On Wed, Jun 28, 2017 at 3:14 PM, Clark, Patti <[hidden email]> 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 <[hidden email]>
Date: Wednesday, June 28, 2017 at 1:23 PM
To: "[hidden email]" <[hidden email]>
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-users



------------------------------------------------------------------------------
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Please mount append Volume or label a new one - help needed

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

El 29 jun. 2017 17:14, "Luke Salsich" <[hidden email]> 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

On Thu, Jun 29, 2017 at 3:15 AM, Kern Sibbald <[hidden email]> wrote:

Hello,

It seems to me that there is at least one problem in the output below -- most likely indicating configuration problems.

See comments below ...


On 06/29/2017 01:57 AM, Luke Salsich wrote:
​​

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)
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
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

On Wed, Jun 28, 2017 at 3:14 PM, Clark, Patti <[hidden email]> 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 <[hidden email]>
Date: Wednesday, June 28, 2017 at 1:23 PM
To: "[hidden email]" <[hidden email]>
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-users



------------------------------------------------------------------------------
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-users



------------------------------------------------------------------------------
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Please mount append Volume or label a new one - help needed

Luke Salsich
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 <[hidden email]> wrote:
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" <[hidden email]> 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

On Thu, Jun 29, 2017 at 3:15 AM, Kern Sibbald <[hidden email]> wrote:

Hello,

It seems to me that there is at least one problem in the output below -- most likely indicating configuration problems.

See comments below ...


On 06/29/2017 01:57 AM, Luke Salsich wrote:
​​

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)
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
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

On Wed, Jun 28, 2017 at 3:14 PM, Clark, Patti <[hidden email]> 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 <[hidden email]>
Date: Wednesday, June 28, 2017 at 1:23 PM
To: "[hidden email]" <[hidden email]>
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-users



------------------------------------------------------------------------------
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-users




------------------------------------------------------------------------------
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-users
Loading...