smartmontools(/usr/ports/sysutils/smartmontools)と、rrdtool(/usr/ports/net/rrdtool)と、ちょろっと書いたperlスクリプトとを組み合わせて、定期的にSMARTのAttribute値を採取し、グラフにしてみました。
■ 関連記事
■ 1時間あたりのグラフ
Spin Up Time
・・・ディスクが回転を始めた時刻?増加していない。
Seek Time Performance
・・・シークタイム(の何?)
Power On Minutes
・・・電源が入っている時間(分)?
Hardware ECC Recovered
・・・誤り訂正符号(ECC)により修正された回数?
Soft Read Error Rate
・・・一時的なリードエラー(たまたまエラーになっただけでもう一度リードすれば正常)の回数?
Temperature Celsius
・・・温度(単位は摂氏)
■ 1日あたりのグラフ
Spin Up Time
Seek Time Performance
Power On Minutes
Hardware ECC Recovered
Soft Read Error Rate
Temperature Celsius
この波形をながめていて、なんとなく想像できること。
- どうやら、Seek Time Performaceは、どんどんカウントアップするカウンタになっていて、ある一定値に達すると、リセットされているらしい。
- Hardware ECC Recovered、Soft Read Error Rateも、アップカウンタなんだけど、どちらかが、先に天井に達すると、両方とも同時にリセットされているらしい。
- マシンが遊んでいるときは、滑らかに上昇し、portupgradeを実行中など、ディスクがガリガリ動いているようなときは、密な、ギザギザ波形(三角波だね)が現れていた。
この属性値の正確な意味、つまり、smartctlコマンドで表示される、Attributeの値の意味が知りたくて、smartctlコマンドのマニュアルを読んでみました。どうやら、結論は、
ハードディスクのベンダーが勝手に決めた値
ってことらしいです。とはいえ、なかなか興味ぶかげな値です。せっかくなので、非常にラフですが、日本語に訳しておきました。
-A, --attributes
Prints only the vendor specific SMART Attributes. The Attributes are numbered from 1 to 253 and have specific names and ID numbers. For example Attribute 12 is "power cycle count": how many times has the disk been powered up.
-A, --attributesオプションを指定すると、ベンダー固有のSMART属性のみを表示する。この属性には、1から253までの番号が割り振られていて、特定の名前とID番号がついている。たとえば、属性12は、「power cycle count」であり、ディスクの電源をこれまで何回入れたか、を表す。
Each Attribute has a "Raw" value, printed under the heading "RAW_VALUE", and a "Normalized" value printed under the heading "VALUE". [Note: smartctl prints these values in base-10.] In the example just given, the "Raw Value" for Attribute 12 would be the actual number of times that the disk has been power-cycled, for example 365 if the disk has been turned on once per day for exactly one year. Each vendor uses their own algorithm to convert this "Raw" value to a "Normalized" value in the range from 1 to 254. Please keep in mind that smartctl only reports the different Attribute types, values, and thresholds as read from the device. It does not carry out the conversion between "Raw" and "Normalized" values: this is done by the disk's firmware.
各属性には、「Raw(生)」値というのがあり、これは、「RAW_VALUE」と書かれた見出しの下に表示され、また、「Normalized(正規化)」値が、「VALUE」見出しの下に表示される。[注:smartctlでは、10進数で表示する]。先ほどの例で言えば、属性12のRaw値は、おそらくは、ディスクの電源が実際に入れられた回数であり、たとえば、ちょうど過去1年間にわたって、毎日1回、電源を入れたのなら、365になる。各ベンダーは、ベンダー固有の変換アルゴリズムにしたがって、Raw値を、1から254までの間のNormalized値へ変換する。注意して欲しいのだが、smartctlは、デバイスから読み出したままの、属性タイプ、値、閾値をレポートしている。Raw値とNormalized値との間の変換処理は、smartctlでは行っておらず、ディスクのファームウェアによって変換されている。
The conversion from Raw value to a quantity with physical units is not specified by the SMART standard. In most cases, the values printed by smartctl are sensible. For example the temperature Attribute generally has its raw value equal to the temperature in Celsius. However in some cases vendors use unusual conventions. For example the Hitachi disk on my laptop reports its
power-on hours in minutes, not hours. Some IBM disks track three
temperatures rather than one, in their raw values. And so on.
Raw値を、物理的な単位の値へ変換する方法は、SMARTの規格では規定されていない。たいていの場合、smartctlで表示される値は、感覚的に理解できる。たとえば、温度の属性なら、一般に、Raw値は、摂氏での温度である。しかし、めずらしい表現方法を用いるベンダーがたまにいる。たとえば、私のラップトップPCに入っている日立のディスクでは、power-on hours(パワーオン時間)の単位が、時間ではなく、分でレポートされる。IBMのディスクのうちの一部では、1つではなく、3つの温度を、Raw値で記録している(訳注:訳が間違ってるかも)。などなど。
Each Attribute also has a Threshold value (whose range is 0 to 255) which is printed under the heading "THRESH". If the Normalized value is less than or equal to the Threshold value, then the Attribute is said to have failed. If the Attribute is a pre-failure Attribute, then disk failure is imminent.
また、各属性には、閾値(0から255までの範囲)があり、「THRESH」見出しの下に表示される。もしも、Normalized値が、閾値以下の場合、その属性は、failedであるという。その属性がpre-failure属性(訳注:pre-failureについてはこの後に説明がある)の場合、そのディスクは、切迫した故障状態である。
Each Attribute also has a "Worst" value shown under the heading "WORST". This is the smallest (closest to failure) value that the disk has recorded at any time during its lifetime when SMART was enabled. [Note however that some vendors firmware may actually increase the "Worst" value for some "rate-type" Attributes.]
各属性には、「Worst」値というものあり、「WORST」見出しの下に表示される。これは、ディスクのSMART機能が有効にされていて、ディスクが使用されている期間中に記録された、最小(故障する寸前の)値である。[注:ベンダーのファームウェアによっては、「rateタイプ」の属性の「Worst」値を増加させる場合がある]。
The Attribute table printed out by smartctl also shows the "TYPE" of the Attribute. Attributes are one of two possible types: Pre-failure or Old age. Pre-failure Attributes are ones which, if less than or equal to their threshold values, indicate pending disk failure. Old age, or usage Attributes, are ones which indicate end-of-product life from old-age or normal aging and wearout, if the Attribute value is less than or equal to the threshold. Please note: the fact that an Attribute is of type 'Pre-fail' does not mean that your disk is about to fail! It only has this meaning if the Attribute's current Normalized value is less than or equal to the threshold value.
smartctlが表示する属性の表には、属性の「タイプ」も表示される。属性には、Pre-failureと、Old ageの、2つのタイプがある。Pre-failure属性の場合、閾値以下なら、ディスクの故障は保留中であることを意味する。Old ageまたはusage属性の場合、閾値以下なら、製品寿命であることを意味する(訳注:訳がよくわからない)。注意してほしいのだが、属性がPre-failになっていても、そのディスクが故障しかけているという意味ではない。現在のNormalized値が、閾値以下になったときだけ、故障寸前という意味になる。
If the Attribute's current Normalized value is less than or equal to the threshold value, then the "WHEN_FAILED" column will display "FAILING_NOW". If not, but the worst recorded value is less than or equal to the threshold value, then this column will display "In_the_past". If the "WHEN_FAILED" column has no entry (indicated by a dash: '-') then this Attribute is OK now (not failing) and has also never failed in the past.
属性のNormalized値が閾値以下になると、「WHEN_FAILED」見出しの列に、「FAILING_NOW」と表示される。それ以外の場合で、worst値が閾値以下なら、この列には「In_the_past」と表示される。「WHEN_FAILED」列に何の値も入っていない場合(「-」ダッシュで表示される)、その属性は今はOK(故障はしていない)であり、過去にも故障したことはない。
The table column labeled "UPDATED" shows if the SMART Attribute values are updated during both normal operation and off-line testing, or only during offline testing. The former are labeled "Always" and the latter are labeled "Offline".
表の「UPDATE」列に、「Always」と表示される場合、通常動作状態およびオフライン・テスト中に、属性の値が更新されることを意味し、「Offline」の場合は、オフライン・テストのときのみ更新されることを意味している。
So to summarize: the Raw Attribute values are the ones that might have a real physical interpretation, such as "Temperature Celsius", "Hours", or "Start-Stop Cycles". Each manufacturer converts these, using their detailed knowledge of the disk's operations and failure modes, to Normalized Attribute values in the range 1-254. The current and worst (lowest measured) of these Normalized Attribute values are stored on the disk, along with a Threshold value that the manufacturer has determined will indicate that the disk is going to fail, or that it has exceeded its design age or aging limit. smartctl does not calculate any of the Attribute values, thresholds, or types, it merely reports them from the SMART data on the device.
というわけで、まとめ。
Raw属性値は、摂氏の温度、時間、スタート・ストップ回数といった、物理的な意味の値の場合がある。ディスクの製造メーカーは、各自が知っているディスクの動作や故障モードといった詳細な知識に基づいて、Raw値を、1~254の範囲のNormarize値へ変換している。Normalized値の、現在の値と、Worst値(最悪値。これまでで記録した最小値)、そして、閾値が、ディスクに記録されている。閾値は、ディスクが故障しそうか、設計寿命か、使用期限か、などを判断するための値であり、メーカー側で決めたものである。smartctlは、属性の値、閾値、タイプなどを変換処理はしておらず、単に、デバイスのSMARTデータをそのままレポートしている。
Note that starting with ATA/ATAPI-4, revision 4, the meaning of these Attribute fields has been made entirely vendor-specific. However most ATA/ATAPI-5 disks seem to respect their meaning, so we have retained the option of printing the Attribute values.
ATA/ATAPI-4 revision 4のときから、属性のフィールドの意味は、ベンダー固有であると決めれていた。しかしながら、ほとんどのATA/ATAPI-5 ディスクがこれらの意味を尊重しているようなので(訳注:???)、この属性値を表示するためのオプションを残したままにしている。
For SCSI devices the "attributes" are obtained from the temperature and start-stop cycle counter log pages. Certain vendor specific attributes are listed if recognised. The attributes are output in a relatively free format (compared with ATA disk attributes).
SCSIデバイスの場合、属性は、temperatureとstart-stopサイクルカウンタのログ・ページから読み出される(訳注:???)。認識可能ないくつかのベンダー固有の属性も、リストされる。属性は、(ATAディスクの属性と比べると)ややフリー・フォーマットで表示される。
0 件のコメント:
コメントを投稿