웹사이트 검색

RHEL/CentOS 7에서 다중 Linux 배포 설치를 위한 'PXE 네트워크 부팅 서버' 설정


PXE 서버 – Preboot eXecution Environment – 네트워크 인터페이스를 통해 직접 운영 체제를 부팅, 실행 또는 설치하도록 클라이언트 컴퓨터에 지시하므로 CD/DVD를 굽거나 물리적 매체를 사용할 필요가 없습니다. 여러 컴퓨터의 네트워크 인프라에 Linux 배포판을 동시에 설치하는 작업을 쉽게 할 수 있습니다.

요구사항

  1. CentOS 7 최소 설치 절차
  2. RHEL 7 최소 설치 절차
  3. RHEL/CentOS 7에서 고정 IP 주소 구성
  4. RHEL/CentOS 7에서 원치 않는 서비스 제거
  5. RHEL/CentOS 7에서 올바른 시스템 시간을 설정하기 위해 NTP 서버 설치

이 문서에서는 미러링된 로컬 설치 저장소, 제공된 소스를 사용하여 RHEL/CentOS 7 x64비트에 PXE 서버를 설치하고 구성하는 방법을 설명합니다. DNSMASQ 서버의 도움으로 CentOS 7 DVD ISO 이미지로.

DNSDHCP 서비스를 제공하는 Syslinux 패키지는 네트워크 부팅을 위한 부트로더를 제공하며 TFTP-ServerTrivial File Transfer Protocol(TFTP) 및 공식 RHEL 역할을 하는 로컬 마운트 미러 DVD 이미지를 호스팅할 VSFTPD 서버를 사용하여 네트워크를 통해 다운로드할 수 있는 부팅 가능한 이미지 /CentOS 7 설치 프로그램이 필요한 패키지를 추출하는 미러 설치 저장소입니다.

1단계: DNSMASQ 서버 설치 및 구성

1. 서버가 더 많은 NIC를 제공하는 경우 네트워크 카드 인터페이스 중 하나가 다음과 동일한 IP 범위의 고정 IP 주소로 구성되어야 한다는 점을 상기할 필요는 없습니다. PXE 서비스를 제공할 네트워크 세그먼트입니다.

따라서 고정 IP 주소를 구성하고 시스템을 업데이트하고 기타 초기 설정을 수행한 후 다음 명령을 사용하여 DNSMASQ 데몬을 설치하십시오.

yum install dnsmasq

2. /etc 디렉토리에 있는 DNSMASQ 주요 기본 구성 파일은 설명이 필요하지만 편집하기가 상당히 어렵습니다. 주석이 많은 설명을 따르세요.

나중에 검토해야 할 경우를 대비하여 먼저 이 파일을 백업했는지 확인한 후 다음 명령을 실행하여 즐겨 사용하는 텍스트 편집기를 사용하여 새 빈 구성 파일을 생성하십시오.

mv /etc/dnsmasq.conf  /etc/dnsmasq.conf.backup
nano /etc/dnsmasq.conf

3. 이제 dnsmasq.conf 파일에 다음 구성을 복사하여 붙여넣고 그에 따라 네트워크 설정과 일치하도록 아래 설명된 설명을 변경했는지 확인하세요.

interface=eno16777736,lo
#bind-interfaces
domain=centos7.lan
DHCP range-leases
dhcp-range= eno16777736,192.168.1.3,192.168.1.253,255.255.255.0,1h
PXE
dhcp-boot=pxelinux.0,pxeserver,192.168.1.20
Gateway
dhcp-option=3,192.168.1.1
DNS
dhcp-option=6,92.168.1.1, 8.8.8.8
server=8.8.4.4
Broadcast Address
dhcp-option=28,10.0.0.255
NTP Server
dhcp-option=42,0.0.0.0

pxe-prompt="Press F8 for menu.", 60
pxe-service=x86PC, "Install CentOS 7 from network server 192.168.1.20", pxelinux
enable-tftp
tftp-root=/var/lib/tftpboot

변경해야 하는 문은 다음과 같습니다.

  1. 인터페이스 – 서버가 서비스를 수신하고 제공해야 하는 인터페이스입니다.
  2. bind-interfaces – 이 인터페이스에만 바인딩하려면 주석을 해제하세요.
  3. 도메인 – 도메인 이름으로 바꾸세요.
  4. dhcp-range – 이 세그먼트의 네트워크 마스크로 정의된 IP 범위로 바꿉니다.
  5. dhcp-boot – IP 설명을 인터페이스 IP 주소로 바꿉니다.
  6. dhcp-option=3,192.168.1.1 – IP 주소를 네트워크 세그먼트 게이트웨이로 바꾸세요.
  7. dhcp-option=6,92.168.1.1 – IP 주소를 DNS 서버 IP로 바꾸십시오. 여러 DNS IP를 정의할 수 있습니다.
  8. server=8.8.4.4 – DNS 전달자 IP 주소를 입력하세요.
  9. dhcp-option=28,10.0.0.255 – 선택적으로 IP 주소를 네트워크 브로드캐스트 주소로 바꿉니다.
  10. dhcp-option=42,0.0.0.0 – 네트워크 시간 서버를 입력하세요 – 선택적으로 (0.0.0.0 주소는 자체 참조용입니다).
  11. pxe-prompt – 기본값으로 두십시오. – F8 키를 눌러 메뉴 60에 들어가려면 몇 초의 대기 시간이 필요하다는 의미입니다.
  12. pxe=service – 32비트/64비트 아키텍처용 x86PC를 사용하고 문자열 따옴표 아래에 메뉴 설명 프롬프트를 입력합니다. 다른 값 유형은 PC98, IA64_EFI, Alpha, Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI 및 X86-64_EFI일 수 있습니다.
  13. enable-tftp – 내장 TFTP 서버를 활성화합니다.
  14. tftp-root – 모든 넷부팅 파일의 위치인 /var/lib/tftpboot를 사용합니다.

구성 파일과 관련된 기타 고급 옵션에 대해서는 dnsmasq 매뉴얼을 자유롭게 읽어보세요.

2단계: SYSLINUX 부트로더 설치

4. DNSMASQ 기본 구성 파일을 편집하고 저장한 후 다음 명령을 실행하여 Syslinx PXE 부트로더 패키지를 설치하세요.

yum install syslinux

5. PXE 부트로더 파일은 /usr/share/syslinux 절대 시스템 경로에 있으므로 이 경로 내용을 나열하여 확인할 수 있습니다. 이 단계는 선택 사항이지만 다음 단계에서는 모든 콘텐츠를 TFTP 서버 경로에 복사하므로 이 경로를 알고 있어야 할 수도 있습니다.

ls /usr/share/syslinux

3단계: TFTP 서버를 설치하고 SYSLINUX 부트로더로 채우기

6. 이제 다음 단계로 이동하여 TFTP-Server를 설치한 후 Syslinux 패키지에서 제공하는 모든 bootloders 파일을 위에 나열된 위치에서 / 다음 명령을 실행하여 var/lib/tftpboot 경로를 변경하세요.

yum install tftp-server
cp -r /usr/share/syslinux/* /var/lib/tftpboot

4단계: PXE 서버 구성 파일 설정

7. 일반적으로 PXE 서버는 특정 파일 그룹(GUID 파일 – 먼저 MAC)에서 구성을 읽습니다. 파일 – 다음, 기본 파일 – 마지막) pxelinux.cfg라는 폴더에 호스팅되며 이 폴더는 tftp-root DNSMASQ 기본 구성 파일의 문입니다.

다음 명령을 실행하여 필요한 디렉터리 pxelinux.cfg를 만들고 기본 파일로 채웁니다.

mkdir /var/lib/tftpboot/pxelinux.cfg
touch /var/lib/tftpboot/pxelinux.cfg/default

8. 이제 유효한 Linux 배포판 설치 옵션을 사용하여 PXE 서버 구성 파일을 편집할 차례입니다. 또한 이 파일에 사용된 모든 경로는 /var/lib/tftpboot 디렉토리에 상대적이어야 합니다.

아래에서는 사용할 수 있는 구성 파일의 예를 볼 수 있지만 그에 따라 네트워크 설치 소스 저장소와 경로를 반영하도록 설치 이미지(커널 및 initrd 파일), 프로토콜(FTP, HTTP, HTTPS, NFS) 및 IP를 수정합니다.

nano /var/lib/tftpboot/pxelinux.cfg/default

다음 전체 발췌문을 파일에 추가합니다.

default menu.c32
prompt 0
timeout 300
ONTIMEOUT local

menu title ########## PXE Boot Menu ##########

label 1
menu label ^1) Install CentOS 7 x64 with Local Repo
kernel centos7/vmlinuz
append initrd=centos7/initrd.img method=ftp://192.168.1.20/pub devfs=nomount

label 2
menu label ^2) Install CentOS 7 x64 with http://mirror.centos.org Repo
kernel centos7/vmlinuz
append initrd=centos7/initrd.img method=http://mirror.centos.org/centos/7/os/x86_64/ devfs=nomount ip=dhcp

label 3
menu label ^3) Install CentOS 7 x64 with Local Repo using VNC
kernel centos7/vmlinuz
append  initrd=centos7/initrd.img method=ftp://192.168.1.20/pub devfs=nomount inst.vnc inst.vncpassword=password

label 4
menu label ^4) Boot from local drive

보시다시피 CentOS 7 부팅 이미지(커널 및 initrd)는 /var/lib/tftpboot를 기준으로 centos7라는 디렉터리에 있습니다(절대 시스템 경로에서는 이는 /var/lib/tftpboot/centos7) 및 설치 프로그램 저장소는 192.168.1.20/pub 네트워크 위치에서 FTP 프로토콜을 사용하여 접근할 수 있습니다. 이 경우 IP 주소가 PXE 서버 주소와 동일하기 때문에 저장소는 로컬로 호스팅됩니다.

또한 메뉴 레이블 3은 헤드리스 클라이언트에 설치하는 경우 클라이언트 설치가 VNC를 통해 원격 위치에서 수행되어야 함을 지정합니다(여기서는 VNC 비밀번호를 강력한 비밀번호로 대체). 메뉴 라벨 2는 다음과 같이 지정합니다.
설치 소스는 CentOS 7 공식 인터넷 미러입니다(이 경우 DHCP 및 NAT를 통해 클라이언트에서 사용할 수 있는 인터넷 연결이 필요합니다).

중요: 위 구성에서 볼 수 있듯이 데모용으로 CentOS 7을 사용했지만 RHEL 7 이미지를 정의하고 전체 지침과 구성을 따를 수도 있습니다. CentOS 7만을 기반으로 하므로 배포판을 선택할 때 주의하세요.

5단계: PXE 서버에 CentOS 7 부팅 이미지 추가

9. 이 단계에는 CentOS 커널과 initrd 파일이 필요합니다. 해당 파일을 얻으려면 CentOS 7 DVD ISO 이미지가 필요합니다. 따라서 CentOS DVD 이미지를 다운로드하여 DVD 드라이브에 넣고 아래 명령을 실행하여 이미지를 /mnt 시스템 경로에 마운트하세요.

최소 CD 이미지가 아닌 DVD를 사용하는 이유는 나중에 이 DVD 콘텐츠가
FTP 소스용 로컬 설치 프로그램 저장소.

mount -o loop /dev/cdrom  /mnt
ls /mnt

컴퓨터에 DVD 드라이브가 없는 경우 CentOS 미러에서 wget 또는 curl 유틸리티를 사용하여 로컬로 CentOS 7 DVD ISO를 다운로드하고 마운트할 수도 있습니다.

wget http://mirrors.xservers.ro/centos/7.0.1406/isos/x86_64/CentOS-7.0-1406-x86_64-DVD.iso
mount -o loop /path/to/centos-dvd.iso  /mnt

10. DVD 콘텐츠를 사용할 수 있게 되면 centos7 디렉토리를 생성하고 DVD 마운트 위치의 CentOS 7 부팅 가능 커널 및 initrd 이미지를 centos7 폴더 구조에 복사합니다.

mkdir /var/lib/tftpboot/centos7
cp /mnt/images/pxeboot/vmlinuz  /var/lib/tftpboot/centos7
cp /mnt/images/pxeboot/initrd.img  /var/lib/tftpboot/centos7

이 접근 방식을 사용하는 이유는 나중에 /var/lib/tftpboot 경로에 별도의 새 디렉터리를 만들고 전체 디렉터리 구조를 망칠 필요 없이 다른 Linux 배포판을 PXE 메뉴에 추가할 수 있기 때문입니다.

6단계: CentOS 7 로컬 미러 설치 소스 생성

11. HTTP, HTTPS 또는 NFS와 같은 다양한 프로토콜을 통해 설치 소스 미러를 설정할 수 있지만 이 가이드에서는 FTP 프로토콜은 vsftpd 서버의 도움으로 매우 안정적이고 설정하기 쉽기 때문입니다.

추가로 vsftpd 데몬을 설치하고 DVD에 마운트된 모든 콘텐츠를 vsftpd 기본 서버 경로(/var/ftp/pub)에 복사합니다. 시스템 리소스 및 추가에 따라 시간이 걸릴 수 있습니다. 다음 명령을 실행하여 이 경로에 대한 읽기 권한을 부여합니다.

yum install vsftpd
cp -r /mnt/*  /var/ftp/pub/ 
chmod -R 755 /var/ftp/pub

7단계: 시스템 전체에서 데몬 시작 및 활성화

12. 이제 PXE 서버 구성이 완료되었으므로 DNSMASQVSFTPD 서버를 시작하고 해당 상태를 확인하고 시스템 전체에서 활성화합니다. 아래 명령을 실행하여 시스템을 재부팅할 때마다 자동으로 시작됩니다.

systemctl start dnsmasq
systemctl status dnsmasq
systemctl start vsftpd
systemctl status vsftpd
systemctl enable dnsmasq
systemctl enable vsftpd

8단계: 방화벽을 열고 FTP 설치 소스를 테스트하세요.

13. 클라이언트 시스템이 PXE 서버에 연결하여 부팅하기 위해 방화벽에서 열어야 하는 모든 포트 목록을 얻으려면 netstat 명령을 실행하고 CentOS를 추가하세요. 7 Firewalld는 dnsmasq 및 vsftpd 수신 포트에 따라 규칙을 따릅니다.

netstat -tulpn
firewall-cmd --add-service=ftp --permanent  	## Port 21
firewall-cmd --add-service=dns --permanent  	## Port 53
firewall-cmd --add-service=dhcp --permanent  	## Port 67
firewall-cmd --add-port=69/udp --permanent  	## Port for TFTP
firewall-cmd --add-port=4011/udp --permanent  ## Port for ProxyDHCP
firewall-cmd --reload  ## Apply rules

14. FTP 설치 소스 네트워크 경로를 테스트하려면 로컬로(lynx가 해야 함) 또는 다른 컴퓨터에서 브라우저를 열고 다음과 같이 PXE 서버의 IP 주소를 입력하세요.
FTP 프로토콜 뒤에 /pub URL 필드의 네트워크 위치가 표시되며 결과는 아래 스크린샷과 같아야 합니다.

ftp://192.168.1.20/pub

15. 라이브 모드에서 최종 잘못된 구성이나 기타 정보 및 진단을 위해 PXE 서버를 디버그하려면 다음 명령을 실행합니다.

tailf /var/log/messages

16. 마지막으로 수행해야 할 마지막 필수 단계는 CentOS 7 DVD를 마운트 해제하고 물리적 매체를 제거하는 것입니다.

umount /mnt

9단계: 네트워크에서 부팅하도록 클라이언트 구성

17. 이제 클라이언트는 시스템 BIOS에서 네트워크 부팅을 기본 부팅 장치로 구성하거나 중에 지정된 키를 눌러 컴퓨터에 CentOS 7을 부팅하고 설치할 수 있습니다. BIOS POST 작업은 마더보드 설명서에 지정된 대로 수행됩니다.

네트워크 부팅을 선택하려면. 첫 번째 PXE 프롬프트가 나타나면 F8 키를 눌러 프레젠테이션을 시작한 다음 Enter 키를 눌러 PXE 메뉴로 진행하세요.

18. PXE 메뉴에 도달하면 CentOS 7 설치 유형을 선택하고 Enter 키를 누른 다음 로컬에서 설치할 때와 동일한 방식으로 설치 절차를 계속합니다. 미디어 부팅 장치.

이 메뉴에서 변형 2를 사용하려면 대상 클라이언트에서 인터넷 연결이 활성화되어 있어야 합니다. 또한 아래
스크린샷에서는 VNC를 통한 클라이언트 원격 설치의 예를 볼 수 있습니다.

CentOS 7에 최소한의 PXE 서버를 설정하는 것이 전부입니다. 이 시리즈의 다음 기사에서는 Kickstart 파일을 사용하여 CentOS 7의 자동 설치를 설정하는 방법과 다른 Linux 배포판을 추가하는 방법 등 이 PXE 서버 구성과 관련된 다른 문제에 대해 논의하겠습니다. PXE 메뉴 – Ubuntu ServerDebian 7.


판권 소유. © Linux-Console.net • 2019-2024