Ossian Story
article thumbnail

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




 

profile

Ossian Story

@ossians