Proxmoxに内蔵しているSSDの寿命を確認する方法を紹介します。
SSDは機械的動作がないため、HDDのような突然故障はめったに起こりませんが、FlashROMデバイス技術を使っているため、書き込み回数に上限があります。
書き込み可能回数はTBW(Tera Byte Written)という値でメーカー仕様書に記載されていますので、容易に寿命を予測することができます。※
SSDはTBWを迎えてしまうとストレージが書き込めない状態になることで、突然システムダウンになることがあるため、毎年1回くらいは書き込み量をチェックしておいたほうが無難と思います。
※TBWが非公表のSSDは寿命予測が出来ずサーバー用途には向いてません。できるだけ選ばないようにします。
確認方法
操作はProxmoxのシェルで行います。
proxmoxシェルは画面を変えると強制exitとなるため、不都合があるかたはteratermなどからSSH接続するのが良いでしょう。
ProxmoxはDebianベースのため、ubuntuで標準インストールされているsmartctlを使うことで作業は完結します。
SSDデバイス名の確認
smartctlコマンドでSSDデバイス名を確認します。
# M.2 SSDの場合 root@falcon:~# smartctl --scan /dev/nvme0 -d nvme # /dev/nvme0, NVMe device # SATA SSDの場合 root@falcon2:~# smartctl --scan /dev/sda -d scsi # /dev/sda, SCSI device # SATA HDDの場合 root@falcon3:~# smartctl --scan /dev/sda -d scsi # /dev/sda, SCSI device /dev/sdb -d scsi # /dev/sdb, SCSI device /dev/sdc -d scsi # /dev/sdc, SCSI device
/dev/nvme0がM.2のnvmeデバイスで、/dev/sdaがSATAドライブになります。
SMART情報の確認
HDD/SSDは各種動作や障害履歴を記録する仕組みがあり、SMART情報として読み出すことができます。
それではsmartctlでSMART情報を取り出し、寿命を計算してみます。
1. M.2 NVMeドライブの場合
Crucialの民生品M.2 NVMe SSDを使ったマシンのSMART情報を確認してみます。
root@falcon1:~# smartctl /dev/nvme0 --all smartctl 7.3 2022-02-28 r5338 [x86_64-linux-6.8.12-9-pve] (local build) Copyright (C) 2002-22, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION === Model Number: CT1000P3PSSD8 Serial Number: XXXXXXXXXXX Firmware Version: P9CR413 PCI Vendor/Subsystem ID: 0x1344 IEEE OUI Identifier: 0x00a075 Controller ID: 0 NVMe Version: 1.4 Number of Namespaces: 1 Namespace 1 Size/Capacity: 1,000,204,886,016 [1.00 TB] Namespace 1 Formatted LBA Size: 512 Namespace 1 IEEE EUI-64: 00a075 0147226c46 Local Time is: Wed May 7 15:25:07 2025 JST Firmware Updates (0x14): 2 Slots, no Reset required Optional Admin Commands (0x0017): Security Format Frmw_DL Self_Test Optional NVM Commands (0x00d7): Comp Wr_Unc DS_Mngmt Sav/Sel_Feat Timestmp Verify Log Page Attributes (0x1e): Cmd_Eff_Lg Ext_Get_Lg Telmtry_Lg Pers_Ev_Lg Maximum Data Transfer Size: 64 Pages Warning Comp. Temp. Threshold: 83 Celsius Critical Comp. Temp. Threshold: 85 Celsius Namespace 1 Features (0x08): No_ID_Reuse Supported Power States St Op Max Active Idle RL RT WL WT Ent_Lat Ex_Lat 0 + 5.50W - - 0 0 0 0 0 0 1 + 3.00W - - 1 1 1 1 0 0 2 + 1.50W - - 2 2 2 2 0 0 3 - 0.0300W - - 3 3 3 3 5000 2500 4 - 0.0025W - - 4 4 4 4 8000 40000 Supported LBA Sizes (NSID 0x1) Id Fmt Data Metadt Rel_Perf 0 + 512 0 1 1 - 4096 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: 37 Celsius Available Spare: 100% Available Spare Threshold: 5% Percentage Used: 3% Data Units Read: 6,522,609 [3.33 TB] Data Units Written: 10,961,882 [5.61 TB] Host Read Commands: 54,187,308 Host Write Commands: 477,944,589 Controller Busy Time: 492 Power Cycles: 25 Power On Hours: 7,263 Unsafe Shutdowns: 13 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 Error Information (NVMe Log 0x01, 16 of 255 entries) No Errors Logged
総書き込みデータ量の確認をします。
- トータル書き込みバイト数:Data Units Written:10,961,882 [5.61 TB]
- このM.2のModel Number:CT1000P3PSSD8
- Model NumberでTBWを検索する:220TB
5.61TB << 220TBであるため、寿命到達までかなりの時間があることが分かります。
参考までにこのマシンはApache Webサーバーとして1年運用しているものです。
2. SATA SSDの場合
次はADATAのSATA SU800を使ったマシンのSMART情報を確認してみます。
root@falcon2:~# smartctl /dev/sda --all
smartctl 7.3 2022-02-28 r5338 [x86_64-linux-6.8.4-2-pve] (local build)
Copyright (C) 2002-22, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Family: Silicon Motion based SSDs
Device Model: ADATA SU800
Serial Number: XXXXXXXXXXXX
LU WWN Device Id: 5 707c18 100d5c50d
Firmware Version: 22Z4VBND
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
TRIM Command: Available, deterministic, zeroed
Device is: In smartctl database 7.3/5319
ATA Version is: ACS-3 T13/2161-D revision 5
SATA Version is: SATA 3.3, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Wed May 7 15:26:56 2025 JST
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
~~中略~~
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x0000 100 100 000 Old_age Offline - 0
5 Reallocated_Sector_Ct 0x0000 100 100 000 Old_age Offline - 0
9 Power_On_Hours 0x0000 100 100 000 Old_age Offline - 101
12 Power_Cycle_Count 0x0000 100 100 000 Old_age Offline - 7
148 Total_SLC_Erase_Ct 0x0000 100 100 000 Old_age Offline - 7138
149 Max_SLC_Erase_Ct 0x0000 100 100 000 Old_age Offline - 164
150 Min_SLC_Erase_Ct 0x0000 100 100 000 Old_age Offline - 0
151 Average_SLC_Erase_Ct 0x0000 100 100 000 Old_age Offline - 89
159 DRAM_1_Bit_Error_Count 0x0000 100 100 000 Old_age Offline - 0
160 Uncorrectable_Error_Cnt 0x0000 100 100 000 Old_age Offline - 0
161 Valid_Spare_Block_Cnt 0x0000 100 100 000 Old_age Offline - 101
163 Initial_Bad_Block_Count 0x0000 100 100 000 Old_age Offline - 22
164 Total_Erase_Count 0x0000 100 100 000 Old_age Offline - 2083
165 Max_Erase_Count 0x0000 100 100 000 Old_age Offline - 2
166 Min_Erase_Count 0x0000 100 100 000 Old_age Offline - 1
167 Average_Erase_Count 0x0000 100 100 000 Old_age Offline - 1
168 Max_Erase_Count_of_Spec 0x0000 100 100 000 Old_age Offline - 3000
169 Remaining_Lifetime_Perc 0x0000 100 100 000 Old_age Offline - 100
177 Wear_Leveling_Count 0x0000 100 100 050 Old_age Offline - 0
181 Program_Fail_Cnt_Total 0x0000 100 100 000 Old_age Offline - 0
182 Erase_Fail_Count_Total 0x0000 100 100 000 Old_age Offline - 0
192 Power-Off_Retract_Count 0x0000 100 100 000 Old_age Offline - 0
194 Temperature_Celsius 0x0000 100 100 000 Old_age Offline - 26
195 Hardware_ECC_Recovered 0x0000 100 100 000 Old_age Offline - 0
196 Reallocated_Event_Count 0x0000 100 100 016 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x0000 100 100 050 Old_age Offline - 0
232 Available_Reservd_Space 0x0000 100 100 000 Old_age Offline - 100
241 Host_Writes_32MiB 0x0000 100 100 000 Old_age Offline - 15426
242 Host_Reads_32MiB 0x0000 100 100 000 Old_age Offline - 15595
245 TLC_Writes_32MiB 0x0000 100 100 000 Old_age Offline - 43743
SMART Error Log Version: 1
No Errors Logged
SMART Self-test log structure revision number 1
No self-tests have been logged. [To run self-tests, use: smartctl -t]
SMART Selective self-test log data structure revision number 1
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
1 0 0 Not_testing
2 0 0 Not_testing
3 0 0 Not_testing
4 0 0 Not_testing
5 0 0 Completed [00% left] (0-65535)
Selective self-test flags (0x0):
After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.
総書き込みデータ量の確認をします。
- トータル書き込みバイト数:TLC_Writes_32MiB - 43743 →32をかけてMBytesに変換: 43743 * 32 = 1,399,776(MBytes) ≒ 1.3TB
- このM.2のModel Number:ADATA SU800
- Model NumberでTBWを検索する:800TB
1.3TB << 800TBであるため、寿命到達までかなりの時間があることがわかります。
WD製M.2 SSDの場合
次はWD製M.2 NVMeのSMART情報を確認です。
WD製のSATA SSDはSMART情報に総書き込みバイト数がありませんが(仕様上もTBW非公開)のですが、NVMe仕様はSMART情報が記録されていました。
root@falcon3:~# smartctl /dev/nvme0 --all smartctl 7.3 2022-02-28 r5338 [x86_64-linux-6.8.12-10-pve] (local build) Copyright (C) 2002-22, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION === Model Number: WD_BLACK SN770 1TB Serial Number: 24274K803610 Firmware Version: XXXXXXXX PCI Vendor/Subsystem ID: 0x15b7 IEEE OUI Identifier: 0x001b44 Total NVM Capacity: 1,000,204,886,016 [1.00 TB] Unallocated NVM Capacity: 0 Controller ID: 0 NVMe Version: 1.4 Number of Namespaces: 1 Namespace 1 Size/Capacity: 1,000,204,886,016 [1.00 TB] Namespace 1 Formatted LBA Size: 512 Namespace 1 IEEE EUI-64: 001b44 8b408381d6 Local Time is: Wed May 7 16:16:27 2025 JST Firmware Updates (0x14): 2 Slots, no Reset required Optional Admin Commands (0x0017): Security Format Frmw_DL Self_Test Optional NVM Commands (0x00df): Comp Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat Timestmp Verify Log Page Attributes (0x7e): Cmd_Eff_Lg Ext_Get_Lg Telmtry_Lg Pers_Ev_Lg *Other* Maximum Data Transfer Size: 256 Pages Warning Comp. Temp. Threshold: 84 Celsius Critical Comp. Temp. Threshold: 88 Celsius Namespace 1 Features (0x02): NA_Fields Supported Power States St Op Max Active Idle RL RT WL WT Ent_Lat Ex_Lat 0 + 5.00W 5.00W - 0 0 0 0 0 0 1 + 3.30W 3.00W - 0 0 0 0 0 0 2 + 2.20W 2.00W - 0 0 0 0 0 0 3 - 0.0150W - - 3 3 3 3 1500 2500 4 - 0.0050W - - 4 4 4 4 10000 6000 5 - 0.0033W - - 5 5 5 5 176000 25000 Supported LBA Sizes (NSID 0x1) Id Fmt Data Metadt Rel_Perf 0 + 512 0 2 1 - 4096 0 1 === START OF SMART DATA SECTION === SMART overall-health self-assessment test result: PASSED SMART/Health Information (NVMe Log 0x02) Critical Warning: 0x00 Temperature: 40 Celsius Available Spare: 100% Available Spare Threshold: 10% Percentage Used: 0% Data Units Read: 324,915 [166 GB] Data Units Written: 1,499,954 [767 GB] Host Read Commands: 2,515,863 Host Write Commands: 76,321,000 Controller Busy Time: 71 Power Cycles: 14 Power On Hours: 316 Unsafe Shutdowns: 9 Media and Data Integrity Errors: 0 Error Information Log Entries: 0 Warning Comp. Temperature Time: 0 Critical Comp. Temperature Time: 0 Temperature Sensor 1: 60 Celsius Temperature Sensor 2: 40 Celsius Error Information (NVMe Log 0x01, 16 of 256 entries) No Errors Logged
総書き込みデータ量の確認をします。
- トータル書き込みバイト数:Data Units Written: 1,499,954 [767 GB]
- M.2のModel Number:WD_BLACK SN770 1TB
- Model NumberでTBWを検索する:600TB
767GB << 600TBであるため、寿命到達までかなりの時間があることが分かりました。
Silicon Power製SATA SSDの場合
Silicon Power(シリコンパワー)製SATA SSDは、Total_LBAs_Writtenという値で総書き込み量がわかります。
またSilicon Power製SSDは、Device Modelで型番が出てこないため、インストール時に型番を記載しておく必要があります。
ただ、SSDはSP A55 1TBという型番でしたので、Firmwareバージョン(SBFMLA.5)である程度想定することもできそうです。
root@falcon4:~# smartctl /dev/sda --all
smartctl 7.3 2022-02-28 r5338 [x86_64-linux-6.8.12-7-pve] (local build)
Copyright (C) 2002-22, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Device Model: SPCC Solid State Disk
Serial Number: XXXXXXXXXXXXXXXXXXX
Firmware Version: SBFMLA.5
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
TRIM Command: Available
Device is: Not in smartctl database 7.3/5319
ATA Version is: ACS-4 (minor revision not indicated)
SATA Version is: SATA 3.2, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Sun May 25 21:13:37 2025 JST
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: (65535) seconds.
Offline data collection
capabilities: (0x79) SMART execute Offline immediate.
No Auto Offline data collection support.
Suspend Offline collection upon new
command.
Offline surface scan supported.
Self-test supported.
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: ( 30) minutes.
Conveyance self-test routine
recommended polling time: ( 6) minutes.
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000b 100 100 050 Pre-fail Always - 0
9 Power_On_Hours 0x0012 100 100 000 Old_age Always - 3011
12 Power_Cycle_Count 0x0012 100 100 000 Old_age Always - 12
168 Unknown_Attribute 0x0012 100 100 000 Old_age Always - 0
170 Unknown_Attribute 0x0003 100 100 000 Pre-fail Always - 156
173 Unknown_Attribute 0x0012 100 100 000 Old_age Always - 65539
192 Power-Off_Retract_Count 0x0012 100 100 000 Old_age Always - 8
194 Temperature_Celsius 0x0023 067 067 000 Pre-fail Always - 33 (Min/Max 33/33)
218 Unknown_Attribute 0x000b 100 100 050 Pre-fail Always - 0
231 Unknown_SSD_Attribute 0x0013 100 100 000 Pre-fail Always - 99
241 Total_LBAs_Written 0x0012 100 100 000 Old_age Always - 625
SMART Error Log Version: 1
No Errors Logged
SMART Self-test log structure revision number 1
No self-tests have been logged. [To run self-tests, use: smartctl -t]
SMART Selective self-test log data structure revision number 0
Note: revision number not 1 implies that no selective self-test has ever been run
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
1 0 0 Not_testing
2 0 0 Not_testing
3 0 0 Not_testing
4 0 0 Not_testing
5 0 0 Not_testing
Selective self-test flags (0x0):
After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.
総書き込みデータ量の確認をします。
- トータル書き込みバイト数:Total_LBAs_Written: 625 LBAs →625*32Mbytes=約20GB
- M.2のModel Number:SP A55 1TB
- Model NumberでTBWを検索する:500TB
20GB << 500TBであるため、寿命到達までかなりの時間があることが分かりました。
ストレージを高速なM.2に変えることで寿命が心配になると思いますが、汎用サーバーのメインストレージ用途であれば10年くらいは持ちそうな感じです。
SSDは機械動作品がないため、MTBFは150万時間(約170年)という途方もない数値ですので、発熱対策とTBW管理をしっかりしておけば、HDDより優れたデバイスと思います。

