«前の日記(2006-04-02(Sun)) 最新 次の日記(2006-04-04(Tue))» 編集
RSS feed

ぽっぺん日記@karashi.org


2006-04-03(Mon) [長年日記]

_ [FreeBSD]gmirror RAID1でトラブル

PowerEdge SC430に6.0Rをインストールして、ad4とad6(どちらもWestern Digital WD3200DJを使用)でgmirror RAID1を組んでいるサーバが、

unknown: TIMEOUT - WRITE_DMA48 retrying (1 retry left) LBA=ほげほげ
GEOM_MIRROR: Device gm0: provider ad6 disconnected.

Fatal trap 12: page fault while in kernel mode

というエラーを吐いて死んでいた。

ad6をWestern DigitalのDiagnosticツールで検査するもエラーは見付からず、仕方がないので、ad6を予備に取っておいた新品のWD3200JDと交換するが、6〜7時間ほどで、同様のエラーを吐いてまた死んだ。DELL純正ではないSATAケーブルもしくはマザーボードの故障を疑って、ad4とad6を物理的に入れ替えてみるも、今度はad4(旧ad6)が同じ症状で死ぬ。

なんとなくHDDのリビジョンの違いとか、俺の全然分からない辺りの話になってしまいそうな気がするが、諦めず、WRITE_DMAgmirrorをキーワードにして、freebsd-stable MLのアーカイブ漁り + ググりまくってみたところ、以下のような感触。

  • 6.0Rと5.4Rで同じような症状がずいぶん出ている。
  • 6.1-PRERELEASEでも同じ状況。
  • Western DigitalのHDDでこの症状が出たという話もあった。PE-SC430 + MaxtorSeagate(2006/05/28訂正:メーカーを間違えた)のHDD * 2でgimirror RAID1を組んでいるサーバも手元にあるのだが、そちらでは問題がないので、これはあるかも。

とりあえず、今のところ取れる解決手段はこんなところか。

  1. BIOSのバージョンアップ(済)
  2. 5.3Rより上のバージョンでは必要ないという話だと思うけれど、念の為、/etc/rc.confにswapoff="YES"を追記(済)
  3. SATAケーブルの交換
  4. ダメモトでFreeBSDを6.1-*あたりにバージョンアップ
  5. /boot/device.hintsにhint.acpi.0.disabled="1"を書いて、ACPIを切る
  6. /boot/loader.confにhw.ata.ata_dma=0を書いて、DMAを切る(できれば避けたい)
  7. HDDの交換(できれば避けたい)

とりあえず、様子を見ながら、1つずつ潰していくしかないな。


«前の日記(2006-04-02(Sun)) 最新 次の日記(2006-04-04(Tue))» 編集
RSS feed