两个 2TB 驱动器,为什么 dd 擦除一个驱动器的速度几乎快 8 倍?

两个 2TB 驱动器,为什么 dd 擦除一个驱动器的速度几乎快 8 倍?

我有两块 2TB 的硬盘:

/dev/sdeWCD WD20EZRX-00D8PB0 固件修订版 80.00A80(新型消费级 WD Green 系列)

/dev/sdfWCD WD2002FYPS-01U1B1 固件版本 04.05G05(旧款专业级服务器节能驱动器)

第一个(sde)是全新的,我用了几天,格式是ext4。

第二个 ( sdf) 已用作备份驱动器几年了。它几乎已满,并在 lmv2 之上进行了 ext4 格式化。

两个驱动器使用相同的电缆连接到同一个 SAS 控制器,并使用相同的电缆 (Silverstone PP06B-4SATA10) 供电。两个 SAS 驱动器也共享相同的电缆。

我在一个空闲的 8 核工作站(具有 64GB RAM)上运行以下命令:

dd if=/dev/zero of=/dev/sdX iflag=nocache oflag=direct bs=4096

对于 sde,该过程在 54329.1 秒后以 36.8 MB/s 的速度完成。

对于 sdf,该进程仍在运行(354117 秒后),速度为 4.8 MB/s(如后报告的那样kill -USR1)。

这意味着,在旧服务器驱动器中执行相同的命令所需的时间比在新消费者驱动器中几乎多 8 倍。

两者都是具有 64MB 缓存的“IntelliPower”驱动器,而且确实,较新的驱动器预计会更快(可能快两倍,很慷慨,但快 8 倍呢?)

问题

  • 考虑到驱动器的特性,这是可以预料到的吗?或者这可能与年龄、损坏、格式化、完整性、功率、优先级、有缺陷的固件等有关?
  • 您认为这可能是硬件故障的症状吗?
  • 我应该更换旧驱动器吗?

更新

根据@MKzero的建议,我运行了smartctl,确实,看起来驱动器已经坏了。但是,当我运行smartctl时,dd仍在运行...

smartctl -H /dev/sdf
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.12-1-amd64] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: FAILED!
Drive failure expected in less than 24 hours. SAVE ALL DATA.
Failed Attributes:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  5 Reallocated_Sector_Ct   0x0033   138   138   140    Pre-fail  Always   FAILING_NOW 490

答案1

首先,如果您怀疑旧驱动器有故障,请尝试检查其智能值。传输速率低至 5 MB/s 似乎有点奇怪,尤其是对于连续写入而言dd

对于硬盘来说,驱动器的满载程度并不重要。对于 SSD 来说,这才是更值得关注的问题,因为 SSD 的速度会随着时间的推移而变慢。

出于测试目的,您可以尝试交换电缆并查看是否有任何变化 - 使用相同的电缆并不意味着其中一条电​​缆不会以某种方式损坏。

此外,较新的驱动器会将数据存储在较少的空间中,因此写入驱动器的速度会更快。随着驱动器技术的进步,有更好、更稳定的数据写入方式,例如错误处理或更好的记录技术,以将相同的数据存储在较少的空间中。在较少的空间中存储更多数据当然意味着更高的传输速度。

相关内容