如何使用 Smartmontools 触发离线数据收集?

And*_*son 14 ssd disk smart

我刚刚购买了一个新的 SSD,我正试图弄清楚如何监控它的预期寿命。当我跑

sudo smartctl -a /dev/sda
Run Code Online (Sandbox Code Playgroud)

它报告

...
General SMART Values:
Offline data collection status:  (0x80) **Offline data collection activity
                    was never started**.
...
Run Code Online (Sandbox Code Playgroud)

此外,我注意到一些统计数据显示为“始终”或“离线”更新:

$ sudo smartctl -data -A /dev/sda
...
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE    
...    
198 Offline_Uncorrectable   0x0030   100   100   001    Old_age   **Offline**      -       0
199 UDMA_CRC_Error_Count    0x0032   100   100   001    Old_age   **Always**       -       0
202 **Perc_Rated_Life_Used**    0x0018   100   100   001    Old_age   **Offline**      -       0
206 Write_Error_Rate        0x000e   100   100   001    Old_age   **Always**       -       0
Run Code Online (Sandbox Code Playgroud)

这是否意味着“离线”统计数据不是最新的?

“离线”统计数据会随着时间自行更新,还是需要我触发它们以某种方式更新?

我对指示 SSD 寿命的值“Perc_Rated_Life_Used”特别感兴趣,它被标记为“离线”。

使用--offlineauto=on标志(归功于下面迈克尔克雷尔的建议):

sudo smartctl --offlineauto=on -a /dev/sda
Run Code Online (Sandbox Code Playgroud)

产生一个新的输出部分:

=== START OF ENABLE/DISABLE COMMANDS SECTION ===
SMART Automatic Offline Testing Enabled **every four hours**.
Run Code Online (Sandbox Code Playgroud)

但是,智能数据部分仍然报告:

Offline data collection status:  (0x80) Offline data collection activity
                                 **was never started**.
Run Code Online (Sandbox Code Playgroud)

这是在新更新的 Ubuntu 上 13.1016.04 系统。

小智 6

参考smartmontools网站:

列已更新
某些仅在离线数据收集活动期间更新的SMART 属性值在“已更新”列中标记为“离线”。

如何启用“离线数据收集”:

smartctl --offlineauto=on
Run Code Online (Sandbox Code Playgroud)


And*_*son 5

根据smartmontools网站:

请注意,也可以在收到用户命令后立即执行一次性离线测试。请参阅-t offline选项,该选项会立即执行一次性离线测试。

所以,执行:

sudo smartctl -t offline /dev/sda
Run Code Online (Sandbox Code Playgroud)

将智能数据部分更新为:

Offline data collection status:  (0x82) Offline data collection activity
                                 was completed without error.
Run Code Online (Sandbox Code Playgroud)

问题解决了。