« GRUB2とPLoPとUSB | トップページ | grub2のusbms周りとそれに付随指定調べた情報 »

ubuntuのgrub2のLVM over RAID

ubuntuでgrub2での、LVM over RAIDの周りをつらつら眺めていたのでメモに。

 grub2のモジュールのうち、disk deviceとして動作するもののうちのいくつかが、moduleを読み込むときに、その時点の一覧をキャッシュするために、入れ子構造にできるdisk(仮想disk相当)については、入れ子のどこまで見えるかは、modulesを読み込む順序に依存するようです。
# 問題なのは、raidとlvmの2つ。biosdiskは要求されるつどBIOSをチェックするので問題なし。loopbackやmemdiskは任意に定義して使うもので読み込み時点では何もしないので問題なし。

 そのため、grub-mkimgeに渡すmodulesのリスト(元はgrub-installが--modulesとgrub-probeの結果で生成するモジュールのリスト)の順序に依存していそうです。
 もし、これが原因でうまくゆかない場合、「--modulesにて正しい順序で全て明示する」というのが1番のようです。もし、grub-installに頼るなら(大抵はそれで十分のはず)、逆に、--modulesに下手に指定しない ということになります。
# 結果、HDD-RAID-LVMの構成と、HDD-LVM-RAIDの構成を同時に扱えるものは作れません。起動したい環境の/boot(分割していないなら、/)に合わせて、正しく指定する。

 この認識の順序は、grub-mkimageの時点(grub-installの場合は、その中で自動的に実行)で決定され、(grub-setupによって)HDDの先頭領域に書き込まれる為、構成に失敗したgrubのgrub rescueからは、見えなくなってしまったところを認識されるのは困難なようです。
# 先に書いた通り、読み込み時にキャッシュする構造の為に、この順序の問題にひっかかった状態で作成されてアgrubにて、grub rescueの状態からあとから認識させるのは難しそう。そもそも、insmodも使えませんし。

LVM over RAID(RAIDを構成した上にLVMを確保した場合)の場合でmodulesを指定する場合。
grub-install --modules="biosdisk part_msdos part_gpt raid mdraid lvm" '(md0)'
・raidは明示しなくてもOK。mdraidの依存モジュールなので、勝手に直前に追加されます。
・SoftRAIDではないなら、mdraidは要らない。
・part_*の部分は、必要なものだけでOK。
・chainlodaerも含めるなら、「chain」を追加。場所はどこでも。
・ファイルシステムを追加する場合、ext2/3/4は全て、モジュールは「ext2」。名前はext2ですが、ext4まで読めます。ext3とかext4とかの存在しないモジュール名を指定しないように注意。
・あまりいろいろ指定すると、サイズオーバーでエラーになるので、ほどほどに。ここで指定したモジュールは、grub rescueの状態でも読み込まれます。
・インストール先の指定について、RAIDの場合はRAIDの名前で指定する。こうすると、RAIDに属しているHDDにひととおり設定してくれる。昔のGRUBは物理デバイスを指定する必要があった。
・/boot/grub/device.map が正しくないなら、--recheckにて強制的に再作成。

RAIDoverLVM(lvmの論理ボリュームを組み合わせてSoftRAIDを構成した場合)の場合、「raid mdraid」と「lvm」の指定順序を逆にする。

こういった細かい操作の場合、grub-installを使うよりも、grub-mkimageとgrub-setupをそれぞれ用いて、必要最低限のgrub.cfgを自分で設定したほうが楽かも。

|

« GRUB2とPLoPとUSB | トップページ | grub2のusbms周りとそれに付随指定調べた情報 »

コメント

ubuntuのgrub2のLVM over RAID 大変参考になりました。
Fedora16のインストールで、/boot をRAID上に/をlvm over RAID に構成しところ、GPTのディスクラベルを認識できずに起動できない状態になっていました。

疑うべきところがはっきりしました。
ありがとうございました。m(_._)m

MBRでは何の問題もなく起動できていたのですが、MBRではディスクラベルとか関係なく、HDDの物理位置が指定されていたために、起動できていたのだろうと考えています。

では。

投稿: 東一博 | 2012/02/24 12:22

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/20195/50174071

この記事へのトラックバック一覧です: ubuntuのgrub2のLVM over RAID:

« GRUB2とPLoPとUSB | トップページ | grub2のusbms周りとそれに付随指定調べた情報 »