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
Bacula-users@lists.sourceforge.net
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

--- 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;
------------------------------------------------------------------------------
_______________________________________________
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users

Reply via email to