LVM PEが新しいPVに移行され、LUKSデバイスの復号化後にLinuxの起動が停止する


1

すべてのLVエクステントを1つのPVから新しいPVに移行しました。新旧両方のPVはLUKS暗号化デバイスでした。 rootは移行されたLVの1つです。

移行後、ブートが新しいLUKS PVのロックを解除しようとさえしなかったので、これはうまくいきませんでした。それはもう存在しない古いLUKSのパスワードを要求していました、それらのドライブはすでに再割り当てされ上書きされました。

しかし、カーネルパラメータrd.auto = 1を使用し、古いPVのUUIDを指定する古いカーネルパラメータを削除すると、Linuxを起動して正しいパスワードを要求することができます。それでも、まだうまくいきません。

パスワードを教えて

dracut-initqueue /usr/bin/crypt-run-generator: line 14: cryptsetup: command not found Unnecessary job for dev-mapper-luks-<UUID of new PV LUKS> was removed

それで、それは自動的に新しいLUKSパーティションを見つけ、そして私にそれをアンロックさせましょう、しかしそれはそれでそれで使用可能なファイルシステムを見つけることをあきらめた後にすべてです。それはなぜでしょうか。

この時点で、ブートプロセスは必要なジョブが完了するまで無期限に待機します。私は彼らの名前をすべて忘れていますが、1つはcryptsetup.targetで、1つはrootをマウントしていたと思います。だから、それは理にかなっています。

しかし、これが機能するようにgrubとdracutを設定する方法はわかりません。 initrdが古いPV上でLVMを起動することだけを指示する設定を持っているようです。ライブイメージを起動すると、すべてのLVがそこにあり、データは素晴らしく見えます。

これを修正するために必要なgrub2(efiモード)設定とdracut設定は何ですか?

編集 投稿してから、いろいろ試しました。私は正しいと思うケレルパラムを見つけましたが、それらは何の違いもないようです。私は強制的にcryptsetupと新しい、修正された/ etc / crypttabを追加したdracutで新しいinitrdイメージを作成しました。それは助けになったようで、すべてのエラーがなくなりました...しかしそれでも起動しません!私が試した最新のオプションとinitrdを使って、ブートプロセスは ではない パスフレーズを要求してください。それは「パスワード要求のためにプリマスに送る」と言っています、しかしそれはただ失速します。

今、私が試したカーネルオプションの1つはrd.shellでした。これはタイムアウト後に私にドラキュートシェルを与え、ルートを見つけることができませんでした。 dracutシェルから--assemble --scanを使ってmdadm RAID PVを起動することができます。luks自分のパスフレーズを使って開き、すべてのLVが正しく表示されます。だから私はまだそれが欲しいものを理解していません。


頭が変な牛暗号化される前のデータ、または事前に少しずつボリューム全体のバックアップを取ることができましたか。あなたに個人的に役立つ答えを確信していないがあなたがこれを引き起こした操作を実行する前に取ったデータのバックアップがあるかどうか私達に知らせなさい。
Pimp Juice IT

なぜそれが重要なのかよくわかりませんが、そうです、私はしました。ただし、データを失うことがなかったため、バックアップは役に立ちません。システム全体、すべてのファイルシステムは問題ありません。ライブイメージから起動すると、すべてが見えます。システム自体は起動できません。私はそれが以前どのように機能したのか理解していないし、今はしません。
Porcelain Mouse

回答:


0

私が望んだように、Linuxブートを設定するための「標準的な」アプローチが適用されます、しかし私が最後にそれを使わなければならなかったので多くが変わったので、それを再学習するのに長い時間がかかりました。

  • ブートライブイメージ
  • MDの組み立て、LUKSのロック解除、LVMチェックなど
  • chroot jailでターゲットシステムを構築
    • mount / newroot ../boot ../boot/efiおよび../var、少なくとも
    • mount -t sysfs sysfs / newroot / sys
    • mount -t proc none / newroot / proc
    • mount -t bind / dev / newroot / dev
    • mount -t bind / run / rnewroot / run
  • chroot / newroot
  • 刑務所の中から、必要に応じてものを修正する(/ etc / fstab / etc / crypttab /etc/mdadm.conf / etc / lvm /など)
  • そして、grub2を修正してください。 CMDLINE 新しいカーネルパラメータを持つenv var
    • Fedora / RHEL / CenOS上のdracut --print-cmdlineは最小限のパラメータを出力します。 これはすごく参考になります あなたのディストリビューションが何を必要としているのかを知り、最新のカーネルオプションについていくのは難しいからです。 また、 luks / mdデバイスのUUIDを追跡する手間を省きます。
    • Ubuntuのため?
    • アーチのために?
  • 新しいgrub2設定を構築する
    • grub2-mkconfig [-o]
  • 必要に応じてgrub2をインストールしてください。
    • BIOS grub2-install用
    • EFIの場合、ディストリビューション依存
    • Fedora用にgrub-efi grub-efi-modules shimを再インストールしますか?
    • Ubuntu?
    • アーチ?
  • intird / initramfsブートイメージの再生成
    • Fedoraのドラキュット
    • Ubuntu?
    • アーチ?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.