gmirrorの復旧
posted by jun-g at Wed, 15 Oct 2008 21:00 JST
以前gmirror+gstripeで構築したRAID環境で、HDDのひとつがうまく認識されなくなる、という問題が発生しました。再起動すると認識されたりされなかったりと、かなり不安定な感じだったので、HDDを交換する事にしました。
まずは現状把握。
# gmirror status
Name Status Components
mirror/gm0 COMPLETE ad2
ad3
mirror/gm1 DEGRADED ad4
mirror/gm2 COMPLETE ad6
ad7
ad5がいない。/devの下を確認してもいないので、HDD自体が認識されていない様子。
一旦マシンを停止してHDDを交換し、マシンを再度起動して、交換したHDDがad5で認識されている事を確認し、次のコマンドを実行。
# gmirror forget gm1
これでgm1のDEGRADED状態がクリアされる。
# gmirror status
Name Status Components
mirror/gm0 COMPLETE ad2
ad3
mirror/gm1 COMPLETE ad4
mirror/gm2 COMPLETE ad6
ad7
でもって交換したad5をgm1に追加。
# gmirror insert -v gm1 ad5
すると、自動的にミラーリングのリビルドが開始され、しばらく待つとリビルドが完了し、無事gm1が復旧しました。簡単。
以下、参考にしたサイト。
GEOMでRAID構築
posted by jun-g at Wed, 07 May 2008 00:04 JST
手元にHDDが沢山余っていたので、FreeBSD-7Rで構築した自宅のファイルサーバにRAIDを構築してみました。
最初、ストライプしてからミラーするべきか、ミラーしてからストライプするべきか、という素朴な疑問で悩んだのですが、RAID01とRAID10の違い:佐野裕のサーバ管理者日記:ITproという記事を読んで、RAID01とRAID10は別モノで、ストライピンググループをミラーしたRAID01よりも、ミラーしたグループをストライピングしたRAID10のほうが可用性が上である、ということがわかったので、RAID10を構築することにしました。
HDDの構成は、マザーボード上のATAセカンダリに160GBx2、増設ATAカードに120GBx4で、デバイス名はそれぞれad2~7になりました。
まずはgmirrorでRAID1のグループを3つ作ります。
# gmirror label gm0 /dev/ad2 /dev/ad3
# gmirror label gm1 /dev/ad4 /dev/ad5
# gmirror label gm2 /dev/ad6 /dev/ad7
問題なく構築できているか確認。
# gmirror status
Name Status Components
mirror/gm0 COMPLETE ad2
ad3
mirror/gm1 COMPLETE ad4
ad5
mirror/gm2 COMPLETE ad6
ad7
問題なくできているようです。次にこのRAID1アレイを束ねてgstripeでRAID0を構築します。
# gstripe create -s 131072 gs0 mirror/gm0 mirror/gm1 mirror/gm2
問題なく構築できた?
# gstripe status
Name Status Components
stripe/gs0 UP mirror/gm0
mirror/gm1
mirror/gm2
問題なし!newfsしてマウントします。
# newfs /dev/stripe/gs0
...snip...
# mount /dev/stripe/gs0 /mnt
# df -h /mnt
Filesystem Size Used Avail Capacity Mounted on
/dev/stripe/gs0 334G 4.0K 333G 0% /mnt
できた!160+120+120=400GBなのに334GBになっているけど、細かいことは気にしません。
ということで、無事RAID環境が構築できました。この環境なら突然HDDが1本死んでも大丈夫だし、RAID10なので単純なRAID1よりもパフォーマンスも良いはず(ベンチマークは取っていませんが…)。手元に予備の160/120GBのHDDもあるので安心です。ただ、6本もHDDを使っていながらたった334GBしか容量が確保できてないというのが、電気の無駄遣いに感じてしまいますが…。最近HDD安いですもんね。
以下、今回参考にしたサイト。