본문 바로가기

운영체제/Linux

Rocky Linux 8 PXE 서버 구축 (2) - kickstart

(1)편과 이어집니다.

 

리눅스는 현재 설치된 시스템의 설정이 /root/anaconda-ks.cfg 라는 이름으로 저장된다.

이 파일을 이용하여 kickstart 설치를 진행하겠음.

 

mkdir /var/ftp/kickstart

cp ~/anaconda-ks.cfg /var/ftp/kickstart/rockylinux8.4.cfg

 

# vi /var/ftp/kickstart/rockylinux8.4.cfg

#version=RHEL8
# Use graphical install
graphical

## 추가 ##
url --url="ftp://10.22.22.1/rockylinux8.4/BaseOS"
########
## 수정 ##
repo --name="AppStream" --baseurl=ftp://10.22.22.1/rockylinux8.4/AppStream
##########

%packages
@^minimal-environment

%end

# Keyboard layouts
keyboard --xlayouts='kr'
# System language
lang ko_KR.UTF-8

# Network information
#network  --bootproto=dhcp --device=ens33 --ipv6=auto --activate
#network  --bootproto=dhcp --device=ens34 --onboot=off --ipv6=auto
network  --hostname=installtest

# Use CDROM installation media
# 반드시 주석처리하기 #
#cdrom

# Run the Setup Agent on first boot
firstboot --enable

ignoredisk --only-use=sda
# Partition clearing information
clearpart --none --initlabel
# Disk partitioning information
part pv.111 --fstype="lvmpv" --ondisk=sda --size=50749
part /boot --fstype="xfs" --ondisk=sda --size=450
volgroup rl --pesize=4096 pv.111
logvol / --fstype="ext4" --size=48700 --name=root --vgname=rl
logvol swap --fstype="swap" --size=2048 --name=swap --vgname=rl

# System timezone
timezone Asia/Seoul --isUtc

# Root password
rootpw --iscrypted $6$jW1PPY9nwJzQWuKP$Cea/KH9X4EFze63Ie8kDZgba//dmj21x9UTVV7IjXWB1dFo9SeRJ1TyVjjOONNjNLGjcxNecQwp8OyNqE56951

%addon com_redhat_kdump --disable --reserve-mb='auto'

%end

%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end

48번 줄 rootpw --iscrypted 부분에 openssl을 이용하여 암호화 된 패스워드를 입력해야함

SHA512 알고리즘으로 패스워드를 생성하기위해 -6 옵션을 주고 초기 패스워드는 root로 설정

위 처럼 원하는 값으로 암호화 된 패스워드를 생성하여 초기 설정을 해준다.

 

 

 

chmod 755 /var/ftp/kickstart/rockylinux8.4.cfg

엑세스 권한이 없으면 서버에서 사용하지 못함

 

 

# vi /var/lib/tftpboot/pxelinux.cfg/default

default menu.c32
prompt 0
timeout 150
ontimeout local

LABEL local
        MENU LABEL LocalDisk
        localboot 0

LABEL RockyLinux8.4
        MENU LABEL RockyLinux 8.4 Install
        KERNEL /rockylinux8.4/vmlinuz
        APPEND initrd=/rockylinux8.4/initrd.img inst.repo=ftp://10.22.22.1/rockylinux8.4

LABEL RockyLinux8.4(Kickstart)
        MENU LABEL RockyLinux 8.4 Install(Kickstart)
        KERNEL /rockylinux8.4/vmlinuz
        APPEND initrd=/rockylinux8.4/initrd.img inst.repo=ftp://10.22.22.1/rockylinux8.4 inst.ks=ftp://10.22.22.1/kickstart/rockylinux8.4.cfg

kickstart install 메뉴 라벨 추가. inst.ks 경로 지정.

 

 

 

VM생성 후 kickstart 항목으로 실행

위에서 만든 kickstart 메뉴로 선택한다.

 

설치 소프트웨어, 디스크 파티션을 자동으로 구성해준다.

 

설치화면까지 자동으로 넘어간다.

 

 

설치 완료. cfg 파일에 reboot 구문을 추가하여 재시작도 자동으로 할 수 있다.

 

kickstart 설정에 맞게 설치된 것을 볼 수 있다.

 

인터페이스에 설치 시 할당받은 ip가 그대로 등록되어 있으므로 ansible을 이용하여 자동화 구성까지 할 수 있다.

 

이 부분은 나중에 작성하도록 하겠음.

 

 

 

+추가

  • 위와 같이 테스트하면 설치 후 재부팅을 자동으로 하지 않기 때문에 따로 reboot 구문을 넣어줘야 함
  • 파티션 설정할 때 -grow 옵션으로 용량에 따라 동적 할당 가능