1) 기본 설정
systemctl stop firewalld
systemctl disable firewalld
systemctl stop NetworkManager
systemctl disable NetworkManager
setenforce 0
sed -i ‘s/SELINUX=enforcing/ SELINUX=disabled/g’ /etc/selinux/config
yum install -y epel-release && yum update -y
2) PXE 관련 Package 설치 및 설정
yum install -y dhcp tftp tftp-server syslinux vsftpd xinetd
cat > /etc/dhcp/dhcpd.conf <<EOF
# DHCP Server Configuration file.
ddns-update-style interim;
ignore client-updates;
authoritative;
allow booting;
allow bootp;
allow unknown-clients;
# internal subnet for my DHCP Server
subnet 10.10.10.0 netmask 255.255.255.0 {
interface eth0;
range 10.10.10.101 10.10.10.200; // IP range
option domain-name-servers 8.8.8.8; // DNS Server
option routers 10.10.10.1; // GateWay IP
option broadcast-address 10.10.10.255;
default-lease-time 600;
max-lease-time 7200;
# IP of PXE Server
next-server 10.10.10.1; // PXE Server IP
filename "pxelinux.0";
}
EOF
cat /etc/xinetd.d/tftp <<EOF
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
EOF
3) Rocky 8.6, RHEL 8.6 Mount 및 파일 복사
mkdir -p /var/ftp/pub/rhel8
mkdir -p /var/ftp/pub/rocky8
mount -o loop rhel-8.6-x86_64-dvd.iso /mnt
cp -av /mnt/* /var/ftp/pub/rhel8 && umount /mnt
mount -o loop Rocky-8.6-x86_64-dvd1.iso /mnt
cp -av /mnt/* /var/ftp/pub/rocky8/ && umount /mnt
4) PXE 관련 파일 복사 및 작성
cp -v /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
cp -v /usr/share/syslinux/menu.c32 /var/lib/tftpboot
cp -v /usr/share/syslinux/memdisk /var/lib/tftpboot
cp -v /usr/share/syslinux/mboot.c32 /var/lib/tftpboot
cp -v /usr/share/syslinux/chain.c32 /var/lib/tftpboot
mkdir /var/lib/tftpboot/pxelinux.cfg
mkdir -p /var/lib/tftpboot/networkboot/rocky-8.6
mkdir -p /var/lib/tftpboot/networkboot/rhel-8.6
cp /var/ftp/pub/rhel8/images/pxeboot/vmlinuz /var/lib/tftpboot/networkboot/rhel-8.6/
cp /var/ftp/pub/rhel8/images/pxeboot/initrd.img /var/lib/tftpboot/networkboot/rhel-8.6/
cp /var/ftp/pub/rocky8/images/pxeboot/vmlinuz /var/lib/tftpboot/networkboot/rocky-8.6/
cp /var/ftp/pub/rocky8/images/pxeboot/initrd.img /var/lib/tftpboot/networkboot/rocky-8.6/
cat > /var/lib/tftpboot/pxelinux.cfg/default <<EOF
default menu.c32
timeout 100
prompt 0
menu title ### OS Installer Boot Menu ###
LABEL rhel-8.6
kernel /networkboot/rhel-8.6/vmlinuz
append initrd=/networkboot/rhel-8.6/initrd.img inst.repo=ftp://10.10.10.1/pub/rhel8 ks=ftp://10.10.10.1/pub/rhel8.cfg
LABEL rocky-8.6
kernel /networkboot/rocky-8.6/vmlinuz
append initrd=/networkboot/rocky-8.6/initrd.img inst.repo=ftp://10.10.10.1/pub/rocky8 ks=ftp://10.10.10.1/pub/rocky8.cfg
EOF
cat > /var/ftp/pub/rhel8.cfg <<EOF
/var/lib/tftpboot/pxelinux.cfg/default 파일에 해당 rhel8 설정에서 "ks=ftp://10.10.10.1/pub/rhel8.cfg" 부분을 지우면 Kickstart 이용한 자동 설치가 아닌 네트워크 부팅을 통해 수동 설치를 진행할 수 있다.
수동 설치를 통해 본인이 설정하고자 하는대로 root PWD 및 패키지, 파티셔닝등 진행 후 수동 설치를 끝내면 /root 디렉토리에 anaconda.cfg 파일이 있을텐데 해당 내용 긁어다가 여기에 넣어주면 된다.
EOF
cat > /var/ftp/pub/rocky8.cfg <<EOF
위와 동일
EOF
5) 데몬 재시작
systemctl restart xinetd
systemctl restart dhcpd
systemctl restart vsftpd
반응형
'🛠️ Devops > Linux' 카테고리의 다른 글
[RHEL] Failed to set locale defaulting to c.utf-8 오류 해결 (2) | 2024.06.04 |
---|---|
[Linux] 네트워크 디바이스명 변경 (eth0) (0) | 2023.08.18 |
[CentOS 8, RHEL 8, Rocky 8] rc.local 서비스 활성화 (0) | 2023.05.10 |
[Ubuntu 20.04] APT Mirror 서버 구축 (1) | 2022.05.04 |
[Ubuntu 20.04] Bonding 설정 (2) | 2022.05.04 |