리눅스 PXE 설치 서버 만들어 킥스타트 하는법

리눅스 관리자가 되었다고 하면 예를 들어 이런 상황이 있을 수 있습니다. 교육장에 100대의 가상머신이 필요하면
100대를 모두 하나하나 설치하기가 어려울 수 있습니다.
이럴 때 사용하는 방법이 PXE 설치 서버(PXE Installation Server)를 운영하는 것입니다.
같은 네트워크에 컴퓨터 전원만 넣으면 PXE 설치 서버에 있는 파일을 다운받아 설치할 수 있습니다.
100대를 설치한다고 하면 컴퓨터 전원만 켜주시고 퇴근하면 됩니다.

 

PXE 설치 서버 킥스타트

PXE는 Preboot Excution Environment 입니다
아직 운영체제가 설치되지 않은 컴퓨터가 네트워크를 통해 PXE 서버에 접속해서 부팅되도록 해주는 인터페이스 입니다.

패키지를 설치하기 위해
syslinux, dhcp, tftp-server, vsftpd 패키지를 먼저 설치해 줍니다
systemctl disable firewalld 로 방화벽을 꺼줍니다

rpm 설치


/etc/dhcp/dhcpd.conf 파일을 편집해 줍니다

dhcpd.conf


subnet 192.168.111.0 netmask 255.255.255.0 {
option routers 192.168.111.2;
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.111.120 192.168.111.199;
option domain-name-servers 192.168.111.2;
allow booting; -->부팅을 허용함
allow bootp; -->부팅 프로토콜을 허용함
next-server 192.168.111.100; -->부팅 파일이 있는 서버의 주소
filename "pxelinux.0"; -->부팅 파일 이름(syslinux)
}

 

tftp 서버의 설정 파일인 /etc/xinetd.d/tftp 파일을 수정해 줍니다

/etc/xinetd.d/tftp

 

disable = yes -> disable = no
tftp 는 클라이언트 PC 에 부팅될 파일을 전송해 주는 역할을 합니다

umount /dev/cdrom 을 입력해 기존의 마운트를 끊고
mount /dev/cdrom /var/ftp/pub 새로 마운트 해줍니다

tftp 서버의 디렉토리인 /var/lib/tftpboot/ 에 DVD 부팅 이미지 및 syslinux 부팅 파일을 복사해 놓습니다
vmlinuz, initrd.img pxelinux.0 등의 파일을 옮겨 주세요

/var/lib/tftpboot/pxelinux.cfg/default 파일을 만들어 수정합니다

DEFAULT CentOS_Auto_Install -->기본 부팅 Label 지정

 



LABEL CentOS_Auto_Install -->Label 시작
kernel vmlinuz --> 커널을 지정 tftpboot 디렉토리에 복사해 둔 파일
APPEND initrd=initrd.img repo=ftp://192.168.111.100/pub --> centos 패키지 저장소 지정

DHCP 를 사용할 때는 서비스 충돌을 방지하기 위해 dnsmasq 서비스를 중지해 줍니다

dhcpd, vsftpd, xinetd 서비스를 enable 및 start 해줍니다

 

킥스타트

system-config-kickstart, system-config-keyboard 패키지를 설치해 줍니다
system-config-kickstart 명령어를 이용해 패키지를 진행해 줍니다
중간중간
FTP 설정
마스터 부트 레코드 내용 삭제
디스크 레이블 초기화
파일시스템 유형 : 스왑(swap) 을 선택 2048
마운트할 지점 /
모두 완료가 되면 저장해 줍니다
.ks 확장자의 파일이 만들어 집니다

/var/ftp/CentOS.ks 파일을 열어
맨 아래쪽에
@base-x
@standard
입력하고 저장해줍니다 버그로 패키지 그룹 지정이 안될 수 있어 수동 지정해주는 것입니다

/var/lib/tftpboot/pxelinux.cfg/default 파일을 수정해
/pub…. 뒤에 ks=ftp://192.168.111.100/CentOS.fs

댓글

Designed by JB FACTORY