grub2 lvm2 raid1 /スタート

grub2 lvm2 raid1 /スタート

lvm2 raid1パーティション内の/ bootを使用してシステムから起動できますか?複数の設定を試しましたが、これを行う方法が見つかりませんでした。

私は2TBディスク2枚を使用しています。各ディスクには、1MB BIOS_Grubパーティションと2TBパーティションを持つGPTパーティションテーブルが含まれています。各ディスクの大規模な2TBパーティションは、lvm2に物理ボリュームとして割り当てられます。

オペレーティングシステムとしてUbuntu 14.04 LTSを使用してください。最初は、Ubuntu用に2つの5 GB論理ボリュームを構成しました。 1つ目は/のためのもので、2つ目は/homeのためのものです。 Ubuntu設定には、これらの論理ボリュームのセグメントタイプをraid1として構成するオプションはありません。だから私は直線的なデフォルトとしてインストールしました。これは正常に機能し、システムは問題なく起動します。

その後、Live CD環境に再起動し、次のコマンドを使用して両方のパーティションをraid1に変換しました。

lvconvert --type raid1 -m1 /dev/vg_storage/os_root
lvconvert --type raid1 -m1 /dev/vg_storage/os_home

これらの操作はエラーなしで完了しました。その後、コピー%が100%になるまで、lvm2ミラーの2つの論理ボリュームの進行状況を監視しました。

root@ubuntu:~# lvs
  LV          VG         Attr      LSize   Pool Origin Data%  Move Log Copy%  Convert
  os_home     vg_storage rwi-a-r--   4.66g                             100.00       
  os_root     vg_storage rwi-a-r--   4.66g                             100.00 

今システムを起動できません。 BIOSは、2つのディスクのうち最初のディスクから起動しようとした直後に、次のエラーを受け取ります。グラブ構造のヒントを残しました。

error: disk 'lvmid/L1VIor-PKIM-mtCO-TUQ2-iWe2-ndnY-df2wOu/yCDXMZ-2q4X-jbJJ-qZhI-sHNL-hrjw-Q5bg6v' not found.
Entering rescue mode...
grub rescue>

まだロードされていないgrub2モジュールがあるようです。 lvm2のraid1機能をサポートすることです。このサポートはまだ grub2 には存在しません。

答え1

4年が過ぎた。

はい、lvconvert -m1 /dev/vg0/rootミラー化されたLVMボリューム()からの起動はDebian 9(stretch)で動作します。 GRUB lvm.modモジュールはミラーリングされたLVNボリュームをすぐに認識し、GRUBはミラーリングされ/boot/grub/grub.cfgたルートボ​​リューム上のボリュームを正常に読み取り、起動メニューを表示し、カーネルとinitrdをロードします。その後、停止してLVMルートをマウントできません。

device-mapper: table: 254:5: raid: Failed to run raid array
device-mapper: reload ioctl on (254:5) failed: Invalid argument

この問題は、/etc/initramfs-tools/modules次のモジュール(シーケンスの問題)を追加して実行することで解決されましたupdate-initramfs

xor
async_tx
raid6_pq
async_xor
async_pq
async_memcpy
async_raid6_recov
md_mod
raid1
raid456
dm_raid
dm_log
dm_region_hash
dm_mirror
lvm

(おそらくraid6_pq、async_raid6_recov、raid456は省略されるかもしれません - 今は確認できません)。

これで、ミラーLVMルートディレクトリを正常にマウントする必要があります。最後のステップは、両方の物理ディスクをブート可能にすることです。したがって、どちらか一方が故障しても、他のディスクはまだシステムを起動します。

pvdisplay -m | egrep 'PV Name|_rimage_'  # find out which physical disks root lv resides on
grub-install /dev/firstdisk
grub-install /dev/seconddisk

関連情報