Назад | Перейти на главную страницу

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

Эта проблема

У меня есть 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)

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

Есть ли подходящий пакет, содержащий этот модуль?

Generic ядро, которое поставляется с Ubuntu, не содержит st модуль, отвечающий за управление ленточными накопителями. Этот модуль можно найти в «дополнительном» пакете ядра.

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. Я ожидаю, что установочный образ сервера уже будет содержать такие вещи, как модули ленточных накопителей ...