如何减少IO等待时间和重试时间,以使OS不会连续尝试写入发生故障的驱动器?
我有一个用于制作演示内容副本的系统,该演示内容借给客户使用常规SATA台式机硬盘驱动器。我们通过SAS一次连接许多驱动器,并使用脚本将内容复制到它们。
由于驱动器是借出的,有时有些驱动器会损坏,但我不知道它们已损坏,因此下次在复制操作中重新使用该驱动器时,它会减慢其他驱动器的速度,因为系统将IO重试到该驱动器。有时可能要花几个小时才能发现并损坏驱动器。卸下驱动器后,其余驱动器将以正常速度开始写入。
我不在乎恢复损坏的驱动器。我只需要清除它们,以免它们拖慢其他一切的速度。
我也在研究badblocks和smartmontools,并考虑在开始编写之前在驱动器上编写预检查。
操作系统:Ubuntu Linux(12.04 lts)
ddrescue
以便它甚至都不会触及SMART报告的部门。)
udisks
/ 检查SMART数据有什么问题smartmonctl
?方法是一种典型的XY问题。