Bacula btape multivolume fill test help requested

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

Bacula btape multivolume fill test help requested

Peter Szaban
Hello,

    I'm having trouble installing bacula 7.4.3 on a SuSE LEAP 42.1
64 bit system with kernel 4.1.26-21-default on an LTO6 tape
library.

    Btape's "test" and "autochanger" tests successful, but the multi-volume
"fill" test is failing.  I was hoping some kind person could make some
suggestions about how to fix this.

    I interpret btape to be  saying it is having trouble re-reading the
last block it wrote to a tape after loading a tape.  Maybe it's having
trouble positioning to the correct spot on the tape.

    I decided this isn't an issue with the physical end of tape, because
I tried setting "Maximum Volume Size = 10G" (which makes the fill test
run a lot faster,) and encountered the exact same problem.

    At one point, I also unsuccessfully tried using stinit to change tape
drive properties with guidance from:

    http://www.bacula.org/5.2.x-manuals/en/problems/problems/Testing_Your_Tape_Drive.html#SECTION00434000000000000000

manufacturer=IBM model = "ULTRIUM-TD6" {
scsi2logical=1
sysv=0
read-ahead=1
buffering=1
async-writes=1
mode1 blocksize=0 compression=1 }


    I google'd this problem and found that some people with FreeBSD
fixed a similar problem by setting "BSF at EOM = yes".  That isn't my
problem however, because When I set that option in bacula-sd.conf,
btape's "test" fails.

  Here's some output from mt on the tape drive:

mt -f /dev/st0 status
drive type = Generic SCSI-2 tape
drive status = 1509949440
sense key error = 0
residue count = 0
file number = 0
block number = 0
Tape block size 0 bytes. Density code 0x5a (unknown).
Soft error count since last status=0
General status bits on (41010000):
 BOT ONLINE IM_REP_EN


    Here's the output from btape fill:
.
.
.
Wrote block=9600000, file,blk=504,6280 VolBytes=2,516,582,137,856 rate=144.8 MB/s
Wrote block=9605000, file,blk=504,11280 VolBytes=2,517,892,857,856 rate=144.8 MB/s
02-Aug 21:20 btape JobId 0: End of Volume "TestVolume1" at 504:14969 on device "TAPE01" (/dev/nst0). Write of 262144 bytes got -1.
02-Aug 21:20 btape JobId 0: Re-read of last block succeeded.
btape: btape.c:2712-0 Last block at: 504:14968 this_dev_block_num=14969
btape: btape.c:2747-0 End of tape 504:0. Volume Bytes=2,518,859,907,072. Write rate = 144.7 MB/s
02-Aug 21:20 btape JobId 0: End of medium on Volume "TestVolume1" Bytes=2,518,859,907,072 Blocks=9,608,688 at 02-Aug-2016 21:20.
02-Aug 21:20 btape JobId 0: 3307 Issuing autochanger "unload slot 1, drive 0" command for vol TestVolume1.
02-Aug 21:22 btape JobId 0: 3304 Issuing autochanger "load slot 2, drive 0" command for vol TestVolume2.
02-Aug 21:23 btape JobId 0: 3305 Autochanger "load slot 2, drive 0", status is OK for vol TestVolume2.
Wrote Volume label for volume "TestVolume2".
02-Aug 21:24 btape JobId 0: Wrote label to prelabeled Volume "TestVolume2" on tape device "TAPE01" (/dev/nst0)
02-Aug 21:24 btape JobId 0: New volume "TestVolume2" mounted on device "TAPE01" (/dev/nst0) at 02-Aug-2016 21:24.
btape: btape.c:2315-0 Wrote 1000 blocks on second tape. Done.
Done writing 0 records ...
Wrote End of Session label.
btape: btape.c:2384-0 Wrote state file last_block_num1=14968 last_block_num2=1001
btape: btape.c:2402-0

21:24:11 Done filling tapes at 0:1003. Now beginning re-read of first tape ...
btape: btape.c:2480-0 Enter do_unfill
02-Aug 21:24 btape JobId 0: 3307 Issuing autochanger "unload slot 2, drive 0" command for vol TestVolume1.
02-Aug 21:25 btape JobId 0: 3304 Issuing autochanger "load slot 1, drive 0" command for vol TestVolume1.
02-Aug 21:26 btape JobId 0: 3305 Autochanger "load slot 1, drive 0", status is OK for vol TestVolume1.
02-Aug 21:26 btape JobId 0: Ready to read from volume "TestVolume1" on tape device "TAPE01" (/dev/nst0).
Rewinding.
Reading the first 10000 records from 0:0.
10000 records read now at 1:1251
Reposition from 1:1251 to 504:14968
Reading block 14968.


The blocks differ at byte 0


!!!! The last block written and the block
that was read back differ. The test FAILED !!!!
This must be corrected before you use Bacula
to write multi-tape Volumes.!!!!
02-Aug 21:28 btape JobId 0: 3307 Issuing autochanger "unload slot 1, drive 0" command for vol TestVolume2.
02-Aug 21:30 btape JobId 0: 3304 Issuing autochanger "load slot 2, drive 0" command for vol TestVolume2.
02-Aug 21:31 btape JobId 0: 3305 Autochanger "load slot 2, drive 0", status is OK for vol TestVolume2.
02-Aug 21:31 btape JobId 0: Ready to read from volume "TestVolume2" on tape device "TAPE01" (/dev/nst0).
Reposition from 0:0 to 0:1
Reading block 1.

The first block on the second tape matches.

Reposition from 0:2 to 0:1001
Reading block 1001.

The blocks differ at byte 0


!!!! The last block written and the block
that was read back differ. The test FAILED !!!!
This must be corrected before you use Bacula
to write multi-tape Volumes.!!!!
btape: btape.c:2407-0 do_unfill failed.

    Here's the pertinent parts of bacula-sd.conf:

Device {
  Name = TAPE01
  Media Type = LTO
  Archive Device = /dev/nst0
  AutomaticMount = yes;               # when device opened, read it
  AlwaysOpen = yes;
  RemovableMedia = yes;
  RandomAccess = no;
#  Maximum Volume Size = 10G
#  Maximum File Size = 5GB
#  Maximum Block Size = 262144
## Changer Command = "/usr/local/bacula-7.4.3/etc/mtx-changer %c %o %S %a %d"
# Changer Device = /dev/sg4
 AutoChanger = yes
 DriveIndex = 0
  # Enable the Alert command only if you have the mtx package loaded
# Alert Command = "sh -c '/usr/local/bacula/sbin/tapeinfo -f %c |grep TapeAlert|
cat'"
# If you have smartctl, enable this, it has more info than tapeinfo
Alert Command = "sh -c '/usr/sbin/smartctl -H -l error %c'"
}
Device {
  Name = TAPE02
  Media Type = LTO
  Archive Device = /dev/nst1
  AutomaticMount = yes;               # when device opened, read it
  AlwaysOpen = yes;
  RemovableMedia = yes;
  RandomAccess = no;
#  Maximum Volume Size = 10G
#  Maximum File Size = 5GB
#  Maximum Block Size = 262144
## Changer Command = "/usr/local/bacula-7.4.3/etc/mtx-changer %c %o %S %a %d"
# Changer Device = /dev/sg4
 AutoChanger = yes
 DriveIndex = 1
  # Enable the Alert command only if you have the mtx package loaded
# Alert Command = "sh -c '/usr/local/bacula/sbin/tapeinfo -f %c |grep TapeAlert|
cat'"
# If you have smartctl, enable this, it has more info than tapeinfo
 Alert Command = "sh -c '/usr/sbin/smartctl -H -l error %c'"
}

Autochanger {
  Name = tl5
  Device = TAPE01
  Device = TAPE02
  Changer Command = "/usr/local/bacula-7.4.3/etc/mtx-changer %c %o %S %a %d"
  Changer Device = /dev/sg4
}

    I'm running out of ideas here.  Any assistance would be appreciated.

--

    Pete Szaban, Graphics/Network Analyst & Tech. |     (413) 782-1239
            Western New England University        |     [hidden email]
              Springfield, Ma. 01119

------------------------------------------------------------------------------
_______________________________________________
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: Bacula btape multivolume fill test help requested

Kern Sibbald
Hello,

I suggest you go back to the default tape configuration.  Then
make sure you are using the Linux st kernel driver and not the
kernel driver that IBM supplies.  The IBM driver is not compatible
with Bacula.

If that does not solve your problems, either others on this list
can help you, or you will need professional help.

Best regards,
Kern

On 08/03/2016 09:24 PM, Peter Szaban wrote:

> Hello,
>
>      I'm having trouble installing bacula 7.4.3 on a SuSE LEAP 42.1
> 64 bit system with kernel 4.1.26-21-default on an LTO6 tape
> library.
>
>      Btape's "test" and "autochanger" tests successful, but the multi-volume
> "fill" test is failing.  I was hoping some kind person could make some
> suggestions about how to fix this.
>
>      I interpret btape to be  saying it is having trouble re-reading the
> last block it wrote to a tape after loading a tape.  Maybe it's having
> trouble positioning to the correct spot on the tape.
>
>      I decided this isn't an issue with the physical end of tape, because
> I tried setting "Maximum Volume Size = 10G" (which makes the fill test
> run a lot faster,) and encountered the exact same problem.
>
>      At one point, I also unsuccessfully tried using stinit to change tape
> drive properties with guidance from:
>
>      http://www.bacula.org/5.2.x-manuals/en/problems/problems/Testing_Your_Tape_Drive.html#SECTION00434000000000000000
>
> manufacturer=IBM model = "ULTRIUM-TD6" {
> scsi2logical=1
> sysv=0
> read-ahead=1
> buffering=1
> async-writes=1
> mode1 blocksize=0 compression=1 }
>
>
>      I google'd this problem and found that some people with FreeBSD
> fixed a similar problem by setting "BSF at EOM = yes".  That isn't my
> problem however, because When I set that option in bacula-sd.conf,
> btape's "test" fails.
>
>    Here's some output from mt on the tape drive:
>
> mt -f /dev/st0 status
> drive type = Generic SCSI-2 tape
> drive status = 1509949440
> sense key error = 0
> residue count = 0
> file number = 0
> block number = 0
> Tape block size 0 bytes. Density code 0x5a (unknown).
> Soft error count since last status=0
> General status bits on (41010000):
>   BOT ONLINE IM_REP_EN
>
>
>      Here's the output from btape fill:
> .
> .
> .
> Wrote block=9600000, file,blk=504,6280 VolBytes=2,516,582,137,856 rate=144.8 MB/s
> Wrote block=9605000, file,blk=504,11280 VolBytes=2,517,892,857,856 rate=144.8 MB/s
> 02-Aug 21:20 btape JobId 0: End of Volume "TestVolume1" at 504:14969 on device "TAPE01" (/dev/nst0). Write of 262144 bytes got -1.
> 02-Aug 21:20 btape JobId 0: Re-read of last block succeeded.
> btape: btape.c:2712-0 Last block at: 504:14968 this_dev_block_num=14969
> btape: btape.c:2747-0 End of tape 504:0. Volume Bytes=2,518,859,907,072. Write rate = 144.7 MB/s
> 02-Aug 21:20 btape JobId 0: End of medium on Volume "TestVolume1" Bytes=2,518,859,907,072 Blocks=9,608,688 at 02-Aug-2016 21:20.
> 02-Aug 21:20 btape JobId 0: 3307 Issuing autochanger "unload slot 1, drive 0" command for vol TestVolume1.
> 02-Aug 21:22 btape JobId 0: 3304 Issuing autochanger "load slot 2, drive 0" command for vol TestVolume2.
> 02-Aug 21:23 btape JobId 0: 3305 Autochanger "load slot 2, drive 0", status is OK for vol TestVolume2.
> Wrote Volume label for volume "TestVolume2".
> 02-Aug 21:24 btape JobId 0: Wrote label to prelabeled Volume "TestVolume2" on tape device "TAPE01" (/dev/nst0)
> 02-Aug 21:24 btape JobId 0: New volume "TestVolume2" mounted on device "TAPE01" (/dev/nst0) at 02-Aug-2016 21:24.
> btape: btape.c:2315-0 Wrote 1000 blocks on second tape. Done.
> Done writing 0 records ...
> Wrote End of Session label.
> btape: btape.c:2384-0 Wrote state file last_block_num1=14968 last_block_num2=1001
> btape: btape.c:2402-0
>
> 21:24:11 Done filling tapes at 0:1003. Now beginning re-read of first tape ...
> btape: btape.c:2480-0 Enter do_unfill
> 02-Aug 21:24 btape JobId 0: 3307 Issuing autochanger "unload slot 2, drive 0" command for vol TestVolume1.
> 02-Aug 21:25 btape JobId 0: 3304 Issuing autochanger "load slot 1, drive 0" command for vol TestVolume1.
> 02-Aug 21:26 btape JobId 0: 3305 Autochanger "load slot 1, drive 0", status is OK for vol TestVolume1.
> 02-Aug 21:26 btape JobId 0: Ready to read from volume "TestVolume1" on tape device "TAPE01" (/dev/nst0).
> Rewinding.
> Reading the first 10000 records from 0:0.
> 10000 records read now at 1:1251
> Reposition from 1:1251 to 504:14968
> Reading block 14968.
>
>
> The blocks differ at byte 0
>
>
> !!!! The last block written and the block
> that was read back differ. The test FAILED !!!!
> This must be corrected before you use Bacula
> to write multi-tape Volumes.!!!!
> 02-Aug 21:28 btape JobId 0: 3307 Issuing autochanger "unload slot 1, drive 0" command for vol TestVolume2.
> 02-Aug 21:30 btape JobId 0: 3304 Issuing autochanger "load slot 2, drive 0" command for vol TestVolume2.
> 02-Aug 21:31 btape JobId 0: 3305 Autochanger "load slot 2, drive 0", status is OK for vol TestVolume2.
> 02-Aug 21:31 btape JobId 0: Ready to read from volume "TestVolume2" on tape device "TAPE01" (/dev/nst0).
> Reposition from 0:0 to 0:1
> Reading block 1.
>
> The first block on the second tape matches.
>
> Reposition from 0:2 to 0:1001
> Reading block 1001.
>
> The blocks differ at byte 0
>
>
> !!!! The last block written and the block
> that was read back differ. The test FAILED !!!!
> This must be corrected before you use Bacula
> to write multi-tape Volumes.!!!!
> btape: btape.c:2407-0 do_unfill failed.
>
>      Here's the pertinent parts of bacula-sd.conf:
>
> Device {
>    Name = TAPE01
>    Media Type = LTO
>    Archive Device = /dev/nst0
>    AutomaticMount = yes;               # when device opened, read it
>    AlwaysOpen = yes;
>    RemovableMedia = yes;
>    RandomAccess = no;
> #  Maximum Volume Size = 10G
> #  Maximum File Size = 5GB
> #  Maximum Block Size = 262144
> ## Changer Command = "/usr/local/bacula-7.4.3/etc/mtx-changer %c %o %S %a %d"
> # Changer Device = /dev/sg4
>   AutoChanger = yes
>   DriveIndex = 0
>    # Enable the Alert command only if you have the mtx package loaded
> # Alert Command = "sh -c '/usr/local/bacula/sbin/tapeinfo -f %c |grep TapeAlert|
> cat'"
> # If you have smartctl, enable this, it has more info than tapeinfo
> Alert Command = "sh -c '/usr/sbin/smartctl -H -l error %c'"
> }
> Device {
>    Name = TAPE02
>    Media Type = LTO
>    Archive Device = /dev/nst1
>    AutomaticMount = yes;               # when device opened, read it
>    AlwaysOpen = yes;
>    RemovableMedia = yes;
>    RandomAccess = no;
> #  Maximum Volume Size = 10G
> #  Maximum File Size = 5GB
> #  Maximum Block Size = 262144
> ## Changer Command = "/usr/local/bacula-7.4.3/etc/mtx-changer %c %o %S %a %d"
> # Changer Device = /dev/sg4
>   AutoChanger = yes
>   DriveIndex = 1
>    # Enable the Alert command only if you have the mtx package loaded
> # Alert Command = "sh -c '/usr/local/bacula/sbin/tapeinfo -f %c |grep TapeAlert|
> cat'"
> # If you have smartctl, enable this, it has more info than tapeinfo
>   Alert Command = "sh -c '/usr/sbin/smartctl -H -l error %c'"
> }
>
> Autochanger {
>    Name = tl5
>    Device = TAPE01
>    Device = TAPE02
>    Changer Command = "/usr/local/bacula-7.4.3/etc/mtx-changer %c %o %S %a %d"
>    Changer Device = /dev/sg4
> }
>
>      I'm running out of ideas here.  Any assistance would be appreciated.
>


------------------------------------------------------------------------------
_______________________________________________
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: Bacula btape multivolume fill test help requested

Peter Szaban
Thanks for the response Kern, and for your commitment to opensource

    Last night, I built bacula v5.2.3 on this server and discovered that the
btape multivolume fill from bacula 5.2.3 gives no errors (Yay!).  I also tried
using the bacula-sd.conf from 5.2.3 with version 7.4.3's btape and got the
same "The blocks differ at byte 0" error.

    The question in the back of my mind now is: Is there a problem that v5.2.3
btape isn't detecting, or is v7.4.3 btape doing something different?

    In response to your suggestions:

    I am using the Linux kernel st driver and tried it with and without
the osst module.

    I did try deleting and rebuilding bacula 7.4.3 with a minimal
bacula-sd.conf file and continued to see the same failures with btape's fill:


FYI: I built bacula 7.4.3 (and 5.2.3) with the following config command:

         ver=7.4.3
         ./configure --with-postgresql --with-archivedir=/Z/D/bacula-${ver} \
                  --enable-smartalloc \
                  --with-pid-dir=/usr/local/bacula-${ver}/working \
                  --with-subsys-dir=/usr/local/bacula-${ver}/working \
                  --with-working-dir=/usr/local/bacula-${ver}/working \
                  --prefix=/usr/local/bacula-${ver} --with-tcp-wrappers \
                  --with-openssl  --disable-conio --enable-readline \
                  --enable-acl



On Thu, Aug 04, 2016 at 01:44:09PM +0200, Kern Sibbald wrote:

> Hello,
>
> I suggest you go back to the default tape configuration.  Then
> make sure you are using the Linux st kernel driver and not the
> kernel driver that IBM supplies.  The IBM driver is not compatible
> with Bacula.
>
> If that does not solve your problems, either others on this list
> can help you, or you will need professional help.
>
> Best regards,
> Kern
>
> On 08/03/2016 09:24 PM, Peter Szaban wrote:
> >Hello,
> >
> >     I'm having trouble installing bacula 7.4.3 on a SuSE LEAP 42.1
> >64 bit system with kernel 4.1.26-21-default on an LTO6 tape
> >library.
> >
> >     Btape's "test" and "autochanger" tests successful, but the multi-volume
> >"fill" test is failing.  I was hoping some kind person could make some
> >suggestions about how to fix this.
> >
> >     I interpret btape to be  saying it is having trouble re-reading the
> >last block it wrote to a tape after loading a tape.  Maybe it's having
> >trouble positioning to the correct spot on the tape.
> >
> >     I decided this isn't an issue with the physical end of tape, because
> >I tried setting "Maximum Volume Size = 10G" (which makes the fill test
> >run a lot faster,) and encountered the exact same problem.
> >
> >     At one point, I also unsuccessfully tried using stinit to change tape
> >drive properties with guidance from:
> >
> >     http://www.bacula.org/5.2.x-manuals/en/problems/problems/Testing_Your_Tape_Drive.html#SECTION00434000000000000000
> >
> >manufacturer=IBM model = "ULTRIUM-TD6" {
> >scsi2logical=1
> >sysv=0
> >read-ahead=1
> >buffering=1
> >async-writes=1
> >mode1 blocksize=0 compression=1 }
> >
> >
> >     I google'd this problem and found that some people with FreeBSD
> >fixed a similar problem by setting "BSF at EOM = yes".  That isn't my
> >problem however, because When I set that option in bacula-sd.conf,
> >btape's "test" fails.
> >
> >   Here's some output from mt on the tape drive:
> >
> >mt -f /dev/st0 status
> >drive type = Generic SCSI-2 tape
> >drive status = 1509949440
> >sense key error = 0
> >residue count = 0
> >file number = 0
> >block number = 0
> >Tape block size 0 bytes. Density code 0x5a (unknown).
> >Soft error count since last status=0
> >General status bits on (41010000):
> >  BOT ONLINE IM_REP_EN
> >
> >
> >     Here's the output from btape fill:
> >.
> >.
> >.
> >Wrote block=9600000, file,blk=504,6280 VolBytes=2,516,582,137,856 rate=144.8 MB/s
> >Wrote block=9605000, file,blk=504,11280 VolBytes=2,517,892,857,856 rate=144.8 MB/s
> >02-Aug 21:20 btape JobId 0: End of Volume "TestVolume1" at 504:14969 on device "TAPE01" (/dev/nst0). Write of 262144 bytes got -1.
> >02-Aug 21:20 btape JobId 0: Re-read of last block succeeded.
> >btape: btape.c:2712-0 Last block at: 504:14968 this_dev_block_num=14969
> >btape: btape.c:2747-0 End of tape 504:0. Volume Bytes=2,518,859,907,072. Write rate = 144.7 MB/s
> >02-Aug 21:20 btape JobId 0: End of medium on Volume "TestVolume1" Bytes=2,518,859,907,072 Blocks=9,608,688 at 02-Aug-2016 21:20.
> >02-Aug 21:20 btape JobId 0: 3307 Issuing autochanger "unload slot 1, drive 0" command for vol TestVolume1.
> >02-Aug 21:22 btape JobId 0: 3304 Issuing autochanger "load slot 2, drive 0" command for vol TestVolume2.
> >02-Aug 21:23 btape JobId 0: 3305 Autochanger "load slot 2, drive 0", status is OK for vol TestVolume2.
> >Wrote Volume label for volume "TestVolume2".
> >02-Aug 21:24 btape JobId 0: Wrote label to prelabeled Volume "TestVolume2" on tape device "TAPE01" (/dev/nst0)
> >02-Aug 21:24 btape JobId 0: New volume "TestVolume2" mounted on device "TAPE01" (/dev/nst0) at 02-Aug-2016 21:24.
> >btape: btape.c:2315-0 Wrote 1000 blocks on second tape. Done.
> >Done writing 0 records ...
> >Wrote End of Session label.
> >btape: btape.c:2384-0 Wrote state file last_block_num1=14968 last_block_num2=1001
> >btape: btape.c:2402-0
> >
> >21:24:11 Done filling tapes at 0:1003. Now beginning re-read of first tape ...
> >btape: btape.c:2480-0 Enter do_unfill
> >02-Aug 21:24 btape JobId 0: 3307 Issuing autochanger "unload slot 2, drive 0" command for vol TestVolume1.
> >02-Aug 21:25 btape JobId 0: 3304 Issuing autochanger "load slot 1, drive 0" command for vol TestVolume1.
> >02-Aug 21:26 btape JobId 0: 3305 Autochanger "load slot 1, drive 0", status is OK for vol TestVolume1.
> >02-Aug 21:26 btape JobId 0: Ready to read from volume "TestVolume1" on tape device "TAPE01" (/dev/nst0).
> >Rewinding.
> >Reading the first 10000 records from 0:0.
> >10000 records read now at 1:1251
> >Reposition from 1:1251 to 504:14968
> >Reading block 14968.
> >
> >
> >The blocks differ at byte 0
> >
> >
> >!!!! The last block written and the block
> >that was read back differ. The test FAILED !!!!
> >This must be corrected before you use Bacula
> >to write multi-tape Volumes.!!!!
> >02-Aug 21:28 btape JobId 0: 3307 Issuing autochanger "unload slot 1, drive 0" command for vol TestVolume2.
> >02-Aug 21:30 btape JobId 0: 3304 Issuing autochanger "load slot 2, drive 0" command for vol TestVolume2.
> >02-Aug 21:31 btape JobId 0: 3305 Autochanger "load slot 2, drive 0", status is OK for vol TestVolume2.
> >02-Aug 21:31 btape JobId 0: Ready to read from volume "TestVolume2" on tape device "TAPE01" (/dev/nst0).
> >Reposition from 0:0 to 0:1
> >Reading block 1.
> >
> >The first block on the second tape matches.
> >
> >Reposition from 0:2 to 0:1001
> >Reading block 1001.
> >
> >The blocks differ at byte 0
> >
> >
> >!!!! The last block written and the block
> >that was read back differ. The test FAILED !!!!
> >This must be corrected before you use Bacula
> >to write multi-tape Volumes.!!!!
> >btape: btape.c:2407-0 do_unfill failed.
> >
> >     Here's the pertinent parts of bacula-sd.conf:
> >
> >Device {
> >   Name = TAPE01
> >   Media Type = LTO
> >   Archive Device = /dev/nst0
> >   AutomaticMount = yes;               # when device opened, read it
> >   AlwaysOpen = yes;
> >   RemovableMedia = yes;
> >   RandomAccess = no;
> >#  Maximum Volume Size = 10G
> >#  Maximum File Size = 5GB
> >#  Maximum Block Size = 262144
> >## Changer Command = "/usr/local/bacula-7.4.3/etc/mtx-changer %c %o %S %a %d"
> ># Changer Device = /dev/sg4
> >  AutoChanger = yes
> >  DriveIndex = 0
> >   # Enable the Alert command only if you have the mtx package loaded
> ># Alert Command = "sh -c '/usr/local/bacula/sbin/tapeinfo -f %c |grep TapeAlert|
> >cat'"
> ># If you have smartctl, enable this, it has more info than tapeinfo
> >Alert Command = "sh -c '/usr/sbin/smartctl -H -l error %c'"
> >}
> >Device {
> >   Name = TAPE02
> >   Media Type = LTO
> >   Archive Device = /dev/nst1
> >   AutomaticMount = yes;               # when device opened, read it
> >   AlwaysOpen = yes;
> >   RemovableMedia = yes;
> >   RandomAccess = no;
> >#  Maximum Volume Size = 10G
> >#  Maximum File Size = 5GB
> >#  Maximum Block Size = 262144
> >## Changer Command = "/usr/local/bacula-7.4.3/etc/mtx-changer %c %o %S %a %d"
> ># Changer Device = /dev/sg4
> >  AutoChanger = yes
> >  DriveIndex = 1
> >   # Enable the Alert command only if you have the mtx package loaded
> ># Alert Command = "sh -c '/usr/local/bacula/sbin/tapeinfo -f %c |grep TapeAlert|
> >cat'"
> ># If you have smartctl, enable this, it has more info than tapeinfo
> >  Alert Command = "sh -c '/usr/sbin/smartctl -H -l error %c'"
> >}
> >
> >Autochanger {
> >   Name = tl5
> >   Device = TAPE01
> >   Device = TAPE02
> >   Changer Command = "/usr/local/bacula-7.4.3/etc/mtx-changer %c %o %S %a %d"
> >   Changer Device = /dev/sg4
> >}
> >
> >     I'm running out of ideas here.  Any assistance would be appreciated.
> >

--

    Pete Szaban, Graphics/Network Analyst & Tech. |     (413) 782-1239
            Western New England University        |     [hidden email]
              Springfield, Ma. 01119

------------------------------------------------------------------------------
_______________________________________________
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: Bacula btape multivolume fill test help requested

Thomas Franz
In reply to this post by Kern Sibbald
Hello Peter,

if you are still reading here and still have  the problem.
We have the same problem with FreeBsd.
Now we found it.  It is a logical error in handling the last block of a
tape.

I made a bug report a year ago, but is was solved only partially.

This little patch is solving the problem.
Maybe there is a more elegant way, but it works.

Finally we  can switch  to bacula7.


Best regards,

Thomas


--- src/stored/block_util.c.orig        2016-07-06 21:03:41.000000000 +0200
+++ src/stored/block_util.c     2016-11-11 20:57:49.365190000 +0100
@@ -205,7 +205,6 @@
     Dmsg3(200, "empty len=%d block=%p set binbuf=%d\n",
           block->buf_len, block, block->binbuf);
     block->bufp = block->buf + block->binbuf;
-   block->buf[0] = 0;        /* clear for debugging */
     block->bufp[0] = 0;       /* clear for debugging */
     block->read_len = 0;
     block->write_failed = false;







Am 04.08.2016 um 13:44 schrieb Kern Sibbald:

> Hello,
>
> I suggest you go back to the default tape configuration.  Then
> make sure you are using the Linux st kernel driver and not the
> kernel driver that IBM supplies.  The IBM driver is not compatible
> with Bacula.
>
> If that does not solve your problems, either others on this list
> can help you, or you will need professional help.
>
> Best regards,
> Kern
>
> On 08/03/2016 09:24 PM, Peter Szaban wrote:
>> Hello,
>>
>>       I'm having trouble installing bacula 7.4.3 on a SuSE LEAP 42.1
>> 64 bit system with kernel 4.1.26-21-default on an LTO6 tape
>> library.
>>
>>       Btape's "test" and "autochanger" tests successful, but the multi-volume
>> "fill" test is failing.  I was hoping some kind person could make some
>> suggestions about how to fix this.
>>
>>       I interpret btape to be  saying it is having trouble re-reading the
>> last block it wrote to a tape after loading a tape.  Maybe it's having
>> trouble positioning to the correct spot on the tape.
>>
>>       I decided this isn't an issue with the physical end of tape, because
>> I tried setting "Maximum Volume Size = 10G" (which makes the fill test
>> run a lot faster,) and encountered the exact same problem.
>>
>>       At one point, I also unsuccessfully tried using stinit to change tape
>> drive properties with guidance from:
>>
>>       http://www.bacula.org/5.2.x-manuals/en/problems/problems/Testing_Your_Tape_Drive.html#SECTION00434000000000000000
>>
>> manufacturer=IBM model = "ULTRIUM-TD6" {
>> scsi2logical=1
>> sysv=0
>> read-ahead=1
>> buffering=1
>> async-writes=1
>> mode1 blocksize=0 compression=1 }
>>
>>
>>       I google'd this problem and found that some people with FreeBSD
>> fixed a similar problem by setting "BSF at EOM = yes".  That isn't my
>> problem however, because When I set that option in bacula-sd.conf,
>> btape's "test" fails.
>>
>>     Here's some output from mt on the tape drive:
>>
>> mt -f /dev/st0 status
>> drive type = Generic SCSI-2 tape
>> drive status = 1509949440
>> sense key error = 0
>> residue count = 0
>> file number = 0
>> block number = 0
>> Tape block size 0 bytes. Density code 0x5a (unknown).
>> Soft error count since last status=0
>> General status bits on (41010000):
>>    BOT ONLINE IM_REP_EN
>>
>>
>>       Here's the output from btape fill:
>> .
>> .
>> .
>> Wrote block=9600000, file,blk=504,6280 VolBytes=2,516,582,137,856 rate=144.8 MB/s
>> Wrote block=9605000, file,blk=504,11280 VolBytes=2,517,892,857,856 rate=144.8 MB/s
>> 02-Aug 21:20 btape JobId 0: End of Volume "TestVolume1" at 504:14969 on device "TAPE01" (/dev/nst0). Write of 262144 bytes got -1.
>> 02-Aug 21:20 btape JobId 0: Re-read of last block succeeded.
>> btape: btape.c:2712-0 Last block at: 504:14968 this_dev_block_num=14969
>> btape: btape.c:2747-0 End of tape 504:0. Volume Bytes=2,518,859,907,072. Write rate = 144.7 MB/s
>> 02-Aug 21:20 btape JobId 0: End of medium on Volume "TestVolume1" Bytes=2,518,859,907,072 Blocks=9,608,688 at 02-Aug-2016 21:20.
>> 02-Aug 21:20 btape JobId 0: 3307 Issuing autochanger "unload slot 1, drive 0" command for vol TestVolume1.
>> 02-Aug 21:22 btape JobId 0: 3304 Issuing autochanger "load slot 2, drive 0" command for vol TestVolume2.
>> 02-Aug 21:23 btape JobId 0: 3305 Autochanger "load slot 2, drive 0", status is OK for vol TestVolume2.
>> Wrote Volume label for volume "TestVolume2".
>> 02-Aug 21:24 btape JobId 0: Wrote label to prelabeled Volume "TestVolume2" on tape device "TAPE01" (/dev/nst0)
>> 02-Aug 21:24 btape JobId 0: New volume "TestVolume2" mounted on device "TAPE01" (/dev/nst0) at 02-Aug-2016 21:24.
>> btape: btape.c:2315-0 Wrote 1000 blocks on second tape. Done.
>> Done writing 0 records ...
>> Wrote End of Session label.
>> btape: btape.c:2384-0 Wrote state file last_block_num1=14968 last_block_num2=1001
>> btape: btape.c:2402-0
>>
>> 21:24:11 Done filling tapes at 0:1003. Now beginning re-read of first tape ...
>> btape: btape.c:2480-0 Enter do_unfill
>> 02-Aug 21:24 btape JobId 0: 3307 Issuing autochanger "unload slot 2, drive 0" command for vol TestVolume1.
>> 02-Aug 21:25 btape JobId 0: 3304 Issuing autochanger "load slot 1, drive 0" command for vol TestVolume1.
>> 02-Aug 21:26 btape JobId 0: 3305 Autochanger "load slot 1, drive 0", status is OK for vol TestVolume1.
>> 02-Aug 21:26 btape JobId 0: Ready to read from volume "TestVolume1" on tape device "TAPE01" (/dev/nst0).
>> Rewinding.
>> Reading the first 10000 records from 0:0.
>> 10000 records read now at 1:1251
>> Reposition from 1:1251 to 504:14968
>> Reading block 14968.
>>
>>
>> The blocks differ at byte 0
>>
>>
>> !!!! The last block written and the block
>> that was read back differ. The test FAILED !!!!
>> This must be corrected before you use Bacula
>> to write multi-tape Volumes.!!!!
>> 02-Aug 21:28 btape JobId 0: 3307 Issuing autochanger "unload slot 1, drive 0" command for vol TestVolume2.
>> 02-Aug 21:30 btape JobId 0: 3304 Issuing autochanger "load slot 2, drive 0" command for vol TestVolume2.
>> 02-Aug 21:31 btape JobId 0: 3305 Autochanger "load slot 2, drive 0", status is OK for vol TestVolume2.
>> 02-Aug 21:31 btape JobId 0: Ready to read from volume "TestVolume2" on tape device "TAPE01" (/dev/nst0).
>> Reposition from 0:0 to 0:1
>> Reading block 1.
>>
>> The first block on the second tape matches.
>>
>> Reposition from 0:2 to 0:1001
>> Reading block 1001.
>>
>> The blocks differ at byte 0
>>
>>
>> !!!! The last block written and the block
>> that was read back differ. The test FAILED !!!!
>> This must be corrected before you use Bacula
>> to write multi-tape Volumes.!!!!
>> btape: btape.c:2407-0 do_unfill failed.
>>
>>       Here's the pertinent parts of bacula-sd.conf:
>>
>> Device {
>>     Name = TAPE01
>>     Media Type = LTO
>>     Archive Device = /dev/nst0
>>     AutomaticMount = yes;               # when device opened, read it
>>     AlwaysOpen = yes;
>>     RemovableMedia = yes;
>>     RandomAccess = no;
>> #  Maximum Volume Size = 10G
>> #  Maximum File Size = 5GB
>> #  Maximum Block Size = 262144
>> ## Changer Command = "/usr/local/bacula-7.4.3/etc/mtx-changer %c %o %S %a %d"
>> # Changer Device = /dev/sg4
>>    AutoChanger = yes
>>    DriveIndex = 0
>>     # Enable the Alert command only if you have the mtx package loaded
>> # Alert Command = "sh -c '/usr/local/bacula/sbin/tapeinfo -f %c |grep TapeAlert|
>> cat'"
>> # If you have smartctl, enable this, it has more info than tapeinfo
>> Alert Command = "sh -c '/usr/sbin/smartctl -H -l error %c'"
>> }
>> Device {
>>     Name = TAPE02
>>     Media Type = LTO
>>     Archive Device = /dev/nst1
>>     AutomaticMount = yes;               # when device opened, read it
>>     AlwaysOpen = yes;
>>     RemovableMedia = yes;
>>     RandomAccess = no;
>> #  Maximum Volume Size = 10G
>> #  Maximum File Size = 5GB
>> #  Maximum Block Size = 262144
>> ## Changer Command = "/usr/local/bacula-7.4.3/etc/mtx-changer %c %o %S %a %d"
>> # Changer Device = /dev/sg4
>>    AutoChanger = yes
>>    DriveIndex = 1
>>     # Enable the Alert command only if you have the mtx package loaded
>> # Alert Command = "sh -c '/usr/local/bacula/sbin/tapeinfo -f %c |grep TapeAlert|
>> cat'"
>> # If you have smartctl, enable this, it has more info than tapeinfo
>>    Alert Command = "sh -c '/usr/sbin/smartctl -H -l error %c'"
>> }
>>
>> Autochanger {
>>     Name = tl5
>>     Device = TAPE01
>>     Device = TAPE02
>>     Changer Command = "/usr/local/bacula-7.4.3/etc/mtx-changer %c %o %S %a %d"
>>     Changer Device = /dev/sg4
>> }
>>
>>       I'm running out of ideas here.  Any assistance would be appreciated.
>>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Bacula-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/bacula-users

--
Thomas Franz

Data-Service GmbH
Beethovenstr. 2A
23617 Stockelsdorf
Amtsgericht Lübeck, HRB 318 BS
Geschäftsführer: Wilfried Paepcke, Dr. Andreas Longwitz, Josef Flatau


------------------------------------------------------------------------------

_______________________________________________
Bacula-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-users

patch-src_stored_block_util.c (484 bytes) Download Attachment
Loading...