PXE 설치 서버

여러 컴퓨터에 OS나 기본적인 설정을 하려고 할 때 매 컴퓨터에 세팅하는게 아니라 PXE설치 서버를 준비하고, 설치 파일을 빈 컴퓨터에 네트워크로 전송해 설치하는 개념이다.

 

PXE 서버 구현

  1. dnf  -y install  syslinux dhcp-server tftp-server vsftpd 로 필요 패키지를 설치한다.

  2. 방화벽에 필요 포트를 열거나 방화벽을 잠시 꺼놓는다. systemctl stop/disable firewalld

  3. /etc/dhcp/dhcpd.conf 파일에 아래 내용을 추가한다.

    • subnet  192.168.111.0   netmask 255.255.255.0 {

    •     option routers 192.168.111.2;

    •     option subnet-mask      255.255.255.0;

    •     range dynamic-bootp     192.168.111.120 192.168.111.199;

    •     option  domain-name-servers     192.168.111.2;

    •     allow   booting;

    •     allow   bootp;

    •     next-server     192.168.111.100;

    •     filename        "pxelinux.0";

    • }

  4. /etc/vsftpd/vsftpd.conf 파일에서 Anonymous 제약을 YES로 변경한다.

  5. 서버 DVD에 Linux ISO파일을 넣고 umount /dev/cdrom 으로 마운트를 해제한다. (하드orSSD에 ISO파일을 복사해놓고 사용한다면 이 과정은 필요없다. DVD에서 읽어올 필요가 없기 때문에 속도도 더 빠르다.)

  6. mount /dev/cdrom /var/ftp/pub/ 명령어로 /var/ftp/pub/ 디렉터리에 ISO파일을 마운트해준다.

  7. 아래 명령어로 tftpboot 디렉터리에 필요한 파일들을 넣는다.

    1. cp /var/ftp/pub/image/pxeboot/vmlinuz  /var/lib/tftpboot/

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

    3. cp /var/ftp/pub/isolinux.c32  /var/lib/tftpboot/

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

  8. mkdir /var/lib/tftpboot/pxelinux.cfg  명령어로 부팅 디렉터리를 만들고 default 파일을 생성한 후 아래 내용을 넣는다.

    • DEFALUT  CentOS8_Auto_Install

    • LABEL    CentOS8_Auto_Install

    • kernel    vmlinuz

    • APPEND    initrd=initrd.img    repo=ftp://192.168.111.100/pub

  9. systemctl restart/enable dhcpd/vsftpd/tftp 명령어로 각 시스템을 재시작/상시가동 한다.

  10. 클라이언트 컴퓨터들은 DHCP서버에서 IP를 받고, TFTP서버에서 부팅 정보를 받고, FTP서버(or웹 서버)에서 실제 이미지 파일을 받아서 OS를 설치하게 된다.

 

위 과정으로 PXE 설치 서버 과정은 끝났는데, 위에서 한 설정만으로는 각 PC에서 OS의 설정을 또 해줘야 한다. OS의 설정까지 모두 완료된 내용을 설치하도록 하는 것이 킥스타트 라고 한다.

PXE 설치 서버에 OS 설정 내용까지 포함시켜보자

 

킥스타트 설정

  1. cp /root/anaconda-ks.cfg /var/ftp/centos.ks 명령어로 서버의 os설정 내용을 ftp디렉터리에 복사해 넣는다.

  2. 복사해온 centos.ks 파일의 내용에서 아래 부분을 수정한다.

    1. 7행 url --url=ftp://192.168.111.100/pub 으로 변경한다.(ftp 서버)

    2. %packages %end 사이에 필요한 패키지 내용을 추가해서 넣는다. (@^Server with GUI, @HNOME Applications 등)

  3. /var/lib/tftpboot/pxelinux.cfg/default 파일에서 아래 내용을 추가한다.

    1. APPEND 젤 뒤에 ks=ftp://192.168.111.100/centos.ks (IP는 ftp 서버 IP)

  4. 킥스타트를 사용할 땐 서버의 설정을 가져오기 때문에 클라이언트의 스토리지가 서버보다 작으면 안된다.

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

프록시서버  (0) 2020.11.13
DHCP 서버  (0) 2020.11.13
Samba 서버  (0) 2020.11.13
NFS서버  (0) 2020.11.13
FTP 서버  (0) 2020.11.13

+ Recent posts