获取 SCSI 磁带使用信息

获取 SCSI 磁带使用信息

我有一个 SCSI 磁带 (/dev/st0),我想获取有关其使用量的信息。

我怎样才能做到这一点,最好使用命令?

答案1

如果是 LTO 或其他带有辅助存储器的磁带:

sg_logs -a /dev/sgX

其中 sgX 是与您的磁带驱动器相对应的 SCSI 通用设备(sg_map或者sg_scan可以帮助您找到它,如果您还不知道,例如通过磁带警报检查)

答案2

现代磁带机的工作方式是,如果不读取磁带,您就无法知道磁带已使用了多少。

磁带是具有倒带功能的简单字符设备,因此在写入时,磁带会在写入完成后放置一个 EOM 标记,然后倒带。读取时,它会倒带,然后简单地读取整个磁带,直到到达 EOM。

所以你可以做一个

dd if=/dev/st0 of=/dev/null

dd完成时(有一个错误,因为它会尝试读取超过 EOM),它会告诉您它读取的数据量。

如果您知道磁带有兆字节的数据,并且愿意减少一兆字节,那么添加bs=1M将使速度更快 - 它会尝试一次读取 1M,而不是一次读取一个字节。

答案3

现代/LTO 磁带具有 CM(盒式存储器)。你可以从中读到这样的信息。https://en.wikipedia.org/wiki/Linear_Tape-Open#Cartridge_memory

相关内容