次のページ 前のページ 目次へ

4. RAID でないシステムを RAID1/4/5 に改善する

RAID でないシステムの RAID への改善はかなり簡単で、いくつかの分離した手順 からなり、それを後述します。その記述は、ブートパーティションとルートパー ティション、そしてスワップパーティションをともなうシステムのためのもので す。

既存システムの古いディスク構成――

    /dev/hda1     boot, dos+lodlin か lilo かも
    /dev/hda2     root
    /dev/hda3     swap

別のディスクを追加し、全体のシステムを RAID1 に変換します。たくさんのディ スクの追加が容易なら、同じ手順で RAID1 の代わりに RAID5 セットを作ること もできます。

4.1 手順1:新しいカーネルの準備

きれいなカーネルと raidtools-0.90 (もしくは最新バージョン)、 そして 0.90 RAID へとカーネルを改善するカーネルパッチを、ダウンロードし てください。

raidtools をコンパイルしインストールします。そして、付属のドキュメントを 読んでください。

使用予定の RAID の種類 (0/1/4/5 ?) をすべてサポートする設定で、カーネル をコンパイルしインストールしてください。カーネルコンフィグレーションにお いて RAID デバイスの autostart を指定したことを確認します。カーネルが適 切にブートするかをテストし、そして、あなたが使おうとしている RAID の種類 が新しいカーネルでサポートされているかを確認するため /proc/mdstat を調べ てください。

4.2 手順2:新しい RAID のための raidtab 設定

新しいディスクを別の IDE コントローラのマスターデバイスとしたなら、それ は /dev/hdc になります。

    /dev/hdc1     16MB――もしくはそれ以上でいくつかのカーネルイメージに
                  十分な領域
    /dev/hdc2     ディスクの大部分の領域
    /dev/hdc3     必要ならもう少しのスワップ領域。いらなければ hdc2 に加
                  える。(訳注:このシナリオは swap を RAID にしない)

/dev/hdc1 と /dev/hdc2 のパーティションタイプを raid-autostart の "fd" に変更してください。

failed-disk パラメータを使用して、希望する RAID1 設定のための raidtab を作成します。failed-disk は表の最後に置くべきです。

# example raidtab
# md0 is the root array
raiddev                 /dev/md0
raid-level              1
nr-raid-disks           2
chunk-size              32
# Spare disks for hot reconstruction
nr-spare-disks          0
persistent-superblock   1
device                  /dev/hdc2
raid-disk               0
# this is our old disk, mark as failed for now
device                  /dev/hda2
failed-disk             1

# md1 is the /boot array
raiddev                 /dev/md1
raid-level              1
nr-raid-disks           2
chunk-size              32
# Spare disks for hot reconstruction
nr-spare-disks          0
persistent-superblock   1
device                  /dev/hdc1
raid-disk               0
# boot is marked failed as well
device                  /dev/hda1
failed-disk               1

4.3 RAID を作成しフォーマットし、そして設定する

次のコマンドで md デバイスを作成します――

    mkraid /dev/md0
    mkraid /dev/md1

RAID デバイスは作成され、動作を始めます。/proc/mdstat の調査で、カーネル における RAID の個々の状態と、RAID デバイスの動作を見ることができます。

ブートデバイスとルートデバイスをフォーマットします――

    mke2fs /dev/md0
    mke2fs /dev/md1
新しいルートデバイスをどこか扱いやすい場所にマウントし、その中に /boot のためのディレクトリを作成し、そのディレクトリにブートパーティションをマ ウントします。

    mount /dev/md0 /mnt
    mkdir /mnt/boot
    mount /dev/md1 /mnt/boot

4.4 新しい RAID デバイスに現在の OS をコピーする

これは非常に簡単です。

    cd /
    # これを行うバッチファイルを設定しましょう。
    cp -a /bin /mnt
    cp -a /dev /mnt
    cp -a /etc /mnt
    cp -a (/mnt と /proc そして nsf マウントを除くすべてのディレクトリ) /mnt

ルートファイルシステムに他のディスクをマウントしたりリンクしていると、こ の操作は用心しなければなりません。上記の例はたいへん単純なシステムを想定 しているので、複雑な場合、手順を若干修正する必要があるかもしれません。

4.5 新しい RAID をテストする

ブートフロッピーを作り、カーネルを rdev します。

    dd if=kernal.image of=/dev/fd0 bs=2k
    rdev /dev/fd0 /dev/md0
    rdev -r /dev/fd0 0
    rdev -R /dev/fd0 1

RAID デバイス上の fstab を次に示すように修正し、新しいマウントポイントを 反映させます――

  /dev/md0        /       ext2    defaults        1 1
  /dev/md1        /boot   ext2    defaults        1 1

RAID デバイスのマウントをはずし、新しいファイルシステムをブートし、 すべて正しく動作しているか確認します。

    umount /mnt/boot
    umount /mnt
    raidstop /dev/md0
    raidstop /dev/md1
    shutdown -r now

フロッピーブートディスクで、RAID システムはすぐに作動し、縮退モードで動 くはずです。すべてのものが新しい RAID システムに転送されているか注意深く チェックしてください。バックアップのない状態で、ここで失敗したならば、 あなたは死んでしまいます。

何かが動作しなければ、古いシステムを reboot し、立ち返って修正を行いま す。完全に成功するまでこれを繰り返してください。

4.6 RAID アレイに古いディスクを統合する

前の手順での成功は RAID アレイが現在使用できることを意味しますが、まだ冗 長にはなっていません。すぐに新しい RAID アレイに合うように古い ディスク (群) を切り直すべきです。 ドライブの構成情報が同じでないなら、古いドライ ブのパーティションサイズを RAID パーティションと等しくするかそれより大き くしなければ、RAID セットに追加することができない、ということを記憶して おいてください。

必要に応じて、古いドライブを切り直します。例として――

    /dev/hda1     /dev/hdc1 と等しいかそれ以上
    /dev/hda2     /dev/hdc2 と等しいかそれ以上
    /dev/hda3     使い残し分、swap にでも何にでも・・・

raidtab 内の failed-disk パラメータを raid-disk に書き換え、 RAID アレイに新しい (古い) ディスクパーティションを hot add します。

    raidhotadd /dev/md1 /dev/hda1
    raidhotadd /dev/md0 /dev/hda2

/proc/mdstat を調べると、1つ以上の RAID デバイスで新しいパーティションのた めに再構築を行っていることが見えます。1分後、いや2分、いやもっと経過す ると、RAID アレイは完全に同期します (パーティションが大きいほど時間がか かります)。

この文書の始めの方のセクションで述べた手順を使い、新しい RAID ペア上で、 ブート可能な RAID の設定をします。この最後の手順の設定とテストが終了する まで、あのブートフロッピーは手放してはなりません。


次のページ 前のページ 目次へ