Kickstart를 이용한 CentOS 자동 설치 가이드

Kickstart란 무엇이며 왜 중요할까요?

CentOS를 포함한 리눅스 시스템을 관리하다 보면 여러 대의 서버를 동일한 설정으로 반복적으로 설치해야 하는 경우가 많습니다. 매번 GUI 환경에서 마우스 클릭을 반복하며 설치하는 것은 매우 번거롭고 시간이 오래 걸리는 작업입니다. 이때 Kickstart라는 자동 설치 방법을 사용하면, 미리 정의된 설정 파일(Kickstart 파일)을 이용하여 설치 과정을 자동화할 수 있습니다. 즉, 사람이 개입하지 않아도 서버가 알아서 설치되는 것이죠.

Kickstart는 다음과 같은 면에서 중요합니다.

Kickstart 파일 살펴보기

Kickstart 파일은 텍스트 파일이며, 설치 과정에서 필요한 모든 설정 정보를 담고 있습니다. 이 파일은 크게 몇 개의 섹션으로 나뉘어지며, 각 섹션은 특정 기능을 담당합니다. 다음은 Kickstart 파일의 주요 섹션과 그 내용입니다.

기본 설정 섹션

이 섹션에서는 설치에 필요한 기본적인 정보를 정의합니다.

파티션 설정 섹션

이 섹션에서는 디스크 파티션을 설정합니다. 파티션을 어떻게 나눌지, 어떤 파일 시스템을 사용할지 등을 정의합니다.

패키지 선택 섹션

이 섹션에서는 설치할 패키지를 지정합니다.

스크립트 섹션

이 섹션에서는 설치 전후에 실행할 스크립트를 지정합니다. 설치 환경을 사용자 정의하거나, 특정 작업을 자동화하는 데 유용합니다.

Kickstart 파일 예시:



#version=DEPRECATED

install

cdrom

lang en_US.UTF-8

keyboard us

network --bootproto=dhcp

rootpw --iscrypted $6$asdfasdfasdfasdf$asdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdf

firewall --enabled --ssh

authconfig --enableshadow --passalgo=sha512

selinux --enforcing

timezone Asia/Seoul

bootloader --location=mbr

clearpart --all --initlabel

part /boot --fstype=ext4 --size=200

part swap --size=2048

part / --fstype=ext4 --size=1 --grow

%packages

@core

vim

wget

%end

Kickstart 파일 생성 및 검증

Kickstart 파일을 직접 작성할 수도 있지만, Anaconda 설치 프로그램에서 제공하는 Kickstart 파일 생성 기능을 이용하는 것이 더 편리합니다. 이미 설치된 CentOS 시스템에서 system-config-kickstart 명령어를 실행하면 GUI 환경에서 Kickstart 파일을 생성할 수 있습니다. 이 도구를 사용하면 각 섹션별 설정을 쉽게 구성하고, 오류를 줄일 수 있습니다.

Kickstart 파일을 생성한 후에는 반드시 문법 오류가 없는지 확인해야 합니다. ksvalidator 명령어를 사용하여 Kickstart 파일을 검증할 수 있습니다.



ksvalidator kickstart.cfg

만약 오류가 있다면, 오류 메시지를 확인하여 Kickstart 파일을 수정해야 합니다.

Kickstart를 이용한 설치 방법

Kickstart 파일을 준비했다면, 이제 Kickstart를 이용하여 CentOS를 설치할 수 있습니다. Kickstart 파일을 사용하는 방법은 여러 가지가 있습니다.

CD-ROM/DVD

Kickstart 파일을 CD-ROM 또는 DVD에 저장하고, 부팅 시 linux ks=cdrom:/kickstart.cfg 와 같이 커널 파라미터를 전달합니다. kickstart.cfg는 Kickstart 파일의 이름입니다. CD-ROM/DVD의 루트 디렉토리에 Kickstart 파일을 위치시켜야 합니다.

USB 드라이브

Kickstart 파일을 USB 드라이브에 저장하고, 부팅 시 linux ks=hd:sdb1:/kickstart.cfg 와 같이 커널 파라미터를 전달합니다. sdb1은 USB 드라이브의 파티션 이름입니다. USB 드라이브의 파티션에 Kickstart 파일을 위치시켜야 합니다.

네트워크(HTTP, FTP, NFS)

Kickstart 파일을 네트워크 서버에 저장하고, 부팅 시 linux ks=http://서버주소/kickstart.cfg 또는 linux ks=ftp://서버주소/kickstart.cfg 또는 linux ks=nfs:서버주소:/경로/kickstart.cfg 와 같이 커널 파라미터를 전달합니다. 네트워크 서버는 Kickstart 파일을 제공할 수 있도록 설정되어 있어야 합니다.

가상 콘솔

부팅 시 프롬프트에서 linux ks=file:/mnt/source/kickstart.cfg 와 같이 입력할 수도 있습니다. 이 방법은 주로 ISO 이미지를 마운트한 상태에서 Kickstart 파일을 사용하는 경우에 사용됩니다.

예를 들어, VM웨어에서 CentOS ISO 이미지를 마운트하고, Kickstart 파일을 ISO 이미지에 포함시켜서 설치하는 경우, 가상 콘솔에서 다음과 같이 입력할 수 있습니다.



linux ks=file:/mnt/source/kickstart.cfg

실생활에서의 활용 방법

Kickstart는 다양한 환경에서 활용될 수 있습니다.

유용한 팁과 조언

흔한 오해와 사실 관계

자주 묻는 질문과 답변

비용 효율적인 활용 방법

Kickstart는 무료로 제공되는 오픈 소스 도구이므로, 별도의 비용이 발생하지 않습니다. 하지만, Kickstart를 효과적으로 활용하기 위해서는 다음과 같은 점들을 고려해야 합니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다