rhel 8.8を実行していると、突然システムが正常に再起動しなくなります。コンソールにメッセージが表示されます。
a stop job is running for /dev/mapper/name (xxxs / no limit)
このデバイスは、非ルート ディスクとしてマウントされた luks コンテナです。ディスクは、nbde clevis + tang を使用して自動的に復号化されます。これは完璧に動作します。再起動すると、サーバーは上記のメッセージでハングします。
fstab と crypttab にオプション x-systemd.mount-timeout=90s を追加してみましたが、デバイスは起動時に正しくマップされますが、数回の再起動とそれに続くリセットの後でもタイムアウト制限はありません。
デバイスは、kvm vms のデータストアです。vms を手動でシャットダウンし、デバイスがマウントされている場所で systemd-umount /var/lib/libvirt/images を実行すると、その後の再起動は完全に正常に機能します。
これをトラブルシューティングする方法をご存知ですか? このジョブに制限を追加するにはどうすればいいですか?
答え1
Red Hat からの公式回答を待っている間に、動作する状況を見つけました:
systemctl edit reboot.target
希望するタイムアウトに合わせて JobTimeoutSec=30min を変更します。systemd をリロードして再起動します。これで今のところこの問題は解決します。
このバグはすでに知られていたことが判明しました:バグ報告修正方法は、systemd をダウングレードすることです (bugzilla のバージョン)。実際の解決策は、Red Hat からの修正を待つことです。そのため、その間、この問題に遭遇した場合は、再起動ターゲットをオーバーライドするか、Red Hat によって修正されるまで systemd をダウングレードしてください。