Cloud System Engineer

PXE 본문

리눅스/centos

PXE

클라우드 엔지니어 2021. 2. 9. 00:52

우리가 IDC 에 있다고 가정해보자

 

IDC 증설로 인해 장비가 들어왔다.

효율적으로 일을해야하니, 많은 장비를 일일히 USB를 꽂아서 설치할 순 없다 이를 해결해준게 PXE 

 

PXE 란? 특정 서버로부터 부팅 이미지 파일을 전송 받아서, - 이로부터 자동설치, 자동설정 까지 해주는 기능이다.

 

필요한 것을 다운받자.

yum -y install syslinux dhcp tftp-server vsftpd

 

 

DHCP 설정

vi /etc/dhcp/dhcpd.conf

 

subnet  10.10.0.0    netmask 255.255.255.0 {

        option routers                  10.10.0.2;  //게이트웨이
        option subnet-mask              255.255.255.0;
        range  dynamic-bootp            10.10.0.230 10.10.0.240; //dhcp 를 10.10.0.230~10.10.0.240 까지 뿌리겠다.
        option domain-name-servers      8.8.8.8;

        allow booting;
        allow bootp;
        next-server                     10.10.0.131;  // 클라이언트가 안내받을 주소
        filename "pxelinux.0";   //어떤 파일을 받아올 것인가?
}

 

systemctl restart dhcpd
systemctl status dhcpd // 상태확인 무조건 필수 나중에 피곤해질수가 있음...

 

우리를 항상 괴롭히는 방화벽을 다 끄자

systemctl stop firewalld
systemctl disable firewalld
setenforce 0
getenforce --> permissive

 

 

## tftp 설정

// 이미지를 교환하기 위함

vi /etc/xinetd.d/tftp
- disable의 'yes'를 'no'로 수정

 

systemctl restart tftp

 

vm 우클릭 후 setting에서 cd-rom에 centos 7 iso 파일을 넣고 연결한다.

 

 

'connected' 체크하고 확인. (바탕화면에 CD가 보임)

 

 

 

mount /dev/cdrom /media
iso 파일이 들어있는 /dev/cdrom을 '/media' 폴더에 마운트

cp -r /media/* /var/ftp/pub
iso파일이 마운트된 /media 폴더의 모든 내용물을 /var/ftp/pub으로 복사

 

cp /var/ftp/pub/images/pxeboot/vmlinuz /var/lib/tftpboot

/pxeboot/vmlinuz // 커널을 압축해 놓은 파일

 

cp /var/ftp/pub/images/pxeboot/initrd.img /var/lib/tftpboot

/initrd.img // 초기에 한번만 실행되는 램 디스크 이미지 파일이다.

 

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

mkdir /var/lib/tftpboot/pxelinux.cfg

touch /var/lib/tftpboot/pxelinux.cfg/default //pxelinux.cfg 디렉터리안에 default 빈파일 생성

 

vi /var/libtftpboot/pxelinux.cfg/default 

다음과 같이 수정한다.

 

DEFAULT CentOS7_Auto_Install

LABEL CentOS7_Auto_Install
  kernel vmlinuz

  APPEND initrd=initrd.img repo=ftp://10.10.0.131/pub

 

 

systemctl enable tftp
systemctl restart vsftpd
systemctl enable vsftpd

 

pxe 서버로 부터 받을 client 를 생성한다.

 

 

 

스타트를 누르게 되면 pxe 서버로부터 dhcp ip를 받아오게되고 img 를 읽게된다.

 

 

 

언어, 어떤운영체제를 설치해야할지,저장소 등 일일히 다 설정해줘야한다.

 

pxe + kickstart 해주면 
미리 설정값을 다 잡아주고
그 설정파일까지 연동시켜주면 
자동으로 모두 설정이된다.

 

킥 스타트 설치

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

 

 

 

설치 완료되면 시스템 도구에 킥스타트가 생겼다.

 

킥스타트 설정과정

 

basic config 에서 
시간 설정이랑
root password 를 미리 설정할수도있고 설치과정에서 직접 넣을수도 있다.
reboot systemd atfer ~ 설치가 끝나면 재부팅해라

 

 

ftp 서버는 pxe 서버의 ip고 디렉터리는 pub이다.

 

 

 

반드시 기본적으로 설정되는 파티션은 root 저장소 swap 저장소이다. 그렇기에 파티션 생성을 해줘야 한다.

 

 

설정이 완료됐으면 저장하기를 누른다.  저장경로는 파일시스템 -> /var/ftp 폴더안에 넣기로한다.

 

 

아까 저장한 경로로 가서

vi /var/ftp/centos.ks 

몇가지 설정을 해야한다.

 

%packages
@base
@core
@directory-client
@fonts
@gnome-desktop
@input-methods
@internet-browser
@java-platform
@multimedia
@network-file-system-client
@x11
%end

%패키지부터 %end 까지 포함되어있는것을 설치해라

 

vi /var/libtftpboot/pxelinux.cfg/default 에서 기존에 있던 설정에 ks=ftp://10.10.0.131/centos.ks 를 붙인다. 

 

DEFAULT CentOS7_Auto_Install

LABEL CentOS7_Auto_Install
  kernel vmlinuz

  APPEND initrd=initrd.img repo=ftp://10.10.0.131/pub ks=ftp://10.10.0.131/centos.ks

 

저장하고 나온다.

 

 systemctl restart vsftpd tftp dhcpd

 

다시 pxe client 로가서 스타트를 누른 후

 

 

 

pxe-server 에서 설정한 그대로 자동으로 진행된다.

'리눅스 > centos' 카테고리의 다른 글

RAID 0 , 1 , 5 복구  (0) 2021.02.09
RAID 0 ,1 , 5 고장  (0) 2021.02.09
RAID 0 , 1 , 5 구축  (0) 2021.02.08
RAID Linear 방식  (0) 2021.02.06
LVM  (0) 2021.01.28