PXE , Kick start
* PXE ( Pre-boot eXecution Environment )
- 사전 부팅 실행 환경
- 네트워크 인터페이스 ( NIC )를 통해 부팅하는 환경
* kick start
- 운영체제 설치시 필요한 모든 설정과
설치 후에 해야될 설정까지 모두 자동으로 구성해주는 기능/환경
! 서버 구축
1. 방화벽 해지
#setenforce 0
#service iptables stop
2. 패키지 설치
#yum -y install tftp-server syslinux dhcp nfs-utils
3. TFTP 서버 설정
#vi /etc/xinetd.d/tftp
-----------------------------------
(13번행) server_args = -s /ks/tftpboot // 홈디렉터리
(14번행) disable = no // tftp 사용
:wq
-----------------------------------
4. 서버의 디렉터리 구조 생성
#mkdir -p /ks/tftpboot/kickstart
#mkdir /ks/tftpboot/pxelinux.cfg
#mkdir /ks/tftpboot/centos6.9
#ls /ks/tftpboot // 디렉터리 확인
5. DHCP서버 설정
#vi /etc/dhcp/dhcpd.conf
-------------------------------
subnet 100.100.100.0 netmask 255.255.255.0 {
range 100.100.100.10 100.100.100.20;
option routers 100.100.100.2;
option subnet-mask 255.255.255.0;
option broadcast-address 100.100.100.255;
option domain-name-servers 168.126.63.1 , 168.126.63.2;
default-lease-time 30000;
max-lease-time 60000;
filename "pxelinux.0"; //DHCP 서버로부터 IP를 받은 클라이언트가
실행할 파일의 이름
}
:wq
-------------------------------
#service dhcpd start
6. 리눅스 이미지 마운트
-> Server-A
-> Settings
-> CD/DVD-ROM
-> Centos6.9.DVD1.iso 탑재 ( Connect 체크 확인 )
@Server-A
#mount -t iso9660 /dev/cdrom /mnt
#df -h
7. 부트로더 , 커널관련 파일 복사
#cp /usr/share/syslinux/pxelinux.0 /ks/tftpboot // 부트로더 파일
#cp /usr/share/syslinux/menu.c32 /ks/tftpboot // 메뉴구성 파일
#cp /mnt/images/pxeboot/initrd.img /ks/tftpboot/centos6.9 // 초기 램디스크 이미지파일 (커널 모듈)
#cp /mnt/images/pxeboot/vmlinuz /ks/tftpboot/centos6.9 // 커널 이미지 파일
8. NFS 설정 // nfs를 통해 패키지들을 클라이언트에게 제공
#vi /etc/exports
-----------------------------
/mnt 100.100.100.0/24(ro)
/ks/tfptboot/kickstart 100.100.100.0/24(ro)
:wq
----------------------------
#exportfs -vr // 확인
9. 킥스타트 메뉴파일 작성
#vi /ks/tftpboot/pxelinux.cfg/default ( 생성 )
----------------------------------------------
default menu.c32 // 실행할 파일이름
prompt 0 // 프롬프트(명령) 사용여부
timeout 100 // 메뉴대기시간 10초
LABEL CentOS6.9 // 설정을 구분하기 위한 이름
MENU LABEL ^0) CentOS 6.9 64bit Install ( NFS ) // 메뉴에 출력될 내용
KERNEL /centos6.9/vmlinuz // 커널의 이미지파일 경로
APPEND initrd=/centos6.9/initrd.img load_ramdisk=1 network ksdevice=link ks=nfs:100.100.100.100:/ks/tftpboot/kickstart/ks.cfg // 추가 옵션사용
:wq
---------------------------------------------
10. 킥스타트 설정 파일 ( 구글 -> Redhat kickstart 32.4 킥스타트 옵션 검색 )
#vi /ks/tftpboot/kickstart/ks.cfg ( 생성 )
-----------------------------------------
install
text
nfs --server=100.100.100.100 --dir=/mnt/
lang en_US.UTF-8
keyboard us
network --onboot yes --device eth0 --bootproto dhcp --noipv6
rootpw 111111
firewall --disabled
selinux --disabled
authconfig --enableshadow --passalgo=sha512
timezone --utc Asia/Seoul
bootloader --location=mbr --driveorder=sda, --append="rhgb quiet"
clearpart --initlabel --all
zerombr
part /boot --fstype=ext4 --size=200
part swap --size=512
part / --fstype=ext4 --grow --size=200
reboot
%packages
@core
@korean-support
%end
:wq
-------------------------------------------
11. 서비스 시작
#service xinetd restart
#service rpcbind restart
#service nfs restart