SMART 数据中 Total_LBA_Written 的单位

fgr*_*ieu 6 hard-drive ssd smart

我有 3 台机器,其磁盘(实际上是 SSD)采用 RAID1,故意使用不同品牌,以防止它们因磨损而同时丢失。它们很实用。

它们的两个磁盘上的 Total_LBA_Written 数量应该大致相同。但数字有很大不同,例如 smartctl 在 Samsung SSD 850 EVO 2TB 上报告 2596016156,但在配套的 WDC WDS200T2B0A-00SM50 上报告 1237:

241  Total_LBAs_Written  0x0032  099 099 000  Old_age  Always   -  2596016156
241  Total_LBAs_Written  0x0030  253 253 ---  Old_age  Offline  -        1237
Run Code Online (Sandbox Code Playgroud)

我最好的猜测是第一个报告以 512 字节为单位,第二个以Gibibyte为单位。这可以解释比率为 2 21(较小值在 1 个单位内)。

Total_LBA_Written 条目的单位是否在某处标准化?有没有系统的方法来确定?如果没有,练习什么单元?

更新,2023 年 10 月(4 年后):该配置仍在使用(并且很好)。现在它写着:

241  Total_LBAs_Written  0x0032  099 099 000  Old_age  Always   - 219294945066
241  Total_LBAs_Written  0x0030  253 253 ---  Old_age  Offline  -       104567
Run Code Online (Sandbox Code Playgroud)

两个驱动器的值之间的比率为 2 21,误差在 0.001% 以内,即较小值的 1 个单位。

小智 5

我认为你的猜测是对的。我有一块HooDisk SSD 128G,并做了以下测试:

  1. 阅读属性:289
  2. 写入1G数据
  3. 阅读属性:290
  4. 写入1G数据
  5. 阅读属性:291

命令:

$ smartctl -a /dev/sda |awk '/Total_LBAs_Written/ {print $10}'
289
$ dd if=/dev/zero of=/home/testimage bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 3.54747 s, 303 MB/s
$ smartctl -a /dev/sda |awk '/Total_LBAs_Written/ {print $10}'
290
$ dd if=/dev/zero of=/home/testimage bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 3.42046 s, 314 MB/s
$ smartctl -a /dev/sda |awk '/Total_LBAs_Written/ {print $10}'
291
$
Run Code Online (Sandbox Code Playgroud)

基于维基百科: https: //en.wikipedia.org/wiki/SMART#Known_ATA_S.MART_attributes 它没有说这个属性的单位,所以我猜它没有很好的标准化,你最好具体测试设备来确定其含义。