I have had a similar problem controlling a StorageTek 9730 robot. (no sequential mode, bummer!)
My long term solution is to use the STILL unavailable Legato storage node S/W for the NetApp. My short term solution was to write some NDMP utilities to control the robot.
Basically I took the 2.11 version of the NDMP developers kit and modified it. In fact it's not quite that simple, I kept the commo routines (./common) but had to rewrite the NDMP command layer because it was designed for an event driven environment (tk/tcl) and also has limited error handling. With this done, I wrote three utilities:
ndmp-probe - a "probe-scsi" like command to find where NDMP devices are (not as obvious as you would think) ndmp-index - a program which maps out the robot's state using SCSI "Read Element Status" commands ndmp-move - a program that orders the robot to "Move Medium"
These utilities are then called by perl scripts that know how and when things need to be done. Dumps are done via rsh, not NDMP for simplicity. The perl script forks multiple dumps so the two tape drives are written to in parallel. One drawback of this method is that I cannot easily dump one NetApp to the tape drives on another. (NDMP's dump can do this) All my dumps are for disaster recovery, not archival, so I don't need to keep complicated tape indexes.
Unfortunately I cannot share my work without getting the corporate lawyers involved. What I can tell you is that it can be done. All you really need is a time, a bunch of specs, and the "vendor specific" NDMP values from netapp. (available if you ask)
Graydon Dodson grdodson@lexmark.com Lexmark International Inc.
----- Begin Included Message -----
grdodson@lexmark.com wrote:
ndmp-probe - a "probe-scsi" like command to find where NDMP devices are (not as obvious as you would think) ndmp-index - a program which maps out the robot's state using SCSI "Read Element Status" commands ndmp-move - a program that orders the robot to "Move Medium" Unfortunately I cannot share my work without getting the corporate lawyers involved
Gah, this sounds like exactly the sort of thing I and I imagine many others would like. If anyone does have code to do this and can release it then please do so. If nobody has then I'll have a look at the ndmp sdk and see how far I get (probably nowhere but its worth a go).
Chris