Amanda-Users

Issues with tape changers

2004-07-14 08:56:06
Subject: Issues with tape changers
From: Gaby Vanhegan <gaby AT vanhegan DOT net>
To: amanda-hackers AT amanda DOT org, amanda-users AT amanda DOT org
Date: Wed, 14 Jul 2004 13:45:50 +0100
Hi,

First of all, I'd like to apologise for the cross post, but this has been knacking me off for 2 weeks now, and I really want to get this sorted... :)

Having some minor issues with Amanda on OpenBSD3.4, talking to a Dell Powervault 120T 7-slot changer/drive. After eventually working my way through the changer scripts I've found that chg-chio is the one for me. chg-scsi, couldn't figure out the configuration files and couldn't take to the jukebox, but chg-chio, using the chio program works fine.

The issue that I have now is that I'm finding amtape unreliable at moving tapes around effectively, and also that it's having problems rewinding tapes. I don't know if this is an OpenBSD related issue or an Amanda issue. I'm using the latest release version that I could find on the site (amanda-2.4.4p3) compiled from source. Using chio to move tapes between slots works perfectly, so I don't think it's a changer issue, and I can't find any mention of the error messages in the changer code. It looks like it's having some issues with regards to rewinding the tapes, and not handling the time that the tape would take to rewind. In my configuration, it seems that the taper has no method of handling the fact that the drive is not ready, and just returns a file handle open error on /dev/nrst0. I suppose that I would either need to know how to get the Dell Powervault 120T working under the chg-scsi driver, or some means of adding a delay into the process to allow the drive to ready itself before letting ammt get anywhere near /dev/nrst0.

My configuration is called ltsn. Here is an example of what happens when changing a tape around:

bash-2.05b# /usr/local/sbin/amtape ltsn slot first
amtape: could not rewind /dev/nrst0: tape_rewind: tape open: /dev/nrst0: Input/output erroramtape: changed to slot 1 on /dev/nrst0

bash-2.05b# cat /tmp/amanda/amtape.20040714123758.debug
amtape: debug 1 pid 30456 ruid 0 euid 0: start at Wed Jul 14 12:37:58 2004
changer: got exit: 0 str: 2 /dev/nrst0
amtape: pid 30456 finish time Wed Jul 14 12:39:05 2004

bash-2.05b# cat /tmp/amanada/changer.debug
Wed Jul 14 12:43:30 2004: enter: getTapeParams
Wed Jul 14 12:43:30 2004: running: /bin/chio -f /dev/ch0 params
Wed Jul 14 12:43:30 2004: /dev/ch0: 7 slots, 1 drive, 1 picker
Wed Jul 14 12:43:30 2004: /dev/ch0: current picker: 0
Wed Jul 14 12:43:30 2004: leave: getTapeParams: 7, 1, 1
Wed Jul 14 12:43:30 2004: enter: getTapeStatus
Wed Jul 14 12:43:30 2004: running: /bin/chio -f /dev/ch0 status
Wed Jul 14 12:43:31 2004: picker 0:
Wed Jul 14 12:43:31 2004: slot 0: <ACCESS,FULL>
Wed Jul 14 12:43:31 2004: slot 1: <ACCESS>
Wed Jul 14 12:43:31 2004: slot 2: <ACCESS,FULL>
Wed Jul 14 12:43:31 2004: slot 3: <ACCESS,FULL>
Wed Jul 14 12:43:31 2004: slot 4: <ACCESS,FULL>
Wed Jul 14 12:43:31 2004: slot 5: <ACCESS,FULL>
Wed Jul 14 12:43:31 2004: slot 6: <ACCESS,FULL>
Wed Jul 14 12:43:31 2004: drive 0: <ACCESS,FULL>
Wed Jul 14 12:43:31 2004: enter: getCurrentTape
Wed Jul 14 12:43:31 2004: leave: getCurrentTape: 2
Wed Jul 14 12:43:31 2004: leave: getTapeStatus: 7
Wed Jul 14 12:43:31 2004MT -> /usr/local/sbin/ammt -f /dev/nrst0 rewind
Wed Jul 14 12:43:31 2004: enter: changeTape: 1
Wed Jul 14 12:43:31 2004: enter: Unload: 2
Wed Jul 14 12:44:13 2004: leave: Unload
Wed Jul 14 12:44:13 2004: enter: Load: 1
Wed Jul 14 12:44:13 2004: running: /bin/chio -f /dev/ch0 move slot 0 drive 0
Wed Jul 14 12:44:37 2004: leave: Load
Wed Jul 14 12:44:37 2004: leave: changeTape
Wed Jul 14 12:44:37 2004: 1 /dev/nrst0

bash-2.05b# chio status
picker 0:
slot 0: <ACCESS>
slot 1: <ACCESS,FULL>
slot 2: <ACCESS,FULL>
slot 3: <ACCESS,FULL>
slot 4: <ACCESS,FULL>
slot 5: <ACCESS,FULL>
slot 6: <ACCESS,FULL>
drive 0: <ACCESS,FULL>

Whilst the drive is not ready, this message appears in the dmesg:

st0(ahc1:3:0): Check Condition on opcode 0x0
   SENSE KEY: Not Ready
    ASC/ASCQ: Logical Unit Is in Process Of Becoming Ready

And ammt returns this:

bash-2.05b# /usr/local/sbin/ammt -d -f /dev/nrst0 status
debug mode!
syntax: eof                  -> e
syntax: weof                 -> w
syntax: fsf                  -> f
syntax: asf                  -> a
syntax: bsf                  -> b
syntax: rewind               -> rewi
syntax: offline              -> o
syntax: rewoffl              -> rewo
syntax: status               -> s
tapename is "/dev/nrst0"
calling tape_open("/dev/nrst0",0)
/dev/nrst0 status failed: Input/output error

Eventually, the tape comes online and can be used, after about 30 seconds:

bash-2.05b# /usr/local/sbin/ammt -d -f /dev/nrst0 status
debug mode!
syntax: eof                  -> e
syntax: weof                 -> w
syntax: fsf                  -> f
syntax: asf                  -> a
syntax: bsf                  -> b
syntax: rewind               -> rewi
syntax: offline              -> o
syntax: rewoffl              -> rewo
syntax: status               -> s
tapename is "/dev/nrst0"
calling tape_open("/dev/nrst0",0)
processing status(1)
calling tapefd_status()
/dev/nrst0 status: ONLINE ds == 0x0003 er == 0x0000

Gaby

--
Ha! Ha! Ha!  Loins...
- Phil Ken Sebben

gaby AT vanhegan DOT net
http://weblog.vanhegan.net


<Prev in Thread] Current Thread [Next in Thread>