はじめに
以前こちらでsmartctlを使ってHDDの状態を確認する方法について紹介しましたが、昨今ではストレージはSSDが主流になっています。ご存知の様にSSDには総書込み量に限界があります。殆どの場合は気にする必要がありませんが、SSDストレージをキャッシュやバックアップ領域として日々大量に書込みや削除を行っている様な、特に大量の小さなファイルを書込み&削除を繰り返している様な使い方をしている場合、限界を迎える場合がありますので現在の状況を把握しておく事が重要です。
SSDの寿命について
SSDの寿命は多くの場合、TBW(Tera Bytes Written)で表される事が殆どだと思います。これはSSDに対してどのくらいのデータを書き込むまで保証出来るかを示す耐久性指標です。例えば、ウェスタンデジタル(WD)社のコンシューマー向けである WD Blue 3D NAND SATA SSD の2TBであれば、500TBWとなっています。一見すると直ぐに寿命を迎えそうに感じますが、毎日 100GB 書き込んだとしても13.7年程掛かります。個人がPCで使う事を考えると、まず毎日100GBのデータを書き換えるような事は無いと思いますので、殆ど気にする必要はないでしょう。
尚、同じWDでもNAS向けと謳っているのRedシリーズの場合、同じ2TBでもTBWは1300TBと2倍以上の耐久性があります。また、サーバー向けのSSDドライブは480GB程のSSDであってもTBWは4380TBといった冗談のような耐久性があります。流石に高いだけありますね。
確認するには
ストレージの情報についてはsmartctlコマンドでSMART情報を確認します。
# smartctl --scan
/dev/sda -d scsi # /dev/sda, SCSI device
/dev/bus/0 -d megaraid,0 # /dev/bus/0 [megaraid_disk_00], SCSI device
/dev/bus/0 -d megaraid,1 # /dev/bus/0 [megaraid_disk_01], SCSI device
/dev/bus/0 -d megaraid,2 # /dev/bus/0 [megaraid_disk_02], SCSI device
/dev/bus/0 -d megaraid,3 # /dev/bus/0 [megaraid_disk_03], SCSI device
上記の例だと megaraid のドライバーを使っている事が分かります。またディスクの番号は0~4までの4台存在している事も確認できます。
使っているRAIDコントローラ、デバイス番号が判明したら各ディスクの状態を確認していきます。
# smartctl -a -d megaraid,0 /dev/sda
smartctl 7.2 2020-12-30 r5155 [x86_64-linux-5.14.0-570.42.2.el9_6.x86_64] (local build)
Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Device Model: WD Blue SA510 2.5 2TB
Serial Number: 25152X4A2E05
LU WWN Device Id: 5 001b44 4a5bb822f
Firmware Version: 530500WD
User Capacity: 2,000,398,934,016 bytes [2.00 TB]
Sector Size: 512 bytes logical/physical
Rotation Rate: Solid State Device
Form Factor: 2.5 inches
TRIM Command: Available, deterministic, zeroed
Device is: Not in smartctl database [for details use: -P showall]
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: Fri Sep 19 11:25:02 2025 JST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
:
:
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
5 Reallocated_Sector_Ct 0x0032 100 100 --- Old_age Always - 0
9 Power_On_Hours 0x0032 100 100 --- Old_age Always - 44413
12 Power_Cycle_Count 0x0032 100 100 --- Old_age Always - 24
165 Unknown_Attribute 0x0032 100 100 --- Old_age Always - 40780384486054
166 Unknown_Attribute 0x0032 100 100 --- Old_age Always - 642
167 Unknown_Attribute 0x0032 100 100 --- Old_age Always - 146
168 Unknown_Attribute 0x0032 100 100 --- Old_age Always - 895
169 Unknown_Attribute 0x0032 100 100 --- Old_age Always - 1025
170 Unknown_Attribute 0x0032 100 100 --- Old_age Always - 0
171 Unknown_Attribute 0x0032 100 100 --- Old_age Always - 0
172 Unknown_Attribute 0x0032 100 100 --- Old_age Always - 0
173 Unknown_Attribute 0x0032 100 100 --- Old_age Always - 726
174 Unknown_Attribute 0x0032 100 100 --- Old_age Always - 17
187 Reported_Uncorrect 0x0032 100 100 --- Old_age Always - 0
188 Command_Timeout 0x0032 100 100 --- Old_age Always - 1
194 Temperature_Celsius 0x0022 084 037 --- Old_age Always - 16 (Min/Max 15/37)
199 UDMA_CRC_Error_Count 0x0032 100 100 --- Old_age Always - 0
230 Unknown_SSD_Attribute 0x0032 099 099 --- Old_age Always - 0x6342483c6342
232 Available_Reservd_Space 0x0033 100 100 004 Pre-fail Always - 100
233 Media_Wearout_Indicator 0x0032 100 100 --- Old_age Always - 1483515
234 Unknown_Attribute 0x0032 100 100 --- Old_age Always - 1556472
241 Total_LBAs_Written 0x0030 253 253 --- Old_age Offline - 372641
242 Total_LBAs_Read 0x0030 253 253 --- Old_age Offline - 699197
244 Unknown_Attribute 0x0032 000 100 --- Old_age Always - 0
実行結果の途中を省略していますが、総書込み量は SMART Attributes Data のID241が示しています。ただ、上記の実行結果では「Total_LBAs_Written」となっています。LBAはLogical Block Addressing(論理ブロックアドレス)ですが、論理ブロックのサイズはストレージによって異なりますので、実行結果の「START OF INFORMATION SECTION」の情報を確認します。
=== START OF INFORMATION SECTION ===
Device Model: WD Blue SA510 2.5 2TB
Serial Number: 25152X4A2E05
LU WWN Device Id: 5 001b44 4a5bb822f
Firmware Version: 530500WD
User Capacity: 2,000,398,934,016 bytes [2.00 TB]
Sector Size: 512 bytes logical/physical
Rotation Rate: Solid State Device
Form Factor: 2.5 inches
TRIM Command: Available, deterministic, zeroed
Device is: Not in smartctl database [for details use: -P showall]
上記のデーターでは Sectore Size が 512bytes になっていますが、Device is の部分が「Not in smartctl database」となっており、smartのデータベースに存在デバイスであり、これらの数値が実態にあっているか分かりません。
smart データベースの更新
smartデータベースを更新するには、update-smart-drivedb コマンドを実行します。
# update-smart-drivedb
/usr/share/smartmontools/drivedb.h updated from branches/RELEASE_7_2_DRIVEDB
更新後に再度smartctlを確認します。
# smartctl -a -d megaraid,0 /dev/sda
smartctl 7.2 2020-12-30 r5155 [x86_64-linux-5.14.0-570.42.2.el9_6.x86_64] (local build)
Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Family: WD Blue / Red / Green SSDs
Device Model: WD Blue SA510 2.5 2TB
Serial Number: 25152X4A2E05
LU WWN Device Id: 5 001b44 4a5bb822f
Firmware Version: 530500WD
User Capacity: 2,000,398,934,016 bytes [2.00 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 [for details use: -P show]
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: Fri Sep 19 13:57:31 2025 JST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
:
:
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
5 Reallocated_Sector_Ct 0x0032 100 100 --- Old_age Always - 0
9 Power_On_Hours 0x0032 100 100 --- Old_age Always - 44413
12 Power_Cycle_Count 0x0032 100 100 --- Old_age Always - 24
165 Block_Erase_Count 0x0032 100 100 --- Old_age Always - 40780384486054
166 Minimum_PE_Cycles_TLC 0x0032 100 100 --- Old_age Always - 642
167 Max_Bad_Blocks_per_Die 0x0032 100 100 --- Old_age Always - 146
168 Maximum_PE_Cycles_TLC 0x0032 100 100 --- Old_age Always - 895
169 Total_Bad_Blocks 0x0032 100 100 --- Old_age Always - 1025
170 Grown_Bad_Blocks 0x0032 100 100 --- Old_age Always - 0
171 Program_Fail_Count 0x0032 100 100 --- Old_age Always - 0
172 Erase_Fail_Count 0x0032 100 100 --- Old_age Always - 0
173 Average_PE_Cycles_TLC 0x0032 100 100 --- Old_age Always - 726
174 Unexpected_Power_Loss 0x0032 100 100 --- Old_age Always - 17
184 End-to-End_Error 0x0032 100 100 --- Old_age Always - 0
187 Reported_Uncorrect 0x0032 100 100 --- Old_age Always - 0
188 Command_Timeout 0x0032 100 100 --- Old_age Always - 1
194 Temperature_Celsius 0x0022 084 037 --- Old_age Always - 16 (Min/Max 15/37)
199 UDMA_CRC_Error_Count 0x0032 100 100 --- Old_age Always - 0
230 Media_Wearout_Indicator 0x0032 099 099 --- Old_age Always - 0x6342483c6342
232 Available_Reservd_Space 0x0033 100 100 004 Pre-fail Always - 100
233 NAND_GB_Written_TLC 0x0032 100 100 --- Old_age Always - 1483515
234 NAND_GB_Written_SLC 0x0032 100 100 --- Old_age Always - 1556472
241 Host_Writes_GiB 0x0030 253 253 --- Old_age Offline - 372641
242 Host_Reads_GiB 0x0030 253 253 --- Old_age Offline - 699197
244 Temp_Throttle_Status 0x0032 000 100 --- Old_age Always - 0
Device is: が「In smartctl database」となりました。また、ID241の表記も「Host_Writes_GiB」に変わりました。どうやらこのデバイスの241の数値は本当はLBAではなく、GiBの様です。上記の372641だと、372TB程書き込まれている事になります。また、ID9は稼働時間のようですので、44413時間だと1850日=約5年程稼働している事になります。
その他も「Unknown_Attribute」だった所が無くなり、表記されるようになりました。
最後に
5年で372TBはかなり使われている方だろうと思います。通常のWebやDBサーバーだと1年で2TBも書き込んでいない場合もあるようです。結局は使い方次第なのですが、小さなファイルを大量に書いたり消したりを繰り返しているような処理が多いサーバーは書込み量が多くなる傾向があります。
何れにしても現状の使用量を知る事で、あとどのくらいデバイスが持つかといった指標になると思いますので、知っておくに越したことはないでしょう。
尚、SSDのTBWについてはSSD毎に異なりますので、ご自身が使っているSSDについてはメーカーのHP等でご確認ください。

