« | Home | »

2009.02.26

FreeBSDのgmirrorでのHDD故障対応

gmirrorでミラー構成が出来たので、故障状態を起こさせて、回復を試みる。
(1) FreeBSDを普通に起動した後に、最初にFreeBSDをインストールしたHDD(ad0)の供給電源ケーブルをHDDより引き抜いた。そのままでは、何も起こらなかったがviを起動しようとしたら、良く覚えてないがad0に書き込めないと言うようなメッセージが表示された。
下記のようにステータスを表示させると、DEGRADEDになっていた。

# gmirror status
    Name         Status   Components
gmirror/gm0   DEGRADED      ad2

もちろん、この状態でもサーバは問題なく動作を続けている。
(2) Shutdownして起動すると正常に立ち上がった。
(3) もう一度Shutdownしてad0に電源ケーブルをつなぎ、起動する。
ログインしてstatusを見ると、既に同期化が始まっていた。
ad0に全く新しいディスクを取り付けて起動すると、(5)の状態になるはずである。

# gmirror status
    Name         Status   Components
gmirror/gm0   DEGRADED      ad2
               ad0(1%)   ← 進行が%で表示される

(4) gmirror作成で使用したLivefs CDで起動して、ad0に書き込まれたメタデータをクリアした。

Fixit# chroot /dist
Fixit# kldload geom_mirror
Fixit# exit
Fixit# gmirror stop gm0    ← gmirrorの停止
Fixit# gmirror clear ad0    ← ad0のメタデータのクリア

(5) Livefs CDを抜いて普通に起動してステータスを確認し、今度は同期化は始まらず、ミラーはDEGRADED状態であることを確認する。

# gmirror status
    Name         Status   Components
gmirror/gm0   DEGRADED      ad2

(6)gm0の構成情報をリセットする。そしてステータスを確認する。DEGRADEDがCOMPLETEに変わる。

# gmirror forget gm0         ← 構成情報のリセット
# gmirror status
    Name         Status   Components
gmirror/gm0   COMPLETE      ad2

(7) ここで、ad0を組み込む。

# gmirror insert gm0 ad0        ← ad0の組み込み
GEOM_MIRROR:Device gm0:rebuilding provider ad0.

(8)上記メッセージの後、同期が始まり30分ほどで完了した。

# gmirror status
    Name         Status   Components
gmirror/gm0   DEGRADED      ad2
               ad0(2%)   ← 進行が%で表示される
# gmirror status
    Name         Status   Components
gmirror/gm0   COMPLETE      ad2
               ad0

コメント

コメントはありません

コメントフィードを購読する

コメント投稿





コメント本文に次の(X)HTMLタグを使えます:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)