> > I think I have everything set up, all the tapes are labelled and Bacula > > switches tapes when each one fills up, however after the first tape > > started writing at 80MB/sec, the rest of them only write at 60-65MB/sec. > > [...] > > Are you sure that both the drive and the tapes are still in a decent > shape, not being worn-out? Have you tested the drive with btape? If yes, > what was the result?
The drive passes all the vendor tests without any issues and the tapes are brand new, so there should be no issues there. I had not thought to try the btape program, thank you for pointing that out. Combined with the "tapestat" program which prints throughput in MB/sec, it has revealed some interesting behaviour and the probable cause of the issue. btape: btape.c:1074-0 Test with random data, should give the minimum throughput. btape: btape.c:911-0 Begin writing 8 files of 1.073 GB with raw blocks of 1048576 bytes. +++ btape: btape.c:612-0 Wrote 1 EOF to "peapod-d1" (/dev/tape/by-id/scsi-350014380125815e1-nst) btape: btape.c:411-0 Volume bytes=1.073 GB. Write rate = 82.59 MB/s ++ btape: btape.c:612-0 Wrote 1 EOF to "peapod-d1" (/dev/tape/by-id/scsi-350014380125815e1-nst) btape: btape.c:411-0 Volume bytes=1.073 GB. Write rate = 67.10 MB/s ++ btape: btape.c:612-0 Wrote 1 EOF to "peapod-d1" (/dev/tape/by-id/scsi-350014380125815e1-nst) btape: btape.c:411-0 Volume bytes=1.073 GB. Write rate = 71.58 MB/s ++ btape: btape.c:612-0 Wrote 1 EOF to "peapod-d1" (/dev/tape/by-id/scsi-350014380125815e1-nst) btape: btape.c:411-0 Volume bytes=1.073 GB. Write rate = 67.10 MB/s [...] btape: btape.c:385-0 Total Volume bytes=8.589 GB. Total Write rate = 70.40 MB/s At each point where btape says it wrote an EOF mark, the throughput drops to zero, the drive stops, backtracks, then starts again with the next file. The throughput btape reports for the second and subsequent files is slower, because it is including the tape backtrack time in the overall calculation. So it looks like when Bacula/btape writes an EOF mark, this causes the buffers to completely flush out and the drive then runs out of data and is forced to stop and shoe-shine. To confirm this, instead of writing 8x 1GB files as above, I tried writing 1x 8GB file, and sure enough there is no shoe-shining: btape: btape.c:1074-0 Test with random data, should give the minimum throughput. btape: btape.c:911-0 Begin writing 1 files of 8.589 GB with raw blocks of 1048576 bytes. +++++++++++++++++ btape: btape.c:612-0 Wrote 1 EOF to "peapod-d1" (/dev/tape/by-id/scsi-350014380125815e1-nst) btape: btape.c:411-0 Volume bytes=8.589 GB. Write rate = 110.1 MB/s btape: btape.c:385-0 Total Volume bytes=8.589 GB. Total Write rate = 110.1 MB/s I've had a look through the storage daemon options but I can't see anything relevant. I take it disabling the writing of EOF marks is not an option? Is there any way to somehow disable flushing on EOF? I'm running Linux kernel 4.18.16 if that's relevant. Cheers, Adam. _______________________________________________ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users