問題
システム (実際には仮想マシンで、パススルー モードでスタンドアロン SCSI カードが接続されています) に Overland ArcVault が接続されていますが、表示されるはずの名前付きテープ デバイス ノード (または など/dev/st0
)/dev/nst0
が作成されておらず、作成された少数のノードが完全には正しく機能していないようです。
特に、/dev/sg0
から までの5 つのデバイスが作成されていることがわかりますsg4
。
sg0, 1
、2
VM に接続された仮想ディスク ドライブを表します。
sg4
テープライブラリ自体を表すデバイスです。そしてそれは正しく動作する- つまり、のようなコマンドを使用してmtx
制御できます。
ブート メッセージから、sg3
実際のドライブ自体ですが、すべてのアクセス試行に抵抗します。 などの操作を試行するとmt -f /dev/sg3 rewind
、常にOperation not permitted
エラーが返されます。 ライブラリがドライブにテープをマウントしていることを確認し、すべてのsg*
デバイスでこれを試しました。
も存在します/dev/tape/by-id/scsi-200900d09126c0024
が、これは のライブラリへの単なるシンボリックリンクですsg4
。
質問
実際にテープにアクセスするにはどうすればいいのでしょうか? また、システムがそれを取得できないのはなぜでしょうか?
背景
lsscsi
[1:0:0:0] cd/dvd NECVMWar VMware IDE CDR10 1.00 /dev/sr0
[2:0:0:0] disk VMware Virtual disk 1.0 /dev/sda
[2:0:1:0] disk VMware Virtual disk 1.0 /dev/sdb
[3:0:1:0] tape HP Ultrium 4-SCSI W51H -
[3:0:1:1] mediumx OVERLAND NEO Series 0510 -
(注: 特別なデバイス ノードは作成されません)
関連する dmesg
[ 3.666897] scsi host3: ioc0: LSI53C1020A A1, FwRev=01032700h, Ports=1, MaxQ=255, IRQ=16
[ 4.558084] scsi 3:0:1:0: Sequential-Access HP Ultrium 4-SCSI W51H PQ: 0 ANSI: 5
[ 4.558334] scsi target3:0:1: Beginning Domain Validation
[ 4.565558] scsi 3:0:1:0: mptspi: ioc0: IDP:ON
[ 4.565635] scsi 3:0:1:0: mptspi: ioc0: IDP:ON
[ 4.565711] scsi 3:0:1:0: mptspi: ioc0: IDP:ON
[ 4.565787] scsi 3:0:1:0: mptspi: ioc0: IDP:ON
[ 4.565863] scsi 3:0:1:0: mptspi: ioc0: IDP:ON
[ 4.565938] scsi 3:0:1:0: mptspi: ioc0: IDP:ON
[ 4.566013] scsi 3:0:1:0: mptspi: ioc0: IDP:ON
[ 4.566088] scsi 3:0:1:0: mptspi: ioc0: IDP:ON
[ 4.566164] scsi 3:0:1:0: mptspi: ioc0: IDP:ON
[ 4.624137] scsi target3:0:1: Ending Domain Validation
[ 4.624361] scsi target3:0:1: FAST-160 WIDE SCSI 320.0 MB/s DT IU RTI PCOMP (6.25 ns, offset 64)
[ 4.628877] scsi 3:0:1:1: Medium Changer OVERLAND NEO Series 0510 PQ: 0 ANSI: 5
[ 7.888235] scsi 3:0:1:0: Attached scsi generic sg3 type 1
[ 7.888784] scsi 3:0:1:1: Attached scsi generic sg4 type 8
(つまり、テープドライブは 3:0:1:0 に存在することになりますsg3
)
テープ情報、SG4
Product Type: Medium Changer
Vendor ID: 'OVERLAND'
Product ID: 'NEO Series '
Revision: '0510'
Attached Changer API: No
SerialNumber: '2B31000036'
SCSI ID: 1
SCSI LUN: 1
Ready: yes
テープ情報、SG3
Product Type: Tape Drive
Vendor ID: 'HP '
Product ID: 'Ultrium 4-SCSI '
Revision: 'W51H'
Attached Changer API: No
SerialNumber: 'MXP113433K'
MinBlock: 1
MaxBlock: 16777215
SCSI ID: 1
SCSI LUN: 0
Ready: yes
BufferedMode: yes
Medium Type: Not Loaded
Density Code: 0x46
BlockSize: 0
DataCompEnabled: yes
DataCompCapable: yes
DataDeCompEnabled: yes
CompType: 0x1
DeCompType: 0x1
BOP: yes
Block Position: 0
Partition 0 Remaining Kbytes: 800226
Partition 0 Size in Kbytes: 800226
ActivePartition: 0
EarlyWarningSize: 0
NumPartitions: 0
MaxPartitions: 0
(中型: 読み込まれていません?!)
編集 1
さらに調べてみると、st
テープ ドライブの制御を担当するカーネル モジュールがロードされていないようです。また、ロードすることもできません。
modprobe: ERROR: ../libkmod/libkmod-module.c:809 kmod_module_insert_module() could not find module by name='st'
modprobe: ERROR: could not insert 'st': Function not implemented
modprobe: ERROR: ../libkmod/libkmod-module.c:959 command_do() Error running install command for st
modprobe: ERROR: could not insert 'st': Operation not permitted
このモジュールを含む apt パッケージはありますか?
答え1
Ubuntu に付属する -generic カーネルには、st
テープ ドライブを制御するモジュールが含まれていません。そのモジュールは、「extra」カーネル パッケージにあります。
apt-get install linux-image-extra-$(uname -r)
modprobe st
そしてまたdmesg
後日-
[57218.963458] st: Version 20101219, fixed bufsize 32768, s/g segs 256
[57218.966611] st 3:0:1:0: Attached scsi tape st0
[57218.966614] st 3:0:1:0: st0: try direct i/o: yes (alignment 512 B)
[57218.991321] st 3:0:1:0: [st0] Block limits 1 - 16777215 bytes.
そして世界はすべて順調です:)
余談: これは、Ubuntu のドキュメントに含めておいた方がよい類のものです。サーバーのインストール イメージには、テープ ドライブ モジュールなどがすでに付属しているはずですが...