如何防止 smartclt 报告的不安全关机?

如何防止 smartclt 报告的不安全关机?

基于一个eblock 的建议smartctl,这几天我跑了好几次来检查问题。作为示例,下面是输出sudo smartctl -a /dev/nvme0n1p2

smartctl 7.0 2019-05-21 r4917 [x86_64-linux-5.5.7-1-default] (SUSE RPM)
Copyright (C) 2002-18, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Number:                       Samsung SSD 970 EVO Plus 500GB
Serial Number:                      S4EVNZFN503427W
Firmware Version:                   2B2QEXM7
PCI Vendor/Subsystem ID:            0x144d
IEEE OUI Identifier:                0x002538
Total NVM Capacity:                 500,107,862,016 [500 GB]
Unallocated NVM Capacity:           0
Controller ID:                      4
Number of Namespaces:               1
Namespace 1 Size/Capacity:          500,107,862,016 [500 GB]
Namespace 1 Utilization:            94,943,219,712 [94.9 GB]
Namespace 1 Formatted LBA Size:     512
Namespace 1 IEEE EUI-64:            002538 5501ad2a18
Local Time is:                      Wed Dec  2 11:19:04 2020 CET
Firmware Updates (0x16):            3 Slots, no Reset required
Optional Admin Commands (0x0017):   Security Format Frmw_DL Self_Test
Optional NVM Commands (0x005f):     Comp Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat Timestmp
Maximum Data Transfer Size:         512 Pages
Warning  Comp. Temp. Threshold:     85 Celsius
Critical Comp. Temp. Threshold:     85 Celsius

Supported Power States
St Op     Max   Active     Idle   RL RT WL WT  Ent_Lat  Ex_Lat
 0 +     7.80W       -        -    0  0  0  0        0       0
 1 +     6.00W       -        -    1  1  1  1        0       0
 2 +     3.40W       -        -    2  2  2  2        0       0
 3 -   0.0700W       -        -    3  3  3  3      210    1200
 4 -   0.0100W       -        -    4  4  4  4     2000    8000

Supported LBA Sizes (NSID 0x1)
Id Fmt  Data  Metadt  Rel_Perf
 0 +     512       0         0

=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

SMART/Health Information (NVMe Log 0x02)
Critical Warning:                   0x00
Temperature:                        38 Celsius
Available Spare:                    100%
Available Spare Threshold:          10%
Percentage Used:                    0%
Data Units Read:                    382,321 [195 GB]
Data Units Written:                 695,579 [356 GB]
Host Read Commands:                 4,525,857
Host Write Commands:                9,680,786
Controller Busy Time:               30
Power Cycles:                       205
Power On Hours:                     75
Unsafe Shutdowns:                   73
Media and Data Integrity Errors:    0
Error Information Log Entries:      209
Warning  Comp. Temperature Time:    0
Critical Comp. Temperature Time:    0
Temperature Sensor 1:               38 Celsius
Temperature Sensor 2:               41 Celsius

Error Information (NVMe Log 0x01, max 64 entries)
No Errors Logged

“SMART 整体健康自我评估测试结果:通过”和“未记录任何错误”这两行看起来令人放心,但以下行却不然:

Unsafe Shutdowns:                   73

根据使用 NVMe 命令行工具检查 NVMe 闪存运行状况作者:Peter Zaitsev(2017 年 2 月),不安全关闭是指

在未发送关机通知的情况下发生断电的次数。根据您使用的 NVMe 设备,不安全关闭可能会损坏用户数据。

我的 Tuxedo 笔记本上发生过几次意外关闭(请参阅有没有办法通过检查日志文件来查找意外断电的原因?)但不是 73 次。

根据此论坛帖子位于 Tom's Harware(2019 年 4 月),禁用快速启动可能会有所帮助。这是正确的还是还需要其他东西?

答案1

由于某些原因,我不相信这个 SMART 参数是正确的。以我自己的 SSD 为例,我看到:

174 Unexpect_Power_Loss_Ct  0x0032   100   100   000    Old_age   Always       -       75

这显然是错误的,因为在该 SSD 的使用寿命内,我按下重置按钮或断电的次数不到 20 次。

之所以应该相对安全,是因为在关闭之前,systemd告诉内核刷新缓冲区,因此所有脏缓存实际上都转储到设备上。

只是永远不要忘记定期进行正确的备份 - 这是最重要的事情。

相关内容