如何解决如何创建一个使用 mt 命令的虚拟磁带设备?
我在 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 举报,一经查实,本站将立刻删除。