관리 메뉴

IT창고

리눅스 Kickstart 본문

서버운영/Linux

리눅스 Kickstart

방구석여포 2017. 9. 28. 00:37

리눅스의 kickstart는 PXE 구성과 비슷합니다. 킥스타트는 리눅스의 설치를 자동으로 해주는 서버로 kickstart서버를 통해 다른 많은 컴퓨터에게 리눅스OS를 설치를 해줍니다. 킥스타트 서버 구성은 PXE와 비슷한 부분이 많으니 참고합니다.

2017/09/25 - [서버운영] - 리눅스 PXE


kickstart서버 구성은 가상머신을 사용하여 실습해보겠습니다.

1. 패키지를 설치합니다.

yum -y install tftp-server syslinux dhcp nfs-utils 을 입력해서 필요한 패키지를 다운로드합니다.


2. tftp파일을 설정합니다.

vi /etc/xinetd.d/tftp 로 들어가서 server_args = -s /var/lib/tftpboot  -> -s /ks/tftpboot , disable =yes -> no 로 바꿔줍니다.


3. 디렉토리를 생성합니다.

tftp파일에 경로를 설정했다면 해당 경로에 디렉토리를 생성합니다.mkdir -p /ks/tftpboot/{kickstart,pxelinux.cfg,centos6.9}디렉토리의 종류로 kickstart는 킥스타트 설정파일이 위치할 디렉토리이고 pxelinux는 메뉴를 구성할 파일이 위치하는 디렉토리이고 centos6.9는 CentOS6.9 커널이미지(vmlinuz)및 initrd.img 파일이 위치하는 디렉토리입니다.


4. DHCP를 설정합니다.

vi /etc/dhcp/dhcpd.conf 파일을 아래와 같이 수정합니다.

위의 설정을 하고 service dhcpd restart를 입력합니다.


5. 시디 이미지 마운트를 합니다.

 가상머신의 A리눅스에 Settings를 눌러 CD/DVD에 CentOS6.9-DVD.iso를 넣습니다. 그리고 mount -t iso9660 /dev/cdrom /mnt 를 입력하여 마운트를 합니다.


6. NFS 설정합니다.

vi /etc/exports 파일에 아래의 글을 입력합니다.

/mnt 100.100.100.0/24(ro)

/ks/tftpboot/kickstart 100.100.100.0/24(ro)

exportfs -a 를 입력하여 설정 아무것도 출력되지않았다면 정상이고 exportfs -v 로 확인합니다.


7. 파일 복사합니다.

cp /usr/share/syslinux/{pxelinux.0,menu.c32} /ks/tftpboot

cp /mnt/images/pxeboot/{initrd.img,vmlinuz} /ks/tftpboot/centos6.9

디렉토리에 파일을 복사합니다.


Tip. booting process

Computer On -> CPU가 ROM에 위치한 BIOS를 실행 -> POST과정을 진행 -> HDD를 찾아, 해당 HDD의 첫 번째 Sector을 읽어(MBR) 부트로더 실행 -> /boot/grub/grub.conf-> 해당 파일에 명시된 옵션을 보고 실행할 파일을 결정 -> vmlinuz 파일을 메모리로딩 하여(압축해제) 메모리에 디렉토리구조 생성, initrd.img 파일이 압축해제가되어 커널이 동작하기 위한 파일을 제공 -> 커널이 동작하면 하드디스크에 디렉토리 구조를 생성


8.  킥스타트 메뉴 파일을 만듭니다.

vi /ks/tftpboot/pxelinux.cfg/default 파일에 아래와 같이 수정합니다.

ksdevice=link는 킥스타트 동작시 사용할 인터페이스 지정 link -> 현재 활성화되어있는 인터페이스 사용 eth0, bond0으로 사용가능합니다. ks는 킥스타트 설정파일을 다운받을 경로입니다. (nfs, ftp, http 등이 올수있습니다)


9. 서비스를 시작합니다.

service xinetd restart -> service dhcpd restart -> service rpcbind restart -> service nfs restart 를 순서대로 입력합니다.

혹시 안된다면 service iptables stop , setenforce 0 를 입력합니다.


10. 킥스타트 설정 파일을 수정합니다.

vi /ks/tftpboot/kickstart/ks.cfg 파일에 아래와 같이 입력합니다.

/root 디렉토리안에 anaconda-ks.cfg 를 참고하여 설정합니다. 위의 내용은 첫줄부터 순서대로 실행되는데 설치과정을 순서를 작성하면 됩니다.


11. 테스트 준비를 해봅니다.

시작하기 전에 A리눅스에 DVD.iso파일를 꼭 마운트를 확인합니다 A리눅스가 Power on되어있어야 킥스타트 서버를 사용할수있습니다.


12. ks.cfg 파일에 사용할수있는 옵션을 확인합니다. 

ks.cfg파일에 사용할 옵션을 https://access.redhat.com/documentation/ko-KR/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/s1-kickstart2-options.html 사이트에서 확인합니다. 추가로 사용할 옵션을 확인하고 파일에 적용합니다.


13. 실습을 합니다.

가상머신에 새로운 OS가 설치되지않은 리눅스를 하나 생성하고 Power on을 눌러 실행합니다.

킥스타트 서버가 정상적으로 설정되어있다면 Power on하고 아무것도 설정안해도 자동으로 OS를 설치가 완료됩니다.


'서버운영 > Linux' 카테고리의 다른 글

리눅스 WEB2 설정  (0) 2017.09.30
리눅스 WEB 설정  (0) 2017.09.28
리눅스 PXE  (0) 2017.09.25
리눅스 Samba(삼바) 서버 설정  (0) 2017.09.23
리눅스 NFS 설정  (0) 2017.09.21
Comments