본문 바로가기
카테고리 없음

PXE 서버의 역할과 필요성, 서버 구축 방법

by jjinyjjuny 2025. 3. 23.

pxe 서버의 구조에 대한 이미지

 

서버나 클라이언트 시스템을 대량으로 구축하거나 유지 관리하는 경우, 수작업으로 운영체제를 설치하고 구성하는 일은 매우 비효율적입니다. 이때 강력한 솔루션이 바로 PXE(Preboot Execution Environment) 서버입니다. PXE는 네트워크를 통해 클라이언트 장비를 부팅하고 운영체제를 설치할 수 있도록 지원하는 기술입니다. 본 글에서는 PXE 서버가 어떤 역할을 수행하며, 왜 필요한지, 그리고 실무에서 바로 활용 가능한 PXE 서버 구축 방법까지 체계적으로 설명합니다.

 

PXE 서버의 역할과 필요성

PXE 서버의 정의와 역할

PXE(Preboot Execution Environment)는 인텔에서 개발한 네트워크 부팅 환경으로, 로컬 디스크나 외부 저장 장치 없이 네트워크를 통해 운영체제를 부팅하고 설치할 수 있도록 설계된 기술입니다.

PXE 서버의 기본적인 역할은 다음과 같습니다.

  • DHCP 서버와 연동하여 클라이언트에게 부팅 정보를 제공
  • TFTP 서버를 통해 부트 이미지 파일을 클라이언트에 전달
  • 클라이언트가 부트 이미지를 실행하여 OS 설치 또는 복구를 시작

PXE의 필요성

  • 대량 시스템 자동 설치
  • 무인 설치 및 자동화
  • 디스크 없는 클라이언트 지원
  • 유지보수의 편의성

PXE 서버 구축을 위한 준비사항 및 환경 구성

PXE 서버를 구축하려면 아래 구성요소가 필요합니다.

  • DHCP 서버
  • TFTP 서버
  • NFS/HTTP/FTP 서버
  • 부트 이미지 및 설치 미디어

 

PXE 서버 구축 방법 (Linux 환경 기준)

1. DHCP 서버 설정

PXE를 위해 DHCP 서버가 반드시 필요합니다. 이미 네트워크에 DHCP 서버가 있다면 PXE용 옵션만 추가하면 되고, 없다면 별도로 설치합니다.

yum install dhcp -y
subnet 192.168.0.0 netmask 255.255.255.0 {
    range 192.168.0.100 192.168.0.200;
    option routers 192.168.0.1;
    option subnet-mask 255.255.255.0;
    option domain-name-servers 192.168.0.1;
    next-server 192.168.0.10;
    filename "pxelinux.0";
}

DHCP 서비스를 시작합니다.

systemctl start dhcpd
systemctl enable dhcpd

2. TFTP 서버 설치 및 설정

TFTP는 파일 전송을 담당하며, 부트 이미지를 제공하는 역할을 합니다.

yum install tftp-server -y
yum install xinetd -y

/etc/xinetd.d/tftp 파일을 수정합니다.

service tftp
{
    socket_type     = dgram
    protocol        = udp
    wait            = yes
    user            = root
    server          = /usr/sbin/in.tftpd
    server_args     = -s /var/lib/tftpboot
    disable         = no
}

TFTP 서비스 시작:

systemctl start xinetd
systemctl enable xinetd

3. PXE 부트 파일 준비

mkdir -p /var/lib/tftpboot/pxelinux.cfg
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/
cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/

4. PXE 부트 메뉴 설정

/var/lib/tftpboot/pxelinux.cfg/default 파일을 생성하여 부트 메뉴를 설정합니다.

default menu.c32
prompt 0
timeout 300
ONTIMEOUT local

LABEL linux
    MENU LABEL Install CentOS 7
    KERNEL vmlinuz
    APPEND initrd=initrd.img inst.repo=http://192.168.0.10/centos7

5. 설치 파일 제공을 위한 HTTP 서버 구성

yum install httpd -y
systemctl start httpd
systemctl enable httpd

설치 미디어를 HTTP 경로에 복사합니다.

mkdir -p /var/www/html/centos7
mount /dev/cdrom /mnt
cp -r /mnt/* /var/www/html/centos7/

 

PXE 서버 구축 시 유의사항

  • DHCP 충돌 방지: 동일 네트워크에 두 개 이상의 DHCP 서버가 있을 경우 충돌이 발생할 수 있으므로 주의해야 합니다.
  • 네트워크 대역폭 관리: PXE 서버를 통해 다수의 시스템이 동시에 OS를 설치하게 되면 네트워크 대역폭이 급격히 소모될 수 있습니다. 트래픽 분산과 네트워크 설계를 고려해야 합니다.
  • 보안 설정: PXE 서버는 네트워크 부팅 환경을 제공하므로, 인증되지 않은 사용자가 무단으로 접근하지 않도록 방화벽과 인증 시스템을 강화해야 합니다.

 

결론

PXE 서버는 대규모 시스템 관리와 자동화를 위한 필수 도구입니다. 설치 시간과 인력을 크게 줄일 수 있으며, 장애 복구와 유지보수 시에도 빠르고 안정적인 복구 환경을 제공합니다. 데이터센터, 클라우드 환경, 기업 내 IT 인프라 구축 시 PXE 서버를 활용하면 시스템 관리의 효율성을 높일 수 있으며, 관리 자동화를 실현할 수 있습니다.