참고자료 : http://blog.osti.kr/os/pxe-kickstart-server-%EA%B5%AC%EC%84%B1/
[kickstart 만들기]
작업환경 : CentOS 6.5(64bit)
1. centos 설치
http://mirror.oasis.onnetcorp.com/centos/6.5/isos/x86_64/ 에서
CentOS-6.5-x86_64-bin-DVD1.iso 다운로드
vmware에 설치
ip 설정 : 192.168.1.10(bridge 모드로 nic 선택)
2. yum repository 지정
cd의 미디어를 레포지터리로 지정(ip를 브릿지로하면 외부와 통신 안되서 yum이 안됨 그래서 cd에 있는 rpm들을 이용하여 설치)
mkdir /localrepo
cp -a /media/CeonOS_6.5_Final/* /var/www/html/CentOS6.5-x86_64/
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
vi /etc/yum.repos.d/base.repo
[base]
name=CentOS 6.5 Server
baseurl=file:///var/www/html/CentOS6.5-x86_64/
enabled=1
gpgcheck=0
yum repolist
3. kickstart 필요 패키지 설치
yum install -y dhcp tftp-server httpd syslinux system-config-kickstart vsftpd
4. tftp 설정
# mkdir -p /tftpboot/CentOS6.5-x86_64
# cp /var/www/html/CentOS6.5-x86_64/initrd.img /tftpboot/CentOS6.5-x86_64
# cp //var/www/html/CentOS6.5-x86_64/vmlinuz /tftpboot/CentOS6.5-x86_64
# cp /usr/share/syslinux/menu.c32 /tftpboot
# cp /usr/share/syslinux/vesamenu.c32 /tftpboot
# cp /usr/share/syslinux/pxelinux.0 /tftpboot
5. dhcp 설정
# vi /etc/dhcp/dhcpd.conf
allow bootp;
allow booting;
max-lease-time 60;
default-lease-time 60;
ddns-update-style none;
option domain-name-servers 168.126.63.1, 168.126.63.2;
class "PXE" {
match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";
next-server 192.168.1.10; # Kick start 서버 ip
filename "pxelinux.0";
}
subnet 192.168.1.0 netmask 255.255.255.0 {
option broadcast-address 192.168.1.255;
#option routers 192.168.1.1; # gateway 지정. 외부망 연결이 필요 없다면 없어도 되고, 만약 라우터의 dhcp 서버가 on 이면 충돌이 나므로 지정하지 않거나 router의 dhcp server를 off로 하고 지정한다.
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.1.2 192.168.1.99; # kickstart OS 설치 때 부여받는 dhcp ip 영역
default-lease-time 21600;
max-lease-time 43200;
pool {
allow members of "PXE";
range 192.168.1.200 192.168.1.240; # pxe dhcp ip 영역
}
}
6. xinetd 설정
tftpd는 xinetd 아래서 운영되면 아래 파일을 수정해주어야 한다
# vi /etc/xinetd.d/tftp
disable = no
server_args = -s /tftpboot # tftp 관련 파일들이 있는 디렉토리
7. vsftpd 설정
vsftp는 굳이 필요 없지만 iso 파일 등 대용량 파일을 window 등으로 넘길때 유용하여 설치
root로 접속할 수 있게 설정
# vi /etc/vsftpd/ftpusers
#root # root도 접근 가능하게 주석 처리
8. 메뉴 구성
PXE 부팅 후 보이게되는 메뉴를 구성
# mkdir /tftpboot/pxelinux.cfg
# vi /tftpboot/pxelinux.cfg/default
timeout 50
menu title #### OS Installer Boot Menu ####
label Redhat6.5
kernel CentOS6.5-x86_64/vmlinuz
append ksdevice=link load_ramdisk=1 initrd=CentOS6.5-x86_64/initrd.img network ks=http://192.168.1.10/ks/ks_1.cfg
- timeout 50 : 5초간 부트 메뉴를 띄워준다. 메뉴를 건드리지 않으면 5초 이후에는 label 0 메뉴로 부팅이 된다.
- label 0 : 0번 메뉴가 기본 선택 - 따라서 Boot local hard drive 가 기본으로 선택된다.
- kernel redhat6.5/vmlinuz : /tftpboot/redhat6.5/vmlinuz 파일이다.
- initrd=redhat6.5/initrd.img : /tftpboot/redhat6.5/initrd.img 파일이다.
- ksdevice=link : NIC의 링크가 살아있는 장치로부터 cfg 파일을 받는다.
9. 서비스 기동
# chkconfig dhcpd on
# service dhcpd start
# chkconfig httpd on
# service httpd start
# chkconfig xinetd on
# chkconfig tftp on
# service xinetd start
##### dhcp를 처음 기동하면 /var/lib/dhcp/dhcpd.leases 파일이 없어 구동에 실패할 것이다.
이 파일은 DHCP 클라이언트 할당 데이터베이스를 저장하고 있는데 이 파일을 직접 수정하면 안된다.
최근에 할당된 개별 IP 주소에 대한 DHCP 할당 정보는 자동적으로 할당 데이터베이스에 저장됩니다
이 정보에는 할당 기간, IP 주소가 부여된 클라이언트, 할당이 시작되고 끝나는 날짜 그리고 할당받기 위하여 사용된 네트워크 인터페이스 카드의 MAC 주소가 포함되어 있습니다.
touch /var/lib/dhcp/dhcpd.leases 명령을 사용하여 파일을 생성하시기 바랍니다.
10. 킥스타트 파일 작성
# system-config-kickstart 명령을 실행하여 gui화면으로 설정
'IT > Linux' 카테고리의 다른 글
리눅스 파티션 조정하기 2 (fidsk) (0) | 2015.01.27 |
---|---|
리눅스 파티션 조정하기 (GParted) (1) | 2015.01.27 |
chkconfig 내용 중 필요한 서비스 (0) | 2015.01.23 |
각종 소프트웨어 다운로드 사이트 모음(지속 추가 예정) (0) | 2015.01.16 |
vmstat 명령어(시스템 리소스 상황 확인 명령어) (0) | 2014.12.03 |