GRUBをソフトRAID 1に正しくインストールする方法


21

私の設定では、次の方法でそれぞれフォーマットされた2つのディスクがあります。

(GPT)
1)  1MB   BIOS_BOOT
2)  300MB LINUX_RAID   
3)  *     LINUX_RAID   

ブートパーティションは/ dev / md0に、rootfsは/ dev / md1にマッピングされます。md0はext2でフォーマットされ、md1はXFSでフォーマットされます。(フォーマットはsdではなくmdデバイスで行う必要があることを理解しています-これが間違っている場合は教えてください)。

GRUBを正しくセットアップして、一方のドライブに障害が発生してももう一方が起動するようにする方法 そして拡張により、交換用ドライブにも自動的にGRUBが含まれることになりますか?もちろん、これが可能であれば。

回答:


16

2つのディスクが/dev/sdaandの場合、/dev/sdb両方grub-install /dev/sdaを実行しgrub-install /dev/sdbます。その後、両方のドライブが単独で起動できます。

Grubの構成がのようなディスクをハードコーディングせず(hd0)、代わりにブートおよびルートファイルシステムのUUIDを検索することを確認してください。

Grubが2つのディスクをRAID-1アレイにあると宣言して、grub-install両方に自動的に書き込むようにサポートすることを認識していません。つまりgrub-install、1つのディスクを交換した場合は、再度実行する必要があります。RAIDアレイに新しいメンバーを追加することに加えて、もう1つやることがあります。


1
「Grub構成が(hd0)のようなディスクをハードコーディングせず、代わりにブートおよびルートファイルシステムのUUIDを検索することを確認してください。」どうやって?
lifeofguenter

1
@lifeofguenterとsearch
ジル 'SO-悪であるのをやめ

1
gnu.org/software/grub/manual/grub/grub.html#GNU_002fLinuxまたはディストリビューションのファイルを参照してください
ジル「SO-停止する悪」

1
一部のシステムでは、のgrub2-install代わりになりgrub-installます。
ndemou

1
RAIDはディスクレベルではなくパーティションレベルにあることに注意してください。ミラーリングでもMBRがミラーリングされるため、問題がなければ問題はありません。
マルコスディオーネ

3

私は過去にかなりの数のサーバーでこれを行いましたが、時々問題を見つけました。通常、私は次のことを実行しています

sudo grub-install /dev/sdb
sudo update-grub /dev/sdb

私が遭遇した問題は通常、次のようなエラーメッセージとともに表示されます

update-grub … update-grub failed with no such disk …

これを解決するには、実行しました

sudo mv /boot/grub/device.map /boot/grub/device.map.old 
sudo update-grub 

これで問題は解決したようです-場合によってはテストとして削除/sdv/sda/dev/sdbて起動したばかりですが、これは理想的ではなく、ほとんどの実稼働環境では不可能です!


0

CentOS 5およびCentOS 6をインストールした私の経験では、インストールフェーズでその時点でRAID-1を構成しました。インストールにより、これを行う選択肢が与えられます。次のことが明らかになりました。1. RAIDパーティションとして/ dev / sda1を1 GBとして定義しました2. RAIDパーティションとして/ dev / sdb1を1 GBとして定義しましたおよび/ dev / sdb1 4. / dev / md0を使用して/ bootパーティションを作成しました。5.手順1〜3を使用して追加のパーティションを作成しました。6.手順に従って手順5で作成したパーティションにLVMを実装しました。

最初のシステム起動後、grub.confでエントリ/ dev / sda1を/ dev / md0に変更しました。次に、持っている(hd0,0)のsplashimage行のエントリをコピーし、先頭に#を追加して、(hd0,0)を(hd1,0)に変更しました。上記の回答を見て、grubを/ dev / sdbにインストールする方法を示してください。ブートマウントポイントが/ dev / md0を使用するようにfstabを変更します(これにより、yum更新を行うと、/ bootパーティションで何かが更新され、/ dev / sda1と/ dev / sdb1の両方に書き込まれます)。/ dev / sdaハードドライブに障害が発生した場合は、レスキューを使用して起動し、(hd0,0)行をコメント化して、(hd1,0)行のコメントを解除する必要があります。システムは起動可能でなければなりません

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.