본문 바로가기

[RHEL x] kdump 활성화 및 crash 테스트

2018. 4. 24.

1. kexec-tools 패키지확인및설치
#rpm -qa|grep kexec-tools
패키지가설치되어있다면"2번" 항목으로이동
설치되어있지않으면아래의패키지설치
#yum install kexec-tools system-config-kdump

2. Boot Parameters 추가
/etc/grub.conf 파일의"kernel"  라인의마지막에" crashkernel=128M " 항목추가
*) "crashkernel" 항목은시스템의물리적메모리사이즈에따라서달라질수있음.
관련참고: https://access.redhat.com/site/solutions/59432

3. kdump.conf 수정
/etc/kdump.conf 파일에아래의내용추가
path /var/crash
core_collector makedumpfile -c --message-level 1 -d 31

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

*) 재부팅을하는이유는위의/etc/grub.conf 의crashkernel 파라미터를활성화하기위함.

5. kdump 상태확인
#service kdump status
Kdump is operational < == 구동중

#service kdump status
Kdump is not operational < == 구동중이지않음

6. kdump 테스트진행
#echo 'c' > /proc/sysrq-trigger

*) sysrq-trigger 에대한이벤트
• m - 메모리 할당에 대한 정보를 덤프
• t - thread 상태 정보를 덤프
• p - 현재 CPU의 registers와 flags를 덤프
• c - 의도적으로 system을 crash시킴(diskdump거나 netdump를 사용할시 유용)
• s - 모든 mount된 file system을 즉시로 동기화
• u - 즉시로 모든 mount된 file system을 read-only모드로 remount.
• b - 즉시로 system을 재기동
• o - 즉시로 power off (설치한 상태에서 가능) 
• f - Out Of Memory Killer를 기동(OOM)
• w - 무정전(차단) 상태의 작업을 덤프 [Introduced with kernel 2.6.32]
*) 정상적으로실행이되면kdump 가작동을하며vmcore 파일생성을완료하고rebooting 하게됨.
vmcore 를확인하기위해서는" <filesystem>/var/crash/*<date>*/ " 에서확인가능함.
ex)
# tree /var/crash/
/var/crash/
|-- 2012-08-03-13:57
| `-- vmcore
`-- lost+found

※ kdump 설정관련참고자료
How can I use the SysRq facility to collect information from a server which has hung?
https://access.redhat.com/site/ko/solutions/86863 (한글)
https://access.redhat.com/site/node/2023 (영문)
Troubleshooting kernel crashes, system hangs, or system reboots with kdump
https://access.redhat.com/site/solutions/6038 (영문)

'Infra' 카테고리의 다른 글

vi 편집기 단축키  (0) 2018.06.07
리눅스 명령어  (0) 2018.05.23
[명령어] df 와 du 의 용량이 다른 이유  (1) 2018.04.24
[RHEL] LVM 명령어  (0) 2018.04.24
[RHEL7] 데몬 정리  (0) 2018.04.23
댓글