web-dev-qa-db-ja.com

14.04ESXiで使用できないテープドライブVM

問題

システムにOverlandArcVaultを接続しています(実際には仮想マシンで、パススルーモードで接続されているスタンドアロンSCSIカードを使用しています)が、名前付きテープデバイスノードのようです(_/dev/st0_または_/dev/nst0_)作成されていないことを期待しており、作成されたいくつかのノードが完全に正しく機能していません。

特に、_/dev/sg0_から_sg4_の5つのデバイスが作成されています。

_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_のように見えます)

tapeinfo、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
_

tapeinfo、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パッケージはありますか?

3
Mikey T.K.

Ubuntuに付属の-genericカーネルには、テープドライブの制御を担当するstモジュールが含まれていません。そのモジュールは、「extra」カーネルパッケージにあります。

apt-get install linux-image-extra-$(uname -r)
modprobe st

そして1つ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のドキュメントに含めると本当にうまくいくようなものです。サーバーインストールイメージには、すでにテープドライブモジュールなどが付属していると思います...

3
Mikey T.K.