雑記

2000|01|
2003|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|
2007|01|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|09|11|
2009|02|03|05|06|07|08|10|11|12|
2010|01|03|04|05|06|07|08|09|10|
2011|05|06|09|10|
2012|03|07|09|12|
2013|01|02|04|05|07|08|10|11|
2014|04|05|08|10|12|
2015|01|05|
2016|09|

2008-05-29 [長年日記]

[FreeBSD] smartmontoolでの監視がおかしい

サーバでRAID1に使っているHDDをsmartmontoolを使って監視しているんですが、数ヶ月連続稼動させると、ある日突然温度情報の更新がおかしくなるという現象に悩まされています。

図のWeek20〜21がその状態で、なぜか毎日朝5時前後だけ温度情報が更新され、その他の時間は変化しないというなんとも不思議な現象。で、こうなるとコールドリセットしないと回復しない。

ウォームリセットでは直らないあたり、ハード側の問題かなぁとか思うんですが、発生頻度が半年とかの単位なので、なかなか原因の切り分けが進みません。

[FreeBSD] Intel MatrixRAIDでのataraidの問題

HP ProLiant ML110 G4がRAIDモードでは動作しない件について、原因が分かったっぽいのでsend-pr。

HDDが返すシリアル番号の情報が16文字を超えている時に、MatrixRAIDのBIOSではその情報の最後の16文字分を使うのに対し、ataraidドライバでは、最初の16文字分を使っていたためでした。

で、たまたまProLiantとは別件でシリアル番号が下数桁を除いてまったく同じHDDを引き当て、どうやってもRAIDがうまく構築できないという問題に突き当たったので、まじめに調査したところ判明した次第。ProLiantの時はHDDの上位16桁内のシリアル番号が違っていたのでうまくいってたんですね。

ただ、送ったパッチが採用されるとMatrixRAIDを使って現在稼動中の一部のコンピュータで既存のar*ドライブが認識できなくなってしまう(少なくとも上記ProLiantは確実にそうなるはず)ので、もし採用されるとしても次のリリース以降とかになるかも。ソースを読む限りではFixit等からatacontrolを使って同じ構成のRAIDを構築しなおせば大丈夫そうですが。

人柱になりたい人用に、6.2-RELEASE-p11用のをば。ダウンロードしたパッチを/sys/dev/ata/ata-raid.cに当てて使います。調べた範囲では、6.3, 7.0, 8.0-CURRENTでもパッチ周辺のソースには違いが無いようでした。

くれぐれも自己責任でお願いします。