Das Problem
Ich habe ein Overland ArcVault an mein System angeschlossen (eigentlich eine virtuelle Maschine, mit der es im Passthrough-Modus über die eigenständige SCSI-Karte verbunden ist), aber es scheint, als würden die benannten Bandgeräteknoten (so etwas wie /dev/st0
oder /dev/nst0
), die ich erwarten würde, nicht erstellt, und die wenigen erstellten Knoten funktionieren nicht ganz richtig.
Insbesondere sehe ich, dass fünf Geräte erstellt werden, /dev/sg0
durch sg4
.
sg0, 1
und 2
stellen die mit der VM verbundenen virtuellen Festplattenlaufwerke dar.
sg4
ist das Gerät, das die Bandbibliothek selbst darstellt,und es funktioniert einwandfrei- das heißt, ich kann es mit Befehlen wie mtx
steuern.
Aus den Startmeldungen geht hervor, sg3
dass es sich um das eigentliche Laufwerk handelt, das jedoch allen Zugriffsversuchen widersteht. Versuche, Dinge wie diese auszuführen, mt -f /dev/sg3 rewind
geben immer einen Operation not permitted
Fehler zurück. Ich habe überprüft, ob die Bibliothek ein Band in das Laufwerk eingelegt hat, und habe dies mit allen sg*
Geräten versucht.
Es gibt auch einen /dev/tape/by-id/scsi-200900d09126c0024
, aber dies ist nur ein symbolischer Link zur Bibliothek unter sg4
.
Die Frage
Wie greife ich eigentlich auf die Bänder zu und warum kann mein System sie nicht abrufen?
Der Hintergrund
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 -
(Hinweis: kein spezieller Geräteknoten erstellt)
relevante 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
(das Bandlaufwerk befindet sich also bei 3:0:1:0, was so aussieht, als ob es so wäre sg3
)
Bandinfo, 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
Bandinfo, 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
(Medientyp: nicht geladen?!)
bearbeiten 1
Nach einigem Nachforschen stellt sich heraus, dass das st
für die Steuerung der Bandlaufwerke zuständige Kernelmodul nicht geladen ist und ich es auch nicht laden kann.
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
Gibt es ein Apt-Paket, das dieses Modul enthält?
Antwort1
Der generische Kernel, der mit Ubuntu geliefert wird, enthält nicht das st
Modul, das für die Steuerung von Bandlaufwerken zuständig ist. Dieses Modul befindet sich im Kernelpaket „extra“.
apt-get install linux-image-extra-$(uname -r)
modprobe st
Und eines dmesg
später-
[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.
Und die Welt ist in Ordnung :)
Abgesehen davon: Das ist die Art von Dingen, die wirklich gut in die Ubuntu-Dokumentation aufgenommen werden sollten. Ich würde erwarten, dass ein Server-Installationsimage bereits Dinge wie Bandlaufwerkmodule enthält ...