We are moving one of our Amanda backup servers from an E250 running Solaris 9 to a SuperMicro
running Ubuntu LTS Server. Several years ago we standardized on AIT5 with Sony LIB-162A5bb tape
libraries. That looks now to be another of Sony's failed but "better" standards. They have stopped
development and manufacture, but will continue support for a few more years. Anyway, we have at
least a couple more years that we will be running them.
I have the Sony pdf Unix configuration guide that I used to set up our Solaris servers. It is pretty
clear about the lines to add to st.conf and sgen.conf for Solaris. Unfortunately, nothing about
stinit.def for Ubuntu. I pretty well failed in my google efforts as well. However, I did find some
examples of AIT3, and eventually found that the file formats and parameters are explained at the end
of the respective `man st` pages on Solaris and Ubuntu. Going from the working st.conf, I was able
to extract the definitions and more or less apply them to the Ubuntu configuration, although there
is no one-to-one mapping of the parameters. Then I was able to access the tape drive and read a
header with dd.
I'm posting the process and configuration here in case it might be useful to anyone else, but also
on the possibility that there might be some feedback and tuning of what I have done by others who
may have gone through this process. Please excuse me if the old hands at Linux think this is too
elementary.
On Solaris, I had to modify /kernel/drv/st.conf to include:
tape-config-list=
"SONY SDX-1100", "SONY AIT5 8mm", "SONY_AIT";
SONY_AIT = 2, 0x36, 0, 0x19639, 4, 0x00, 0x00, 0x00, 0x00, 0, 60, 900, 900,
1500, 1200, 1200,
18000;
name="st" class="scsi" target=0 lun=0;
name="st" class="scsi" target=1 lun=0;
name="st" class="scsi" target=2 lun=0;
name="st" class="scsi" target=3 lun=0;
name="st" class="scsi" target=4 lun=0;
name="st" class="scsi" target=5 lun=0;
name="st" class="scsi" target=6 lun=0;
name="st" parent="fp" target=0;
That's a bit more cryptic than the corresponding Ubuntu file, but `man st` provides the keys
allowing it to be spelled out as follows:
vendor id = SONY
product id = SDX-1100
display as = SONY AIT5 8mm
data-property-name = SONY_AIT
block size = 0 (variable)
options = 0x19639 = 0b11001011000111001, which indicates:
√ ST_VARIABLE — supports variable length record sizes
ST_QIC
ST_REEL
√ ST_BSF — supports backspace over EOF marks
√ ST_BSR — supports backspace record operation
√ ST_LONG_ERASE — needs longer time than normal to erase
ST_AUTODEN_OVERRIDE
ST_NOBUF
not used
√ ST_KNOWS_EOD — can determine EOD (allowing fast file skipping)
√ ST_UNLOADABLE — OK to unload and reload st driver
ST_SOFT_ERROR_REPORTING
√ ST_LONG_TIMEOUTS — device requires timeouts 5 times longer than normal
not used
not used
√ ST_NO_RECSIZE_LIMIT — not limited to 64Kb record size
√ ST_MODE_SEL_COMP — compression requires c or u device
remainder not set
number of densities = 4
density = 0x00 (repeated 4 times)
default density = 0
non-motion timeout = 60 (time in seconds)
I/O timeout = 900
rewind timeout = 900
space timeout = 1500
load timeout = 1200
unload timeout = 1200
erase timeout = 18000
Now, the trick is to translate all of that (or however much possible) into the format for the
/etc/stinit.def for Ubuntu. It doesn't all translate, but what I came up with (using the `man st`
for Ubuntu as a guide) was:
# Common definitions to be applied to all tape devices
# (This is the driver's default)
{butter-writes read-ahead async-writes}
manufacturer=SONY model=SDX-1100 {
can-bsr scsi2logical drive-buffering
timeout=900
long-timeout=18000
mode1 blocksize=0 density=0x00
}
Although I haven't thoroughly tested that (I haven't started running Amanda on this new server yet),
it seems to work. I was able to use `mt -f /dev/nst0 status` to check the drive, rewind to put it
back to beginning, etc. I also did a `sudo dd if=/dev/nst0 bs=32k skip=1 of=output` followed by `cat
output | tar -ztvf -` and got meaningful results from one of my Amanda backup tapes. So, I think I'm
in business as far as AIT5 goes. I'll see what happens when I start trying to do backups with it.
The tape library access with mtx turned out to be comparable to falling off a log. That is to say,
there appeared to be no manual configuration required. I just needed to know what SCSI device to
reference. Looking at /var/log/messages to see at what point the SONY devices were scanned, and then
doing `cat /proc/scsi/scsi`, indicated pretty well that it had come up. Seeing that additional
/dev/sg devices had been added, I tried `mtx -f /dev/sg4 status` and it worked. I got a list of all
the slots showing the barcodes of the loaded tapes. On Solaris, it had been necessary to set up some
configuration information in /kernel/drv/sgen.conf.
So, I think I'm all set. I'm posting this in case it might be of any use to anyone else, or in case
someone happens to have a useful critique of my configuration. I'm assuming that the Amanda tape
type specification will be the same as I had on Solaris.
--
---------------
Chris Hoogendyk
-
O__ ---- Systems Administrator
c/ /'_ --- Biology& Geology Departments
(*) \(*) -- 140 Morrill Science Center
~~~~~~~~~~ - University of Massachusetts, Amherst
<[email protected]>
---------------
Erdös 4