CentOS7配置kdump


CentOS7配置kdump

 

 

1.kdump簡介

  • kexec是一個快速啟動機制,允許通過已經運行的內核的上下文啟動一個Linux內核,不需要經過BIOS。BIOS可能會消耗很多時間,特別是帶有眾多數量的外設的大型服務器。這種辦法可以為經常啟動機器的開發者節省很多時間。

  • kdump是一個新的,而且非常可信賴的內核崩潰轉儲機制。崩潰轉儲數據可以從一個新啟動的內核的上下文中獲取,而不是從已經崩潰的內核的上下文。當系統崩潰時,kdump使用kexec啟動到第二個內核。第二個內核通常叫做捕獲內核(capture kernel),以很小內存啟動,並且捕獲轉儲鏡像。

  • 第一個內核保留了內存的一部分,第二個內核可以用來啟動。注意,在啟動時,kdump保留了一定數量的重要的內存,這改變了紅帽企業Linux 5最小內存需求。為了計算系統需要的真正最小內存,可以參看 http://www.RedHat.com/rhel/details/limits/ 上列出的最小內存需求,加上kdump使用的內存數量,以決定真正的最小內存的需求。

  • 因為第一個內核的內存內容已經被保留,所以kexec可以不經過BIOS,啟動捕獲內核。這是內核崩潰轉儲的根本。

2.配置kdump

  • (1)安裝kexec-tools:使用kdump服務,必須要用到kexec-tools工具包。
sudo yum update
sudo yum install kexec-tools   安裝完成之后可以通過kexec -version查看kexec的版本。 
  • 1
  • 2
  • 3
  • 4
  • (2)配置kdump kernel,也可以不配置
1.修改grub文件 vim /etc/default/grub 需要將GRUB_CMDLINE_LINUX="crashkernel=auto..."中的auto修改為128M。一般設為128M或256M。 2.更新grub配置  只要更改了grub文件,都需要更改grub配置。  sudo grub2-mkconfig -o /boot/grub2/grub.cfg  3.重啟系統 reboot 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • (3)修改kdump默認配置,也可以不配置
vim /etc/kdump.conf 其中,需要注意的三行內容是 path /var/crash #指定coredump文件放在/var/crash文件夾中 core_collector makedumpfile -c -l -message-level 1 -d 31 #加上-c表示壓縮,原文件中沒有 default reboot #生成coredump后,重啟系統 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • (4)開啟kdump服務
systemctl start kdump.service //啟動kdump systemctl enable kdump.service //設置開機啟動 檢查kdump開啟成功 service kdump status 
  • 1
  • 2
  • 3
  • 4
  • 5

如下所示,表示開啟成功
在這里插入圖片描述

  • (5)手動觸發crash
#echo 1 > /proc/sys/kernel/sysrq #echo c > /proc/sysrq-trigger 
  • 1
  • 2

如果配置成功,系統將自動重啟,重新進入系統,可以看到/var/crash文件夾下生成了相應文件,是一個以生成coredump日期為文件名的文件,如圖所示:
在這里插入圖片描述
打開dmesg文件可以看到內核轉儲內容於你觸發crash的內容是對的上的

[1212551.621023] __handle_sysrq.cold.9+0x45/0xec [1212551.621491] write_sysrq_trigger+0x2b/0x30 [1212551.621959] proc_reg_write+0x3c/0x60 [1212551.622426] vfs_write+0xa5/0x1a0 [1212551.622889] ksys_write+0x4f/0xb0 [1212551.623369] do_syscall_64+0x5b/0x1b0 [1212551.623835] entry_SYSCALL_64_after_hwframe+0x65/0xca
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM