MIRACLE

メールサービス申込 ユーザー登録&ログイン パートナー情報
お問い合わせ FAQ サイトマップ
MIRACLE LINUXの特長 製品紹介 サービス案内 購入 サポート 技術フォーラム

テクノロジー情報

2007年 3月 2日
ブートディスクをソフトウェア RAID 1 (ミラーリング) に構成する際の注意
Asianux Server 3 for x86(32bit) 対応 Asianux Server 3 for x86-64(64bit) MIRACLE LINUX V4.0 対応 MIRACLE LINUX V4.0 for x86-64 対応 MIRACLE LINUX V3.0 対応 MIRACLE LINUX V3.0 for x86-64対応

[問題]

ブートディスクをソフトウェア RAID 1 (ミラーリング) に構成する場合、2本目のディスクに GRUB を手動でインストールしなければなりません。
インストールしない状態でもしも1本目のディスクが壊れた場合、2本目のディスクには GRUB が入っていないため、システムが起動しません。

[対象となる製品のバージョン]

Asianux Server 3 for x86(32bit)
Asianux Server 3 for x86-64(64bit)
MIRACLE LINUX V4.0 - Asianux Inside
MIRACLE LINUX V4.0 - Asianux Inside for x86-64
MIRACLE LINUX V3.0 - Asianux Inside
MIRACLE LINUX V3.0 - Asianux Inside for x86-64

※MIRACLE LINUX V4.0の場合:SP2以降での新規インストールを実施する場合は、下記の対処を実施する必要はございません。
ただし、ディスク破損によりディスクを入れ替えた場合などは、GRUBを手動でインストールいただく必要があります。

[発生条件]

インストールでブートディスクをソフトウェア RAID 1 (ミラーリング) (例えば以下の構成) に設定すると、「ブートローダをインストールする場所」が「/dev/md0 RAID デバイス」と表示されます。
しかし、実際には GRUB のインストールは1本目のディスクには行われますが、2本目のディスクには行われません。つまり、sda の MBR には GRUB がインストールされますが、sdb の MBR にはインストールされません。
そのため、1本目のディスク (sda) が故障した場合、2本目のディスク(sdb) から起動しようとしても GRUB が無いので、システムが起動しません。

[回避策]

注意:
 この回避策で説明している操作はディスクの情報を変更します。
 実施する前に説明を全て読み、十分理解した上で実行して下さい。

この問題を回避するために、インストール後に、以下の手順で2本目のディスクに GRUBを手動でインストールして下さい。

  1. df コマンドを使用して /boot ディレクトリのファイルシステムを特定します。

       [root@localhost root]# df /boot
       Filesystem           1K-ブロック    使用   使用可 使用% マウント位
       /dev/md0                101018     68103     27699  72% /boot
       [root@localhost root]#
    

    この結果から /boot は / とは独立しており /dev/md0 であることが分かりました。
    もしも次のような出力だった場合、/boot は / に含まれています。

       [root@localhost root]# df /boot
       Filesystem           1K-ブロック    使用   使用可 使用% マウント位
       /dev/md0                101018     68103     27699  72% /
       [root@localhost root]#
    
  2. 次にこのファイルシステム /dev/md? がどの物理ディスクで構成されているかを特定します。
    grep コマンドを使って先ほどの結果 md0 をキーワードに検索します。

       [root@localhost root]# grep md0 /proc/mdstat
       md0 : active raid1 sdb1[1] sda1[0]
       [root@localhost root]#
    

    この結果から、/dev/md0 は /dev/sdb1 と /dev/sda1 から構成されていることが分かりました。

    /dev/sda が1本目のディスク、/dev/sdb が2本目のディスクであるため、 これから /dev/sdb の MBR に GRUB をインストールする必要があります。

  3. GRUB のコマンドによるインストール手順を説明します。
    既に GRUB コマンドを理解している場合は 4 に進んで構いません。

    はじめに GRUB を起動します。

       # grub
       grub>
    

    次に、/boot ディレクトリを含むディスクパーティションを root デバイスに指定します。もし /dev/sdb1 に /boot ディレクトリの中身が含まれいる場合、これを GRUB で指定するコマンドは

        grub> device (hd0) /dev/sdb         <--- /dev/sdb を hd0 とするコマンド
        grub> root (hd0,0)                  <--- hd0 の一つ目のパーティションを
                                                 現在の root デバイスとするコマンド
    

    となります。もしも、/dev/sdc2 を指定する場合は

        grub> device (hd0) /dev/sdc
        grub> root (hd0,1)
    

    となります。「hd0,」 の次の数字が、「/dev/sdb」の次の数字に対応します。

           hd0,0   -    /dev/sdb1
           hd0,1   -    /dev/sdb2
           hd0,2   -    /dev/sdb3
           ...
    

    最後に root デバイスに GRUB をインストールします。
    /boot と / のファイルシステムが分かれている場合は

        grub> install /grub/stage1 (hd0) /grub/stage2 p /grub/grub.conf
    

    です。/boot と / が同一のファイルシステムにある場合は

      grub> install /boot/grub/stage1 (hd0) /boot/grub/stage2 p /boot/grub/grub.conf
    

    です。
    インストール後は、quit で grub を終了して下さい。
    以上で GRUB のインストールは終了です。

  4. 2本目のディスクに GRUB をインストールするコマンドをあらためて紹介します。

    (a) /dev/sda1 と /dev/sdb1 が /dev/md0 を構成し /boot パーティションとしてマ ウントされている場合

          # grub
          grub> device (hd0) /dev/sdb
          grub> root (hd0,0)
          grub> install /grub/stage1 (hd0) /grub/stage2 p /grub/grub.conf
          grub> quit
    

    (b) /dev/sda1 と /dev/sdb1 が /dev/md0 を構成し / パーティションとしてマウン トされており、この中に /boot ディレクトリが含まれている場合

      # grub
      grub> device (hd0) /dev/sdb
      grub> root (hd0,0)
      grub> install /boot/grub/stage1 (hd0) /boot/grub/stage2 p /boot/grub/grub.conf
      grub> quit
    

[備考]

MIRACLE LINUX V3.0において、Intel ICH5 または 6300ESB のシリアル ATA HDD を 2個使用してソフトウェア RAID 1 を構成する場合は、以上で紹介した GRUB のインストールに加えて、バージョン 2.4.21-9.37AX 以降へのカーネルアップデートを実施して下さい。 2.4.21-9.34AX 以前のカーネルでは、2本目の HDD だけが接続されている状態ではシステムが起動しません。

[参考資料]

GRUB 公式ページ
http://www.gnu.org/software/grub/

[更新履歴]

2007年 9月25日 Asianux Server 3を追加
2007年 3月 2日 修正
2006年11月 8日 修正
2004年11月 4日 新規作成

会社情報 採用情報 個人情報保護方針 情報セキュリティ基本方針 商標等取り扱い事項 English
Copyright(c)2000-2013 MIRACLE LINUX CORPORATION. All Rights Reserved.