NVMe SSD磁盘寿命评估方法

我们都知道磁盘是有寿命的,超期服役后,服务器或物联网设备的磁盘会陆续报故障损坏,意外的损坏也带来诸多问题。本文主要讲解下nvme SSD的磁盘寿命消耗情况。

一、查看nvme盘写量

1.安装nvme工具

$ sudo apt update
$ sudo apt install nvme-cli smartmontools

2.查看磁盘历史总写情况

2.1 smart-log方式
# 确认挂载盘
$ ls /dev/ | grep nvme*

# 查看磁盘信息
$ sudo nvme smart-log /dev/nvme1
Smart Log for NVME device:nvme1 namespace-id:ffffffff
critical_warning                    : 0
temperature                         : 34 C
available_spare                     : 100%
available_spare_threshold           : 10%
percentage_used                     : 8%
data_units_read                     : 10,392,752
data_units_written                  : 186,419,551
host_read_commands                  : 41,493,825
host_write_commands                 : 3,038,321,478
controller_busy_time                : 13,646
power_cycles                        : 329
power_on_hours                      : 8,573
unsafe_shutdowns                    : 75
media_errors                        : 0
num_err_log_entries                 : 0
Warning Temperature Time            : 0
Critical Composite Temperature Time : 0
Temperature Sensor 1                : 37 C
Temperature Sensor 2                : 34 C
Thermal Management T1 Trans Count   : 0
Thermal Management T2 Trans Count   : 0
Thermal Management T1 Total Time    : 0
Thermal Management T2 Total Time    : 0

# 计算磁盘
data_units_written 186,419,551*512/1000/1000/1000= 累计写入量95.4TB
2.2 smartctl方式
$ sudo smartctl -a /dev/nvme1
SMART/Health Information (NVMe Log 0x02)
Critical Warning:                   0x00
Temperature:                        33 Celsius
Available Spare:                    100%
Available Spare Threshold:          10%
Percentage Used:                    8%
Data Units Read:                    10,392,753 [5.32 TB]
Data Units Written:                 186,435,625 [95.4 TB]  # 计算好的TB
Host Read Commands:                 41,493,879
Host Write Commands:                3,038,388,026
Controller Busy Time:               13,647
Power Cycles:                       329
Power On Hours:                     8,574
Unsafe Shutdowns:                   75
Media and Data Integrity Errors:    0
Error Information Log Entries:      0
Warning  Comp. Temperature Time:    0
Critical Comp. Temperature Time:    0
Temperature Sensor 1:               37 Celsius
Temperature Sensor 2:               33 Celsius

二、磁盘寿命

1.设计寿命

我拿到的这个nvme型号,设计写寿命为600T的写入:

2.写放大

一般约为1.4倍,我们保守点按1.5写放大计算,得出大约:

600TB / 1.5 = 400TB # 累计实际可写规模

据此可以评估磁盘的寿命已经使用了百分之多少。

三、业务写入速度

切换到正常业务场景,按第一步方法查询磁盘累计写入量,并记录时间,第二天相同时间,再次查询磁盘累计写入量,两次累计写入量的差值即为此业务场景每天对磁盘总寿命的消耗(业务消耗相对稳定的情况下)。

结合业务使用频率和时间,即可自动进行磁盘的寿命报警,避免损坏造成的损失。

 

yan 24.8.20

 

欢迎关注下方“非著名资深码农“公众号进行交流~

发表评论

邮箱地址不会被公开。