現象:
在VMware中安裝圖形界面,重啓系統發現kdump服務啓動失敗
原因:
先來說一下,什麼是kdump
kdump 是一種先進的基於 kexec 的內核崩潰轉儲機制。當系統崩潰時,kdump 使用 kexec 啓動
到第二個內核。第二個內核通常叫做捕獲內核,以很小內存啓動以捕獲轉儲鏡像。第一個內核保
留了內存的一部分給第二內核啓動用。由於 kdump 利用 kexec 啓動捕獲內核,繞過了 BIOS,所
以第一個內核的內存得以保留。這是內核崩潰轉儲的本質。
啓動失敗的原因
查看 /etc/grub.conf文件
發現crashkernel=auto,
系統對crashkernel=auto的定義爲:
如果系統的內存 <= 8 GB 對kdump kernel不會保留任何內容;也就是說,crashkernel=auto 等
於關掉了機器上的kdump功能;
如果系統的內存> 8 GB 但是<= 16 GB,crashkernel=auto會保留256M,等同於crashkernel=256M;
如果系統內存> 16GB, crashkernel=auto會保留512M, 等同於crashkernel=512M
安裝虛擬機時,給虛擬機設置的內存爲1G,所以說系統關掉了kdump。
找到了原因,重新給crashkernel設置參數即可:
在 kdump 的配置中,往往困惑於 crashkernel 的設置。“crashkernel=X@Y”,X 應該多大? Y
又應該設在哪裏呢?實際我們 可以完全省略“@Y”這一部分,這樣,kernel 會爲我們自動選擇
一個起始地址。而對於 X 的大小,般對 i386/x86_64 的系統, 設爲 128M 即可;對於 powerpc
的系統,則要設爲 256M。
解決方法:
# vim /etc/grub.conf
將crashkernel=auto 改爲crashkernel=128M 後保存,
重新啓動系統,kdump服務啓動成功。