gmirror による Software RAID1 の構築(改訂版)

注)このエントリは、gmirror による Software RAID1 の構築の改訂版です。

gmirror とは、 FreeBSD におけるストレージのフレームワーク、 GEOM による、ミラーリングのための仕組みであり、SATA であろうと SAS であろうと USB などなど、デバイスに依存しない形でミラーリングを行うことが出来ます。そのため、ネットワーク越にミラーリングしたり、外付けUSB の HDD にミラーリングしてライブスナップショットを取るといったような使い方も可能になります。

HDD を一台しか積んでいないマシンでも、上記のような使い方ができるので設定しておくと後々幸せになることが多いかもしれません。

以前紹介したやり方では、ブートディスクをミラーリングするためには、なにか別のデバイスからブートする必要があったのですが、今回の手順で行えば、その必要は無く、設定後に1度だけリブートすれば設定完了しますので、現行で動かしている環境でもダウンタイムを少なくすることが出来ます。

**注意**
下記の手順どおりやって失敗したとしても、当方は一切関知しません。猛犬注意。濡れていて滑ります。バックアップは取りましょう。

  1. まずは/boot/loader.confを書き換えます
    geom_mirror_load="YES"
    を追加します
  2. /etc/fstab を書き換えます。
    例えば、vi で一気に書き換えるとして、現在使っている HDD が ad4 だとして、gmirror で設定する名を gm0 とするならば
    :%s/ad4/mirror\/gm0/g
    などとします。
  3. sysctl で kern.geom.debugflags を 0x10 に変更します。つまりは16ですね。
    > sudo sysctl kern.geom.debugflags=16
    これによって、ブートした自分自身の HDD の書き換えが可能になります。
  4. gmirror のカーネルモジュールをロードします。
    > sudo kldload geom_mirror.ko
  5. ブートデバイスをミラーに登録します。
    > sudo gmirror label -v gm0 /dev/ad4
  6. 神に祈りをささげつつ、リブートします。
    > sudo shutdown -r now
  7. 何も問題が無ければ普通にマシンが再起動してくるので、その後ログインして、どうなっているか確認します。また、2台以上 HDD を積んでいるのであれば、ミラーに参加させましょう。
    > gmirror status ←ステータス確認
    > sudo gmirror insert -v gm0 /dev/ad6 ← /dev/ad6 をミラーに追加

その他
live CD などからのブートが不要になったことで、ものすごく手軽に gmirror を設定する事が可能になりました。ぜひおためしあれ。