Networker

[Networker] Reading/writing SAIT1 tapes on Linux that were written by solaris?

2005-11-30 12:58:55
Subject: [Networker] Reading/writing SAIT1 tapes on Linux that were written by solaris?
From: Oscar Olsson <spam1 AT QBRANCH DOT SE>
To: NETWORKER AT LISTSERV.TEMPLE DOT EDU
Date: Wed, 30 Nov 2005 18:53:22 +0100
We currently have a 7.2.1 backup server running on Solaris, with SAIT-1 drives. And now we're adding a 7.2.1 storage node, connected to the same library. The storage node is running SuSE EL9 SP2, with kernel 2.6 (64-bit AMD). The drives are connected via a QLogic QLA2340. We are using the HBA driver that was installed per default by SuSE. The drives show up at boot, and are accessable through /dev/st0 or /dev/nst0 and so on. However, when mounting a tape in the drive, it says that it can't read the tape label!

This is what is seen in the logs:

With dmesg (also in /var/log/messages):

st0: Incorrect block size.
st0: Incorrect block size.

And from daemon.log on the main solaris backup server:


11/30/05 18:01:59 nsrd: rd=sn01:/dev/nst0 Verify label operation in progress
11/30/05 18:02:56 nsrd: media warning: rd=sn01:/dev/nst0 reading: Success
11/30/05 18:03:15 nsrd: media warning: rd=sn01:/dev/nst0 reading: no tape label found
11/30/05 18:03:16 nsrd: rd=sn01:/dev/nst0 Eject operation in progress
11/30/05 18:04:13 nsrd: Jukebox 'Osato' failed: expected volume '006950S1' got 'NULL'.


At first, I was thinking that it has something to do with the block size. So I mounted a volume on the Solaris server in order to check what block size that volume had. It was 64K, according to the networker admin GUI. So I configured the SAIT-1 drive on the storage node to use 64K block size, but I still had the same problem. Then I installed the mt_st package, so I could use stinit instead. I tried setting the block size to 0 and to 65535, and I got the same error as above. One interesting thing is that mt always reports the block size as 512 bytes, like this:


sn01:/var/log # mt -f /dev/nst0 status
drive type = Generic SCSI-2 tape
drive status = 1073742336
sense key error = 0
residue count = 0
file number = 0
block number = 0
Tape block size 512 bytes. Density code 0x40 (unknown).
Soft error count since last status=0
General status bits on (41010000):
 BOT ONLINE IM_REP_ENs

The following is what I have in the st.conf on the Solaris box:

tape-config-list=
"SONY    SDZ-100", "Sony Super-AIT1", "SONY_SAIT";
SONY_SAIT       =       1, 0x36, 0, 0x19639, 4, 0x00, 0x00, 0x00, 0x00,0;

And this is what I *THINK* should be in stinit.def (I made it myself looking at EMC/Legatos AIT-3 entry from ftp-legato.com):

# SONY SAIT-1
manufacturer=SONY model = "SDZ-100" {
can-bsr scsi2logical drive-buffering
timeout=800
long-timeout=14400
mode1 blocksize=0 density=0x00
}

NOTE that I have tried doing this without stinit installed as well.

So all this leads me to believe that it might not be related to the block size after all, although it does complain about it. Any clues of why this could be? Bad HBA driver? All help is ofcourse appreciated! :)

//Oscar

To sign off this list, send email to listserv AT listserv.temple DOT edu and type 
"signoff networker" in the
body of the email. Please write to networker-request AT listserv.temple DOT edu 
if you have any problems
wit this list. You can access the archives at 
http://listserv.temple.edu/archives/networker.html or
via RSS at http://listserv.temple.edu/cgi-bin/wa?RSS&L=NETWORKER