Simpler Navigation for Servers and Operating Systems - Please Update Your Bookmarks
Completed: a much simpler Servers and Operating Systems section of the Community. We combined many of the older boards, so you won't have to click through so many levels to get at the information you need. Check the consolidated boards here as many sub-forums are now single boards.
If you have bookmarked forums or discussion boards in Servers and Operating Systems, we suggest you check and update them as needed.
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