티스토리 뷰
Kickstart는 PXE 부팅을 통해 네트워크로 여러 서버에 Linux OS를 자동설치 할 수 있도록 해주는 기술입니다.
1. TFTP 설치 및 설정
1) TFTP 설치
[root@Kickstart-server /]# yum install -y tftp tftp-server
2) TFTP 설정
- TFTP는 xinetd를 사용합니다. 이에 따라서 TFTP를 활성화 시켜주기 위해 disable의 값을 "yes"에서 "no"로 변경합니다.
- server_args는 TFTP를 적용할 폴더를 지정하여 줍니다.
[root@Kickstart-server /]# mkdir tftpboot
[root@Kickstart-server /]# mkdir /tftpboot/{kickstart,pxelinux.cfg,centos6.7}
[root@Kickstart-server /]# chmod +r -R /tftpboot/
[root@Kickstart-server /]# echo 'tftp dgram udp wait root /usr/sbin/tcpd in.tftpd /tftpboot'> /etc/inetd.conf
[root@Kickstart-server /]# vi /etc/xinetd.d/tftp
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
2. syslinux 설치
- syslinux는 PXE 부팅을 위한 "pxelinux.0"파일을 제공합니다.
[root@Kickstart-server /]# yum install -y syslinux
3. DHCP 설치 및 설정
- DHCP 서버는 Client에게 IP를 할당해 주는 역할을 합니다.
1) DHCP 설치
[root@Kickstart-server /]# yum install -y dhcp dhcp-devel
2) DHCP 설정
[root@Kickstart-server /]# vi /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.sample
# see 'man 5 dhcpd.conf'
#
subnet 192.168.210.0 netmask 255.255.255.0 { # 로컬 네트워크의 대역 지정
# --- kickstart config
filename "pxelinux.0";
next-server 192.168.210.10; # Kickstart 서버 IP 입력
# --- default gateway
option routers 192.168.210.254; # Gateway 입력
option subnet-mask 255.255.255.0; # Netmask 입력
option domain-name-servers 168.126.63.1; # NS server 입력
option time-offset -18000; # 표준시간의 offset을 설정합니다.
range 192.168.210.20 192.168.210.200; # DHCP 할당 범위 설정
default-lease-time 21600; # IP 임대시간 설정
max-lease-time 43200; # IP 최대 임대시간 설정
}
4. OS 설치에 필요한 ISO 이미지 파일 다운로드 및 Mount
[root@Kickstart-server /]# mkdir iso
[root@Kickstart-server /]# wget -P /iso http://ftp.neowiz.com/pub/centos/6.7/isos/x86_64/CentOS-6.7-x86_64-bin-DVD1.iso
[root@Kickstart-server /]# mkdir /mnt/md0
[root@Kickstart-server /]# mount -t iso9660 -o loop /iso/CentOS-6.7-x86_64-bin-DVD1.iso /mnt/md0
5. NFS 설치 및 설정
- NFS(Network File System)는 네트워크를 통해 파일을 공유할 수 있도록 만든 프로토콜입니다.
1) NFS 설치
[root@Kickstart-server /]# yum install -y nfs-utils
2) NFS 설정
[root@Kickstart-server /]# echo '/mnt/md0 192.168.210.0/24(ro)'> /etc/exports
[root@Kickstart-server /]# echo '/tftpboot/kickstart 192.168.210.0/24(ro)'>> /etc/exports
[root@Kickstart-server ~]# exportfs -a
6. 부팅이미지 복사 및 pxelinux 설정
[root@Kickstart-server /]# cp /usr/share/syslinux/pxelinux.0 /tftpboot
[root@Kickstart-server /]# cp /mnt/md0/images/pxeboot/{vmlinuz,initrd.img} /tftpboot/centos6.7
[root@Kickstart-server /]# vi /tftpboot/pxelinux.cfg/default
timeout=30
default CentOS6.7
label CentOS6.7
kernel centos6.7/vmlinuz
append ksdevice=link load_ramdisk=1 initrd=centos6.7/initrd.img network ks=nfs:192.168.210.10:/tftpboot/kickstart/ks.cfg
7. kickstart 파일 생성
[root@Kickstart-server /]# vi /tftpboot/kickstart/ks.cfg
install #install or upgrade
text #setup mode setting
nfs --server=192.168.210.10 --dir=/mnt/md0 # nfs directory, img mount
keyboard us # 키보드 설정
network –bootproto dhcp # Network setting
rootpw 123123!@ # Password setting
selinux –disabled # selinux down
authconfig –enableshadow –enablemd5 # 시스템에서 사용될 인증 옵션
timezone Asia/Seoul # time zone setting
bootloader –location=mbr # bootloader setting
clearpart –initlabel –all # 모든 파티션 삭제
%packages #설치할 패키지list
@devlopoment-tools
%post #설치가 완료된 후 추가로 설정해야될 list
8. service restart
[root@Kickstart-server /]# service xinetd restart
[root@Kickstart-server /]# service dhcpd restart
[root@Kickstart-server /]# /etc/init.d/portreserve restart
[root@Kickstart-server /]# service nfs restart
9. Client PXE Boot
'[Server Story] > Linux' 카테고리의 다른 글
[Linux] LVM 구성 - 신규 LVM 구성 (2) | 2017.11.14 |
---|---|
[Linux] LVM 구성 - Linux 설치 시 생성 (0) | 2017.11.14 |
[CentOS] THP(Transparent Huge Pages) 란? (1) | 2017.11.07 |
[CentOS] Single Mode(싱글모드) Booting (0) | 2017.11.03 |
[CentOS] Runlevel (0) | 2017.11.03 |