nkjmkzk.net

powered by Kazuki Nakajima

SSD(Intel X25-M)で寿命を確認するには

SSDではデータを書き込む際に素子を包む絶縁体が摩耗していき、この摩耗がいわゆる「SSDの寿命」につながっています。

プロダクション環境でSSDを搭載したサーバを運用する場合は、当然この寿命を定期的に監視しておきたいでしょう。実際、SSDを本番導入できないユーザの多くは膨大な容量が必要になる環境を運用しているか、HDDにはなかった寿命というdeadlineに不安をおぼえていることがほとんどだと思います。しかし稼働部品のないSSDはHDDに比べて衝撃に強く耐障害性が高いことが期待できます。なので寿命さえマネージできればSSDは恐るるに足らずということになります。

SSDの寿命確認について、今のところ各ベンダー間で統一したパラメータが提供されているわけではなく、S.M.A.R.T.に独自のパラメータをもたせて寿命確認の指標としているようです。

今回はIntel X25-Mでの寿命確認方法を紹介しておきます。IntelさんもS.M.A.R.T.にパラメータを持たせています。より公式な方法はIntelさんが提供するIntel SSD ToolBoxをインストールしてこのツールでS.M.A.R.T.のパラメータを引っぱってくるというやり方ですが、残念ながらIntel SSD ToolBoxは現時点ではWindows版しかないようです。僕は宗教上の理由でWindowsは使っていないのでLinuxで使えるsmartmontoolsを使ってこのパラメータを取得することになります。

まず、もしsmartmontoolsがインストールされていない場合はインストールします。大抵のディストリビューションではベースレポジトリにあるはずです。

X25-Mが差さっているマシンでsmartmontoolsをインストールしたら、smartctlコマンドでパラメータを確認できます。下記は/dev/sdaがSSDだという前提でのコマンド実行例です。

[root@~]# smartctl -a /dev/sda

smartctl 5.39.1 2010-01-28 r3054 [i686-pc-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF INFORMATION SECTION ===
Device Model:     INTEL SSDSA2M080G2GC
Serial Number:    CVPO0082023A080BGN
Firmware Version: 2CV102HD
User Capacity:    80,026,361,856 bytes
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   7
ATA Standard is:  ATA/ATAPI-7 T13 1532D revision 1
Local Time is:    Wed Sep  8 11:39:26 2010 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: 		 (   1) seconds.
Offline data collection
capabilities: 			 (0x75) SMART execute Offline immediate.
					No Auto Offline data collection support.
					Abort Offline collection upon new
					command.
					No 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: 	 (   1) minutes.
Extended self-test routine
recommended polling time: 	 (   1) minutes.
Conveyance self-test routine
recommended polling time: 	 (   1) minutes.

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       -       0
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       2807
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       46
192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always       -       22
225 Load_Cycle_Count        0x0030   200   200   000    Old_age   Offline      -       22301
226 Load-in_Time            0x0032   100   100   000    Old_age   Always       -       573
227 Torq-amp_Count          0x0032   100   100   000    Old_age   Always       -       3
228 Power-off_Retract_Count 0x0032   100   100   000    Old_age   Always       -       4278423803
232 Available_Reservd_Space 0x0033   100   100   010    Pre-fail  Always       -       0
233 Media_Wearout_Indicator 0x0032   099   099   000    Old_age   Always       -       0
184 End-to-End_Error        0x0033   100   100   099    Pre-fail  Always       -       0

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]

Note: selective self-test log revision number (0) not 1 implies that no selective self-test has ever been run
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.

赤字の部分が寿命に該当するパラメータです。これらのパラメータをIntelさんのサイトから引用させていただきました。

E8 Available Reserved Space Normalized 予約領域の残っている数を表す。正規化した (Normalized) 値は、100 パーセントを表す 100 から始まる。正常の範囲は 10 パーセントまで。
E9 Media Wearout Indicator Normalized 記録メディアであるフラッシュメモリーの使い込んだ程度を表す。平均消去回数が増えるにつれ、正規化した (Normalized) 値が 100 から 1 へ減少していく。

なお、smartmontoolsのバージョンが5.38以下の場合、これらのATTRIBUITE_NAMEはUnknownと表示されます。

運用方法としてはこれらの値をスクリプトでしきい値を設けて定期チェックする等が考えられるでしょう。

参考

without comments

Written by 中嶋 一樹

9月 8th, 2010 at 12:00 pm

Posted in Uncategorized

Tagged with ,

Leave a Reply