설치 서버 설정
이 부록은 이전에 리눅스 경험이 있는 사용자를 대상으로 합니다. 만약 신규 사용자인 경우에, 대신에 최소 부트 미디어 또는 배포용 DVD를 사용하여 설치 할 수 있습니다. |
PXE 설치 개요
사전부트 실행 환경, 또는 PXE는 네트워크를 통해 제공되는 자원에서 직접 부팅 하는 컴퓨터를 사용하는 기술입니다. 네트워크를 통해 페도라 설치는 당신이 미디어를 생성 할 필요가 없는 것을 의미하고, 그리고 당신은 동시에 여러 컴퓨터 또는 가상 장비에 설치 할 수 있습니다. 처리는 요구되는 자원을 공급하는 것과 함께 동작하는 수많은 구성과 기능을 포함합니다.
대부분 현대적인 컴퓨터는 네트워크 부팅하는 기능을 갖고 있습니다. 전형적으로, 부트 할 때에 기능키를 누르면 부트 선택 메뉴가 나타날 것입니다. 무인 관리를 위해 설계된 환경에서, 시스템은 종종 우선 네트워크에서 부팅을 시도하도록 한 다음에 로컬 저장소에서 부팅 하도록 구성 될 것이며, 그리고 설치 서버는 다만 필요 할 때에 설치를 제공하도록 구성됩니다. 당신의 컴퓨터 설명서는 설정 부트 우선순위에서 지정한 지시를 제공 할 것입니다.
시스템은 네트워크 부팅 중 주소를 요청 할 때에, DHCP 서버는 또한 부팅으로 파일의 위치를 또한 제공합니다. 네트워크는 하나의 DHCP 서버만 가져야 합니다.
사전-부트 환경은 매우 단순하기 때문에, 파일은 매우 빠른 방식으로 제공되어야 합니다. 간단한 파일 통신규약 또는 TFTP는 설치 처리를 진행 할 때에 필요한 부트로더에서 제공됩니다.
운영 체제 부팅 작업은 사전-부팅 환경에 비해 너무 복잡하기 때문에, 부트로더는 커널과 관련 파일을 적재해 사용됩니다. 이는 또한 설치자에서 구성 정보를 제공하고, 그리고 다른 구성에서 선택하는 메뉴를 제공 할 수 있습니다.
커널은 리눅스 운영체제의 핵심이며, 그리고 initramfs는 필요한 도구와 자원을 커널에세 제공합니다. 이들 파일은 또한 tftp에 의해 제공될 수 있습니다.
페도라 저장소는 설치를 위해 사용 가능해야만 합니다. 이 부분에서 예제는 저장소 원천으로 공식 페도라 미러를 사용해야 하지만, NFS, FTP 또는 HTTP를 통해 제공되는 로컬 네트워크에 있는 저장소 또한 사용 할 수 있습니다. 저장소는 상세히 확인을 위하여 inst.repo= boot option; see 설치 원천 지정하기를 사용하여 구성 할 수 있습니다.
DHCP 서버 구성
-
dhcp 서버 꾸러미 설치.
# dnf install dhcp-server
-
`/etc/dhcp/dhcpd.conf`에서 dhcp 서버를 위한 간단한 구성을 생성합니다
subnet 192.168.1.0 netmask 255.255.255.0 { authoritative; default-lease-time 600; max-lease-time 7200; ddns-update-style none; option domain-name-servers 192.168.1.1; option routers 192.168.1.1; }
-
당신의 구성을 시험하고 당신이 발견한 문제를 해결하세요.
systemctl start dhcpd systemctl enable dhcpd journalctl --unit dhcpd --since -2m --follow
-
`/etc/dhcp/dhcpd.conf`에 있는 서브넷 구성을 제공하는 이들 부트로더와 서버에서 클라이언트를 지시하도록 항목을 추가합니다. DHCP 클라이언트는 주소 요청과 함께 식별 정보를 서버에 제공하기 때문에, 바이오스와 UEFI 클라이언트는 각각 정확한 부트로더로 연결될 수 있습니다. IANA DHCPv6 등록 부분에서 찾을 수 있는 최신 프로세서 구조 옵션 코드를 사용하면, 여러 구조를 단일 DHCP 서버로 공유 할 수 있습니다.
# 가능한 arch 옵션 값을 위해 RFC4578 및 IANA DHCPv6를 참조하세요 option arch code 93 = unsigned integer 16; subnet 192.168.1.0 netmask 255.255.255.0 { if option arch = 00:07 { # x64 UEFI filename "uefi/shimx64.efi"; next-server 192.168.1.2; } else if option arch = 00:0b { # aarch64 UEFI filename "uefi/shimaa64.efi"; server-name "192.168.1.2"; } else { filename "pxelinux.0"; next-server 192.168.1.2; } ...
-
dhcp 서비스를 재시작 하려면 구성을 점검하고 필요하다면 변경하도록합니다.
systemctl restart dhcpd journalctl --unit dhcpd --since -2m --follow
tftp 서버 설치하기
-
tftp 서버 꾸러미를 설치합니다.
# dnf install tftp-server
-
`tftp socket`을 시작하고 활성화합니다. `systemd`는 요청 할 때에 `tftpd`를 자동으로 시작 할 것입니다.
# systemctl start tftp.socket # systemctl enable tftp.socket
PXE 클라이언트를 위한 부트로더 제공과 구성하기
-
바이오스 클라이언트에 syslinux 부트로더를 가져옵니다.
-
syslinux 꾸러미를 설치합니다.
# dnf install syslinux
-
부트로더 파일을 위해 디렉토리를 생성하고, 그 곳에 이를 사용 할 수 있도록 합니다.
# mkdir -p
/var/lib/tftpboot/pxelinux.cfg
# cp/usr/share/syslinux/{pxelinux.0,menu.c32,vesamenu.c32,ldlinux.c32,libcom32.c32,libutil.c32}
/var/lib/tftpboot/
-
-
UEFI 시스템을 위한 부트로더 파일을 가져옵니다
-
shim-64 과 grub2-efi-x64 꾸러미를 설치합니다. 만약 자신의 서버가 바이오스 시스템이라면, 꾸러미를 임시 설치 root*로 설치해야만 합니다. 바이오스 장비에서 이들을 직접 설치하면 UEFI 부팅에 시스템 구성을 시도 할 수 있고 문제가 발생 할 것입니다.
# dnf install shim-x64 grub2-efi-x64 --installroot=/tmp/fedora --releasever 34
-
부트로더 파일을 위해 디렉토리를 생성하고, 그 곳에 이를 사용 할 수 있도록 합니다.
# mkdir -p
/var/lib/tftpboot/uefi
# cp/tmp/fedora/boot/efi/EFI/fedora/{shimx64.efi,grubx64.efi}
/var/lib/tftpboot/uefi/
-
-
`/var/lib/tftpboot/pxelinux.cfg/default`에서 바이오스 클라이언트를 위한 부트 메뉴를 생성합니다.
default vesamenu.c32 prompt 1 timeout 600 label local menu label Boot from ^local drive menu default localboot 0xffff label linux menu label ^Install Fedora 34 64-bit kernel f34/vmlinuz append initrd=f34/initrd.img inst.stage2=https://download.fedoraproject.org/pub/fedora/linux/releases/34/Server/x86_64/os/ ip=dhcp label server menu label ^Install Fedora 34 ( Minimal Image ) kernel f34/vmlinuz append initrd=f34/initrd.img inst.stage2=https://download.fedoraproject.org/pub/fedora/linux/releases/34/Server/x86_64/os/ ip=dhcp ks=https://example.com/fedora/kickstarts/minimal.ks
-
`/var/lib/tftpboot/uefi/grub.cfg`에서 UEFI 클라이언트를 위한 부트 메뉴를 생성합니다.
function load_video { insmod efi_gop insmod efi_uga insmod video_bochs insmod video_cirrus insmod all_video } load_video set gfxpayload=keep insmod gzio menuentry 'Exit this grub' { exit } menuentry 'Install Fedora 64-bit' --class fedora --class gnu-linux --class gnu --class os { linux $fw_path/f34/vmlinuz ip=dhcp inst.repo=https://download.fedoraproject.org/pub/fedora/linux/releases/34/Server/x86_64/os/ initrd $fw_path/f34/initrd.img } menuentry 'Install Fedora 34 Server' --class fedora --class gnu-linux --class gnu --class os { kernel f34/vmlinuz append initrd=f34/initrd.img inst.repo=https://download.fedoraproject.org/pub/fedora/linux/releases/34/Server/x86_64/os/ ip=dhcp ks=https://git.fedorahosted.org/cgit/spin-kickstarts.git/plain/fedora-install-server.ks?h=f21 }
커널과 initrd를 얻기
-
파일을 위한 디렉토리를 생성합니다.
# mkdir -p
/var/lib/tftpboot/f34
-
커널 내려받기.
# wget https://download.fedoraproject.org/pub/fedora/linux/releases/34/Server/x86_64/os/images/pxeboot/vmlinuz -O /var/lib/tftpboot/f34/vmlinuz
-
initrd 내려받기
# wget https://download.fedoraproject.org/pub/fedora/linux/releases/34/Server/x86_64/os/images/pxeboot/initrd.img -O /var/lib/tftpboot/f34/initrd.img
HTTP 설치 개요
HTTP/HTTPS 부트는 셈틀(컴퓨터)이 네트워크를 통해 제공되는 자원에서 직접 부트 할 수 있도록 하는 기술입니다. 서버의 HTTPS 신뢰성과 함께 사용되어 검증 될 때에, HTTP의 사용은 PXE의 TFTP 보다 더 안정적인 전송 원리를 제공합니다. 이와 같은 방식으로 페도라 설치는 설치 미디어 생성을 방지하고 여러 셈틈(컴퓨터)을 동시에 설치 할 수 있습니다. 페도라의 가상화 해결책과 함께 탑재되는 EDK2 기반 펌웨어를 포함하여, 현재의 많은 UEFI 구현은 HTTP 원천에서 직접 부트 할 수 있습니다. UEFI 부트 항목은 펌웨어 메뉴를 통해 HTTP 원천을 지정하여 수동으로 추가 될 수 있습니다. 대안으로, DHCP 서버는 필요한 HTTP 경로를 자동으로 제공 할 수도 있습니다.
많은 장비가 HTTP 부트뿐만 아니라 HTTPS 부트도 가능하지만, 이는 먼저 등록된 인증 기관(CA)을 가져야 하는 경우가 많습니다. CA는 HTTPS 서버에서 제공되는 인증서의 유효성을 검증하는 데 사용됩니다. 이는 공식 미러 또는 로컬 HTTPS 부트 서버의 인증서를 위해 제공된 페도라에서 적절한 파일 등록에 의해 수행 될 수도 있습니다.
HTTP를 위한 DHCP 서버 구성
HTTP 부트용 DHCP 서버의 설치와 구성은 HTTP 클라이언트를 위해 옵션 구조 상태를 수정해야 한다는 점을 제외하고 PXE의 구성과 동일합니다
.... if option arch = 00:07 { # x64 UEFI filename "uefi/shim64.efi"; next-server 192.168.1.2; } else if option arch = 00:0b { # aarch64 UEFI filename "uefi/shimaa64.efi"; server-name "192.168.1.2"; } else if option arch = 00:13 { # aarch64 UEFI HTTP option vendor-class-identifier "HTTPClient"; filename "http://download.fedoraproject.org/pub/fedora/linux/releases/34/Server/aarch64/os/images/boot.iso"; } else if option arch = 00:10 { # x64 UEFI HTTP option vendor-class-identifier "HTTPClient"; filename "http://download.fedoraproject.org/pub/fedora/linux/releases/34/Server/x86_64/os/images/boot.iso"; } else { filename "pxelinux.0"; next-server 192.168.1.2; } ...
저장소 제공하기
이 부분에서 예제는 꾸러미 원천처럼 공개 페도라 미러를 사용합니다. 빠른 설치, 많은 시스템 설치 할 때에, 또는 더 많은 독립된 환경을 위해서는 로컬 저장소를 유지하기 바랍니다.
페도라 인프라스트럭쳐는 인프라스트럭쳐 미러링에서 로컬 미러에 구성을 위한 지침을 유지 할 수 있습니다. 저장소를 제공하기 위해 선호하는 방법은 HTTP를 통하는 것이고, httpd
구성에 페도라 문서에서 사용 가능한 [citetitle]_페도라 관리자 안내_부분을 참고 할 수 있습니다.
Cobbler를 사용한 고급 네트워크 설치
보다 복잡한 환경에서, Fedora는 cobbler 설치 서버를 제공합니다. 킥스타트 구성, 저장소 협조, dns 기록 유지, dhcp 서버와 심지어 puppet 메니페스트를 관리와 같은 업무는 [package]*cobbler*에 의해 효과적으로 자동화 되었습니다.
cobbler에 의해 제공되는 모든 기능을 활용하는 것은 상대적으로 간단 할 수 있지만, 이 강력한 도구의 모든 기능은 이 안내에서 너무 광범위하여 문서화 할 수 없습니다. cobbler 커뮤니티는 페도라 저장소에서 꾸러미를 동반하는 cobbler 웹에 있는 문서를 제공합니다.
상대적으로, 당신은 Foreman에 흥미를 느낄지 모릅니다. 당신은 FOREMAN 홈페이지에 있는 프로젝트 웹사이트에서 내려 받을 수 있는 공식 문서를 찾을 수 있습니다.
Want to help? Learn how to contribute to Fedora Docs ›