본문으로 바로가기

CentOS6.x PXE 설치 Kickstart 설정

category Gift/Linux 2017. 8. 24. 12:48


PXE 서버 구축방법은 다른 블로그에 잘 설명돼있으나,Kickstart에 관련된 글은 거의 영어거나 정리가 잘 돼있지않은거같아 포스팅합니다.

혹시 PXE 서버 구축방법 잘 설명돼 있는 블로그 찾으시는분은 아래 링크 타고가시면 설명 잘 돼있습니다.


관련문서

Debian PXE Kickstart 설정

http://getmovie.tistory.com/entry/리눅스로-만능-PXE-서버-만들기-1


PXE를 사용하는 이유가 보통 여러대의 서버를 빠르게 설치 및 편리하게 서버설정을 하기 위함인데 Kickstart 없이 설치를 하게되면 하나하나설정해줄것도 많고 cd나 usb로 설치하는거랑 별반 차이가 없기 때문에 Kickstart 사용을 권합니다.


1.Kickstart 파일

#version=DEVEL
install
nfs --server=192.168.0.1 --dir=/home/Centos6.9
lang en_US.UTF-8
keyboard us
network --onboot yes --device eth0 --bootproto dhcp --noipv6 --hostname test
timezone --utc Asia/Seoul

#passwd 1
rootpw --iscrypted $1$QG5V7/$XBkljYkkhXYhZuIyDVP5A/

selinux --disabled
authconfig --enableshadow --passalgo=sha512
firewall --disabled

clearpart --linux --drives=sda

part /boot --fstype="ext4" --size=1024
part swap --fstype="swap" --size=8196
part / --fstype="ext4" --grow --size=1

bootloader --location=mbr

user --name=test --homedir=/home/test --password=$1$QG5V7/$XBkljYkkhXYhZuIyDVP5A/ --iscrypted

%packages
@base
@Development Tools
@Additional Development
@Desktop Platform Development

%end

%post
# Modify ssh_config
/bin/sed -i 's/#PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
/bin/sed -i 's/#Port 22/Port 22/' /etc/ssh/sshd_config

/sbin/service sshd restart

/sbin/iptables -F
/sbin/service iptables save

%end

reboot --eject

CentOS6.9를 포함한 그 이전버전 까지 사용가능한 PXE Kickstart 설정이고, NFS 방식을 사용하였습니다.

CentOS7부터는 Kickstart 설정이 변경되어서 7버전 부터는 PXE 설치시 다른 설정을 사용하셔야합니다.

CentOS7 Kickstart 설정은 다음글에서 포스팅하겠습니다.


위 옵션들중

nfs --server=192.168.0.1 --dir=/home/Centos6.9

위 부분만 사용하시는 PXE 서버설정에 맞게 수정해서 사용하시면 파티션설정,패키지선택,설치 후 SSH 설정까지 자동으로 설치가 됩니다.


혹여 OS디스크 외에 데이터 디스크도 같이있다면, 데이터 디스크는 빼고 설치를 하거나 위에 파티션 설정부분은 주석처리하고 설치진행
그 이유는 파티션 자동설정 부분이 인식되는 모든 디스크를 같이 사용하기때문에 여러개의 디스크에 같이 파티션 설정을 하게되어 재설치를 하셔야되는 불상사가 생길 수 있습니다.



root 패스워드와 유저 test의 비밀번호는 1로 통일되어 있고, 변경을 원하시면



위 사진과 같이 grub-md5-crypt 명령어를 이용하여 md5 해시값을 생성한 후 복사해서 위 킥스타트 설정파일에 붙여넣어주시면됩니다.



2. /tftpboot/pxelinux.cfg/default 수정

label CentOS6.9_x64
  menu label CentOS6.9(64bit)
  kernel centos6.9/vmlinuz
  append initrd=centos6.9/initrd.img ksdevice=eth0 network ks=nfs:192.168.0.1:/tftpboot/ks/centos6.9.cfg

위 부분도 사용하시는 PXE서버 설정에 맞게 수정해서 사용하시면 됩니다.



*NFS 권한 에러나올때

[root@pxe ~]$ echo "/home/centos6.9 *(rw,no_root_squash)" >> /etc/exports
[root@pxe ~]$ echo "/tftpboot *(rw)" >> /etc/exports

[root@pxe ~]$ cat /etc/exports /home/centos/centos6.9 *(rw,no_root_squash) /tftpboot *(rw) [root@pxe ~]$ exportfs -ar exportfs: *:/home/centos6.9 [root@pxe ~]$ exportfs -av exporting *:/home/centos6.9