pxe 부팅 문제
데비안으로 pxe 부팅을 시도하고 있는데 잘 안되네요.
도움이 필요합니다. ㅠㅠ
데비안 4.0 설치 후에 아래 패키지를 설치하고
apt-get install tftpd
apt-get install dhcp3-server
apt-get install syslinux
/etc/dhcp3/dhcpd.conf 에 아래와 같이 설정하였습니다.
subnet 10.20.100.0 netmask 255.255.255.0 {
range 10.20.100.2 10.20.100.254;
option routers 10.20.100.1;
}
allow booting;
allow bootp;
host client {
hardware ethernet 00:30:48:54:01:d3;
filename "/srv/tftp/pxelinux.0";
}
pxelinux.cfg 에 0A1464FE 파일을 만들고 아래처럼 설정했습니다.
default linux
label linux
kernel /srv/tftp/vmlinuz
append initrd=/srv/tftp/initrd.img
dhcp 에서 아이피를 잘 받아와서 tftp 서버 까지는 잘 접속을 합니다.
trying to load : pxelinux.cfg/0A1464FE
trying to load : pxelinux.cfg/0A1464F
trying to load : pxelinux.cfg/0A1464
이렇게 나오면서 커널 이미지를 못가져오는것 같습니다.
tftpd 설정에 관한
tftpd 설정에 관한 내용이 안보이네요.
inetd를 사용하는지, stand-alone으로 사용하는지 확인하시고,
in.tftpd -s 옵션에 지정된 경로를 기준으로(chrooted ?) 상대 경로를 지정해 주셔야 합니다.
우분투에서 stand-alone으로 사용할 경우 /etc/default/tftpd-hpa 파일에 다음처럼 되어 있습니다.
경로를 /srv/tftp로 수정한 다음 데몬을 재시작 해주시면 tftpd 서비스 경로가 변경되겠지요.
그런다음 dhcpd.conf 에서 filename값을 다음처럼 수정해 주세요.
next-server tftp-server-ip-addr; 옵션도 추가해 주시면 좋겠네요.
수정후엔 dhcpd 데몬 재시작 해주셔야 하지요.
xelinux.cfg 디렉토리 아래 0A1464FE 파일도 경로를 수정해 주세요
이파일은 수정해도 tftp 데몬을 재시작 할 필요는 없더군요.
trying to load :
trying to load : pxelinux.cfg/0A1464FE
trying to load : pxelinux.cfg/0A1464F
trying to load : pxelinux.cfg/0A1464
이 부분은 pxe부팅과정 중 설정파일을 찾고 있는 겁니다.
dhcp서버로 부터 아이피로 받고, tftp서버로의 연결도 된것입니다.
설정파일의 이름을 0A1464FE로 했으면 클라이언트에게 할당된 아이피가 10.20.100.254가 되야 합니다.
할당된 아이피가 어떻게 되는지 확인해 보시고 아니면 0A1464FE 파일의 이름은 default로 바꿔도 됩니다.
default linux
label linux
kernel /srv/tftp/vmlinuz
append initrd=/srv/tftp/initrd.img
이 부분은 설정파일을 클라이언트가 다운 받은후에 적용되는 부분이므로 일단은 클라이언트가 설정파일을 올바르게 다운
받을수 있게 설정파일의 이름과 경로를 검사해 보세요.
우리 항시 웃고 살아요 ^^
할당된 아이피는
할당된 아이피는 10.20.100.254 가 맞습니다.
pxelinux.cfg 에 default 를 넣어 주어도 설정파일을 로드하지 못하는것 같습니다.
trying to load : pxelinux.cfg/0A1464FE
trying to load : pxelinux.cfg/0A1464F
trying to load : pxelinux.cfg/0A1464
생략..
trying to load : pxelinux.cfg/default
..
inetd 의 tftp 설정입니다.
tftp dgram udp wait root /usr/sbin/tcpd /usr/sbin/in.tftpd /srv/tftp
우선 부팅이 되야 nfs 를 할것인데 ㅜ.ㅜ
레댓으로 테스트를 해봐야 할지..
우선 확인 방법은
tftp client를 다운받아서
tftp localhost후 trace명령어로 trace 키고
필수적인 파일들을 실제로 받아 올수 있는지 점검하시는게 가장 좋은 방법 같습니다.
default까지 내려가고 그냥 끝났다면 결국 못찾았다는 소리라고 생각됩니다.
pxelinux.cfg/default를요 하시면서 messages의 로그도 한번 살펴보시고요.
우선 제 생각으론 경로 설정이 잘못된것도 같습니다. (데미안쪽은 원래 절대경로인가요? 흠 이부분은 확신이 없네요.)
위의 방법으로도 안된다면 퍼미션설정을 변경하기도 하던데, 저는 위의 단계에서 해결되더라구요.
ps.fc9 기준입니다. ~~
nEW
nEW
PXE 부팅을 하려면
PXE 부팅을 하려면 TFTP서버가 tsize option을 지원해야한다고 합니다.
tsize option이 뭘 의미하는지는 모르지만 저는 데비안에서 tftpd-hpa를 사용했습니다.
apt-get install tftpd-hpa 이렇게요..
tftpd-hpa 패키지를 사용해 보시는것은 어떨까요??
tftpd-hpa 패키지 설치후
/etc/default/tftpd-hpa 파일의 내용중
RUN_DAEMON="no"를 yes로 바꾼후
/etc/init.d/tftpd-hpa start 하면 됩니다.
참 /etc/default/tftpd-hpa 파일의
OPTIONS="-l -s /var/lib/tftpboot" 부분도
OPTIONS="-l -s /srv/tftp/"로 바꿔야 하겠네요..
우리 항시 웃고 살아요 ^^
trying to load :
trying to load : pxelinux.cfg/01-00-30-48-54-01-d3
trying to load : pxelinux.cfg/0A1464FE
trying to load : pxelinux.cfg/0A1464F
trying to load : pxelinux.cfg/0A1464
tftp 서버에 접속이 되면 01-00-30-48-54-01-d3 을 찾는데요. 그런 다음 한참후에 0A1464FE 파일을
찾습니다. 첨부터 default 를 찾게하는 방법은 없나요.
아직도 저 부분에서 헤매고 있어요. OS 다시 설치하고 있음다. ㅜ.ㅜ
혹시 커널은 어떤거 가져다가 쓰시나요. 전 데비안에서 제공한 netboot.tar.gz 을 풀어서 썼습니다.
tftpd-hpa 패키지로
tftpd-hpa 패키지로 바꿔도 증상은 같습니다. ㅠㅠ
pxelinux.cfg 에 있는 파일을 못 읽어드리는것 같기도 하고요..
syslog 에 있는 내용입니다.
tftp: client does not accept options
메뉴얼 제공해주실분 안계신가요 ㅡㅡ;
아.. 웬만함 레댓으로는 안가려고 했는데 담주에 레댓으로 해봐야겠네요..
흠 그런거면 의외인데
pxelinux.0을 더 높은거나 낮은 버전의 바꿔 보는 것도 좋을 것 같습니다. syslinux 는 아예 따로 받을 수도 있으니까요
kernel 공개하는데 거기서 공개하던가요? ;;
저는 페도라 밖에 못써봐서 잘은 모르지만,
FC8의 syslinux에 있는 pxelinux.0을 썻을때 엄청 천천히 pxelinux.cfg/0A1464FE 이렇게 줄여나가다.
결국 default도 못찾겠다며 나왔거든요
하도 안되서 잘동작하는 FC9에 깔리는 syslinux(맞나요?) pxelinux.0 을 넣어보니까 잘 작동했습니다. 매우 빠르게
원래 저부분은 눈깜짝할 사이에 지나가야합니다. default를 먼저 넣을 필요도 없죠.
default까지가서 없다면 에러메시지 딱 뛰워주죠.
지금 생각하면 FC8의 pxelinux.0이 잘못된것이거나 아님 특정 하드웨어랑 호환성이 잘 안맞는거 같기도 합니다.
그리고 저위의 옵션 못받아 들인다는 에러 메시지. 그건 저도 늘 보는데요. 별 영향 없을 꺼라 페도라 포럼에서 이야기 되더라구요.
nEW
nEW
문제를
문제를 찾았습니다.
trying to load : pxelinux.cfg/01-00-30-48-54-01-d3
trying to load : pxelinux.cfg/0A1464FE
trying to load : pxelinux.cfg/0A1464F
이런식으로 나오면 안되는거네요..
특정 하드웨어 문제인것 같습니다. 다른 클라이언트로 네트워크 부팅을 시도하니 잘 되네요..
그런데 문제는 서버 3대중에 한대는 잘 되고 2대는 안됩니다.
커널에서 하드웨어를 인식하지 못하는 문제인지.. pxelinux.0 파일 문제인지..
혹시 tftp 문제일 수도 있나요?
설정파일의 이름을
설정파일의 이름을 pxelinux.cfg/default로 하시고
설정파일의 문법을 틀리게(클라이언트가 커널을 받아가지 못하게 커널 파일을명을 틀리게 하는 식으로)해서
부팅해 보면 커널은 간섭하기 전이니까 커널 문제인지 아닌지 알수 있을것 같네요.
그리고 pxelinux.0 파일은 아래의 주소에서 받을수 있으니까 지금 사용하시는 것과 다른걸루 해보세요.
http://syslinux.zytor.com/pxe.php
우리 항시 웃고 살아요 ^^
trying to load :
trying to load : pxelinux.cfg/01-00-30-48-54-01-d3
trying to load : pxelinux.cfg/0A1464FE
trying to load : pxelinux.cfg/0A1464F
요 증상이 계속 되는 서버는 어떻게 해야 할지요.. ㅡㅡ;
3대중 2대가 이러니 난감하네요 ㅜ.ㅜ
다른 커널을 넣어봤는데 증상은 같습니다.
pxelinux.0 도 높은 버전으로 해봤구요.
댓글 달기