よろづやアンテナ

ITから生活の参考になる情報を備忘録代わりに残していきます

Linux7を1GBメモリで作成したらkdumpサービスの起動に失敗する

パソコンのスペックが低い場合に、VMware Player等を利用すると、とても仮想サーバーが起動できないくらい重くなることがあります。


幸い、自宅で使っているパソコンはメモリが8GBほどあるので、仮想サーバーを一台くらい起動させても、それほど重さを感じませんが、会社のパソコンが4GB以下だと、さすがに業務に影響がでるくらい重くなることがあります。


よくシステム構築をしている場合は、操作端末にVMware Playerを入れて検証することがあるのではないでしょうか。


そして、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


設定反映には、サーバの再起動が必要です。