|
2006/09/27
Vine Linux 4.0から、インストール時でもソフトRAIDが選択できるようになりました。
ただし、/bootはインストール時にはRAIDにできないため、HDD2台でRAID-1にするような場合では
データの保証はされるものの、OSは起動できなくなってしまいます。
そこで、Vine4で/bootやMBRを含めて全部、RAIDにしてみましたので、メモを残しておきます。
なお、コピー/ペーストだけではうまくいきません。意味を理解してすすめてください。
設定を失敗すれば、Linux自体が立ち上がらないことも有り得ますので、そのつもりでお願いします。
SoftRaidでVineLinuxをインストール |
目次へ |
Vine4.0をインストールします。
このとき、/boot以外はRAIDにしてしまってOKです。
この例では、わかりやすくするため「/boot」, SWAP, 「/」の3つだけのパーティションを作ることにします。
スワップ・パーティションと「/」をRAIDで作ってください。
インストールが完了したら、Vineを起動してrootでログイン後、RAIDの構成状態と現状を見ておきます。
# cat /proc/mdstat
この表示を覚えておいたほうが、これからの作業のためには便利がいいかと思います。
mdadmをインストールします。Vineをフルインストールしていればすでに入ってるかもしれません。
# apt-get update
# apt-get install mdadm
-
/boot用のエリアをfdiskで作ります。
# fdisk /dev/hda
nコマンドで/bootに割り当てるサイズを確保し、tコマンドで Linux raid (ID=fd) にしてください。
領域確保が完了したらwでfdiskからぬけます。
同様にして、RAIDにする2台のHDDに領域確保をしてください。
ここで注意点は、/bootに割り当てる領域番号を同じにしてください。
たとえば /dev/hda5 と /dev/sda5 のように (この場合は両方とも5となってます) します。
領域番号が違っていると、ミラーになっているにもかかわらず、ドライブが死んだときにブートできなくなります。
fdiskで新規作成したRAID用のエリアにRAID-1の作成をします。次を1行で入力します。
# mdadm --create --auto=yes --level=1 --raid-devices=2 --spare-devices=1 /dev/md2 /dev/sda2 /dev/sdb2 /dev/sdc2
- Vine4はudevを使っているので --auto=yes とする必要があるようです。
- --level=1 でRAID-1 (=ミラーリング) を表します。
- --raid-devices=2 で、アレイを構成するディスクの数を指定します。RAID-1では2ですね。
- --spare-devices=1 で、スペアディスクの指定をします。スペアがなければ指定する必要はありません。
- この例では「/dev/md2」のアレイは「/dev/sda2」「/dev/sdb2」「/dev/sdc2」の3つのHDDを使うことになります。
/dev/md2をフォーマットします。
# mkfs -j /dev/md2
適当なマウントポイントを作り、/dev/md2をmountします。
# mkdir /mnt/tmp
# mount /dev/md2 /mnt/tmp
現状の /boot を /dev/md2へコピーします。
# cp -fa /boot/* /mnt/tmp
/bootを/dev/md2に切り替えます。
# umount /mnt/tmp
# umount /boot
# mount /dev/md2 /boot
/etc/fstab を書き換えて、/bootのマウントポイントを変えておきます。
# emacs /etc/fstab
/dev/md2 /boot ext3 defaults 1 2 |
menu.lstを編集します。
# emacs /boot/grub/menu.lst
「root (hd0,1)」みたいな記述があると思うので、ここをRAIDにしたパーティションへ変えます。
たとえば、fdiskで/boot用パーティションを/dev/hda5としたなら、(hd0,4)というようにします。番号は1つ少ない数値となります。
MBRへgrubをインストールし、再起動します。この作業で、ミラーにした2つのHDDのMBRへgrubのブート部分がインストールされます。
# grub
grub> root (hd0,4)
grub> setup (hd0)
grub> root (hd1,4)
grub> setup (hd1)
grub> quit
# reboot
再起動したら dfコマンドで、/bootが/dev/md2など、RAIDデバイスに変わっているかをチェックしておきます。
なお、RAIDをテストしたいために、ディスク障害をあえて発生されるコマンドがあります。
運用テストなどでは便利がいいと思いますので、ここに書きます。
# mdadm --fail /dev/md1 /dev/hda3
これで、/dev/md1のアレイを構成している/dev/hda3に障害がおこったことにしています。スペアが設定してあれば、スペアが使われます。
# cat /proc/mdstat ← これでアレイの確認をします。
また、それぞれのアレイについての詳細情報は、次のようにしてわかります。
# mdadm -Q -D /dev/md0
万一、HDDに障害が発生し、RAID-1が1台のHDDで動作するようになったら、次のようにします。
障害が発生しているHDDを調べます。
# cat /proc/mdstat
正常なら2台でアレイを構築していれば「2/2」と表示されます。
md0 : active raid1 sda2[1] hdb2[0]
2048192 blocks [2/2] [UU] |
以下は/dev/hdb2が異常な場合です。
md0 : active raid1 sda2[1] hdb2[0](F)
2048192 blocks [2/1] [U_] |
スペアHDDの指定がしてあれば、オートリビルドしているはずなので、それも確認します。
以降の作業では、 cat /proc/mdstat を用いて、アレイの状況をチェックしながらすすめましょう。
アレイから障害DISKを取り除きます。この例では/dev/hdb2にFフラグが立っていてエラーなので、これをアレイから取り外します。
# mdadm --remove /dev/md0 /dev/hdb2
スペアのHDDがあれば、それにfdiskでRAID用エリア (タイプ=fd) を割り当てます。
アレイにHDDを追加します。ここでは/dev/hdc3が新しいHDDのパーティションなので、これを/dev/md1へ追加しています。
# mdadm --add /dev/md0 /dev/hdc3
アレイに追加すると、リビルドが始まります。
# cat /proc/mdstat
これでリビルドの状況を確認します。
スペアディスクを追加する場合も「mdadm --add」を使えばできます。アレイの必要台数以上に 「mdadm --add」 すると、自動的にその分はスペアになるようです。
|