买了一台二手电脑,现在在上面安装 smartd,我收到了 smartd 的“严重警告(0x04):可靠性”电子邮件(完整)帕斯特宾)。这Percentage Used: 112%
是令人担忧的。 smartd 声明“严重警告(0x04):可靠性”是否足够?
This message was generated by the smartd daemon running on:
host name: kosh
DNS domain: [Empty]
The following warning/error was logged by the smartd daemon:
Device: /dev/nvme0, Critical Warning (0x04): Reliability
Device info:
Samsung SSD 970 EVO Plus 1TB, S/N:S4EWNM0R328374F, FW:2B2QEXM7, 1.00 TB
<snip>
=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: FAILED!
- NVM subsystem reliability has been degraded
SMART/Health Information (NVMe Log 0x02)
<snip>
Percentage Used: 112%
<snip>
Error Information (NVMe Log 0x01, 16 of 64 entries)
Num ErrCount SQId CmdId Status PELoc LBA NSID VS Message
0 4357 0 0x0010 0x4004 - 0 0 - Invalid Field in Command
Self-test Log (NVMe Log 0x06)
Self-test status: No self-test in progress
No Self-tests Logged
在我看来,“命令中的无效字段”错误是转移注意力的,因为我正在运行 smartmontools 版本 7.4,其中https://www.smartmontools.org/ticket/1222已修复,因此不会导致测试失败。
然后我跑了:
$ sudo smartctl -t short /dev/nvme0n1
现在sudo smartctl --all /dev/nvme0n1
结束于:
Self-test Log (NVMe Log 0x06)
Self-test status: No self-test in progress
Num Test_Description Status Power_on_Hours Failing_LBA NSID Seg SCT Code
0 Short Completed: failed segments 3535 - 1 2 - -
1 Short Completed: failed segments 3535 - 1 2 - -
但我不知道如何获取有关“失败片段”的更多信息。
这是否足以让我断定该磁盘已损坏并需要更换,或者仍然有希望?
答案1
严重警告是直接从设备本身读取的位字段。 smartmontools 然后只向您显示它......所以您正在寻找 smartmontools 本身不做的解释。从技术上讲,由于 X 或 Y 原因,smartctl 不会显示此内容;驱动器固件出于自身考虑在内部设置故障位。
看NVM Express® 基本规范,图 208,第 200 页其中这个特定的严重警告位描述如下:
严重警告:该字段指示控制器状态的严重警告。每一位对应一个严重警告类型;多个位可以设置为“1”。如果某个位被清除为“0”,则该严重警告不适用。严重警告可能会导致向主机发出异步事件通知。该字段中的位表示处理“获取日志页”命令时的状态,并且可能不反映相关异步事件通知(如果有)发生或发生时的状态。
位:2 |定义:如果设置为“1”,则 NVM 子系统可靠性已因重大介质相关错误或任何降低 NVM 子系统可靠性的内部错误而降低。
(这里的位是从 0 开始计数的,因此严重警告 (0x04) 是位 2)。
使用百分比是否足以设置该位?这是可能的。我在 Google 上搜索了三星 EVO SSD 的 smartctl 输出,我能找到的少数几个使用百分比 >100% 的输出都已设置。
不过,您仍然不应该在自检中得到失败的段。也许运行长时间的自测试以及使用坏块(不要使用 -n 或 -w)或 dd 的只读测试?
如有疑问:更换驱动器。