1. 程式人生 > >linux kdump原理以及配置

linux kdump原理以及配置

通過 空間 4.0 config 內核啟動 完成 linux內核 捕獲 以及

相關的原理
kexec是一個快速啟動機制,允許通過已運行的內核的上下文啟動一個linux內核,不需要經過BIOS。實現kdump機制的關鍵,包括二個組成部分:一是內核空間的系統調用kexec_load,負責在生產內核啟動時將捕獲內核加載到指定的地址。二是用戶空間的工具kexec-tools,將捕獲內核的地址傳遞給生產內核,從而在系統崩潰的時候能夠找到捕獲內核的地址並運行。
kdump是一種先進的基於kexec的內核崩潰轉儲機制。當系統崩潰時,kdump使用kexec啟動到第二個內核。第二個內核通常叫捕獲內核,以很少內存啟動以捕獲轉儲鏡像。第一個內核保留了內存的一部分給第二個內核啟動用。由於kdump利用kexec啟動捕獲內核,繞過了BIOS,所以第一個內核的內存得以保留,這是內核崩潰轉儲的本質。

需要安裝的軟件
kdump-tools
kexec-tools
makedumpfile

以ubuntu系統為例
查看kdump服務狀態
service kdump-tools status

查看kdump狀態
kdump-config show

修改grub.cfg文件
BOOT_IMAGE=/boot/vmlinuz-4.14.0-generic root=UUID=70764d69-1d67-4f16-a6cc-fe54ab4510a5 ro crashkernel=512M quiet
配置完成後,重啟主機生效。
註意:crashkernel=512M 設置大小跟服務器型號相關

linux kdump原理以及配置