PORCH WAN 구간지원 2

문제점

지난 1차 문서에서 WAN구간 서버 OS 자동 설치 세팅을 하였으나 서버가 준비되지 않아 시험하지 못했다. 오늘 시험을 해 보았으나 다음과 같은 문제가 발생하였다.

dracut Warning: Could not boot.
dracut Warning: /dev/root does not exist

DHCP서버로부터 IP는 잘 받아오고, kernel/initrd 이미지도 http로 잘 받아 부팅하는 중 위 에러가 나오고 서버는 멈춘다.

문제는 squashfs image를 못받아오는 것 같다. 이유는? 모른다.

아래는 해당 머신의 pxeboot 설정이다.

default porch-generated
label porch-generated
kernel http://<porch_service_ip>/api/fai/boot/vmlinuz-3.16.0-4-amd64
append initrd=http://<porch_service_ip>/api/fai/boot/initrd.img-3.16.0-4-amd64
ip=dhcp
root=live:http://<porch_service_ip>/api/fai/boot/squash.img aufs
FAI_FLAGS=verbose,sshd,reboot
FAI_CONFIG_SRC=http://<porch_service_ip>/api/fai/boot/res82.tar
FAI_ACTION=install  console=tty0 console=ttyS0,115200n8
net.ifnames=0 edd=off

append 라인부터 마지막 라인까지는 원래 한 줄로 길게 쓰여진 것이지만 가독성을 위해 개행문자로 처리했다.

squash.img 도 http로 porch의 service ip로부터 가져오도록 잘 설정되어 있다.

실험1

HP Proliant Gen5 서버에서 위 문제를 시험하고 있었다. Gen6도 그런지 같은 시험을 하였으나 역시 같은 결과가 나왔다. Gen6 머신은 내부 배포망에서 UDAM으로 잘 설치되었던 서버이다.

실험2

Gen6 서버에 대해 pxelinux.cfg의 설정 파일을 다음과 같이 고정 IP 방식으로 수정하였다.

ip=203.248.241.10::203.248.241.1:255.255.255.240:res83:eth0:none:164.124.101.2

이전에는 ip=dhcp 로 dhcp로부터 IP 설정을 하는 방식으로 했는데, 위와 같이 static IP를 설정하도록 수정하였다.

결과는? 아~~ 잘 된다.

그렇다면, ip=dhcp 로 하면 문제라는 것으로 귀결된다.

PXE로 OS 설치하는 절차에서 총 3번의 DHCP 요청을 한다.

  1. 머신 최초 pxeboot 단계
  2. ipxe boot image를 이용한 pxeboot 단계
  3. kernel/initrd image를 가져와 부팅하는 단계

위 실험에 의하면 첫 두번의 DHCP 요청은 성공하고, 세번째 요청에서 DHCP 요청이 실패한다고 할 수 있다. 왜일까?

이런 의문점을 안고 오늘은 이곳을 떠났다.