IT 공부용

13. PXE 본문

▶ Linux Basic

13. PXE

호롤롤로루 2022. 8. 8. 11:32

PXE(Preboot Execution Environment)는 데이터 센터 인프라의 중요한 부분이 된다. 이로 인해서 네트워크를 통해서 서버나 Work station을 자동화하여 배포할 수 있게 된다.

PXE는 거대한 데이터센터가 있고 몇천대의 기기들이 있는데 OS를 설치하는데 이를 자동화하여 효율성을 높이는데 도움을 준다.

 

즉 PXE는 설치 할때 필요한 자원을 자동화 시키는 과정으로 시간적인 측면에서 효율이 좋음.

 

ி PXE 부팅 서버 설치

 
PXE는 NIC를 이용해 컴퓨터를 부팅하는 환경이다.
이를 통해 이미지 설치를 자동화할 수 있다.
vmware에서 centos7 대상으로 배포 서버를 설치할 것이다.

PXE 부팅 서버를 운영하기 위해 아래 프로그램들이 설치되어야 한다.
# yum -y install syslinux tftp-server vsftpd dhcp xinetd

 

# systemctl stop firewalld

# systemctl disable firewalld

# setenforce 0

-> 보안 관련 설정

 

---------------------------------------tftp 설정----------------------------------------------

tftp는 속도가 빠른 udp를 사용하기 때문에 이미지를 신속하게 설치할 수 있다.

아래 설정 파일에서 disable 상태를 no로 바꾸어 tftp를 활성화한다.

# vim /etc/xinetd.d/tftp

 

 

 

 

-------------------------------------dhcp 설정------------------------------------------

 

pxe boot를 허용한다.

# vim /etc/dhcp/dhcpd.conf

subnet 192.168.111.0 netmask 255.255.255.0
{
option routers 192.162.111.2 ;
option subnet-mask 255.255.255.0 ;
range dynamic-bootp 192.168.111.30 192.168.111.50 ;
option domain-name-servers 168.126.63.1 ;
allow booting ;
allow bootp ;
next-server 192.168.111.100 ;
filename "pxelinux.0" ;
}

 

--------------------------------배포 이미지 추가--------------------------------------

 

pxe 서버에서 배포할 이미지를 선택하고 Connected를 체크한다.



배포 이미지를 tftp에 올린다.

# mount /dev/cdrom /var/ftp/pub/
# cp /var/ftp/pub/images/pxeboot/vmlinuz /var/lib/tftpboot/
# cp /var/ftp/pub/images/pxeboot/initrd.img /var/lib/tftpboot/
# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

------------------------------pxelinux 부팅 환경 설정--------------------------------

 

# mkdir /var/lib/tftpboot/pxelinux.cfg
# vim /var/lib/tftpboot/pxelinux.cfg/default

 

DEFAULT CentOS7_Auto_Install
LABEL CentOS7_Auto_Install
kernel vmlinuz
APPEND initrd=initrd.img repo=ftp://192.168.111.100/pub

-------------------------데몬 재시작 및 보안 설정 해제---------------------------

 

# systemctl restart dhcpd
# systemctl restart vsftpd
# systemctl restart xinetd
# ps -ef | grep dnsmasq ← kill
# systemctl stop firewalld
# setenforce 0

 

클라이언트에서 빈 이미지를 부팅하면 배포 서버로부터 IP를 할당 받은 다음
배포 이미지를 설치하게 된다.

ி 킥스타트

 
킥스타트를 사용하면 이미지 부팅 후 os 설치 구성까지 자동으로 해준다.

아래 명령으로 킥스타트 gui 도구를 설치한다.
# yum -y install system-config-kickstart system-config-keyboard
# system-config-kickstart


기본 설정, 설치 방식을 FTP로 변경, FTP 서버와 디렉토리를 지정, 파티션을 설정한다.

 


ctrl + s를 눌러 /var/ftp/에 킥스타트 설정 파일을 저장한다.
이후 해당 파일 맨 아랫줄에 패키지 정보를 추가한다.
%packages
@base
@core
@directory-client
@fonts
@gnome-desktop
@input-methods
@internet-browser
@java-platform
@multimedia
@network-file-system-client
%end​


# vim /var/lib/tftpboot/pxelinux.cfg/default 파일에서 아래와 같이 cfg 설정 파일 경로를 지정해준다.



설정을 마친 뒤 클라이언트를 부팅하면 이미지 배포 후 설치까지 자동으로 진행된다.

 

'▶ Linux Basic' 카테고리의 다른 글

# 리눅스 모든 것  (0) 2022.09.05
12. Mail Server 설정 심화 (Postfix)  (0) 2022.08.08
11. 메일 서버와 Sendmail  (0) 2022.08.08
10. DNS (네임서버)  (0) 2022.08.04
9. DHCP 자동 IP 할당 서버  (0) 2022.08.02