설치 서버 설정

이 부록은 이전에 리눅스 경험이 있는 사용자를 대상으로 합니다. 만약 신규 사용자인 경우에, 대신에 최소 부트 미디어 또는 배포용 DVD를 사용하여 설치 할 수 있습니다.

PXE 설치 개요

사전부트 실행 환경, 또는 PXE는 네트워크를 통해 제공되는 자원에서 직접 부팅 하는 컴퓨터를 사용하는 기술입니다. 네트워크를 통해 페도라 설치는 당신이 미디어를 생성 할 필요가 없는 것을 의미하고, 그리고 당신은 동시에 여러 컴퓨터 또는 가상 장비에 설치 할 수 있습니다. 처리는 요구되는 자원을 공급하는 것과 함께 동작하는 수많은 구성과 기능을 포함합니다.

PXE-가능 컴퓨터

대부분 현대적인 컴퓨터는 네트워크 부팅하는 기능을 갖고 있습니다. 전형적으로, 부트 할 때에 기능키를 누르면 부트 선택 메뉴가 나타날 것입니다. 무인 관리를 위해 설계된 환경에서, 시스템은 종종 우선 네트워크에서 부팅을 시도하도록 한 다음에 로컬 저장소에서 부팅 하도록 구성 될 것이며, 그리고 설치 서버는 다만 필요 할 때에 설치를 제공하도록 구성됩니다. 당신의 컴퓨터 설명서는 설정 부트 우선순위에서 지정한 지시를 제공 할 것입니다.

DHCP 서버

시스템은 네트워크 부팅 중 주소를 요청 할 때에, DHCP 서버는 또한 부팅으로 파일의 위치를 또한 제공합니다. 내트워크는 하나의 DHCP 서버만 가져야 합니다.

FTP 서버

왜냐하면 사전-부트 환경은 매우 단순하기 때문에, 파일은 매우 빠른 방식으로 제공되어야 합니다. 간단한 파일 통신규약 또는 TFTP는 설치 처리를 진행 할 때에 필요한 부트로더에서 제공됩니다.

부트로더

운영 체제 부팅 작업은 사전-부팅 환경에 비해 너무 복잡하기 때문에, 부트로더는 커널과 관련 파일을 적재해 사용됩니다. 이는 또한 설치자에서 구성 정보를 제공하고, 그리고 다른 구성에서 선택하는 메뉴를 제공 할 수 있습니다.

커널과 Initramfs

커널은 리눅스 운영체제의 핵심이며, 그리고 initramfs는 필요한 도구와 자원을 커널에세 제공합니다. 이들 파일은 또한 tftp에 의해 제공될 수 있습니다.

꾸러미 저장소

페도라 저장소는 설치를 위해 사용 가능해야만 합니다. 이 부분에서 예제는 저장소 원천으로 공식 페도라 미러를 사용해야 하지만, NFS, FTP 또는 HTTP를 통해 제공되는 로컬 네트워크에 있는 저장소 또한 사용 할 수 있습니다. 저장소는 상세히 확인을 위하여 inst.repo= boot option; see 설치 원천 지정하기를 사용하여 구성 할 수 있습니다.

DHCP 서버 구성

설치와 dhcpd 구성
  1. dhcp 서버 꾸러미 설치.

    # dnf install dhcp
  2. `/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;
    
    }
  3. 당신의 구성을 시험하고 당신이 발견한 문제를 해결하세요.

    systemctl start dhcpd
    journalctl --unit dhcpd --since -2m --follow
  4. `/etc/dhcp/dhcpd.conf`에 있는 서브넷 구성을 제공하는 이들 부트로더와 서버에서 클라이언트를 지시하도록 항목을 추가합니다. DHCP 클라이언트는 주소 요청과 함께 식별 정보를 서버에 제공하기 때문에, 바이오스와 UEFI 클라이언트는 각각 정확한 부트로더로 연결될 수 있습니다.

    # 사용가능한 구조 선택 값을 위해 RFC4758을 참고하세요
    option arch code 93 = unsigned integer 16;
    
    subnet 192.168.1.0 netmask 255.255.255.0 {
    if option arch = 00:07 {
    filename "uefi/shim.efi";
    } else {
    filename "pxelinux.0";
    }
    
    next-server 192.168.1.2;
    
    ...
  5. dhcp 서비스를 재시작 하려면 구성을 점검하고 필요하다면 변경하도록합니다.

    systemctl restart dhcpd
    journalctl --unit dhcpd --since -2m --follow

tftp 서버 설치하기

tftp 서버 설치하기
  1. tftp 서버 꾸러미를 설치합니다.

    # dnf install tftp-server
  2. `tftp socket`을 시작하고 활성화합니다. `systemd`는 요청 할 때에 `tftpd`를 자동으로 시작 할 것입니다.

    # systemctl start tftp.socket
    # systemctl enable tftp.socket

PXE 클라이언트를 위한 부트로더 제공과 구성하기

부트로더 파일 가져오기
  1. 바이오스 클라이언트에 syslinux 부트로더를 가져옵니다.

    1. syslinux 꾸러미를 설치합니다.

      # dnf install syslinux
    2. 부트로더 파일을 위해 디렉토리를 생성하고, 그 곳에 이를 사용 할 수 있도록 합니다.

      # mkdir -p /var/lib/tftpboot/pxelinux.cfg
      # cp /usr/share/syslinux/{pxelinux.0,vesamenu.c32,ldlinux.c32,libcom32.c32,libutil.c32} /var/lib/tftpboot/
  2. UEFI 시스템을 위한 부트로더 파일을 가져옵니다

    1. shimgrub2-efi 꾸러미를 설치합니다. 만약 자신의 서버가 바이오스 시스템이라면, 꾸러미를 임시 설치 root*로 설치해야만 합니다. 바이오스 장비에서 이들을 직접 설치하면 UEFI 부팅에 시스템 구성을 시도 할 수 있고 문제가 발생 할 것입니다.

      # dnf install shim grub2-efi-x64 --installroot=/tmp/fedora --releasever 28
    2. 부트로더 파일을 위해 디렉토리를 생성하고, 그 곳에 이를 사용 할 수 있도록 합니다.

      # mkdir -p /var/lib/tftpboot/uefi
      # cp /tmp/fedora/boot/efi/EFI/fedora/{shim.efi,grubx64.efi} /var/lib/tftpboot/uefi/
클라이언트 부트로더 구성하기
  1. `/var/lib/tftpboot/pxelinux.cfg/default`에서 바이오스 클라이언트를 위한 부트 메뉴를 생성합니다.

    +

default vesamenu.c32
prompt 1
timeout 600

label linux
menu label ^Install Fedora {PRODVER} 64-bit
menu default
kernel f{PRODVER}/vmlinuz
append initrd=f{PRODVER}/initrd.img inst.stage2=http://download.fedoraproject.org/pub/fedora/linux/releases/{PRODVER}/Server/x86_64/os/ ip=dhcp

label server
menu label ^Install Fedora {PRODVER} ( Minimal Image )
menu default
kernel f{PRODVER}/vmlinuz
append initrd=f{PRODVER}/initrd.img inst.stage2=http://download.fedoraproject.org/pub/fedora/linux/releases/{PRODVER}/Server/x86_64/os/ ip=dhcp ks=https://example.com/fedora/kickstarts/minimal.ks

label rescue
menu label ^Rescue installed system
kernel f{PRODVER}/vmlinuz
append initrd=f{PRODVER}initrd.img ip=dhcp root=live:http://download.fedoraproject.org/pub/fedora/linux/releases/{PRODVER}/Server/x86_64/os/LiveOS/squashfs.img rescue

label local
menu label Boot from ^local drive
localboot 0xffff
  1. `/var/lib/tftpboot/pxelinux/uefi`에서 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 'Install Fedora 64-bit'  --class fedora --class gnu-linux --class gnu --class os {
    	linuxefi f28/vmlinuz ip=dhcp inst.repo=http://download.fedoraproject.org/pub/fedora/linux/releases/28/Server/x86_64/os/
    	initrdefi f28/initrd.img
    }
    
    menuentry 'Install Fedora 28 Server'  --class fedora --class gnu-linux --class gnu --class os {
    	kernel f28/vmlinuz
    	append initrd=f28/initrd.img inst.repo=http://download.fedoraproject.org/pub/fedora/linux/releases/28/Server/x86_64/os/ ip=dhcp ks=https://git.fedorahosted.org/cgit/spin-kickstarts.git/plain/fedora-install-server.ks?h=f21
    }
    
    menuentry 'Rescue installed system'  --class fedora --class gnu-linux --class gnu --class os {
    	kernel f28/vmlinuz
    	append f28/initrd=initrd.img root=live:http://download.fedoraproject.org/pub/fedora/linux/releases/28/Server/x86_64/os/LiveOS/squashfs.img rescue
    }

커널과 initrd를 얻기

커널과 initrd 내려받기
  1. 파일을 위한 디렉토리를 생성합니다.

    # mkdir -p /var/lib/tftpboot/f28
  2. 커널 내려받기.

    # wget http://download.fedoraproject.org/pub/fedora/linux/releases/28/Server/x86_64/os/images/pxeboot/vmlinuz -O /var/lib/tftpboot/f28/vmlinuz
  3. initrd 내려받기

    # wget http://download.fedoraproject.org/pub/fedora/linux/releases/28/Server/x86_64/os/images/pxeboot/initrd.img -O /var/lib/tftpboot/f28/initrd.img

저장소 제공하기

이 부분에서 예제는 꾸러미 원천처럼 공개 페도라 미러를 사용합니다. 빠른 설치, 많은 시스템 설치 할 때에, 또는 더 많은 독립된 환경을 위해서는 로컬 저장소를 유지하기 바랍니다.

페도라 인프라스트럭쳐는 인프라스트럭쳐 미러링에서 로컬 미러에 구성을 위한 지침을 유지 할 수 있습니다. 저장소를 제공하기 위해 선호하는 방법은 HTTP를 통하는 것이고, httpd 구성에 페도라 문서에서 사용 가능한 [citetitle]페도라 관리자 안내 부분을 참고 할 수 있습니다.

Cobbler를 사용한 고급 네트워크 설치

보다 복잡한 환경에서, Fedora는 cobbler 설치 서버를 제공합니다. 킥스타트 구성, 저장소 협조, dns 기록 유지, dhcp 서버와 심지어 puppet 메니페스트를 관리와 같은 업무는 cobbler 에 의해 효과적으로 자동화 되었습니다.

cobbler에 의해 제공되는 모든 기능을 활용하는 것은 상대적으로 간단 할 수 있지만, 이 강력한 도구의 모든 기능은 이 안내에서 너무 광범위하여 문서화 할 수 없습니다. cobbler 커뮤니티는 페도라 저장소에서 꾸러미를 동반하는 cobbler 웹에 있는 문서를 제공합니다.

상대적으로, 당신은 Foreman에 흥미를 느낄지 모릅니다. 당신은 FOREMAN 홈페이지에 있는 프로젝트 웹사이트에서 내려 받을 수 있는 공식 문서를 찾을 수 있습니다.