web-dev-qa-db-ja.com

LinuxでのSSDの書き込みサイクル数または期待寿命を決定する方法は?

Linux(RHEL 5)サーバーでSSD(Intel X25-M)をしばらく実行してきましたが、過去1年間にどれだけの書き込み負荷がかかっているかを把握するための努力はしていません。 Linuxで、時間の経過とともにディスクに書き込まれたおおよその量、または(さらに良いことに)ディスクに蓄積された摩耗量を知らせるツールはありますか?それが死に近いかどうかを確認するためのヒントを探しています...

10
JZeta

インテルSSDは、合計書き込みの統計と、それがどのくらいの期間、寿命である可能性が高いかを保持します。

以下はIntel X25-M G2 160GB(SSDSA2M160G2GC)からのものです

# smartctl -data -A /dev/sda
smartctl 5.40 2010-10-16 r3189 [x86_64-redhat-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 5
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  3 Spin_Up_Time            0x0020   100   100   000    Old_age   Offline      -       0
  4 Start_Stop_Count        0x0030   100   100   000    Old_age   Offline      -       0
  5 Reallocated_Sector_Ct   0x0032   100   100   000    Old_age   Always       -       1
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       6855
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       68
192 Unsafe_Shutdown_Count   0x0032   100   100   000    Old_age   Always       -       30
225 Host_Writes_32MiB       0x0030   200   200   000    Old_age   Offline      -       148487
226 Workld_Media_Wear_Indic 0x0032   100   100   000    Old_age   Always       -       3168
227 Workld_Host_Reads_Perc  0x0032   100   100   000    Old_age   Always       -       1
228 Workload_Minutes        0x0032   100   100   000    Old_age   Always       -       1950295543
232 Available_Reservd_Space 0x0033   099   099   010    Pre-fail  Always       -       0
233 Media_Wearout_Indicator 0x0032   098   098   000    Old_age   Always       -       0
184 End-to-End_Error        0x0033   100   100   099    Pre-fail  Always       -       0

Host_Writes_32MIBのraw値は、このドライブに書き込まれた32MiB単位のデータの数を示します。

Media_Wearout_Indicatorの値は、ドライブの耐用年数全体の正規化された割合を示します。これは100(または099、どちらを忘れたか)から始まり、001まで続きます。この時点で、Intelはドライブが耐用年数を超えたと見なします。インテルはMWIを保証請求の一部としても使用しています。MWIが001に達すると、保証の有効期限が切れます。

MWIが001に達しても、ドライブがすぐに故障するわけではありません。インテルには、フラッシュユニットのばらつきに対処するための許容誤差が組み込まれています。私はドライブがこの時点をはるかに超えて持続するのを見てきました、そして私はいくつかのIntel 320シリーズSSDをどれだけ長く持続させるかを積極的に摩耗テストしています。

ただし、MWIが001に達すると保証が期限切れになるため、その時点でドライブを交換します。

13
Daniel Lawson

コルセアドライブも同様の寿命の左の指標をエクスポートします。彼らの場合、それは属性231です:

231 SSD_Life_Left           0x0013   100   100   010    Pre-fail  Always       -       0

(smartctlがこれを温度として表示している場合は、デバイスデータベースを更新する必要があります。私のDebianシステムでは、/usr/sbin/update-smart-drivedb

Corsairブログの投稿 は、値が10%を下回らないことを示しているようです。そのため、10%で置き換える必要があると思います。

また、同じSSD_Life_Left値をエクスポートする同じSandforceコントローラーを備えたOCZドライブもあります。

6
Graham

Media_Wearout_Indicatorは、探しているものです。 100は、ssdの寿命が100%であることを意味し、数値が小さいほど、残っている寿命が少ないことを意味します。

# smartctl -a /dev/sda | grep Media_Wearout_Indicator

私のラップトップからの出力

233 Media_Wearout_Indicator 0×0032 100 100 000 Old_age Always – 0

ドライブの詳細と完全な属性を確認したい場合は、

# smartctl -data -A /dev/sda

そして出力

# smartctl -data -A /dev/sda
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.2.0-49-generic] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
5 Reallocated_Sector_Ct 0×0032 100 100 000 Old_age Always – 0
9 Power_On_Hours 0×0032 000 000 000 Old_age Always – 232959027031342
12 Power_Cycle_Count 0×0032 100 100 000 Old_age Always – 279
170 Unknown_Attribute 0×0033 100 100 010 Pre-fail Always – 0
171 Unknown_Attribute 0×0032 100 100 000 Old_age Always – 0
172 Unknown_Attribute 0×0032 100 100 000 Old_age Always – 0
174 Unknown_Attribute 0×0032 100 100 000 Old_age Always – 278
184 End-to-End_Error 0×0033 100 100 090 Pre-fail Always – 0
187 Reported_Uncorrect 0×0032 100 100 000 Old_age Always – 0
192 Power-Off_Retract_Count 0×0032 100 100 000 Old_age Always – 278
225 Load_Cycle_Count 0×0032 100 100 000 Old_age Always – 10752
226 Load-in_Time 0×0032 100 100 000 Old_age Always – 65535
227 Torq-amp_Count 0×0032 100 100 000 Old_age Always – 66
228 Power-off_Retract_Count 0×0032 100 100 000 Old_age Always – 65535
232 Available_Reservd_Space 0×0033 100 100 010 Pre-fail Always – 0
233 Media_Wearout_Indicator 0×0032 100 100 000 Old_age Always – 0
241 Total_LBAs_Written 0×0032 100 100 000 Old_age Always – 10752
242 Total_LBAs_Read 0×0032 100 100 000 Old_age Always – 21803
249 Unknown_Attribute 0×0013 100 100 000 Pre-fail Always – 357

http://namhuy.net/1024/how-to-check-ssd-life-left.html

3
Alison Salazar

あんまり。ドライブが統計情報を保持していない場合は、確実にわかりません。その場合でも、ドライブは書き込みレベリングアルゴリズムなどを抽象化して、システムコールやインターフェースから離れて、内部で物事を最適化しようとします。言い換えると、ドライブは、データが実際に「メディア」に書き込まれる場所について簡単に嘘をつくことができるため、どのセルがアクティビティを取得しているかがわかりません。

それでも、失敗やエラーが発生する場合や発生するかどうかは保証されません。ドライブは明日故障する可能性があり、3年後に故障する可能性があります。

最善の策は、RAID構成でそれを保持し、障害が発生したときに(他のドライブが故障する前に)交換して、バックアップが最新であることを確認する計画を立てることです。

1