게시물 1,375건
   
Kernel panic 발생시 자동리부팅
글쓴이 : 최고관리자 날짜 : 2009-11-30 (월) 18:03 조회 : 10454
글주소 :
                                
시스템을 운영하다가 보다 나은 향상을 위해 커널변수 설정을 변경하거나 혹은 하드웨어적인 문제, 사용하는 어플리케이션 충돌등 기타문제로 인해 패닉이 빈번하게 발생되는 경우가 있다.
분명한건 발생원인 분석이 우선이겠지만 임시방편으로 사용하기 위해 Kernel parameter 값들을 통해 panic 발생시 원하는 시간을 대기한후 리부팅이 되는방법을 알아보자.
커널변수를 조정하기 위해서는 sysctl 을 이용해 /proc/sys 리스트를 수정하면된다.

[root@smileserv ~]#  vi /etc/sysctl.conf
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled.  See sysctl(8) and
# sysctl.conf(5) for more details.
# Controls IP packet forwarding
net.ipv4.ip_forward = 0
# Controls source route verification
net.ipv4.conf.default.rp_filter = 1
# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0
# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 1
# 패닉발생을 위한 임시대처로 추가해준 부분
kernel.panic = 3

# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1

※ 시스템에 따라서 위정보는 다를수 있다. 
적당한 위치(?)에 빨간색으로 된부부만 추가해주면 된다.

/etc/sysctl.conf 파일을 실행해주고 난이후 즉시 적용을 하기위해 -p 옵션을 사용하면 현재 적용된 리스트들이 보인다.
[root@smileserv ~]# sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 1
kernel.panic = 3    
kernel.core_uses_pid = 1


혹은 아래처럼 쉘에서 바로 명령어를 입력시켜도 된다.
[root@smileserv ~]# cat /proc/sys/kernel/panic
0

[root@smileserv ~]# echo 3 > /proc/sys/kernel/panic
기본 설정으로 설정값은 0으로 이건 패닉시에 그냥..그대루 놔두겠다는 의미이다.
단위는 초로 원하는 시간을 입력해주면 된다.
주의) /proc 내에 있는 파일들은 실제로 존재하는것이 아니기에 vi 에디터를 통해 수정하면 안된다.반드시 echo 문을 이용해서 수정하시길 바란다.

가령 커널컴파일 이후에 재부팅 하다가 부팅이 않되는건 커널 패닉으로 볼수 없다.
이런현상시 주된원인은 디스크라벨명이나 DISK MODULES이 올라오지 않게되면서 하드가 마운트 되지 않아 일어 나는 경우이다.
그렇기 때문에 커널에서 panic 루틴을 타지 않고 죽어 버리게 되는거다.

한마디로 새로운 커널로 바꾼후 재부팅이 않될경우 proc에 값을 넣는다고 해도 자동 재부팅이 되지않는다.
proc에 값을 넣는 경우는 커널에서 do_exit 함수를 부릴 때 메모리쪽과 파일 시스템쪽 그리고 lock 문제에 의해서 일어 나서 정상적인 panic 함수를 타고 panic 루틴이 돌아야지만 작동하게 된다.

 


이름 패스워드
비밀글 (체크하면 글쓴이만 내용을 확인할 수 있습니다.)
왼쪽의 글자를 입력하세요.
   

 



 
사이트명 : 모지리네 | 대표 : 이경현 | 개인커뮤니티 : 랭키닷컴 운영체제(OS) | 경기도 성남시 분당구 | 전자우편 : mojily골뱅이chonnom.com Copyright ⓒ www.chonnom.com www.kyunghyun.net www.mojily.net. All rights reserved.