일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 황리단길디저트
- 편의점 신제품
- 푸라닭
- 편의점 추천
- 오뚜기 라면
- 편스토랑
- 서현 맛집
- BBQ 신메뉴
- CU편의점
- 분당맛집
- 마켓컬리 추천
- 순천디저트
- 용인맛집
- 교촌치킨 신메뉴
- 동성로맛집
- 황리단길기념품
- 수원 맛집
- 순천맛집
- 대구동성로맛집
- 서현역중식
- 분당 맛집
- 황리단길맛집
- 경주맛집
- CU편의점 추천
- CU 편의점 추천
- 수지 술집
- 냉동만두 추천
- cu 편의점
- 치킨 신메뉴
- 서현역맛집
- Today
- Total
일상 메모장
CentOS7 kdump 기능 켜기 본문
안녕하세요.
오늘은 CentOS7 (RHEL7)에서 Kdump 기능 켜는 법에 대해 포스팅하겠습니다.
Kdump는 Kernel 이 crash 발생했을 때, crash dump 정보를 캡처하는 데 사용하는 kernel의 기능입니다.
Kernel이 실행 중에 crash가 발생하게 되면 'kexec'가 실행되고 예약된 메모리에서 kdump 커널을 로드한 후
RAM 및 스왑 내용이 로컬 디스크의 vmcore파일에 복사되고 재부팅되게 됩니다.
Crash 덤프를 분석하여 시스템 오류의 근본 원인을 찾을 수 있습니다.
kexec-tools 설치하기
아래 커맨드를 사용하여 kexec-tools를 설치합니다.
sudo yum install kexec-tools
GRUB2 파일 수정 및 kdump kernel 메모리 예약
/etc/default/grub 파일에 'crashkernel=<RAM 예약 사이즈>'를 GRUB_CMDLINE_LINUX 값에 아래와 같이 추가합니다.
아래와 같이 다른 값은 수정하지 말고 crashkernel=128M 만 추가합니다.
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/swap vconsole.font=latarcyrheb-sun16 rd.lvm.lv=centos/root crashkernel=128M vconsole.keymap=us rhgb quiet"
GRUB2 설정 리로드
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
재부팅
위 설정을 모드 마친 후 재부팅합니다.
sudo shutdown -r now
dump 파일 설정
Crash 덤프 또는 vmcore 파일을 저장하려면 '/etc/kdump.conf'를 수정해야 합니다.
아래 같이 설정하면 덤프 파일은 /var/crash 위치에 저장하는데 이때 /var/crash 파일 시스템의 여유공간이 RAM 사이즈보다 크거나 같아야 합니다. 그리고 'core_collector'옵션을 사용해서 dump정보를 압축하는 명령어입니다.
마지막 라인은 dump 정보를 지정된 위치에 저장하지 못하는 경우 default 가 수행되는데,
이 경우는 재부팅입니다.
# vi /etc/kdump.conf
path /var/crash
core_collector makedumpfile -c
default reboot
Kdump service 시작
# systemctl start kdump.service
# systemctl enable kdump.service
수동으로 시스템을 crash 해서 kdump 테스트
Crash 하기 전에 아래 명령어를 사용해서 kdump service가 정상 실행 중인지 확인합니다.
systemctl is-active kdump.service
service kdump status
수동으로 crash 발생시켜서 kdump를 테스트합니다.
echo 1 > /proc/sys/kernel/sysrq ; echo c > /proc/sysrq-trigger
그럼 /var/crash 위치에 dump file (vmcore)이 생성됩니다.
# ls -la /var/crash
drwxr-xr-x. 2 root root 42 Dec 4 17:42 127.0.0.1-2019-12-28-17:42:53
/var/crash/127.0.0.1-2019-12-28-17:42:53:
total 135924
-rw-------. 1 root root 139147524 Dec 28 17:42 vmcore
-rw-r--r--. 1 root root 112470 Dec 28 17:42 vmcore-dmesg.txt
[root@cloud ~]#
crash 명령어로 crash dump 분석
crash 명령어는 crash dump 또는 vmcore 파일을 분석하는 데 사용되는 명령어입니다.
'kernel-debuginfo'패키지를 설치하기 전에 먼저 debug repo를 수정합니다.
'/etc/yum.repos.d/CentOS-Debuginfo.repo 파일에서 'enable=0'을 'enable=1'로 수정합니다.
그 후 아래 두 패키지를 설치합니다.
# sudo yum install crash
# sudo yum install kernel-debuginfo
crash 명령어를 사용해서 crash가 발생했을 때 정보를 확인할 수 있습니다.
# crash /var/crash/127.0.0.1-2019-12-28-17\:42\:53/vmcore /usr/lib/debug/lib/modules/`uname -r`/vmlinux
crash 커맨드 라인 창이 뜨면 아래 명령어 들로 정보를 확인할 수 있습니다.
/* 시스템이 crash 됐을때 process list 정보 */
ps
/* 시스템이 crash 됐을때 열려진 파일 정보들 */
files
/* 시스템이 crash 됐을때 system 정보 */
sys
/* crash command line help */
help
감사합니다.
'Linux & Windows' 카테고리의 다른 글
무료 백신 순위 종류 (4) | 2020.01.06 |
---|---|
윈도우즈 종료옵션 넣기. (블루투스 키보드 CMOS, BIOS 진입) (5) | 2020.01.05 |
Windows 10 update 후 VirtualBox 네트워크 Host-only adapter 구동 문제 (12) | 2020.01.03 |
Netcat nc 사용법 (IPv4, IPv6) (0) | 2019.12.30 |
VirtualBox 에서 Ubuntu 해상도 조절 (0) | 2019.12.23 |