tar 从磁带读取时抛出输入/输出错误,但文件正常

tar 从磁带读取时抛出输入/输出错误,但文件正常

我已经将大约 1.5TB 的文件写入磁带,

tar -b 512 -clpMvf /dev/nst0 /path_to_stuff

一切运行良好,没有错误消息。现在,如果我尝试使用

tar -b 512 -xlpMvf /dev/nst0 /path_to_stuff

我收到大约 10-12 个读取错误:

path_to_stuff/file.ext
tar: /dev/nst0: Cannot read: Input/output error

如果我对原始文件和恢复的文件进行逐字节比较,它们是相同的,因此所有内容都读取正确。如果我重新运行,读取错误发生在不同的文件上。

磁带驱动器是 IBM 的 SAS 连接 LTO-7。固件最近已更新,没有任何变化。

这是 tapeinfo -f 给我的信息:

Product Type: Tape Drive
Vendor ID: 'IBM     '
Product ID: 'ULTRIUM-HH7     '
Revision: 'G9Q1'
Attached Changer API: No
SerialNumber: '1132T125132'
MinBlock: 1
MaxBlock: 8388608
SCSI ID: 1
SCSI LUN: 0
Ready: yes
BufferedMode: yes
Medium Type: 0x78
Density Code: 0x5c
BlockSize: 0
DataCompEnabled: yes
DataCompCapable: yes
DataDeCompEnabled: yes
CompType: 0xff
DeCompType: 0xff
BOP: yes
Block Position: 0
Partition 0 Remaining Kbytes: -1
Partition 0 Size in Kbytes: -1
ActivePartition: 0
EarlyWarningSize: 0
NumPartitions: 0
MaxPartitions: 3

非常感谢您的任何想法!

答案1

我最近几天也遇到了同样的问题。

问题发生在上次系统升级之后。我在备份期间观察了系统的行为,发现整个内存都被使用了。同时,tar 上出现了读取错误。在这次升级期间,系统交换已配置但未激活。

于是我再次激活交换并启动相同的 tar 调用。惊喜!错误不再发生。即使交换仅使用了几 kb(系统内存 32G 交换 16G)。

相关内容