如何确定 LTO 磁带上剩余多少空间?
如果我寻找到最后并检查状态,我可以看到我的文件编号为 17,但我不知道每个文件有多大。
$ mt -f /dev/nst1 eod
$ mt -f /dev/nst1 status
SCSI 2 tape drive:
File number=17, block number=0, partition=0.
Tape block size 0 bytes. Density code 0x44 (LTO-3).
Soft error count since last status=0
General status bits on (81010000):
EOF ONLINE IM_REP_EN
Run Code Online (Sandbox Code Playgroud)
没有读取整个条带,我如何确定磁带的已用/可用容量?
首先:这并不容易。
磁带盒中有一个芯片,可以提供多种信息。该芯片称为 MAM(媒体辅助存储器)。加载磁带时,可以在磁带驱动器上使用 SCSI 命令“READ ATTRIBUTE”读取信息。属性之一是“分区中的剩余容量”。这包含可以写入当前磁带分区的字节数。这就引出了一个问题:什么是磁带分区?最新版本的 LTO(LTO 5 及更新版本)磁带可以进行分区(LTFS 使用两个分区)。
如果您的磁带已分区,则每个分区都将有一定量的可用空间,您将需要循环所有分区以获取每个分区的可用空间信息。
如果您想了解有关 MAM 的更多信息,请查看IBM 的 LTO-8 SCSI Reference,其中详细解释了这一点(从第 355 页开始的第 6.5 节包含有趣的内容)。如果您需要了解如何实现这一点,也许您应该查看maminfo或sg3_utils Issue Tracker 中的此问题。
我不确定该信息在写入磁带后是否立即更新。也许它只是卸载时的更新,这会使检索准确的信息变得更加困难。我也不确定当你覆盖磁带时这会如何表现。您可能必须自己解决这个问题。
| 归档时间: |
|
| 查看次数: |
1918 次 |
| 最近记录: |