kdump

kdump 의 설정 유무와 상태를 확인하고 정상적으로 동작하는지 확인

목적

Window Desktop 경우는 재부팅하거나 포맷하면 되지만, Linux 서버 경우는 장애가 발생했을 때 재부팅을 하는 것도 리스크가 있다. 장애가 발생했을 때 그 원인을 찾아내서 같은 장애가 나타나지 않도록 하기 위해 사용되고 있다. 그 원인을 찾을 수 있는 실마리를 제공하는 것이 vmcore라는 코어 파일이며, 코어파일을 생성하는 것이 kdump이다.[1]

기능과 옵션

<sysrq-trigger에 대한 이벤트[2]>

  • m - 메모리 할당에 대한 정보를 덤프

  • t - thread 상태 정보를 덤프

  • p - 현재 CPU의 registers와 flags를 덤프

  • c - 의도적으로 system을 crash시킴

  • s - 모든 mount된 file system을 즉시로 동기화

  • u - 즉시 모든 mount된 file system을 read-only모드로 remount.

  • b - 즉시 system을 재기동

  • o - 즉시 power off (설치한 상태에서 가능)

  • f - Out Of Memory Killer를 기동(OOM)

  • w - 무정전(차단) 상태의 작업을 덤프

설치 및 실행 방법

1. kexec-tools 설치 여부 확인 # rpm -qa | grep kexec-tools

1-1. kexec-tools 파일이 없을 경우, 아래 패키지 설치 # yum install kexec-tools system-config-kdump

2. vi 에디터로 "crashkernel=128M" 항목추가 # vi /etc/grub.conf

3. kdump.conf 파일에 아래의 내용 추가 # vi /etc/kdump.conf

4. 서비스 활성화 및 재부팅 # chkconfig kdump on # shutdown -r now

5. kdump 상태확인 # service kdump status

6. kdump 테스트진행 (명령어 실행 시 강제 재부팅 되므로 주의) # echo 'c' > /proc/sysrq-trigger

Reference

[1] Linux kdump에 대한 이해 - 오픈소스컨설팅 팀블로그(2014.11.13)

[2] https://3sikkim.tistory.com/6

Last updated