Hi all,

I would like to report problem with btape tests with bareos-storage-tape 
package in versions greater than 14.2.

My environment is CentOS 6.8 i686. I have Dell PowerVault 124T tape library 
attached to server for backup purpose.

I installed bareos 14.2 and btape test works fine. I configured backups: tape 
drive and auto loader work like expected.

I wanted to move to version 15.2 to test vmware plugin, uninstalled version 
14.2, installed version 15.2 (via yum from bareos repository) but btape test 
reports errors. I tried also version 16.3, same results. When I return to 
version 14.2 everything works normally.

I thought that problem is may be with block size but even when I set in bareos 
tape device definition  fixed block size I can't pass btape tests with versions 
15.2 and 16.3.

Did anybody experience same problem.

Thanks for answers and help,

Boris

Here are results of tests

#wget -O /etc/yum.repos.d/bareos.repo 
http://download.bareos.org/bareos/experimental/nightly/CentOS_6/bareos:master.repo
#yum install bareos-storage-tape

/etc/bareos/bareos-sd.d/device/FileStorage.conf
Autochanger {
  Name = PV-124T
  Device = ULTRIUM-TD3
  Changer Device = /dev/sg6
  Changer Command = "/usr/lib/bareos/scripts/mtx-changer %c %o %S %a %d"
}

Device {
  Name = ULTRIUM-TD3
  Media Type = LTO-3
  Archive Device = /dev/nst0
  Autochanger = yes
  AutomaticMount = yes
  AlwaysOpen = yes
}

# btape -v /dev/nst0
Tape block granularity is 1024 bytes.
btape: butil.c:274-0 Using device: "/dev/nst0" for writing.
btape: btape.c:482-0 open device "ULTRIUM-TD3" (/dev/nst0): OK
*test

=== Write, rewind, and re-read test ===

I'm going to write 10000 records and an EOF
then write 0 records and an EOF, then rewind,
and re-read the data to verify that it is correct.

This is an *essential* feature ...

btape: btape.c:1167-0 Wrote 10000 blocks of 0 bytes.
btape: btape.c:614-0 Wrote 1 EOF to "ULTRIUM-TD3" (/dev/nst0)
btape: btape.c:1183-0 Wrote 10000 blocks of 0 bytes.
btape: btape.c:614-0 Wrote 1 EOF to "ULTRIUM-TD3" (/dev/nst0)
btape: btape.c:1225-0 Rewind OK.
05-Sep 13:43 btape JobId 0: Error: block.c:333 Volume data error at 0:0!
Block checksum mismatch in block=0 len=64448: calc=aab08ced blk=b1d8a199
btape: block.c:96-0 Dump block with checksum error 8c0a888: size=64448 BlkNum=0
               Hdrcksum=b1d8a199 cksum=aab08ced
btape: block.c:109-0    Rec: VId=0 VT=0 FI=0 Strm=0 len=64412 p=8c0ea00
btape: block.c:109-0    Rec: VId=0 VT=0 FI=1431655765 Strm=1431655765 
len=1431655765 p=8c1e5a8
btape: btape.c:1245-0 Read block 1 failed! ERR=Input/output error


Or

# btape -v /dev/nst0
Tape block granularity is 1024 bytes.
btape: butil.c:274-0 Using device: "/dev/nst0" for writing.
btape: btape.c:482-0 open device "ULTRIUM-TD3" (/dev/nst0): OK
*test

=== Write, rewind, and re-read test ===

I'm going to write 10000 records and an EOF
then write 0 records and an EOF, then rewind,
and re-read the data to verify that it is correct.

This is an *essential* feature ...

btape: btape.c:1167-0 Wrote 10000 blocks of 0 bytes.
btape: btape.c:614-0 Wrote 1 EOF to "ULTRIUM-TD3" (/dev/nst0)
btape: btape.c:1183-0 Wrote 10000 blocks of 0 bytes.
btape: btape.c:614-0 Wrote 1 EOF to "ULTRIUM-TD3" (/dev/nst0)
btape: btape.c:1225-0 Rewind OK.
btape: btape.c:1257-0 Bad data in record. Expected 1, got 20000 at byte 0. Test 
failed!
*
[root@rajdolina ~]# btape -v /dev/nst0
Tape block granularity is 1024 bytes.
btape: butil.c:274-0 Using device: "/dev/nst0" for writing.
btape: btape.c:482-0 open device "ULTRIUM-TD3" (/dev/nst0): OK
*test

=== Write, rewind, and re-read test ===

I'm going to write 10000 records and an EOF
then write 0 records and an EOF, then rewind,
and re-read the data to verify that it is correct.

This is an *essential* feature ...

btape: btape.c:1167-0 Wrote 10000 blocks of 0 bytes.
btape: btape.c:614-0 Wrote 1 EOF to "ULTRIUM-TD3" (/dev/nst0)
btape: btape.c:1183-0 Wrote 10000 blocks of 0 bytes.
btape: btape.c:614-0 Wrote 1 EOF to "ULTRIUM-TD3" (/dev/nst0)
btape: btape.c:1225-0 Rewind OK.
btape: btape.c:1257-0 Bad data in record. Expected 1, got 20000 at byte 0. Test 
failed!
*


=== Autochanger test ===

3301 Issuing autochanger "loaded" command.
Slot 1 loaded. I am going to unload it.
3302 Issuing autochanger "unload 1 0" command.
unload status=OK 0
3303 Issuing autochanger "load 1 0" command.
3303 Autochanger "load 1 0" status is OK.
btape: btape.c:482-0 open device "ULTRIUM-TD3" (/dev/nst0): OK
btape: btape.c:1583-0 Rewound "ULTRIUM-TD3" (/dev/nst0)
btape: btape.c:1590-0 Wrote EOF to "ULTRIUM-TD3" (/dev/nst0)

The test autochanger worked!!


Version 14.2

btape tests works normally with  version 14.2


wget -O /etc/yum.repos.d/bareos.repo 
http://download.bareos.org/bareos/release/14.2/RHEL_6/bareos.repo

yum install bareos-storage-tape

# btape -v /dev/nst0
Tape block granularity is 1024 bytes.
btape: butil.c:301-0 Using device: "/dev/nst0" for writing.
btape: btape.c:484-0 open device "ULTRIUM-TD3" (/dev/nst0): OK
*test

=== Write, rewind, and re-read test ===

I'm going to write 10000 records and an EOF
then write 0 records and an EOF, then rewind,
and re-read the data to verify that it is correct.

This is an *essential* feature ...

btape: btape.c:1171-0 Wrote 10000 blocks of 0 bytes.
btape: btape.c:616-0 Wrote 1 EOF to "ULTRIUM-TD3" (/dev/nst0)
btape: btape.c:1187-0 Wrote 10000 blocks of 0 bytes.
btape: btape.c:616-0 Wrote 1 EOF to "ULTRIUM-TD3" (/dev/nst0)
btape: btape.c:1229-0 Rewind OK.
10000 blocks re-read correctly.
Got EOF on tape.
10000 blocks re-read correctly.
=== Test Succeeded. End Write, rewind, and re-read test ===

btape: btape.c:1297-0 Block position test
btape: btape.c:1309-0 Rewind OK.
Reposition to file:block 0:4
Block 5 re-read correctly.
Reposition to file:block 0:200
Block 201 re-read correctly.
Reposition to file:block 0:9999
Block 10000 re-read correctly.
Reposition to file:block 1:0
Block 10001 re-read correctly.
Reposition to file:block 1:600
Block 10601 re-read correctly.
Reposition to file:block 1:9999
Block 20000 re-read correctly.
=== Test Succeeded. End Write, rewind, and re-read test ===



=== Append files test ===

This test is essential to Bareos.

I'm going to write one record  in file 0,
                   two records in file 1,
             and three records in file 2

btape: btape.c:586-0 Rewound "ULTRIUM-TD3" (/dev/nst0)
btape: btape.c:1928-0 Wrote one record of 64412 bytes.
btape: btape.c:1930-0 Wrote block to device.
btape: btape.c:616-0 Wrote 1 EOF to "ULTRIUM-TD3" (/dev/nst0)
btape: btape.c:1928-0 Wrote one record of 64412 bytes.
btape: btape.c:1930-0 Wrote block to device.
btape: btape.c:1928-0 Wrote one record of 64412 bytes.
btape: btape.c:1930-0 Wrote block to device.
btape: btape.c:616-0 Wrote 1 EOF to "ULTRIUM-TD3" (/dev/nst0)
btape: btape.c:1928-0 Wrote one record of 64412 bytes.
btape: btape.c:1930-0 Wrote block to device.
btape: btape.c:1928-0 Wrote one record of 64412 bytes.
btape: btape.c:1930-0 Wrote block to device.
btape: btape.c:1928-0 Wrote one record of 64412 bytes.
btape: btape.c:1930-0 Wrote block to device.
btape: btape.c:616-0 Wrote 1 EOF to "ULTRIUM-TD3" (/dev/nst0)
btape: btape.c:484-0 open device "ULTRIUM-TD3" (/dev/nst0): OK
btape: btape.c:586-0 Rewound "ULTRIUM-TD3" (/dev/nst0)
btape: btape.c:1441-0 Now moving to end of medium.
btape: btape.c:637-0 Moved to end of medium.
We should be in file 3. I am at file 3. This is correct!

Now the important part, I am going to attempt to append to the tape.

btape: btape.c:1928-0 Wrote one record of 64412 bytes.
btape: btape.c:1930-0 Wrote block to device.
btape: btape.c:616-0 Wrote 1 EOF to "ULTRIUM-TD3" (/dev/nst0)
btape: btape.c:586-0 Rewound "ULTRIUM-TD3" (/dev/nst0)
Done appending, there should be no I/O errors

Doing Bareos scan of blocks:
Block=19999 file,blk=0,1 blen=64448 First rec FI=0 SessId=0 SessTim=0 Strm=0 
rlen=64412
1 block of 64448 bytes in file 1
End of File mark.
Block=20000 file,blk=1,1 blen=64448 First rec FI=0 SessId=0 SessTim=0 Strm=0 
rlen=64412
Block=20001 file,blk=1,2 blen=64448 First rec FI=0 SessId=0 SessTim=0 Strm=0 
rlen=64412
2 blocks of 64448 bytes in file 2
End of File mark.
Block=20002 file,blk=2,1 blen=64448 First rec FI=0 SessId=0 SessTim=0 Strm=0 
rlen=64412
Block=20003 file,blk=2,2 blen=64448 First rec FI=0 SessId=0 SessTim=0 Strm=0 
rlen=64412
Block=20004 file,blk=2,3 blen=64448 First rec FI=0 SessId=0 SessTim=0 Strm=0 
rlen=64412
3 blocks of 64448 bytes in file 3
End of File mark.
Block=20005 file,blk=3,1 blen=64448 First rec FI=0 SessId=0 SessTim=0 Strm=0 
rlen=64412
1 block of 64448 bytes in file 4
End of File mark.
Total files=4, blocks=7, bytes = 451,136
End scanning the tape.
We should be in file 4. I am at file 4. This is correct!

The above Bareos scan should have output identical to what follows.
Please double check it ...
=== Sample correct output ===
1 block of 64448 bytes in file 1
End of File mark.
2 blocks of 64448 bytes in file 2
End of File mark.
3 blocks of 64448 bytes in file 3
End of File mark.
1 block of 64448 bytes in file 4
End of File mark.
Total files=4, blocks=7, bytes = 451,136
=== End sample correct output ===

If the above scan output is not identical to the
sample output, you MUST correct the problem
or Bareos will not be able to write multiple Jobs to
the tape.


=== Write, backup, and re-read test ===

I'm going to write three records and an EOF
then backup over the EOF and re-read the last record.
Bareos does this after writing the last block on the
tape to verify that the block was written correctly.

This is not an *essential* feature ...

btape: btape.c:586-0 Rewound "ULTRIUM-TD3" (/dev/nst0)
btape: btape.c:823-0 Wrote first record of 64412 bytes.
btape: btape.c:834-0 Wrote second record of 64412 bytes.
btape: btape.c:845-0 Wrote third record of 64412 bytes.
btape: btape.c:616-0 Wrote 1 EOF to "ULTRIUM-TD3" (/dev/nst0)
btape: btape.c:861-0 Backspaced over EOF OK.
btape: btape.c:866-0 Backspace record OK.
btape: btape.c:884-0
Block re-read correct. Test succeeded!
=== End Write, backup, and re-read test ===



=== Forward space files test ===

This test is essential to Bareos.

I'm going to write five files then test forward spacing

btape: btape.c:586-0 Rewound "ULTRIUM-TD3" (/dev/nst0)
btape: btape.c:1928-0 Wrote one record of 64412 bytes.
btape: btape.c:1930-0 Wrote block to device.
btape: btape.c:616-0 Wrote 1 EOF to "ULTRIUM-TD3" (/dev/nst0)
btape: btape.c:1928-0 Wrote one record of 64412 bytes.
btape: btape.c:1930-0 Wrote block to device.
btape: btape.c:1928-0 Wrote one record of 64412 bytes.
btape: btape.c:1930-0 Wrote block to device.
btape: btape.c:616-0 Wrote 1 EOF to "ULTRIUM-TD3" (/dev/nst0)
btape: btape.c:1928-0 Wrote one record of 64412 bytes.
btape: btape.c:1930-0 Wrote block to device.
btape: btape.c:1928-0 Wrote one record of 64412 bytes.
btape: btape.c:1930-0 Wrote block to device.
btape: btape.c:1928-0 Wrote one record of 64412 bytes.
btape: btape.c:1930-0 Wrote block to device.
btape: btape.c:616-0 Wrote 1 EOF to "ULTRIUM-TD3" (/dev/nst0)
btape: btape.c:1928-0 Wrote one record of 64412 bytes.
btape: btape.c:1930-0 Wrote block to device.
btape: btape.c:1928-0 Wrote one record of 64412 bytes.
btape: btape.c:1930-0 Wrote block to device.
btape: btape.c:616-0 Wrote 1 EOF to "ULTRIUM-TD3" (/dev/nst0)
btape: btape.c:1928-0 Wrote one record of 64412 bytes.
btape: btape.c:1930-0 Wrote block to device.
btape: btape.c:616-0 Wrote 1 EOF to "ULTRIUM-TD3" (/dev/nst0)
btape: btape.c:586-0 Rewound "ULTRIUM-TD3" (/dev/nst0)
btape: btape.c:1655-0 Now forward spacing 1 file.
We should be in file 1. I am at file 1. This is correct!
btape: btape.c:1667-0 Now forward spacing 2 files.
We should be in file 3. I am at file 3. This is correct!
btape: btape.c:586-0 Rewound "ULTRIUM-TD3" (/dev/nst0)
btape: btape.c:1680-0 Now forward spacing 4 files.
We should be in file 4. I am at file 4. This is correct!

btape: btape.c:1698-0 Now forward spacing 1 more file.
We should be in file 5. I am at file 5. This is correct!

=== End Forward space files test ===


Ah, I see you have an autochanger configured.
To test the autochanger you must have a blank tape
 that I can write on in Slot 1.

Do you wish to continue with the Autochanger test? (y/n): y


=== Autochanger test ===

3301 Issuing autochanger "loaded" command.
Slot 1 loaded. I am going to unload it.
3302 Issuing autochanger "unload 1 0" command.
unload status=OK 0
3303 Issuing autochanger "load 1 0" command.
3303 Autochanger "load 1 0" status is OK.
btape: btape.c:484-0 open device "ULTRIUM-TD3" (/dev/nst0): OK
btape: btape.c:1585-0 Rewound "ULTRIUM-TD3" (/dev/nst0)
btape: btape.c:1592-0 Wrote EOF to "ULTRIUM-TD3" (/dev/nst0)

The test autochanger worked!!



-- 
You received this message because you are subscribed to the Google Groups 
"bareos-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to bareos-users+unsubscr...@googlegroups.com.
To post to this group, send email to bareos-users@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to