mdadmを使ったRAIDで再起動時に片肺になる問題
先日の2009-07-22 - 日々雑文で書いてた方法で、mdadmを使ってRAID1を構築してたんだけど、再起動するときに片方のドライブがRAIDのメンバとして認識されずに、再起動する旅にRAIDが壊れるという現象が起っていた。
[vine-users:077782] mdadm$B$G:F(B$B5/F0$9$k$HJRGY$K$J$k(Bとかを辿って原因を調べてたんだけど、結論としては領域IDの設定を間違えていたためにRAIDがうまく認識されないという状態だった様子。
デバイス Boot Start End Blocks Id System /dev/hdb1 1 30474 15358864+ fd Linux raid 自動検出 /dev/hdb2 30475 71120 20485584 fd Linux raid 自動検出 /dev/hdb3 71121 77622 3277008 82 Linux swap / Solaris
ドライブを交換して fdisk で領域を作成しただけではこの System のところが Linux となっていて、ID は 83 の状態だった。
この System が Linux で ID が 83 でも mdadm を使って RAID のメンバにして RAID を構成することはできるし、その状態でも一応動いてはくれる。
でも実際にトラブルが起ったりすると、RAIDとしては役に立たない状態になっていると思う。
上記の問題はそのまま fdisk で領域 ID を「fd Linux raid 自動検出」に設定しておけば問題ない。
本当なら mdadm で --add するときとかに警告出すと化してくれると一番いいんだけどなぁ…
ということで、2009-07-22 - 日々雑文の記事はちょっと修正した。