RHCSA 시리즈: ‘Kickstart’를 사용하여 RHEL 7 설치 자동화 – 제12부

리눅스 서버는 드물게 독립적인 상자로만 존재합니다. 데이터 센터나 실험실 환경에서든, 어떤 식으로든 서로 상호 작용할 여러 대의 기계를 설치해야 할 가능성이 높습니다. 단일 서버에 수동으로 Red Hat Enterprise Linux 7을 설치하는 데 걸리는 시간을 필요한 상자 수로 곱하면, 이는 설치 과정 중에 서버를 보살피는 것을 잊을 수 있는 kickstart라는 자동 설치 도구를 사용하여 피할 수 있는 상당한 노력으로 이어질 수 있습니다.

이 글에서는 설치 프로세스 중에 서버를 보살피는 것을 잊을 수 있도록 kickstart 유틸리티를 사용하는 데 필요한 것을 보여줄 것입니다.

RHCSA: Automatic Kickstart Installation of RHEL 7

Kickstart 및 자동 설치 소개

Kickstart는 주로 Red Hat Enterprise Linux (및 CentOS, Oracle Linux 등과 같은 다른 Fedora 파생판)에서 사용되는 자동 설치 방법으로, 비감시 운영 체제 설치 및 구성을 실행합니다. 따라서 kickstart 설치는 시스템 관리자가 각각을 수동으로 설치하지 않고도 패키지 그룹 및 시스템 구성에 대해 동일한 시스템을 가질 수 있도록 합니다.

Kickstart 설치 준비

Kickstart 설치를 수행하려면 다음 단계를 따르십시오:

1. Kickstart 파일을 만듭니다. 이는 몇 가지 사전 정의된 구성 옵션을 가진 일반 텍스트 파일입니다.

2. 킥스타트 파일을 이동식 미디어, 하드 드라이브 또는 네트워크 위치에 제공하십시오. 클라이언트는 rhel-server-7.0-x86_64-boot.iso 파일을 사용할 것이며, 전체 ISO 이미지(rhel-server-7.0-x86_64-dvd.iso)를 네트워크 리소스에서 사용할 수 있도록 해야 합니다. 예를 들어, HTTP나 FTP 서버와 같은 (현재 케이스에서는 IP가 192.168.0.18인 다른 RHEL 7 상자를 사용할 것입니다).

3. 킥스타트 설치를 시작하십시오

킥스타트 파일을 만들려면 Red Hat 고객 포털 계정으로 로그인하고, 원하는 설치 옵션을 선택하기 위해 킥스타트 구성 도구를 사용하십시오. 아래로 스크롤하기 전에 각각을 주의 깊게 읽고, 여러분의 요구에 가장 적합한 것을 선택하십시오:

Kickstart Configuration Tool

만약 설치가 HTTP, FTP, 또는 NFS를 통해 수행되어야 한다고 지정한다면, 서버 방화벽이 해당 서비스를 허용하는지 확인하십시오.

Red Hat 온라인 도구를 사용하여 킥스타트 파일을 만들 수 있지만, 다음 줄을 참조하여 수동으로 만들 수도 있습니다. 예를 들어, 설치 프로세스가 영어로 진행되며, 라틴 아메리카 키보드 레이아웃과 America/Argentina/San_Luis 시간대를 사용한다는 것을 알 수 있습니다:

lang en_US
keyboard la-latin1
timezone America/Argentina/San_Luis --isUtc
rootpw $1$5sOtDvRo$In4KTmX7OmcOW9HUvWtfn0 --iscrypted
#platform x86, AMD64, or Intel EM64T
text
url --url=http://192.168.0.18//kickstart/media
bootloader --location=mbr --append="rhgb quiet crashkernel=auto"
zerombr
clearpart --all --initlabel
autopart
auth --passalgo=sha512 --useshadow
selinux --enforcing
firewall --enabled
firstboot --disable
%packages
@base
@backup-server
@print-server
%end

온라인 구성 도구에서 설치 소스로 HTTP를 선택한 후 설치 섹션에서 HTTP 서버에는 192.168.0.18를, HTTP 디렉토리에는 /kickstart/tecmint.bin을 사용하십시오. 마지막으로 오른쪽 상단에 있는 다운로드 버튼을 클릭하여 kickstart 파일을 다운로드하십시오.

위의 kickstart 샘플 파일에서 주의해야 할 점이 있습니다.

url --url=http://192.168.0.18//kickstart/media

해당 디렉토리는 DVD 또는 ISO 설치 미디어의 내용을 추출해야 할 위치입니다. 그 전에 ISO 설치 파일을 루프 장치로 /media/rhel에 마운트하겠습니다:

# mount -o loop /var/www/html/kickstart/rhel-server-7.0-x86_64-dvd.iso /media/rhel
Mount RHEL ISO Image

다음으로, /media/rhel의 모든 내용을 /var/www/html/kickstart/media로 복사하십시오:

# cp -R /media/rhel /var/www/html/kickstart/media

작업을 완료하면 /var/www/html/kickstart/media의 디렉토리 목록 및 디스크 사용량은 다음과 같아야 합니다:

Kickstart Media Files

이제 kickstart 설치를 시작할 준비가 되었습니다.

kickstart 파일을 생성하는 방법에 관계없이 설치를 진행하기 전에 구문을 확인하는 것이 항상 좋습니다. 이를 위해 pykickstart 패키지를 설치하십시오.

# yum update && yum install pykickstart

그런 다음 파일을 확인하려면 ksvalidator 유틸리티를 사용하십시오:

# ksvalidator /var/www/html/kickstart/tecmint.bin

구문이 올바르면 출력이 없을 것이며, 파일에 오류가 있으면 구문이 올바르지 않거나 알 수 없는 라인을 나타내는 경고 메시지가 표시됩니다.

kickstart 설치 수행

클라이언트를 시작하려면 rhel-server-7.0-x86_64-boot.iso 파일을 사용합니다. 초기 화면이 나타나면 Red Hat Enterprise Linux 7.0 설치를 선택하고 Tab 키를 눌러 다음 스탠자를 추가한 후 Enter 키를 누릅니다:

# inst.ks=http://192.168.0.18/kickstart/tecmint.bin
RHEL Kickstart Installation

여기서 tecmint.bin은 이전에 만든 킥스타트 파일입니다.

Enter 키를 누르면 자동 설치가 시작되며 설치되는 패키지 목록이 표시됩니다(선택한 프로그램 및 패키지 그룹에 따라 숫자와 이름이 달라집니다):

Automatic Kickstart Installation of RHEL 7

자동 프로세스가 종료되면 설치 미디어를 제거하라는 메시지가 나타나며 새롭게 설치된 시스템으로 부팅할 수 있습니다:

RHEL 7 Boot Screen

이전에 언급한 대로 킥스타트 파일을 수동으로 만들 수 있지만 가능한 경우 권장되는 방법을 고려해야 합니다. 온라인 구성 도구를 사용하거나 설치 프로세스에서 루트의 홈 디렉터리에 생성된 anaconda-ks.cfg 파일을 사용할 수 있습니다.

이 파일은 실제로 킥스타트 파일이므로 원하는 옵션을 사용하여 첫 번째 상자를 수동으로 설치한 다음 생성된 anaconda-ks.cfg 파일을 사용하여 나머지 설치를 자동화할 수 있습니다.

또한, 온라인 구성 도구 또는 anaconda-ks.cfg 파일을 사용하여 향후 설치를 안내하면 암호화된 루트 암호를 사용하여 기본적으로 수행할 수 있습니다.

결론

이제 kickstart 파일을 만드는 방법과 이를 사용하여 Red Hat Enterprise Linux 7 서버의 설치를 자동화하는 방법을 알았으니, 설치 과정을 보고하는 것을 잊어도 좋습니다. 이를 통해 다른 일을 할 시간이 생기거나, 행운이 따르면 여가 시간을 즐길 수도 있습니다.

어쨌든, 아래 양식을 사용하여 이 기사에 대한 의견을 알려주십시오. 질문도 환영합니다!

관련 글: PXE 및 Kickstart를 사용한 여러 RHEL/CentOS 7 배포의 자동 설치

Source:
https://www.tecmint.com/automatic-rhel-installations-using-kickstart/