CentOS8 PXE 설치
05 Jan 2021 | Linux/CentOSCentOS8 PXE 설치
이것이 리눅스다 의 Chapter19 PXE 설치의 실습내용입니다.
PXE (Preboot Execution Environment)란 여러 대의 컴퓨터에 운영체제를 설치 할 때 한 방에 해결해주는 인터페이스를 지칭한다.
DHCP 서버와 부팅파일을 전송할 TFTP서버, 운영체제 설치파일을 전송할 FTP서버로 구성된다.
server 컴퓨터로 접속하여 dnf 명령으로 dhcp-server, tftp-server, vsftpd 패키지를 설치하자.
원활한 실습을 위해 firewalld는 꺼두자.
먼저 DHCP 설정파일을 편집한다. vi 혹은 gedit으로 /etc/dhcp/dhcpd.conf 파일을 연다.
range 범위를 주어서 몇 십대의 컴퓨터 동시에 IP를 할당 받을 수 있다.
부팅과 부팅 프로토콜을 허용하고 부팅 파일이 있는 서버의 주소와 부팅파일 이름을 추가하였다.
이번엔 FTP 서버의 설정파일을 편집한다. /etc/vsftpd/vsftpd.conf 파일을 열고 Anonymous 사용자의 접속을 허용하게 해보자.
tftp는 따로 설정할 것이 없다.
이제 centOS ISO 파일을 마운트하기 위해 VMware의 윈도우창에서 [Player] - [Removable Devices] - [CD/DVD] - [Setting]으로 ISO 파일을 연결한다.
/dev/cdrom의 mount를 잠시 umount로 끊고 /var/ftp/pub에다가 새로 마운트한다. dvd장치를 이용하면 여러 대의 컴퓨터가 접근시 속도가 느리므로 실전에서는 성능이 좋은 ssd 디렉토리에 iso 파일을 복사해놓고 시작하는 것이 좋다.
부팅 파일을 준비하기 위해 다음 파일들을 /var/lib/tftpboot/ 디렉토리에 복사하자.
/var/ftp/pub/images 디렉토리의 vmlinuz와 initrd.img
/var/ftp/pub/isolinux 디렉토리의 ldlinux.c32
/usr/share/syslinux 디렉토리의 pxelinux.0 (sysliux 디렉토리가 없다면 syslinux 패키지 설치)
잘 가져왔나 확인해보자.
/var/lib/tftpboot 디렉토리에 별도로 pxelinux.cfg 디렉토리를 만들고 default 설정 파일을 생성하자.
default 파일을 열어 다음과 같이 작성한다.
부팅 Label을 지정하고 Label이 시작되면 커널을 지정하고 CentOS 패키지 저장소를 지정한다.
dhcpd와 vsftpd, tftp를 재가동 시키고 상시가동으로 해놓는다.
직접 구축한 DHCP를 사용하려면 VMware에서 제공하는 DHCP 서비스를 중지해야한다.
VMware workstation pro의 Network Editor를 켜서 Vmnet8의 DHCP 서비스를 중지하자.
이제 실습을 위해 새로운 가상머신을 생성하는데 CD/DVD, USB가 없는 컴퓨터로 만들자.
가상머신을 가동시키면 자동으로 TFTP에 접속해 파일을 다운로드한다.
조금 더 기다리면 설치화면이 아주 잘 나온다.
하지만 설정, 디스크 파티션 설정 등등은 일일이 해주어야하는데 그게 100대의 컴퓨터라면?
그 문제점을 해결해주는 것이 바로 ‘킥스타트’ 이다.
부팅 후 필요한 작업들도 미치 설정할 수 있게 해주는 편리한 녀석이다.
다시 server 컴퓨터로 돌아가서 킥스타트를 구현하자.
/root/anaconda-ks.cfg는 CentOS 설치시 설정한 정보가 담겨있다. 이 파일을 /var/ftp/centos.ks 파일로 복사하자.
편집기로 centos.ks 파일을 열고 다음과 같이 수정한다.
url을 걸어주고 cdrom 설치를 주석처리한다.
설치할 패키지를 지정하는데 @^환경그룹명, @그룹명, 패키지명 순으로 지정한다.
centos.ks 의 mod를 644로 바꾸어 외부에서 읽을 수 있게 한다.
마지막으로 /var/lib/tftpboot/pxelinux.cfg 디렉토리에 만든 default 설정파일을 열고 마지막 행의 맨 뒤에 킥스타트 설정파일인 centos.ks 를 연결해주자.
다시 새로운 가상머신을 작동시켜서 설치가 진행되는지 확인해보자.
주의할점은 server 컴퓨터의 설치 설정을 그대로 가져왔으므로 하드디스크의 용량을 똑같이 80Gb, SCSI로 설정해주어야한다는 것.
컴퓨터를 부팅시키면 server에서 설정한 root 비밀번호와 사용자명까지 그대로 설치가 자동으로 진행되는 것을 볼 수 있다.
끝.
참고자료
이것이 리눅스다 Chepter 19 PXE 설치