web-dev-qa-db-ja.com

GRUB2はMD-raid上のLVMで/ bootをサポートしていますか?

Debian 9のGRUB2 lvmモジュールでサポートされている(およびサポートされていない)既知の機能は何ですか?例えば。現在のメタデータ形式「lvm2」をサポートしていますか?

GRUB lvmモジュールをロードした後でも、GRUBからLVM論理ボリュームにアクセスするために必要な追加のコマンドまたは構成はありますか?

GRUBはMD-raidをサポートしているようですが、LVMがMD-raidの上で実行されている場合はどうでしょうか。上記の質問に何らかの影響がありますか? grub2-mkconfigはMD + LVMで/bootをサポートする予定ですか?

環境

既存の1つのディスクからRAIDにファイルを移行する必要があるため、インストーラーを使用して設定していません。これはDebian Stretch用です。一般的な考え方は

  1. 新しいディスクの劣化したRAIDに既存のシステムをコピーする
  2. rAIDシステムを起動します
  3. 慎重に再確認してから、RAIDで古いディスクを飲み込んでください。

これが必ずしも賢明なアイデアであるとは限りません。

MD-raidでLVMから起動することを検討しています。必要がない場合は、/ bootを別のMD-raidパーティションとして使用する必要はありません。これは、Debianインストーラが https://wiki.debian.org/DebianInstaller/SoftwareRaidRoot で使用されていたもののように見えました

MD-raidの上にLVを作成し、それにルートファイルシステムをコピーしました。しかし RAID wiki で説明されている純粋なMD-raidセットアップとは異なり、grub-mkconfigは新しいLinuxインスタンスを検出しませんでした。

GRUB元のLinuxインスタンスのプロンプトを表示して、何ができるかを確認しました。part_gptmdraid1x、およびlvmモジュールをロードできます。lvm2モジュールはありません。これにより、デバイスが正常に検出されました私のGPTパーティションと、作成したMDデバイス(md/linux)の場合ですが、作成したLVMデバイスは見つかりませんでした。(lvm/vg_linux/lv_root)のように見えるはずです。

probeコマンドは、(hd1,gpt1)または(md/linux)では機能しません。 error: unknown filesystemとだけ書かれています。したがって、GRUBがすでにMD-raidにアクセスしている場合でも、LVMはもちろん、MD-raidを識別することはできません。

2
sourcejedi

Debian 9のGRUB2は、MD raid1(メタデータv1.2)の通常の(「線形」)LVM2ボリュームから確実に読み取ることができます。ただし、これはinsmod lvmbeforeinsmod mdraid1xを実行した場合にのみ機能するようです。

逆の順序でロードすると、GRUB lsコマンド(!))で表示されるデバイスの順序が変更されますが、LVMデバイスがリスト。

標準の自動構成

RAID wikiページで提案されているようにgrub-mkconfig(Debianのupdate-grubのバックエンド)に2番目のLinuxインスタンスを検出させるには、os-proberパッケージをインストールするだけで十分です。 (最初にブートローダーをインストールしたときにセカンドOSが表示されていた場合、特にWindowsインストールがあった場合、Debianインストーラーがこのパッケージを自動的にインストールしたはずです)。

興味深いことに、生成された構成はlvmaftermdraid1xをロードしました。ただし、mdraid1xの前にdiskfilterもロードしました。また、lvmid/...ではなく、非表示の(lvm/...)パスを使用しました。私たちの正気のために、後者の違いを無視し、初期のdiskfilterロードがおそらくこの設定を機能させるものであると想像してみてください:)。

これらの方法のどちらを学習することが期待されるかはわかりません:-/。

3
sourcejedi