すべての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が正しく表示されます。だから私はまだそれが欲しいものを理解していません。