如何加速 ddrescue

如何加速 ddrescue

我正在尝试使用 ddrescue 备份故障的外部 USB HDD Maxtor M3 4TB。

一开始,我的速度大约是 300kB/s,所以我拆下外接盒,直接通过 SATA 将驱动器连接到我的台式机,这样速度就提高到了 700kB/s 左右。在尝试了 -a(最小读取速率)-b(块大小)-c(一次要复制的扇区数)之后,我得到了

-a 20M -b 4096B -c 2048

上述组合将速率提高到约 1800kB/s。此外,当前速率从几字节/秒到 115MB/s 波动,总体平均值保持在上述 1800kB/s 左右。感觉就像它以正常的“健康驱动器”速率读取一秒钟,然后挂起等待超时并以降低的速率继续。

您是否有过其他有助于提高速度的参数使用经验?由于按照目前的速度,整个 4TB 驱动器大约需要一个月的时间,因此任何改进都值得赞赏。

编辑-完整命令

完整命令是

sudo ddrescue -a 20M -b 4096 -c 2048  -f -n -vv /dev/sdi /dev/sdh video_drive.log

编辑 2 - 哦,这就是为什么它这么慢

驱动器出现故障,导致 SMART 支持有时会被禁用,但在驱动器正常工作期间,我注意到Read Error RateHardware ECC Recovered字段的值很高且不断增加。我猜想 ECC 恢复是我没有看到错误的原因,也是错误率如此低的原因。

答案1

读取磁盘时ddrescue,它必须读取每个块。它无法提前知道哪些块是坏的。因此,它不可避免地会尝试读取坏块。磁盘会非常努力地正确读取此块,然后放弃并返回错误。消费级硬盘无法禁用或控制此行为。

因此,即使不ddrescue重试,坏块也会大大减慢进程。除了继续前进,你什么也做不了。

相关内容