질문과 답변
서버 / IT ipxe 부팅에 관하여
2018.07.12 19:43
pxesrv 프로그램을 사용해서 세팅해 보고 있습니다
네트워크로 도저히 부팅이 안되네요
사용법 아시는분 자세히 좀 알려주세요
세사기는 가입이 안되니 거기서 볼수가 없군요 ;;
댓글 [1]
-
뽜이론 2018.07.13 11:49
자세한 설명은 너무 길어져서 대략적으로 설명 드릴 수 밖에 없는 점 양해바랍니다.
윈도우 설치와 리눅스 설치 그리고, 클라이언트의 legacy와uefi를 모두 지원하는 서버를 구축하려면 기본적으로 pxe서버 구성에 대해 알아야합니다.
ipxe로 윈도우를 설치를 위한 배포하는데 있어 클라이언트의 legcy와 uefi 지원에는 이상이 없지만 리눅스를 설치하려면 uefi에서는 에러가 납니다.
수정이 되었는지 모르겠지만, 여튼 그래서 윈도우, 리눅스가 모두 필요하고
클라이언트가 uefi와 legacy가 각각 여러대인 곳에서는
망을 분리해서 ipxe와 pxe를 따로 운용하기도 하는데요,
pxe 서버 루트가 되는 tftp 루트에 pxe부트가 가능한 grub.efi 이미지를 생성 후 위치시키고
디폴트는 ipxe로 부트하게끔 하고 meun.ipxe에서 chain 으로 gurb에 넘기면 리눅스도 uefi 시스템에서 부트가 됩니다.
당연히 grub.cfg파일도 있어야하는데 일반적인 grub.cfg파일과는 조금 다르게 작성합니다.
그러니깐 tftp서버 , apm서버, dhcp서버, samb서버에 관련된 튜토리얼로 먼저 선행학습 하고
syslinux 패키지에서 필요한 몇몇 파일 복사와 syslinux 부트메뉴 작성 정도 하면 pxe서버 구성은 어렵지 않을겁니다.
클라이언트의 uefi와 legacy 식별은 dhcpd.conf파일에서 설정하면 됩니다.
예)
class "pxeclient" {
match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
if substring (option vendor-class-identifier, 15, 5) = "00000" {
# Legacy client
filename "pxelinux.0";
}
else {
# UEFI client
filename
"ipxe.efi";
}
혹은
tftp루트 구조는 대충 이렇습니다.
위와 같이 하면 레거시에서는 pxe로 부트가 되는데 tftp서버 루트에 있는
pxelinux.cfg 디렉토리 안의 default 파일을 아래와 같이 편집합니다.
그럼 레거시도 ipxe로 부트가 될텐데요. 위의 설정 파일에서
pxelinux.0 이것을undionly.kpxe로
했을 경우 ipxe로 바로 부트가 되었는지 기억이 정확하지는 않네요. undionly.0은 undionly.kpxe의 심볼릭링크 파일입니다.
ipxe로 부트하기 위해서는 부트 가능한 이미지를 생성을 위한 빌드를 해야하는데요.
git을 이용해서 소스를 복제 합니다.
복제가 완료되면
ipxe/src/chain.ipxe를 편집기로 열어서
xxx.xxx.xxx.xxx 는 서버의 주소입니다. 저장 후
chain.ipxe가 내장된 이미지를 빌드 하여야합니다.
legacy 부트에 필요한 이미지 파일인
undionly.kpxe 파일을 생성하기 위해 아래와 같은 명령으로 빌드합니다.
uefi 부트에 필요한 파일인 ipxe.efi를 생성을 위해 아래와 같은 명령으로 빌드합니다.
생성된 이미지 파일을 tftp루트에 복사합니다.
menu.ipxe는 아파치 서버 루트에 복사합니다. ipxe는 http를 이용하기때문에 tftp를 이용하는 pxe보다 속도면에서 유리합니다.
ipxe를 이용해서 네트워크 설치 서비스를 하는 netboot.xyz의 공홈에 가서 iso파일 다운 받아서
거기안에 있는 ipxe관련 예를들어 menu.ipxe와 같은 설정파일들을 보면 도움이 될겁니다.
또한 ipxe를 기반으로 하는 sal's network boot라는 곳도 방문하셔서 디렉토리 트리와 파일의 위치 같은것도 참조하세요.
윈도우같은 경우 사용자가 만든 윈도우pe도 부트가 되지만 마이크로 소프트에서 제공하는 adk기반의 pe로 wimboot를 이용하면
부트후 파티션 구성, 포맷과 설치의 내용이 담긴 배치파일을 자동으로 실행하게 하여 전 과정을 자동화 할 수도 있고
스크립트를 지원하는 백업 유틸리티라면 자동화 할 수 있어 백업, 복구를 메뉴로 구성 할 수도 있습니다.
예) menu.ipxe
iso 통채로 부트도 가능합니다. (legacy만)
리눅스 같은 경우도 debian 계열은 자동화 설치가 가능하구요. 백업 복구는 clonezilla를 이용하면
자동화 할 수 있습니다.