본문 바로가기

Skills/mY Technutz

RHEL6 에서의 kdump 설정시 수정해줘야할 부분(패치)

RHEL6 에서 kdump 테스트중인데, ssh (scp) 를 통한 덤프 수집시,

일종의 버그라고 할 수 있는 Script 오류가 있다.

kdump 가 시스템으로 부터 코어를 받는 과정에서 busybox 형식의 쉘 환경이

이용되는데, 이때 /sbin/mkdumprd 라는 스크립트를 이용하여 각 디바이스를

찾고, 설정해 주게 된다. 그런데 이녀석이 약간 논리적 오류가 있는지,

기존의 서버 설정을 가져오도록 해야하는데 정상적으로 못가져온다.

특히 얘기하고자하는 net 설정에서 ifcfg 를 불러올때, GATEWAY 나 SUBNET

등에 대한 예외처리가 일부 빠져있다.

vi /sbin/mkdumprd 를 열고 BASE_IFC 를 찾으면 일반적 네트워크 디바이스를

찾아 설정하는 부분이 있는데.

재밌는게 . /etc/sysconfig/network-scripts/ifcfg-$dev 부분이고, dev 부분은

일반적으론 * 가 들어가 전체 디바이스에 설정되어 있는

GATEWAY 나 IPADDR 등을 환경변수로 가져오도록 한다는거..

그런데 이게 BASE_IFC 가 정의되어 있는 부분에 일부 빠져있다.

즉 스크립트에 정의되어있는 handlenetdev 함수가 정상 작동 하지 않는다는것.

이걸 해결하기 위해선 함수 수정을 해주던가 BASE_IFC 부근에 직접 GATEWAY

등에 대한 처리코드를 넣어주면 된다.

            handlenetdev $BASE_IFC

            else

+             if  [ -z "$NETMASK" -a -z "$PREFIX" ]

+             then

+                   error "netmask and prefix are missed!"

+             fi 

+             if  [ -n "$GATEWAY" ]

+             then

+                GATEWAY=`/sbin/ip route show | awk '/^default/ { print $3 }'`

+             fi

+             echo "   " gateway $GATEWAY >> $MNTIMAGE/etc/network/interfaces

              BUS_ID=`ls -l /sys/class/net/$dev/device | sed -e's/\(.*\/\)\(.*$\)/\2/'`
 


이렇게 + 된 부분 추가해주면 일단 eth0 의 링크 업은 문제 없다는거~

RHEL6 에서 kdump 사용하는 사람..그것도 vmcore scp 로 받는사람 없던겐가..

사실  NETMASK 부분은 RedHat Bugzilla 에서 힌트로 찾을 수 있었다.

버그리포팅 할까 하다가... 의미없을것같아서 그냥 기록.... :)

PS : 아하 다시 테스트 처음부터 해봤는데, ifcfg-ethX 에 GATEWAY 부분은

반드시 " " 로 묶여줘야 먹히는거였구만.. 결국 ifcfg 파일에 뭐 넣어줄때

반드시 " " 로 묶어줘야한다는거... 제길 개삽질 ㅋㅋ

한번 만들어 img 로 박아 놓으면 특별히 수정 할 필요는 없어진다.

만드는 과정을 보고자 한다면 mkdump 가 실행될때
- kdump 설정변경 후 initrd 재생성시 

/tmp 디렉토리 아래를 보면 busybox 이미지가 생성되는 모습을 볼 수 있다.