アメーバピグ スナップショット

アメーバピグ スナップショット

開発室では動物にさわれない。
そして、動物たちがすべてやんちゃである。なかよし度も0。飼い主のプロフィールも0あせる

ここに動物を連れてきた人もいたけど、触ることはできなかった。

そして……



激しくつまらないwww

ちなみに開発室は10人しか入れません。今のところ。

開発室の入り方は右クリックしてAmebaをクリック。
右クリック
最後の方にでてくる、ポチをクリックすると移動できます。
開発室入り口
だいたい100人待ちだけど。
さて、なんとかSoftwareRAIDを構築することはできました。
しかしRAIDを構築することができても、実際に障害が発生したときに対応ができないといけません。

今回は仮想障害発生時の対応を調査したいと思います。

現在の構成は、
# atacontrol list
ATA channel 0:
Master: no device present
Slave: no device present
ATA channel 1:
Master: no device present
Slave: no device present
ATA channel 2:
Master: ad4 SATA revision 2.x
Slave: ad5 SATA revision 2.x
# gmirror status
Name Status Components
mirror/gm0 COMPLETE ad4
ad5

なのでad5に物理的障害を発生させます。
raid01
こんな感じで思いっきり外にでているので、電源を引っこ抜きます。
# gmirror status
Name Status Components
mirror/gm0 DEGRADED ad4

はい。逝きました。

で、まずはStatusを正常にします。
# gmirror forget gm0
# gmirror status
Name Status Components
mirror/gm0 COMPLETE ad4

COMPLETEされていれば正常な状態です。
この状態でディスクの交換を行います。

今回はテストで落としただけなので、そのままad5側のHDDに電源を入れます。
そのままでは何もステータスは変わらないので、まずはHDDの認識をさせます。
# atacontrol list
ATA channel 0:
Master: no device present
Slave: no device present
ATA channel 1:
Master: no device present
Slave: no device present
ATA channel 2:
Master: ad4 SATA revision 2.x
Slave: no device present
# atacontrol detach 2
atacontrol: Invalid channel 2


ヽ(´A`)ノアルェ?
無効なチャンネルだって。

う~ん、たしかにchannel2って書いてるのになぁって、軽く調べると
FreeBSDでは、ata2って記述しなければならないらしい。
ヽ(´A`)ノゲフゲフ
# atacontrol detach ata2
# atacontrol list
ATA channel 0:
Master: no device present
Slave: no device present
ATA channel 1:
Master: no device present
Slave: no device present
ATA channel 2:
Master: no device present
Slave: no device present
# atacontrol attach ata2
Master: ad4 SATA revision 2.x
Slave: ad5 SATA revision 2.x
# gmirror status
Name Status Components
mirror/gm0 N/A N/A
mirror/gm0 COMPLETE ad4
# gmirror insert gm0 ad5
# gmirror status
Name Status Components
mirror/gm0 DEGRADED ad4
ad5 (0%)

ヽ(´A`)ノワーイ ウマクイッタヨー
これでHotswap的な動きは問題ないことがわかりました。
その他、リビルド中に再起動や一個で起動中に再起動などしても問題ありませんでした。

ヽ(´A`)ノ.。oO(ふぅ。これでひと段落だな)

明日は最後の仕上げの状態監視について調査します。
再起動してもマウント失敗するので、ヽ(´A`)ノ.。oO(あるぇ?)な感じでしたが、原因がわかりました。
# edit /mnt/etc/fstab
Device
/dev/mirror/gm0s1b
/dev/mirror/gm0s1a
/dev/mirror/gm0s1e
/dev/mirror/gm0s1d

としなければいけないところを、
Device
/dev/gm0s1b
/dev/gm0s1a
/dev/gm0s1e
/dev/gm0s1d

としてました。
ヽ(´A`)ノアウアウアー
なんたる凡ミス。
ad4をgm0に書き直しただけで満足してました。

修正して再起動すると普通に起動しました。
やっとミラーリングができます。
# atacontrol list
ATA channel 0:
Master: no device present
Slave: no device present
ATA channel 1:
Master: no device present
Slave: no device present
ATA channel 2:
Master: ad4 SATA revision 2.x
Slave: ad5 SATA revision 2.x

# gmirror insert gm0 ad5
# gmirror status
Name Status Components
mirror/gm0 DEGRADED ad4
ad5 (0%)

やったよ。リビルドが始まったぁ。
30-40分ぐらい待つとメッセージログに、
GEOM_MIRROR: Device gm0: rebuilding provider ad5 finished.

と出てくるのでこれで構築完了。
# gmirror status
Name Status Components
mirror/gm0 COMPLETE ad4
ad5


ヽ(´A`)ノ「できましたぁ」
(`・ω・´)「もうOKだな。すぐ使おう」
ヽ(´A`)ノ「ぁぅ。構築ができただけで、まだ動作テストができてません」
(`・ω・´)「ふむ。じゃ、よろしく」
ヽ(´A`)ノ「はい。がんばりますデス……」

作ったら終わりじゃなく、次はHotswap的な動作が可能かどうかを調べる予定です。