現行システムをRAID 1化する (Debian GNU/Linux 3.1(sarge))

以前やった現行システム(root ファイルシステム含む)のRAID化のメモです。
ハマった点も書いておきますので,
お役に立てれば幸いです。

  1. まずカーネルがサポートしている必要があります。
    RAID 1(ミラーリング)なので最低限以下のオプションが含まれている必要があります。

    今回はinitrdを使わない方法です。(実は私がよくわかってない(^^;
    • [*] Multiple devices driver support (RAID and LVM)
    • <*> RAID support
    • <*> RAID-1 (mirroring) mode
    • 次にaptでRAID用のツール類をインストールします。
      apt-get install raidtools2
      うろ覚えですが,これでmdadmもインストールされるはず。li>
    • 現行システムのRIAD化なので,現在使用しているハードディスクと全く同一か,それ以上の大きさのディスクを用意します。

      そこにパーティションを作ります。

      お勧めなのは現在と全く同じパーティション構成にすることです。

      パーティションのtypeはrootだろうが,swapだろうが0xfdにしておきます。

    • 追加したディスクが/dev/hdcだとします。

      そしたら以下の様にアレイを作成します。

      mdadm -Cv /dev/md0 -l1 -n2 missing /dev/hdc1

      mkfs.ext2 /dev/md0

    • 全てのパーティションに対して同じ事をして,
      シングルユーザモードに落ちて,
      内容をmd0からはじまる新アレイにコピーします。

      tar cf - "/" | ( cd "/mnt"; tar xBf )

    • あとは再起動すればRAIDでシステムが起動しますが,fstab をこの時点で /dev/md0 からはじまるものに書き換えておいてください。

      あと,忘れがちなのは GRUB 等のブートローダで指定するroot=のルートファイルシステムも,

      /dev/mdXに変更しておきましょう。

    • 再起動したら古いディスクも今回きったパーティションと同じようにして,タイプを0xfdに変更します。

      ここからは後に戻れません!!!

    • 古いディスクをアレイに加えます。

      mdadm /dev/md0 -a /dev/hda1

    • 設定ファイルを作っておしまい。

      mdadm --detail --scan >> /etc/mdadm/mdadm.conf
こんな感じですね。
ここまで出来ればあとは確認。
/proc/mdstat にミラーリングの進行状態やステータスが表示されます。
大体100GBのパーティションのミラーに50分ばかしかかると思います。
アレイの監視の仕組みがまだよくわかってないので,
dpkg-reconfigure mdadm
をしておけば幸せになれるかもしれません。