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