LoginSignup
2
1

More than 3 years have passed since last update.

kdump サービス起動失敗の対処 "kexec_file_load failed: Required key not available"

Posted at

RHEL8へのインプレースアップグレードで、サービス起動エラー

RHEL7.8->8.2のleappを使ったインプレースアップグレードを実行した後、
サービスを確認したところ、以下2つのサービスが”Failed”。

  • Postgresql
  • kdump

PostgreSQLのエラー対処

PostgreSQLについては、OSアップグレードの中でバージョンアップしており、サービス起動時に(Postgreesの)アップグレードユーティリティを実行しようとして、インストールされていなかった事による起動失敗だったので、postgresql-upgradeをインストール、アップグレードして、サービス正常起動。

# yum install postgresql-upgrade
# postgresql-setup --upgrade

kdumpのエラー対処

kdumpについては以下のエラーでサービス起動失敗している

# systemctl status kdump
:
* kdump.service loaded failed failed Crash recovery kernel arming
* kdump.service - Crash recovery kernel arming
  Loaded: loaded (/usr/lib/systemd/system/kdump.service; enabled; vendor preset: enabled)
 Process: 25875 ExecStart=/usr/bin/kdumpctl start (code=exited, status=1/FAILURE)
localhost.localdomain dracut[27907]: *** Creating initramfs image file '/boot/initramfs-3.10.0-957.el7.x86_64kdump.img' done ***
localhost.localdomain kdumpctl[25875]: Secure Boot is enabled. Using kexec file based syscall.
localhost.localdomain kdumpctl[25875]: kexec_file_load failed: Required key not available
localhost.localdomain kdumpctl[25875]: kexec: failed to load kdump kernel
localhost.localdomain kdumpctl[25875]: Starting kdump: [FAILED]
localhost.localdomain systemd[1]: kdump.service: main process exited, code=exited, status=1/FAILURE
localhost.localdomain systemd[1]: Unit kdump.service entered failed state.
localhost.localdomain systemd[1]: kdump.service failed.

アップグレードでセキュアブートが有効となったが、UEFIの鍵データベースに必要なキーが存在しないことによる起動失敗と推測。

localhost.localdomain kdumpctl[25875]: kexec_file_load failed: Required key not available

RHEL7の現象についてだが、以下のKBのワークアラウンドを参考にしてみる。
kdump service fails with message "kexec_file_load failed: Required key not available"

  1. キーのインポート

    # mokutil --import /usr/share/doc/kernel-keys/<kernel-ver>/kernel-signing-ca.cer
    input password:
    input password again:
    

    パスワードを求められるので、適当なパスワードを決めて入力する

    参考: RHEL8 カーネルの管理、監視、および更新

  2. 再起動

    # reboot
    
  3. 直後、青い画面(Shim UEFI鍵管理コンソール)が表示されるので、キーボードでなんらかのキーを押す。
    shim_console.png
    Shim UEFI鍵管理コンソール

    ここでキーを時間内に押さないと通常のブートが始まってしまう。

  4. [Perform MOK management]画面で、[Enroll MOK]を選択。

  5. [Enroll the key(s)?]画面で[Yes]を選択してから、上記で設定したパスワードを入力。

  6. [The system must now be rebooted]画面で[OK]を選択後、再起動。

  7. OS起動後、サービスの状態確認

  8. # systemctl status kdump
    ● kdump.service - Crash recovery kernel arming
    Loaded: loaded (/usr/lib/systemd/system/kdump.service; enabled; vendor preset: enabled)
    Active: active (exited) since Thu 2020-08-20 14:03:57 JST; 22min ago
    Main PID: 2069 (code=exited, status=0/SUCCESS)
        Tasks: 0 (limit: 100065)
    Memory: 0B
    CGroup: /system.slice/kdump.service
    
    8月 20 14:03:55 athena01 systemd[1]: Starting Crash recovery kernel arming...
    8月 20 14:03:56 athena01 kdumpctl[2069]: Secure Boot is enabled. Using kexec file based syscall.
    8月 20 14:03:57 athena01 kdumpctl[2069]: kexec: loaded kdump kernel
    8月 20 14:03:57 athena01 kdumpctl[2069]: Starting kdump: [OK]
    8月 20 14:03:57 athena01 systemd[1]: Started Crash recovery kernel arming.
    

kdumpの起動確認。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1