5

I'm having problems reading a 3592 JB IBM (700GB) tape using a TS1140 (E07) drive. The tape was written using a TS1130 (E06) drive with compression up to 1TB as specified on the label of the tape. According to IBM's tape specifications webpage, the TS1140 drives should be backward compatible to read tapes written in TS1120 (E05) and TS1130 drives. However, when I attempt to read this tape it throws an I/O error and stalls at around 240mb. I have managed to get up to 8GB from the tape using dd with a block size of 256K, however this stalls as well.

Eg.

[user1@server-le1 ~]$ dd if=/dev/IBMtape10 of=/myoutputpath/File_1.dat bs=512k
dd: reading `/dev/IBMtape10': Input/output error
0+46011 records in
0+46011 records out
379301796 bytes (379 MB) copied, 833.756 s, 455 kB/s

Is anyone experienced with IBM tape drives able to help me resolve this issue?

The tape creator has said they are able to read this using their 1140 drives. So I'm thinking is this a drive setting that needs to be changed? Or is there something else?

  • 1
    community.emc.com/thread/202091?start=0&tstart=0 seems to suggest the block size should be 384KiB. Curious to know whether that works better then your 256KiB block size. (Another reference suggests 32KiB but I'm not sure whether it's quoting a comparable performance indicator or it's referring to the default block size.) – roaima Jul 5 '17 at 0:27
  • 2
    @roaima thanks for the suggestions, I have had a look at your second reference and had no success. I am currently trying bs=384K and so far it seems to have retrieved over 2GB. I will let you know if it finishes. – Master Mick Jul 5 '17 at 4:40
  • @roaima unfortunately this didnt work either. It only managed to copy 5.4GB. I am starting to think that I need to look at updating tape drivers perhaps and also looking at other options for copying the data over. I am not too sure if this is a block size issue, but a tape drive setting maybe. – Master Mick Jul 5 '17 at 23:14
  • 1
    Wondering if the data has Logical EOF markers in it. To handle these you need the non-rewind-on-close device and you loop reading the next section from the tape until you hit EOT. – roaima Jul 6 '17 at 7:23
  • The data does have single EOF makers and double to determine EOT. There should be 5 EOF file markers on this particular tape. And I do have a Perl written script to handle these using dd, however it still does not read the entire tape. The most I could get was using conv=noerror,sync flag using dd. I got 137GB then it failed with I/O error again. – Master Mick Jul 7 '17 at 0:32
3
+25

Throwing a couple of ideas here. This might solve your issue or not at all, but I'd try to copy the contents using cat:

cat /dev/IBMtape10 > /myoutputpath/File_1.dat

This because cat will automatically adjust the blocksize to an optimum value according to the available I/O speed, without forcing a specified buffer size.

You might try also to operate directly on /dev/IBMtape10 via the mt command.

  • Great, I will try the cat cmd tomorrow when I have access to the server. However, can you elaborate on the mt command? Can it be used to output data to a file? I have tried doing a status using mt and also fsf 1 to go to the first file mark, however I receive I/O errors. – Master Mick Jul 11 '17 at 10:54
  • I think you use mt to position the tape head, then dd or cat to write to an external file. I don't use tape drives often :/ but the manpage has some useful information on it. Here's some other info: cyberciti.biz/hardware/… – dr01 Jul 11 '17 at 11:08
  • Unfortunately, cat failed also. And yes, I have tried using mt to position to the first EOF marker, but this returns an I/O error as well. At this stage we have contacted IBM to confirm our tape drivers are up to date and seek further support from them. Thanks for your suggestions. – Master Mick Jul 14 '17 at 4:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.