333 lines
12 KiB
HTML
333 lines
12 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||
<HTML>
|
||
<HEAD>
|
||
<META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
|
||
<TITLE>Linux - Optical Disk HOWTO : Optical jukeboxes</TITLE>
|
||
<LINK HREF="Optical-Disk-HOWTO-6.html" REL=next>
|
||
<LINK HREF="Optical-Disk-HOWTO-4.html" REL=previous>
|
||
<LINK HREF="Optical-Disk-HOWTO.html#toc5" REL=contents>
|
||
</HEAD>
|
||
<BODY>
|
||
<A HREF="Optical-Disk-HOWTO-6.html">Next</A>
|
||
<A HREF="Optical-Disk-HOWTO-4.html">Previous</A>
|
||
<A HREF="Optical-Disk-HOWTO.html#toc5">Contents</A>
|
||
<HR>
|
||
<H2><A NAME="s5">5. Optical jukeboxes</A></H2>
|
||
|
||
<P>I have no experience with optical jukeboxes with Linux!!!!
|
||
I have had experiences with Optical jukeboxes under HP-UX. In this
|
||
setup the the jukebox had a SCSI address of it's own. Each slot in
|
||
the jukebox had an associated LUN number. A device name was assigned
|
||
for each disk slot A side and B side. The mount command was run against
|
||
the appropriate device name. I had a jukebox with just one drive and
|
||
16 optical disk slots - 20 Gig. I thought it was going to be a real hassle
|
||
to write a disk mount manager to share this drive among users until
|
||
I discovered you can mount as many disk as you want and the jukebox
|
||
driver takes care of arbitration - what a nice feature. Granted, you
|
||
only want archive type data here and your overall system configuration
|
||
to be such that not too many processes will be accessing the jukebox at the
|
||
same time. The disk spin down, carriage load, carriage move, carriage unload,
|
||
carriage move to the next disk, carriage next disk load, carriage move,
|
||
optical drive load, and spin up takes about 12 seconds - "seek-from-hell".
|
||
<P>
|
||
<H2><A NAME="ss5.1">5.1 Maxoptix 520 - Zed Shaw</A>
|
||
</H2>
|
||
|
||
<P>
|
||
<A HREF="mailto:shawz@imap1.asu.edu">shawz@imap1.asu.edu</A><H3>Zed's Original E-Mail - Feb 13 1998</H3>
|
||
|
||
<P>
|
||
<PRE>
|
||
Hi,
|
||
|
||
I was reading your howto (a life saver, thanks) and I was wondering what
|
||
kind of jukebox you were running? I have a Maxoptix 520 Jukebox (20
|
||
disks at 2.6G each, nice!) and I would like to connect it to a Linux box
|
||
and serve the drives up to my users, but I'm having problems accessing
|
||
the individual drives. Currently I can only access the two drives and
|
||
something called MAXLYB which I think is a controller device of some
|
||
sort.
|
||
|
||
Basically, I'm wondering if the jukebox you had was the same or similar
|
||
and how you set it up. I know that you did it under HP-UX, but any help
|
||
right now would be nice. Hey, I'll even let you log into my linux
|
||
server if you want to take a look at the jukebox and see what it does.
|
||
You can't beat 52Gig of storage!
|
||
|
||
Anyway, I'd really appreciate your help.
|
||
|
||
|
||
Zed A. Shaw
|
||
Application Systems Analyst
|
||
Arizona State University
|
||
</PRE>
|
||
<P>
|
||
<H3>Correspondence with Zed on Mon, 16 Feb 1998:</H3>
|
||
|
||
<P>
|
||
<PRE>
|
||
> It sounds like your Maxoptix 520 is a jukebox with two physical disk.
|
||
Yep, that's the one.
|
||
|
||
>
|
||
> All jukeboxes have a carriage controller. This is probably your MAXLYB
|
||
> device.
|
||
> ...
|
||
|
||
What I've come to find out is that Maxoptix is pretty stingy when it
|
||
comes to drivers. Apparently, they don't make driver software for any of
|
||
their Jukebox carriage controller interfaces! I don't know how some of
|
||
these companies stay in business. I'm going to pester them again soon,
|
||
but you are right, this thing will need a carriage controller driver to
|
||
operate. The cool thing is that this MX520 (that's the model number of
|
||
the juke) emulates a whole slew of other carriage controllers, so maybe
|
||
one of those other guys has a driver. I'll be looking into that too.
|
||
|
||
|
||
>
|
||
> You might want to get a-hold of Maxoptix and see if they have a install
|
||
> package for your linux kernel version. If not ask them for the programmers
|
||
> specification for the carriage controller and maybe we can write one!
|
||
>
|
||
|
||
Hey, if I can't find any driver software, and I can convince Maxoptix to
|
||
give me the specs, I'd be more than glad to write a driver. I'd could
|
||
sure use the help too since I haven't got enough time to do it on my
|
||
own. Also, do you know of anyone else doing this that we might be able
|
||
to hack off of?
|
||
|
||
|
||
> Any information you find, let me know and we will roll the information
|
||
> into the Optical HOWTO, acknowledgments of course!
|
||
>
|
||
|
||
Sure, but let me get some new information first. So far things are
|
||
looking pretty bleak.
|
||
|
||
>
|
||
> >Basically, I'm wondering if the jukebox you had was the same or similar
|
||
> >and how you set it up. I know that you did it under HP-UX, but any help
|
||
> >right now would be nice. Hey, I'll even let you log into my linux
|
||
> >server if you want to take a look at the jukebox and see what it does.
|
||
> >You can't beat 52Gig of storage!
|
||
>
|
||
> Nice. At home I can use PPP to mount my 84 platter HP-UX jukebox.
|
||
> It's slow though - I wish I had it at home.
|
||
|
||
Oh, I don't have this thing at home. There's no way I could afford the
|
||
$30,000 my boss paid for this thing. But he's stuck with it and has had
|
||
it sitting around collecting dust for a year, so he's letting me play
|
||
with it and try to find a use for it.
|
||
|
||
I'll get back with you when I have some more information. It should be
|
||
sometime this week when I find out if I can get it to work or not.
|
||
|
||
Zed
|
||
</PRE>
|
||
<P>
|
||
<P>
|
||
<P>
|
||
<H2><A NAME="ss5.2">5.2 Changer Devices - Jon Gerdes </A>
|
||
</H2>
|
||
|
||
<P>
|
||
<PRE>
|
||
Skip
|
||
|
||
Please find some guff on MO drives and SCSI agony ...
|
||
|
||
Note that the Changer software mentioned should work for virtually any
|
||
changer :-)
|
||
|
||
Now back to dreaming of cheap highbandwidth inet connections for home
|
||
use. British Telecom really get on my !"<22>***&
|
||
|
||
Cheers
|
||
Jon Gerdes
|
||
|
||
|
||
|
||
Some notes on firing up SCSI changer support for a Magneto Optical jukebox
|
||
using "scsi-changer"
|
||
==============================================================
|
||
|
||
LSM entry from distribution used:
|
||
Title: scsi-changer
|
||
Version: 0.14
|
||
Entered-date: 9 May 1998
|
||
Description: SCSI Media Changer device driver (for the robot mechanism
|
||
of MO/CD Jukeboxes, tape libraries, ...).
|
||
autofs support included. This is a BETA version.
|
||
Keywords: scsi jukebox changer driver
|
||
Author: Gerd Knorr <kraxel@cs.tu-berlin.de>
|
||
Maintained-by: Gerd Knorr <kraxel@cs.tu-berlin.de>
|
||
Primary-site: sunsite.unc.edu /pub/Linux/kernel/patches/scsi
|
||
22kB scsi-changer-0.14.tar.gz
|
||
627 scsi-changer.lsm
|
||
Alternate-site: none
|
||
Original-site: none
|
||
Platform: Linux
|
||
Copying-policy: GNU GPL
|
||
===============================================================
|
||
Latest version from here:
|
||
|
||
http://www.in-berlin.de/User/kraxel/linux.html
|
||
|
||
Tested on:
|
||
HP SurestoreOptical 40fx (1 drive 15x2.4Gb MO disks)
|
||
Adaptec 1520B (dodgy ISA 10MBs-1 SCSI II card)
|
||
Linux Mandrake 6.1
|
||
Kernel 2.2.13 and 2.2.14
|
||
|
||
tar -xzvf changer-0.14.tar.gz
|
||
read the README
|
||
|
||
Note that this program should work for most SCSI devices involving a robotic
|
||
picker and media slots.
|
||
|
||
patch kernel:
|
||
copy ch-2.2.7.diff to /usr/src/linux (ie kernel source)
|
||
patch -p1 < ch-2.2.7.diff
|
||
|
||
Compile in changer support to kernel:
|
||
make xconfig or menuconfig or just config
|
||
go to scsi section and tick changer support
|
||
put in NFS and automounter (see below) while you are at it.
|
||
|
||
If your using it as a module then add this to /etc/conf.modules:
|
||
alias char-major-86 ch
|
||
(no problems found using it as a module - recommended method of use)
|
||
|
||
run /usr/src/linux/drivers/MAKEDEV.sch (created by .diff) to create the
|
||
changer dev entries, one for the changer and one for the reader if you have
|
||
more than one reader, you will need more /dev/schx's (see
|
||
<src>/Documentation/devices.txt - again added by .diff)
|
||
|
||
Run make in the changer source directory
|
||
I had to copy scsi_ioctl.h to changer source directory and amend the Makefile.
|
||
Not sure why, so read and change the Makefile if compiler gives errors about
|
||
such a file not found (find /usr/src/linux -name <file_to_find> might be
|
||
handy)
|
||
|
||
copy binaries to /sbin (or /usr/sbin or whatever to taste)
|
||
|
||
mover load 0
|
||
fdisk /dev/sda (create sda1)
|
||
mke2fs -b 1024 /dev/sda1 1273011
|
||
mover unload 0
|
||
mover load 1
|
||
fdisk ...
|
||
etc
|
||
|
||
"mover mv d0 d0 1" will rotate disk in drive 1
|
||
etc etc
|
||
|
||
fdisk was OK but mke2fs had problems determining the correct geometry.
|
||
the number of blocks came from dmesg report hence specifying everything
|
||
explicitly - your milage may vary. The block size was printed on the disks as
|
||
well as from "dmesg"
|
||
|
||
The above is crying out for a quick script to shuffle through the lot. mover
|
||
without switches will show the contents of the box.
|
||
|
||
make sure that scsi supports > 1Gb
|
||
on Adaptec 1520B - aha152x needs (in /etc/lilo.conf):
|
||
append="aha152x=0x340,10,7,1,1,0,100,1"
|
||
check source for meaning of parameters.
|
||
|
||
I also had a weird problem where the adaptec driver appeared to caused Lilo
|
||
to forget much of the append= line - pretty esoteric but it may afflict
|
||
someone else. I had a Frame Buffer init string in there as well and after
|
||
swapping these around (ie SCSI bit first then the video bit it worked)
|
||
|
||
The adapter BIOS had to be adjusted slightly in the CTRL-A menu on boot to
|
||
also enable extended translation.
|
||
|
||
If the geometry is wrong then mke2fs will attempt to access incorrect
|
||
addresses. This causes the kernel to go absolutly mad, printing lots of
|
||
errors to the root console and filling up the system log. I had to use
|
||
shift-alt-sysreq-b to re-boot after synching disks, when I got it wrong :-(
|
||
|
||
My console was totally unusable with hundreds of messages scrolling up it. So
|
||
if this might happen to you, make sure that the "Magic Syskey" is enabled (see
|
||
kernel docs.) Alternatively do it in X from an xterm, that way you can kill
|
||
the job from another one ...
|
||
|
||
Now dig out the automounter (instructions in README). The devices are
|
||
/dev/sda1 and /dev/sdb1 (or similar) not the /dev/schx jobs. Remember to
|
||
have automounter and nfs support in the kernel. Attempting to cd /jukebox/0
|
||
will get the jukie to dig out the first disk and pop it into a spare drive and
|
||
even mount it.
|
||
|
||
Not sure what the problems I had were actually caused by. On boot the devices
|
||
were found and reported correctly but mke2fs wasn't going to play. I even
|
||
managed to wreck one side of my first MO disk so that even fdisk refuses to
|
||
play. You have been warned <g> Still I do have a ridiculously large amount
|
||
of filesystem space to play with at home.
|
||
|
||
Incidently, if you put a FAT f/s on a disk and leave it in the drive, then
|
||
Win98 can read it, if you happen to dual-boot (pah !)
|
||
|
||
Check the contents of the .diff file and the source itself - the author has
|
||
been pretty thorough with documentation.
|
||
|
||
Performance is not blistering but beats the heck out of a CDRW.
|
||
|
||
Finally, thanks to Mr Knorr for giving me an endless file system
|
||
|
||
Jon Gerdes - 17 January 2000
|
||
mailto:jon.gerdes@virgin.net
|
||
</PRE>
|
||
<P>
|
||
<P>
|
||
<P>
|
||
<H2><A NAME="ss5.3">5.3 Changer Devices - Michael Heydenbluth</A>
|
||
</H2>
|
||
|
||
<P>
|
||
<PRE>
|
||
Hi,
|
||
|
||
I have the ANSI SCSI-II specs. Changer devices are described here.
|
||
Basically, changers are independent devices which respond to commands like:
|
||
Install disk in slot 7 in drive 2
|
||
Remove disk from drive 1 and store it in slot 13
|
||
Count all disks in the slots
|
||
and so on.
|
||
Btw. the SCSI specs make no differences between tape changers, od
|
||
jukeboxes, cd changers. These are all changer devices with the same command
|
||
set. The jukebox running under HP-UX seems to work differently from the
|
||
SCSI specs, where no LUNs for the slots/sides are defined. Three
|
||
possibilities:
|
||
1. LUNs for the disk sides are defined in SCSI-III specifications (I don't
|
||
know because I do not have them)
|
||
2. The jukebox and its driver is older than the SCSI specs, so the
|
||
manufacturer had to go its own way. This is the way my jukebox works, but
|
||
in my case the commands are similar.
|
||
3. The manufacturer choosed to ignore any specifications
|
||
|
||
Long time ago I have tried to make my jukebox work with linux. It worked
|
||
with the generic scsi driver /dev/sg*, some lines of C and a handful of
|
||
shell scripts, but I did not have the time (and knowledge) to build a real
|
||
kernel module from that.
|
||
There is still another problem: One has to write a new filesystem type for
|
||
write-once media. The ext2 filesystem can not be used because it writes
|
||
superblocks all over the disk and modifies them when data is written to the
|
||
disk. Sectors which have been written to are definitively lost. They can be
|
||
overwritten but in fact the new data is written to spare blocks and the old
|
||
data is discarded. This old data can be retrieved with special commands for
|
||
optical drives. There must be some kind of "append-only filesystem" to make
|
||
it really useful.
|
||
|
||
Greeting
|
||
Michael Heydenbluth
|
||
mh@heywei.de
|
||
</PRE>
|
||
<P>
|
||
<HR>
|
||
<A HREF="Optical-Disk-HOWTO-6.html">Next</A>
|
||
<A HREF="Optical-Disk-HOWTO-4.html">Previous</A>
|
||
<A HREF="Optical-Disk-HOWTO.html#toc5">Contents</A>
|
||
</BODY>
|
||
</HTML>
|