2006年6月30日金曜日

(FreeBSD) smartctlコマンドで表示される属性(Attribute)について

smartmontools(/usr/ports/sysutils/smartmontools)と、rrdtool(/usr/ports/net/rrdtool)と、ちょろっと書いたperlスクリプトとを組み合わせて、定期的にSMARTのAttribute値を採取し、グラフにしてみました。



■ 関連記事









■ 1時間あたりのグラフ



Spin Up Time
・・・ディスクが回転を始めた時刻?増加していない。



Smartad001h



Seek Time Performance
・・・シークタイム(の何?)



Smartad011h



Power On Minutes
・・・電源が入っている時間(分)?



Smartad021h



Hardware ECC Recovered
・・・誤り訂正符号(ECC)により修正された回数?



Smartad031h



Soft Read Error Rate
・・・一時的なリードエラー(たまたまエラーになっただけでもう一度リードすれば正常)の回数?



Smartad041h



Temperature Celsius
・・・温度(単位は摂氏)



Smartad051h



■ 1日あたりのグラフ



Spin Up Time



Smartad001d



Seek Time Performance



Smartad011d



Power On Minutes



Smartad021d



Hardware ECC Recovered



Smartad031d



Soft Read Error Rate



Smartad041d



Temperature Celsius



Smartad051d



この波形をながめていて、なんとなく想像できること。



  • どうやら、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 件のコメント:

コメントを投稿