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
등에 대한 처리코드를 넣어주면 된다.
이렇게 + 된 부분 추가해주면 일단 eth0 의 링크 업은 문제 없다는거~
RHEL6 에서 kdump 사용하는 사람..그것도 vmcore scp 로 받는사람 없던겐가..
사실 NETMASK 부분은 RedHat Bugzilla 에서 힌트로 찾을 수 있었다.
버그리포팅 할까 하다가... 의미없을것같아서 그냥 기록.... :)
PS : 아하 다시 테스트 처음부터 해봤는데, ifcfg-ethX 에 GATEWAY 부분은
반드시 " " 로 묶여줘야 먹히는거였구만.. 결국 ifcfg 파일에 뭐 넣어줄때
반드시 " " 로 묶어줘야한다는거... 제길 개삽질 ㅋㅋ
한번 만들어 img 로 박아 놓으면 특별히 수정 할 필요는 없어진다.
만드는 과정을 보고자 한다면 mkdump 가 실행될때
- kdump 설정변경 후 initrd 재생성시
/tmp 디렉토리 아래를 보면 busybox 이미지가 생성되는 모습을 볼 수 있다.
일종의 버그라고 할 수 있는 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 이미지가 생성되는 모습을 볼 수 있다.
'Skills > mY Technutz' 카테고리의 다른 글
Fedora 14 또다시 커널 패닉! (0) | 2011.04.28 |
---|---|
Fedora 14 KVM 에서의 Kernel Crash 덤프분석 케이스 업데이트. (1) | 2011.04.21 |
Fedora14 에서 Nateon 설치하기 (1) | 2011.03.20 |
udev 디버깅.. (1) | 2010.10.29 |
OOM Killer 동작 과정에 대한 간단한 설명 (0) | 2010.09.29 |