제8단원 PXE를 통한 자동화된 대규모 서버 배포

배경

클라우드 데이터 센터에서 수십대 이상의 서버를 일괄적으로 배치할 경우 시스템 설치 및 구성 작업은 매우 복잡해집니다. 각각의 서버에 운영체제를 설치하고 필요한 설정을 수행하는 것은 인력 및 시간 측면에서 큰 부담이 됩니다. VMware, FusionCompute 등의 가상화 플랫폼에서는 일반적으로 ISO 이미지로 개별 설치하거나 제조사 제공 도구를 사용해야 하며, 이는 관리자에게 많은 번거로움을 초래합니다.

PXE란?

Pre-Boot Execution Environment는 네트워크 기반으로 운영체제를 설치할 수 있도록 하는 기술입니다. PXE를 구현하려면 다음 조건이 충족되어야 합니다:

  • BIOs 지원
  • 네트워크 카드 호환성
  • BIOs 설정에서 해당 기능을 활성화해야 함
  • DHCP와 TFTP 또는 HTTP 서비스를 제공하는 서버가 필요

PXE 네트워크 부트 프로세스

  1. 클라이언트가 네트워크 카드를 통해 부팅되도록 설정하여 DHCP와 TFTP/HTTP 서버를 준비
  2. syslinux 패키지에서 pxelinux.0 파일을 /var/lib/tftpboot 디렉토리로 복사
  3. reboot.c32 파일도 동일 디렉토리에 복사하여 재시작 기능 제공
  4. pxelinux.0 파일은 DHCP 서버로부터 IP 주소, TFTP 서버 주소 및 네트워크 부트 프로그램 정보를 수신
  5. 메모리에 로드된 pxelinux.0 파일이 실행되어 부트 프로세스 시작
  6. pxelinux.cfg/default 파일을 통해 부트 옵션 정의
  7. isolinux.cfg 파일을 default 이름으로 복사하여 구성 파일 생성
  8. default 파일에서 참조하는 다른 구성 파일을 /var/lib/tftpboot에 복사
  9. vmlinux 커널 및 initrd.img 드라이버 파일을 특정 OS에 맞게 준비
  10. 다양한 OS별 커널 폴더를 /var/lib/tftpboot에 생성 후 default 파일 수정
  11. system-config-kickstart 도구를 사용하여 자동 설치 구성

DHCP 및 TFTP 서비스 설치

ISO 이미지를 마운트하고 YUM 리포지토리 설정:


# mount -o loop /path/to/cdrom.iso /mnt
# vim /etc/yum.repos.d/custom.repo
[custom-repo]
name=Custom Repository
baseurl=file:///mnt
enabled=1
gpgcheck=0

필요 패키지 설치:


# yum -y install dhcp tftp-server

DHCP 구성 파일 설정:


subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.100 192.168.1.200;
  option domain-name-servers 8.8.8.8;
  option routers 192.168.1.1;
  next-server 192.168.1.20;  # TFTP 서버 주소
  filename "pxelinux.0";
}

syslinux 패키지 설치 확인:


# rpm -q syslinux
# yum -y install syslinux

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
}

시스템 서비스 재시작:


# systemctl restart xinetd

Kickstart 자동 설치 구성

자동 설치 파일 생성:


# system-config-kickstart
# cp /path/to/ks.cfg /var/www/html/

설치 구성 옵션:

  • 그래픽 인터페이스 비활성화
  • 파티션 자동 분할
  • SSH 서버 활성화
  • 시간대 설정
  • 리포지토리 경로 지정
  • 최종 저장 위치 설정

태그: PXE DHCP TFTP Kickstart 자동화

8월 10일 11:58에 게시됨