General
cancel
Showing results for 
Search instead for 
Did you mean: 

Linux RH 3.0 recognize only 7 tape drives.

asaf_9
Occasional Advisor

Linux RH 3.0 recognize only 7 tape drives.

I have Linux RedHad 3.0 (update 4), with Emulex HBA.
my machine connected to P3000 Library.
the problem is that the machine recognize only 7 tape drives.

cat /proc/scsi/scsi show only
7 tape drives, but hbanyware show all 10 drives and the robot.

what can I do to recognize all tape drives?
7 REPLIES
Steven E. Protter
Exalted Contributor

Re: Linux RH 3.0 recognize only 7 tape drives.

I think you need a driver from emulex for Linux to handle this.

SCSI supports at least 15 devices nowadays, but the default driver seemingly does not.

I would check to see that the SCSI Id setup is correct on the tape array.

Also, if this device is part of a scsi chain, it needs a scsi card all to itself. Even if there is no conflict, a chained setup will create i/o bottlenecks and peformance issues.

SEP
Steven E Protter
Owner of ISN Corporation
http://isnamerica.com
http://hpuxconsulting.com
Sponsor: http://hpux.ws
Twitter: http://twitter.com/hpuxlinux
Founder http://newdatacloud.com
Eric van Dijken
Trusted Contributor

Re: Linux RH 3.0 recognize only 7 tape drives.

Don't think this has anyting to do with the Emulex driver, or even the SCSI part.

The linux kernel driver has a hard-coded limit of 7 tape drives.

<<< st.h >>>
#define ST_NBR_MODE_BITS 2
#define ST_MODE_SHIFT (7 - ST_NBR_MODE_BITS)
#define ST_MAX_TAPES (1 << ST_MODE_SHIFT)
<<< /st.h >>>

From the README.st file:
The maximum number of tape devices is determined by the define ST_MAX_TAPES. If more tapes are detected at driver initialization, the maximum is adjusted accordingly.

Your best bet is to email the st driver maintainer => Kai.Makisara@kolumbus.fi
Or post a request to the Linux Kernel Mailinglist

Watch, Think and Tinker.
Eric van Dijken
Trusted Contributor

Re: Linux RH 3.0 recognize only 7 tape drives.

Or you could try a 2.6 kernel. Never used it but the sources (st.h) says that:
#define ST_MAX_TAPES 128

So this problem may be solved in RHEL4. Try it and please post the results.

Watch, Think and Tinker.
asaf_9
Occasional Advisor

Re: Linux RH 3.0 recognize only 7 tape drives.

Thanks,
I will try it soon and write an update here.
asaf_9
Occasional Advisor

Re: Linux RH 3.0 recognize only 7 tape drives.

I need to work with RH 3.0.
I think I will change this parameter hard coded, and then try to work with.

Is this way recomended ?

if yes, the parameter now is:
" #define ST_MAX_TAPES (1 << ST_MODE_SHIFT)"

if I will just change it to
" #define ST_MAX_TAPES 128 " is it o.k. ?
Vitaly Karasik_1
Honored Contributor

Re: Linux RH 3.0 recognize only 7 tape drives.

As far as I understand from readme.st, "If more tapes are detected at driver initialization, the maximum is adjusted accordingly.", so IMHO we don't have hardlimit = 7 tapes.


SCSI howto says "The st driver is capable of recognizing 32 tape drives"
Bill Rothanburg
Trusted Contributor

Re: Linux RH 3.0 recognize only 7 tape drives.

By default, the Linux SCSI driver only looks for 8 luns (luns 0 to 7).

Add "max_scsi_luns=128" and "scsi_allow_ghost_devices=1" to your boot string or the options scsi_mod in /etc/modules.conf.

My modules.conf has "options scsi_mod max_scsi_luns=128 scsi_allow_ghost_devices=1
".

Bill