2009/01/29(木)ZFS のステータス監視

サーバが落ちる件について。

今日、まさにサーバがゆっくり死んでいく場面に居合わせた。
ZFS が原因ではないらしい。少なくとも今回は。

ヤヴァイ!ってことで完全に止まる前にとりあえず再起動を掛けることに。
すると...
Jan 30 00:46:24 blues kernel: ad10: TIMEOUT - READ_DMA48 retrying (0 retries lef
t) LBA=2930275872
Jan 30 00:46:33 blues kernel: ad10: WARNING - SETFEATURES SET TRANSFER MODE task
queue timeout - completing request directly
Jan 30 00:46:37 blues kernel: ad10: WARNING - SETFEATURES SET TRANSFER MODE task
queue timeout - completing request directly
Jan 30 00:46:41 blues kernel: ad10: WARNING - SETFEATURES ENABLE RCACHE taskqueu
e timeout - completing request directly
Jan 30 00:46:45 blues kernel: ad10: WARNING - SETFEATURES ENABLE WCACHE taskqueu
e timeout - completing request directly
Jan 30 00:46:49 blues kernel: ad10: WARNING - SET_MULTI taskqueue timeout - comp
leting request directly
Jan 30 00:46:49 blues kernel: ad10: FAILURE - READ_DMA48 timed out LBA=293027587
2
Jan 30 00:46:49 blues root: ZFS: vdev I/O failure, zpool=common path=/dev/ad10 o
ffset=1500301246464 size=114688 error=5
どうやらディスクが応答しないようです。
ちなみにディスクは今をときめく Seagateの不具合の影響はないとされているファームウェアのもの。(型番自体はヒットしてる)

ZFS はむしろ頑張っていてくれた様子。
とはいえ、このディスクに変える前から緩やかな突然死は発生していたのでディスクが悪いとは言い切れない。再起動すると何事もなく動くし。
マザーボード、ディスク共に割と新しいもので故障という線は考えにくいが、ディスクが変わっていることから一番ありうるのはマザーの初期不良だ。ディスクの S.M.A.R.T のエラーログにも何も記録されていないので、これを信じるならディスクではなく結線かディスクコントローラに問題がある可能性が高く、マザーの異常の線が濃くなる。

しかし、あえて言おう。

きっと Seagate がダメなんだ!
数日前からログが出てるのに気づかない俺がダメだ

RAID を組んで物理ディスクの状態を監視しないとダメだよ、といういいお手本ですね。

zpool status -x
の結果を見るようなスクリプトを仕込めばよさそうだ。