我自己的笔记本电脑和一些服务器上都有三星固态硬盘。
当我做:
smartctl -a /dev/sda | grep 177
我得到了无法理解的结果。以下是一些示例:
# my laptop Samsung SSD 850 EVO 500GB (new)
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
177 Wear_Leveling_Count 0x0013 100 100 000 Pre-fail Always - 0
# server 256 GB, SAMSUNG MZ7TE256HMHP-00000
177 Wear_Leveling_Count 0x0013 095 095 000 Pre-fail Always - 95
# server 512 GB, SAMSUNG MZ7TE512HMHP-00000 (1 year old)
177 Wear_Leveling_Count 0x0013 099 099 000 Pre-fail Always - 99
# server 512 GB, SAMSUNG MZ7TE512HMHP-00000 (suppose to be new)
177 Wear_Leveling_Count 0x0013 099 099 000 Pre-fail Always - 99
# server 480 GB, SAMSUNG MZ7KM480HAHP-0E005
177 Wear_Leveling_Count 0x0013 099 099 005 Pre-fail Always - 3
# server 240 GB, SAMSUNG MZ7KM240HAGR-0E005
177 Wear_Leveling_Count 0x0013 099 099 005 Pre-fail Always - 11
知道如何读吗Wear_Leveling_Count
?
有些值是最小值,有些值是最大值。
如果考虑“笔记本电脑” Samsung SSD 850 EVO 500GB
,它是 0 并且可能会变为 100,然后就会失败。
如果首先考虑“服务器” 256 GB, SAMSUNG MZ7TE256HMHP-00000
,它已经处于最大值了吗?它会降到零吗?
答案1
金士顿对此 SMART 属性的描述如下:
平均每个块的擦除/编程周期数。此属性旨在指示即将发生的磨损。标准化公式:100 – (100 * 平均擦除次数 / NAND 最大额定擦除周期数)
忽略Raw Data
这些情况下的(它们可以被制造商操纵以不同的方式工作),并查看Current Value
柱子。
此资料来源安南德科技很好地说明了如何使用这个数字:
磨损均衡计数 (WLC) SMART 值为我们提供了所需的所有数据。当前值以百分比表示驱动器的剩余耐用性,这意味着它从 100 开始,并随着驱动器的写入而线性减少。原始 WLC 值计算消耗的 P/E 周期,因此如果在写入驱动器时监视这两个值,我们很快就会找到标准化值下降 1 的位置。
write
所有驱动器的速率都在 95 到 100 之间,最终会降到 0。这是对每个块在发生故障之前可以经历多少个、erase
等循环的估计rewrite
,目前,您的一个驱动器估计的已经使用了其当前预期寿命的 5%。再次强调,这里的关键词是“估计”。
还请注意,您的驱动器可能使用不同的 NAND 技术,因此预期寿命会有所不同。一些 NAND 技术预计每个块可持续约 1000 个 PE 周期,而其他 NAND 技术则可达到 30,000 个。
答案2
SMART 报告我的 Samsung SM951 (AHCI) 128GB 出现了 PREFAILED 情况,在 Linux 中报告为SAMSUNG MZHPV128HDGM-00000 (BXW2500Q)
。
但就我而言,我认为这是驱动器的固件错误,
- 因为该
total-bytes-written
属性报告为 1.1TB,而该驱动器的指定总写入字节数 (TBW) 为 75TB!这可能在(非常)安全方面,因为类似的(MLC NAND)驱动器都达到了这个数字的倍数(600TB)真正的耐力考验, - 除
wear_level_count
警告外,没有报告其他故障前或过时错误或警告, - 而
reallocated-sector-count
根据该测试,这是一个良好的故障前指标,但它仍然为 0。
因此,我的建议是检查您的驱动器/系统的这些值并以此为基础得出结论。
skdump
我更喜欢随附的低级实用程序libatasmart
,它与Gnome 磁盘。
使用以下命令,替换/dev/sdc
块设备的路径:
sudo skdump /dev/sdc
答案3
关于三星 EVO 和 PRO SSD 的简短说明:
smartctl -a /dev/sda
smartctl 6.4 2014-10-07 r4002 [x86_64-linux-4.9.0-0.bpo.6-amd64] (local build)
Copyright (C) 2002-14, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Device Model: Samsung SSD 860 PRO 1TB
Serial Number: S42NNF0K000000
LU WWN Device Id: 5 002538 e405145c6
Firmware Version: RVM01B6Q
User Capacity: 1,024,209,543,168 bytes [1.02 TB]
Sector Size: 512 bytes logical/physical
Rotation Rate: Solid State Device
Form Factor: 2.5 inches
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: Unknown(0x09fc) (unknown minor revision code: 0x005e)
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Fri Jan 8 11:53:56 2021 EET
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
General SMART Values:
Offline data collection status: (0x00) Offline data collection activity
was never started.
Auto Offline Data Collection: Disabled.
Self-test execution status: ( 0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: ( 0) seconds.
Offline data collection
capabilities: (0x53) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
No Offline surface scan supported.
Self-test supported.
No Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 2) minutes.
Extended self-test routine
recommended polling time: ( 85) minutes.
SCT capabilities: (0x003d) SCT Status supported.
SCT Error Recovery Control supported.
SCT Feature Control supported.
SCT Data Table supported.
SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
5 Reallocated_Sector_Ct 0x0033 100 100 010 Pre-fail Always - 0
9 Power_On_Hours 0x0032 097 097 000 Old_age Always - 14689
12 Power_Cycle_Count 0x0032 099 099 000 Old_age Always - 122
177 Wear_Leveling_Count 0x0013 098 098 000 Pre-fail Always - 25
179 Used_Rsvd_Blk_Cnt_Tot 0x0013 100 100 010 Pre-fail Always - 0
181 Program_Fail_Cnt_Total 0x0032 100 100 010 Old_age Always - 0
182 Erase_Fail_Count_Total 0x0032 100 100 010 Old_age Always - 0
183 Runtime_Bad_Block 0x0013 100 100 010 Pre-fail Always - 0
187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0
190 Airflow_Temperature_Cel 0x0032 067 056 000 Old_age Always - 33
195 Hardware_ECC_Recovered 0x001a 200 200 000 Old_age Always - 0
199 UDMA_CRC_Error_Count 0x003e 099 099 000 Old_age Always - 23
235 Unknown_Attribute 0x0012 099 099 000 Old_age Always - 58
241 Total_LBAs_Written 0x0032 099 099 000 Old_age Always - 29068641040
寿命指标最有趣的部分是:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
177 Wear_Leveling_Count 0x0013 098 098 000 Pre-fail Always - 25
RAW 值为 25???这是否意味着我的使用寿命已耗费了 25%?
确实没有。请看三星的回复:
SMART 属性 177(磨损均衡计数)
此属性表示介质编程和擦除操作的次数(即块被擦除的次数)。此值与 SSD 的使用寿命直接相关。此属性的原始值显示 P/E Cycles 的总数。
这意味着,在我的特定 SSD 中,VALUE 98 表示仍然剩余 98% 的寿命,但每个块的平均编程/擦除周期为 25 次。
还有一件有趣的事情:
241 Total_LBAs_Written 0x0032 099 099 000 Old_age Always - 29068641040
这个尺寸是多少 GB?TB?
很简单,通过 SMART 信息来获取 Sector 大小:
Sector Size: **512** bytes logical/physical
总写入量(GB 或 TB):
29068641040/2/1024/1024 = 13861 GB / 1024 = 13.536 TB
解释:将 LBA 计数除以 2,因为 1 KB 由 2 个 512B 扇区组成。然后除以 1024 可得到 MB、GB 和 TB。
希望能帮助到你。
答案4
我总是每天安排驱动器映像。有些设备是 Veem,其他设备是 StorageCraft。在大多数情况下,裸机和虚拟机恢复/安装时间不到 5 分钟,我还没有遇到过措手不及的情况。
除此之外,如果您真的想要制定计划,请计划在保修期满后 30 天内更换所有驱动器。
我确实尊重数学,也尊重想要了解如何/何时监控或预测驱动器故障的细节,并且我向所有在技术方面能够解决数字运算问题的人致敬!!