CentOS7 kdump.confの設定を変更するとサービス起動失敗、サーバの再起動が必要

クラウドサービスなどで、あまりお金をかけたくない場合は、低いスペックの仮想サーバを立てることがあるかもしれません。


他にも、低スペックの物理マシンしかない場合で、かんたんな動作検証をしたい場合に、システム構築をしている場合は、操作端末にVMware Playerを入れて検証することがあるのではないでしょうか。


そして、以前、CentOS、RedHatLinux7の推奨メモリサイズが2GBなので、敢えて1GBに落としてサーバを作成したんですが、Kdumpが起動失敗する事象が発生しました。


これは、Linux7だけではなく、CentOS7でも同様の事象が発生するのですが、これらのOSでは、kdumpをデフォルトで起動するようになっていますが、 Kdumpサービスに割り当てられるメモリはCentOS7ではディストリビューションの デフォルトで自動的に決定される設定(auto)になっています。

 


その場合、以下のようなエラーが出力されることがあり、さらにkdumpサービスが起動しません。

localhost kdumpctl: No memory reserved for crash kernel.
localhost kdumpctl: Starting kdump: [FAILED]
localhost systemd: kdump.service: main process exited, code=exit ed, status=1/FAILURE
ocalhost systemd: Failed to start Crash recovery kernel arming.
localhost systemd: Unit kdump.service entered failed state.

どうしても少ないメモリサイズで仮想サーバを動作させたい、さらに、kdumpサービスを起動させたい場合は、設定で利用するメモリサイズを小さくします。


設定方法は、公式サイトより。

2.2. コマンドライン上での KDUMP の設定

https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/kernel_crash_dump_guide/sect-kdump-config-cli 

 

①rootでvim や Gedit などのプレーンテキストエディターを使って/etc/default/grub 設定ファイルを開きます。

②以下のコマンドでgrubの設定を変更します。
# vi /etc/default/grub

GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet"

GRUB_CMDLINE_LINUX="crashkernel=256M rhgb quiet"

③設定変更後、以下のコマンドで設定を反映させます。
#grub2-mkconfig -o /boot/grub2/grub.cfg


また、この作業で知ったことがあるんですが、kdump.confの設定変更を行った場合、サーバの再起動が必要になります。サービスの再起動だけでよいと思っていましたが、そもそもサービスの起動に失敗します。


特に運用中のサーバの場合、サーバを再起動することが難しいケースもあると思いますので、その設定がサーバの再起動が必要かどうかは、重要になりますので、事前にチェックをしておいたほうがいいですね。kdumpの設定反映には、サーバの再起動が必要なので、注意してください。


さらに、設定変更してしまった場合は、サービスが起動しなくなりますので。