linux6下kdump的配置
linux6下kdump的配置
背景知識(shí):
?kexec是一個(gè)快速啟動(dòng)機(jī)制,允許通過(guò)已經(jīng)運(yùn)行的內(nèi)核的上下文啟動(dòng)一個(gè)Linux內(nèi)核,不需要經(jīng)過(guò)BIOS。BIOS可能會(huì)消耗很多時(shí)間,特別是帶有眾多數(shù)量的外設(shè)的大型服務(wù)器。這種辦法可以為經(jīng)常啟動(dòng)機(jī)器的開(kāi)發(fā)者節(jié)省很多時(shí)間。
????kdump?是一個(gè)新的,而且非常可信賴的內(nèi)核崩潰轉(zhuǎn)儲(chǔ)機(jī)制。崩潰轉(zhuǎn)儲(chǔ)數(shù)據(jù)可以從一個(gè)新啟動(dòng)的內(nèi)核的上下文中獲取,而不是從已經(jīng)崩潰的內(nèi)核的上下文。當(dāng)系統(tǒng)崩潰 時(shí),kdump使用kexec啟動(dòng)到第二個(gè)內(nèi)核。第二個(gè)內(nèi)核通常叫做捕獲內(nèi)核(capture kernel),以很小內(nèi)存啟動(dòng),并且捕獲轉(zhuǎn)儲(chǔ)鏡像。
????第一個(gè)內(nèi)核保留了內(nèi)存的一部分,第二個(gè)內(nèi)核可以用來(lái)啟動(dòng)。注意,在啟動(dòng)時(shí),kdump保留了一定數(shù)量的重要的內(nèi)存,這改變了紅帽企業(yè)Linux 5最小內(nèi)存需求。
常見(jiàn)問(wèn)題:
(1)如果服務(wù)器經(jīng)常死機(jī)(coredump),但是由苦于沒(méi)有輸出信息可以分析,可以嘗試一下Linux自帶的kdump。kdump會(huì)在系統(tǒng)內(nèi)核崩潰時(shí),啟動(dòng)第二個(gè)內(nèi)核來(lái)記錄當(dāng)前內(nèi)存信息。
(2)kdump經(jīng)常是在系統(tǒng)安裝過(guò)程中進(jìn)行設(shè)置的,但如果是操作系統(tǒng)安裝完成后,kdump的值需要更改。這種情況重裝操作系統(tǒng)是很浪費(fèi)時(shí)間的。
解決方法:
方法一:
安裝kexec-tools
通過(guò)命令rpm -q kexec-tools查看該工具是否安裝,沒(méi)有則安裝(yum install kexec-tools*)
配置kdump使用的內(nèi)存大小
編輯grub.conf文件,在kernel一行最后加上crashkernel=128M@16M,如:
title Red Hat Enterprise Linux Server (2.6.18-128.el5)
?root (hd0,2)
?kernel /vmlinuz-2.6.18-128.el5 ro root=/dev/lvg/lvsysroot rhgb quiet?crashkernel=128M@16M
?initrd /initrd-2.6.18-128.el5.img
修改之后,重啟系統(tǒng)。128M內(nèi)存(從16M開(kāi)始)不被正常的系統(tǒng)使用,為捕獲內(nèi)核保留。注意,free -m的輸出會(huì)顯示內(nèi)存比不加參數(shù)時(shí)少了128M,這就是我們所期望的。
說(shuō)明:可以使用小于128M,但是只使用64M做測(cè)試被證實(shí)是不可靠的。(我設(shè)置的是128M)
指定vmcore將被轉(zhuǎn)儲(chǔ)的路徑
配置/etc/kdump.conf文件,指定vmcore將被轉(zhuǎn)儲(chǔ)的路徑。可以通過(guò)scp拷貝到另一個(gè)服務(wù)器,也可以是裸設(shè)備,或者本地的文件系統(tǒng)。如下圖帶顏色所示,即為轉(zhuǎn)儲(chǔ)路徑:
配置和啟動(dòng)服務(wù)
# chkconfig kdump on
# service kdump start
說(shuō)明: 這個(gè)時(shí)候啟動(dòng)肯定會(huì)失敗的,因?yàn)閮?nèi)存已經(jīng)被使用完。重啟服務(wù)器(reboot)即可,core文件默認(rèn)記錄在/var/crash目錄中。
測(cè)試
輸入echo "c">/proc/sysrq-trigger,界面會(huì)出現(xiàn)一些信息,類似下面一樣:
過(guò)一會(huì)系統(tǒng)就會(huì)自動(dòng)重啟,這個(gè)時(shí)候就說(shuō)明你的kdump已經(jīng)配置成功了,重啟之后/var/crash目錄下就可以看到有一個(gè)文件夾,文件夾的名字是日期,里面就是你需要的core文件。
方法二:
通過(guò)命令system-config-kdump來(lái)配置(如果沒(méi)有該命令,可能是相應(yīng)工具沒(méi)有安裝)。?kdump也支持傳輸?shù)搅硪粋€(gè)服務(wù)器,也可以存儲(chǔ)到裸設(shè)備。
安裝system-config-kdump命令:
?yum install setuptool
?yum install -y system-config-kdump.noarch
更多信息,請(qǐng)?jiān)L問(wèn)這里:http://www.dedoimedo.com/computers/kdump.html
或者是這樣的:
說(shuō)明:在界面中先點(diǎn)擊reload按鈕,然后再點(diǎn)擊“apply”讓配置生效,重啟系統(tǒng)。
? ? ?本文轉(zhuǎn)自品鑒初心51CTO博客,原文鏈接:http://blog.51cto.com/wutengfei/1960299,如需轉(zhuǎn)載請(qǐng)自行聯(lián)系原作者
總結(jié)
以上是生活随笔為你收集整理的linux6下kdump的配置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: linux安装知识
- 下一篇: Linux字符模式下的“远程桌面共享”及