kernel_crash_dump

Kernel Crash Dump

Kdump 는 나중에 분석 할 수 있도록 시스템 메모리의 내용을 저장할 수있는 커널 충돌 덤프 메커니즘입니다. 다른 커널의 컨텍스트에서 Linux 커널을 부팅하고 BIOS를 우회하고 손실 된 첫 번째 커널 메모리의 내용을 보존하는 데 사용할 수있는 kexec에 의존합니다.

시스템 충돌의 경우 kdumpkexec를 사용하여 두 번째 커널 (캡쳐 커널) 로 부팅 합니다. 이 두 번째 커널은 첫 번째 커널에 액세스 할 수없는 시스템 메모리의 예약 된 부분에 있습니다. 그런 다음 두 번째 커널은 충돌 한 커널 메모리의 내용 (충돌 덤프) 을 캡처하여 저장합니다.

RHEL 7 이후 버전은 설치 시 기본적으로 활성화 되어있습니다.

# yum install kexec-tools

추가적으로 GUI환경에서 사용하려면 아래 패키지를 설치하도록 한다.

# yum install system-config-kdump

kdump 커널 용으로 예약 된 메모리는 항상 시스템 부팅 중에 예약되므로 메모리 양은 시스템의 부트 로더 구성에 지정됩니다.

kdump 커널 용으로 예약 된 메모리를 지정하려면 crashkernel=옵션을 필요한 값으로 설정하십시오 . 예를 들어 128MB의 메모리를 예약하려면 다음을 사용하십시오.

crashkernel = 128M

RHEL7 이후 버전은 auto설정으로 기본 설정되어있습니다.

아래 방법으로 kdump 동작을 테스트 해볼 수 있다.

아래 명령어를 내리게 되면 커널 크래시가 발생하면서 리부팅 되므로 사용에 주의하도록 한다.

# systemctl is-active kdump
active

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

크래시가 발생하면 기본적으로 /var/crash 디렉토리에 크래시 덤프가 저장된다.
디스크 용량이 부족하면 생성되지 않으므로 주의하도록 한다.

시스템 충돌의 원인을 판별하기 위해 충돌 디버거를 사용하면 GNU 디버거 (GDB)와 매우 유사한 대화식 프롬프트를 제공 할 수 있습니다. 이 유틸리티를 사용하면 대화 형으로 실행중인 리눅스 시스템뿐만 아니라에 의해 생성 된 코어 덤프 분석 할 수 있습니다. netdump, diskdump, xendump, 또는 kdump.

yum install crash

crash 외에도 덤프 분석에 필요한 데이터를 제공하는 실행중인 커널에 해당하는 kernel-debuginfo 패키지 를 설치해야합니다 .
아래 명령어를 사용하면 필요한 패키지를 설치합니다.

# debuginfo-install kernel
crash /usr/lib/debug/lib/modules/<kernel>/vmlinux \ /var/crash/<timestamp>/vmcore
  • ps 시스템이 crash 됐을때 process list 정보
  • files 시스템이 crash 됐을때 열려진 파일 정보들
  • sys 시스템이 crash 됐을때 system 정보
  • help 도움말
로그인하면 댓글을 남길 수 있습니다.
  • kernel_crash_dump.txt
  • 마지막으로 수정됨: 2020/05/27 07:53
  • 저자 koov