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

mir*_*rix 3 performance hard-drive speed dd high-definition

我有两个 2TB 驱动器:

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

/dev/sdf WCD WD2002FYPS-01U1B1 固件修订版 04.05G05(老款专业级服务器省电驱动)

第一个 ( sde) 是全新的。我只使用了几天,它被格式化为 ext4。

第二个 ( sdf) 已用作备份驱动器几年。它在 lmv2 之上几乎是满的和 ext4 格式的。

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

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

dd if=/dev/zero of=/dev/sdX iflag=nocache oflag=direct bs=4096
Run Code Online (Sandbox Code Playgroud)

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

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

这意味着相同的命令在旧服务器驱动器中比在新消费者驱动器中花费的时间多近 8 倍。

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

问题

  • 鉴于驱动器的功能,这是可以预期的,还是可能与年龄、损坏、格式、完整性、电源、优先级、错误固件等有关?
  • 您认为这可能是硬件故障的症状吗?
  • 我应该更换旧驱动器吗?

更新

按照@MKzero 的建议,我运行了 smartctl,实际上,该驱动器似乎是 kaput。但是,当我运行时 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
Run Code Online (Sandbox Code Playgroud)

Izz*_*zzy 6

首先,如果您怀疑旧驱动器有故障,请尝试检查它的智能值。低至 5 MB/s 的传输速率似乎有点奇怪,尤其是像dd这样的顺序写入。

对于硬盘驱动器来说,驱动器有多满应该无关紧要。这对于 SSD 来说更令人担忧,它往往会随着时间的推移而变慢。

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

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