Linux 31 . PXE 부팅 시스템

2024. 5. 14. 17:45Linux/CentOS7

pxe시스템은

PXE(Pre-boot eXecution Environment) 로서

사전 부팅 실행환경의 약자이다.

 

네트워크 인터페이스를 통해 컴퓨터를 부팅할 수 있게 해주는 환경을 구성해준다.

50번 리눅스 서버에 설치 해보자

 

 

먼저 50번 리눅스 서버에 필요한 패키지를 설치해주자

yum -y install syslinux
yum -y install dhcp*
yum -y install tftp-server
yum -y install vsftpd*
yum -y install xinetd

만약 VMware의 DHCP 설정이 켜져있다면 꺼주고 진행하자.

 

dhcp에서 pxe 관련 설정을 해주어야 한다.
dhcp와 pxe 설정을 진행하자

vi /etc/dhcp/dhcpd.conf 
============================vi 편집기======================================
ddns-update-style       interim;
subnet  192.168.20.0    netmask 255.255.255.0   {
        option  routers 192.168.20.2;
        option  subnet-mask     255.255.255.0;
        range   dynamic-bootp   192.168.20.150  192.168.20.254;
        option  domain-name-servers     8.8.8.8;

        allow   booting;
        allow   bootp;
        next-server     192.168.20.50;
        filename        "pxelinux.0";
}

평소 작성하는 DHCP 설정과 다르게 작성해주자

밑의 4개 행이 pxe 부팅 설정이다.

 

 

슈퍼데몬(xinetd)도 설정해주자

/etc/xinetd.d/tftp
=======================vi 편집기================================
    14         disable                 = no
    해당 행 수정 후
    
[root@localhost xinetd.d]# systemctl restart xinetd
데몬 재시작

 

우리가 이전에 CentOS 설치를 위해서 

Cdrom에 삽입된 centOS가 존재할 것이다.

해당 Cdrom을 언마운트 해주고

다른 경로에 마운트 해주자

umount /dev/cdrom
언마운트 후
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

이후 커널 부팅파일등을 tftpboot 디렉토리에 복사해주자

부팅 파일까지 부팅 완료 했다면

 

디렉토리를 생성해주자

mkdir /var/lib/tftpboot/pxelinux.cfg
cd /var/lib/tftpboot/pxelinux.cfg

디렉토리 생성후 만든 디렉토리로 이동

 

defaut 파일을 생성해주자

vi default
================================vi 편집기==================================
DEFAULT CentOS_Auto_Install
LABEL   CentOS_Auto_Install
        kernel  vmlinuz
        APPEND  initrd=initrd.img repo=ftp://192.168.20.50/pub
             
==================================================================

이후 해당 프로그램들 모두 재시작
systemctl restart dhcpd
systemctl restart vsftpd
systemctl restart xinetd

 

1차적인 설정은 끝난것이다.

 

이제 100번 리눅스 서버로 이동해 네트워크 설정을

DHCP로 변경해주자

변경후 네트워크 재시작,

그리고 네트워크 정상작동도 확인해주자

 

 

 

VMware에서 새 가상머신을 CentOS로 생성해주자

(이미지 삽입 X)

이제 실행해보자

 

CD rom에 이미지파일이 없어도 되니

YES 선택

DHCP로 IP를 받아오면서 CentOS 설치 화면이 뜨면 성공이다.

 

 

이제 OS설치까지 자동화 시켜보자

 

자동화를 위한 패키지로

yum install -y system-config-kickstart
yum install -y system-config-keyboard

system-config-kickstart
킥스타트 패키지 실행

두 패키지를 설치해주자

그리고

킥스타트 패키지를 실행해주자

기본 언어와 시간, FTP 정보와 새로운 부트로더 설치를 선택하자

기존 파티션 내용 삭제 및 / , swab 레이아웃 추가

레이아웃이 위 사진처럼 되었다면 성공이다.

이제 설정 파일을 /var/ftp 경로에 저장하자

 

그리고 /var/ftp/ks.cfg 파일을 열어주자

vi /var/ftp/ks.cfg

-------------------------------vi 편집기----------------------------------

     36 part / --asprimary --fstype="xfs" --grow --size=1
     36 
     37 %packages
     38 @base
     39 @core
     40 @directory-client
     41 @fonts
     42 @gnome-desktop
     43 @input-methods
     44 @internet-browser
     45 @java-platform
     46 @multimedia
     47 @network-file-system-client
     48 @X11
     49 %end

36행 수정 및 마지막 행에서 추가

 

그다음 

 /var/lib/tftpboot/pxelinux.cfg/default 파일을 수정해주자

vi /var/lib/tftpboot/pxelinux.cfg/default 
----------------------------vi 편집기-------------------------
ks=ftp://192.168.20.50/ks.cfg

APPEND 줄에 내용 추가

그리거 새로운 가상머신을 재시작하면

위 사진처럼 아무것도 조작하지 않아도

설치가 자동으로 진행된다!

'Linux > CentOS7' 카테고리의 다른 글

Linux 33. CentOS에서 침투 실습  (1) 2024.06.12
Linux 32 . 리눅스의 암호체계  (0) 2024.06.12
Linux 30 . Database 한글  (0) 2024.05.13
Linux 29. Database 이중화  (0) 2024.05.10
Linux 27. XE로 웹서비스  (0) 2024.05.07