概要
外付けSCSIのDDS4テープドライブをソフトウェア的にアンロードして、システムを起動した状態で安全っぽく電源を切ってみる。
技術的背景
The Linux SCSI programming HOWTOを見ると、ソフトウェア的には/proc/scsi/scsiに
echo "scsi add-single-device a b c d" > /proc/scsi/scsi
で認識して
echo "scsi remove-single-device a b c d" > /proc/scsi/scsi
で解除できるように書いてある。
SCSIは活線挿抜には対応していないので、本当は本体を起動したまま外付けのSCSI機器の電源を切るのは良くないことだと思われるが、ソフトウェア的にリリースしてあればおかしくはならないだろうとタカをくくってみる。電源切った瞬間にホストアダプタが壊れなけりゃだいじょぶなんじゃないかなぁ・・・・
実装
以下のようなスクリプトを作成する。ファイル名は/root/bin/dds4とする。(テープドライブのSCSI IDは4)
#!/bin/ksh
case "$1" in
on)
echo "scsi add-single-device 0 0 4 0" > /proc/scsi/scsi
cat /proc/scsi/scsi
;;
off)
echo "scsi remove-single-device 0 0 4 0" > /proc/scsi/scsi
cat /proc/scsi/scsi
;;
*)
echo "usage: $0 { on | off }"
exit 1
esac
使用方法
認識させたいとき。
# /root/bin/dds4 on
Attached devices:
Host: scsi0 Channel: 00 Id: 04 Lun: 00
Vendor: SEAGATE Model: DAT 06240-XXX Rev: 8160
Type: Sequential-Access ANSI SCSI revision: 02
#
解除させたいとき。
# /root/bin/dds4 off
Attached devices: none
#
結論
普段はテープドライブの電源を切っておいて、使用するときに電源を入れて認識させ、使い終わったら解除して電源を切る。しばらくこれで使用しているが、今のところ問題は出ていない。ここに書かれていることを試してみて問題が発生しても当方では一切責任を取れないので、自己責任でおねがいします。

コメントする