Linux Tech

높은 확율로 kdump 생성되게 하기

로빈09 2021. 12. 7. 13:15

kdump  panic 발생 시, rebooting이 되며 vmcore를 수집합니다.

 

vmcore를 수집하기 위해서는 아래의 3가지 조건이 맞아야 합니다.

 

* 충분한 /var/crash 용량 확보 되어야 함.

* crashkernel memory 예약 ( 256M 이상 )

* kdump service 동작

 

1. kdump 활성화

 

### RHEL7 kdump 활성화

path: /etc/default/grub

crashkernel=256M <== 256M 이상으로 할당

 

legacy

# grub2-mkconfig -o /boot/grub/grub.cfg

 

uefi

# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg

 

# systemctl status  kudmp  <== 서비스 running 여부 확인

 

# reboot

 

2. kdump 테스트 

# kdump 테스트

 

# echo c > /proc/sysrq-trigger     <== 재부팅 후 아래의 경로에 vmcore 생성 여부 확인

path : /var/crash/                       <== 해당 공간에 물리적 메모리의 최대 110% 공간 확보 필요

 

 

3. 그 외 kudmp 관련 커널 파라미터 

 

kernel.sysrq = 1

 

매직키를 활성화

매직키를 통해 강제 재부팅, system crash 유발 등의 명령 전달이 가능해집니다.

행 발생 시 : “ALT + Print Screen + c” 버튼을 조합하여 의도적인 Crash 유발

 

kernel.hung_task_panic = 1

 

hung_task 감지 시, panic을 발생

hung_task은 특정 프로세스가 “D” 상태에 머물러 있는 시간이 hung_task_timeout_secs(default : 120) 초과 시에 발생합니다.

0 : 비활성화, 1 : 활성화

 

kernel.panic_on_oops = 1

 

kernel oops 감지 시, panic을 발생

0 : 비활성화, 1 : 활성화

 

kernel.panic_on_io_nmi = 1

 

I/O error에 의해 발생하는 NMI CPU가 받는 즉시 panic을 발생

0 : 비활성화, 1 : 활성화

 

kernel.panic_on_unrecovered_nmi = 1

 

복구 불가능한 parity 또는 ECC 메모리 오류를 나타내는 NMI가 감지된 경우, panic을 발생

0 : 비활성화, 1 : 활성화

 

kernel.panic_on_stackoverflow = 1

 

user stack을 제외한 exception stack, kernel stack, IRQ stack overflow를 감지할 때 panic을 발생시킨다.

(Controls the kernel's behavior when detecting the overflows of kernel, IRQ and exception stacks except a user stack)

 

0 : 비활성화, 1 : 활성화

 

 

kernel.softlockup_panic = 1

 

softlockup 감지 시, panic을 발생

softlockup은 특정 프로세스가 허용된 시간보다 오랫동안 CPU를 사용하고 해제하지 않는 작업 또는 커널 스레드의 증상입니다.

0 : 비활성화, 1 : 활성화

 

kernel.unknown_nmi_panic = 1

 

서버의 NMI button을 트리거하여 panic을 발생

0 : 비활성화, 1 : 활성화

'Linux Tech ' 카테고리의 다른 글

Ubuntu Ntp Server Setting  (0) 2021.12.09
Slave DNS 구축  (0) 2021.12.09
Network Time_wait 스크립트  (0) 2021.12.07
dmseg를 사용하여 Linux 시스템의 커널 메시지 버퍼 확인  (0) 2021.12.07
Linux History 시간=time 찍기  (0) 2021.12.06