问题描述
我在 Centos7 上,我知道 mhvtl。但是,我正在寻找一种更基本的过程来创建可以处理所有 mt-st ioctl 的“磁带”(例如 st3(和 nst3))。我一直在使用 scsi_debug 内核模块来创建像这样的磁带设备:
modprobe scsi_debug ptype=1
这绝对成功地创建了所有合适的字符设备文件。 “磁带”的初始状态检查看起来是正确的 - 像这样:
[hostname]# mt -f /dev/st3 status
SCSI 2 tape drive:
File number=0,block number=0,partition=0.
Tape block size 0 bytes. Density code 0x0 (default).
Soft error count since last status=0
General status bits on (41010000):
BOT ONLINE IM_REP_EN
但是,如果我第二次运行相同的状态,我会得到这个:
[hostname]# mt -f /dev/st3 status
SCSI 2 tape drive:
File number=-1,block number=-1,partition=0.
Tape block size 0 bytes. Density code 0x0 (default).
Soft error count since last status=0
General status bits on (10000):
IM_REP_EN
看起来磁带被“加载”,然后被“卸载”。日志中的反馈方式很少,任何交互尝试(倒带/加载/fsf/等)都会挂起并最终因 IO 错误而放弃。来自 dmesg:
[st3] Sense Key : Illegal Request [current]
[st3] Add. Sense: Invalid command operation code
mhvtl 很棒 - 但它对于我需要的东西来说太过分了。我只需要一个虚拟磁带设备(不是整个库)就可以正确地与所有 mt 命令交互。
想法?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)