Bacula-users

Re: [Bacula-users] Bacula btape multivolume fill test help requested

2016-08-04 11:07:27
Subject: Re: [Bacula-users] Bacula btape multivolume fill test help requested
From: Peter Szaban <pszaban AT wne DOT edu>
To: Kern Sibbald <kern AT sibbald DOT com>
Date: Thu, 4 Aug 2016 11:05:30 -0400
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        |     pszaban AT wne DOT edu
              Springfield, Ma. 01119

------------------------------------------------------------------------------
_______________________________________________
Bacula-users mailing list
Bacula-users AT lists.sourceforge DOT net
https://lists.sourceforge.net/lists/listinfo/bacula-users

<Prev in Thread] Current Thread [Next in Thread>