문제
내 시스템에 Overland ArcVault가 연결되어 있지만(실제로는 패스스루 모드로 연결된 독립 실행형 SCSI 카드가 있는 가상 머신), 이름이 지정된 테이프 장치 노드( /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
이 모듈을 포함하는 적절한 패키지가 있습니까?
답변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.
그리고 세상 모든 것이 옳습니다 :)
여담: 이것은 우분투 문서에 포함되면 정말 좋을 것 같은 종류의 것입니다. 서버 설치 이미지에는 이미 테이프 드라이브 모듈 같은 것이 포함되어 있을 것으로 기대합니다...