Ленточный накопитель не может использоваться на виртуальной машине ESXi 14.04

Ленточный накопитель не может использоваться на виртуальной машине ESXi 14.04

Проблема

У меня есть Overland ArcVault, подключенный к моей системе (на самом деле это виртуальная машина с отдельной картой SCSI, к которой она подключена в режиме сквозного доступа), но похоже, что именованные узлы ленточных устройств (что-то вроде /dev/st0или /dev/nst0), которые я ожидал увидеть, не создаются, а несколько созданных узлов работают не совсем правильно.

В частности, я вижу создание пяти устройств /dev/sg0с помощью sg4.

sg0, 1и 2представляют собой виртуальные дисковые накопители, подключенные к виртуальной машине.

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 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

Ядро -generic, которое поставляется с Ubuntu, не содержит 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.

И с миром все в порядке :)

Aside: Это то, что действительно хорошо бы включить в документацию Ubuntu. Я бы ожидал, что образ установки сервера уже будет содержать такие вещи, как модули ленточных накопителей...

Связанный контент