2015-01-15 8 views
1

CentOS 7 서버가 커널 패닉 발생시/var/crash에 커널 덤프 파일을 생성하지 않는 문제가 있습니다. 크래시 커널이 부팅되지 않는 것으로 보입니다. 우리는 크래시 덤프 구성에 대한 Rhel 가이드 (http://red.ht/1sCztdv)를 따라 왔으며 언뜻보기에 모든 것이 올바르게 구성되어있는 것처럼 보입니다.CentOS 7이 크래시 커널을 부팅하지 못하고/var/crash에서 덤프를 생성하지 못합니다.

echo 1 > /proc/sys/kernel/sysrq 
echo c > /proc/sysrq-trigger 

이렇게하면 시스템이 멈추는 원인이됩니다. 콘솔에 아무런 메시지도 표시되지 않고 콘솔이 응답하지 않게됩니다. 이 시점에서 나는 시스템이 크래시 커널을 부팅하고/var/crash에 덤프를 작성하기 시작할 것이라고 상상합니다. 나는 전체 덤프를 완료 할 시간을주기 위해 최대 30 분 동안이 동결 상태에 두었습니다. 그러나 하드 콜드 재부팅 후/var/crash는 비어 있습니다.

또한 KVM 가상 시스템에서 구성을 복제하고 kdump 단어를 예상대로 사용했습니다. 따라서 실제 시스템에서의 구성이 잘못되었거나 덤프가 아닌 중단이 발생하는 하드웨어 구성에 이상한 점이 있습니다.

우리 서버는 24 코어 및 128GB 메모리를 갖춘 HP G9입니다. 다음은 몇 가지 다른 세부 사항은 다음과 같습니다

[[email protected]]$ cat /proc/cmdline 

BOOT_IMAGE=/vmlinuz-3.10.0-123.el7.x86_64 root=UUID=287798f7-fe7a-4172-a35a-6a78051af4d2 ro rd.lvm.lv=vg_sda/lv_root vconsole.font=latarcyrheb-sun16 rd.lvm.lv=vg_sda/lv_swap crashkernel=auto vconsole.keymap=us rhgb nosoftlockup intel_idle.max_cstate=0 mce=ignore_ce processor.max_cstate=0 idle=mwait isolcpus=2-11,14-23 

[[email protected]]$ systemctl is-active kdump 
active 

[[email protected]]$ cat /etc/kdump.conf 

path /var/crash 
core_collector makedumpfile -l --message-level 1 -d 31 -c 

[[email protected]]$ cat /proc/iomem |grep Crash 
2b000000-357fffff : Crash kernel 

[[email protected]]$ dmesg|grep Reserving 
[ 0.000000] Reserving 168MB of memory at 688MB for crashkernel (System RAM: 131037MB) 

우리가 안정적으로 충돌을 얻을 수 있었다 다음과 같은 매개 변수를 수정 한 후
[[email protected]]$ df -h 
Filesystem     Size Used Avail Use% Mounted on 
/dev/mapper/vg_sda-lv_root 133G 4.7G 128G 4%/
devtmpfs      63G  0 63G 0% /dev 
tmpfs      63G  0 63G 0% /dev/shm 
tmpfs      63G 9.1M 63G 1% /run 
tmpfs      63G  0 63G 0% /sys/fs/cgroup 
/dev/sda1     492M 175M 318M 36% /boot 
/dev/mapper/vg_sdb-lv_data 2.8T 145G 2.6T 6% /data 
+0

또한 콘솔이 비어있는 동안 깜박이고 다시 로그인 화면으로 돌아가는 것으로 나타났습니다. 그래서 크래시 커널을로드하려고 시도하는 것처럼 보이지만 알 수없는 이유로 실패합니다. – user3745855

답변

0

덤프 :

  1. 변경된 crashkernel가 = 자동 = 1G를 crashkernel하기 : 잘 모르겠어요 우리가 1G 필요한 이유를 수식 128M를 표시된 + 1TB의 RAM 당 64M.
  2. 은/etc/SYSCONFIG/kdump에 : KDUMP_COMMANDLINE_APPEND 제거 모든 excpet irqpoll nr_cpus = 1의 결과 : KDUMP_COMMANDLINE_APPEND = "irqpoll nr_cpus = 1
  3. /etc/kdump.cfg : 압축 추가 ("-c ")는
  4. 를 makedump 할 이 작품이지만. 다른 사람들이 어떻게 생각하는지 알고 싶어요 않는 이유

100 % 확실

에릭

0

에릭,

1G가 약간 큰 것 같습니다. 정상 서버의 경우 200M 이상은 본 적이 없습니다. sysconfig 설정에 대한 확신이 없습니다. 압축은 좋은 생각이지만, 목표가 총 메모리에 가깝고 커널 링 만 덤프하고 있기 때문에 문제에 영향을 미치지 않을 것이라고 생각합니다.

+0

닉, 전적으로 동의합니다. 그러나 1GB 미만의 금액을 입력하면 크래시 덤프가 발생하지 않습니다. 나는 이유를 모른다. – user3745855