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安いですもんね。
以下、今回参考にしたサイト。