Documentation for a newer release is available. View Latest

Menyiapkan Suatu Server Instalasi

Lampiran ini ditujukan bagi pengguna dengan pengalaman Linux sebelumnya. Bila Anda pengguna baru, Anda mungkin ingin memasang memakai media boot minimal atau DVD distribusi.

Ringkasan Instalasi PXE

Preboot Execution Environment, atau PXE, adalah suatu teknologi yang memungkinkan komputer boot secara langsung dari sumber daya yang disediakan melalui jaringan. Memasang Fedora melalui jaringan berarti Anda tidak perlu membuat media, dan Anda dapat memasang ke beberapa komputer atau mesin virtual secara simultan. Proses tersebut melibatkan sejumlah komponen dan fitur yang bekerja bersama untuk menyediakan sumber daya yang diperlukan.

Komputer berkemampuan PXE

Kebanyakan komputer modern memiliki kapabilitas boot jaringan. Biasanya, suatu tombol fungsi yang ditekan selama boot akan memunculkan suatu menu pemilihan boot. Dalam lingkungan yang dirancang untuk administrasi tanpa pengawasan, sistem seringkali dikonfigurasi agar pertama kali mencoba boot dari jaringan, lalu boot dari penyimpanan lokal, dan server instalasi dikonfigurasi untuk hanya menawarkan instalasi ketika diperlukan. Manual komputer Anda akan memberikan instruksi spesifik tentang menata prioritas boot.

Server DHCP

Ketika suatu sistem meminta sebuah alamat selama boot jaringan, server DHCP juga menyediakan lokasi berkas untuk boot. Suatu jaringan mesti hanya punya satu server DHCP.

Server TFTP

Karena lingkungan pra-boot sangat sederhana, berkas-berkas mesti disediakan dalam cara yang sangat sederhana. Trivial File Transfer Protocol, atau TFTP, menyediakan sistem dengan bootloader yang diperlukan untuk melanjutkan proses instalasi.

Bootloader

Karena tugas mem-boot suatu sistem operasi terlalu rumit bagi lingkungan pra-boot, suatu bootloader dipakai untuk memuat kernel dari berkas-berkas terkait. Itu juga menyediakan informasi konfigurasi ke installer, dan dapat menawarkan sebuah menu untuk memilih dari konfigurasi yang berbeda.

Kernel dan Initramfs

Kernel adalah inti dari setiap sistem operasi Linux, dan initramfs menyediakan kernel dengan alat dan sumber daya yang diperlukan. Berkas-berkas ini juga disediakan oleh tftp.

Repositori paket

Repositori Fedora harus tersedia untuk instalasi. Contoh di bagian ini menggunakan cermin Fedora publik sebagai sumber repositori, tetapi Anda juga dapat menggunakan repo pada jaringan lokal yang disediakan oleh NFS, FTP, atau HTTP. Repositori dapat dikonfigurasi menggunakan opsi boot inst.repo=; lihat Menentukan Sumber Instalasi untuk detailnya.

Konfigurasi Server DHCP

Memasang dan mengonfigurasi dhcpd
  1. Memasang paket server dhcp.

    # dnf install dhcp
  2. Buat konfigurasi sederhana untuk server dhcp di /etc/dhcp/dhcpd.conf

    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. Uji konfigurasi Anda dan atasi masalah apa pun yang Anda temukan.

    systemctl start dhcpd
    journalctl --unit dhcpd --since -2m --follow
  4. Add entries to point clients to their bootloader and the server that provides it to your subnet configuration in /etc/dhcp/dhcpd.conf. Because DHCP clients provide the server with identifying information along with their address request, BIOS clients and UEFI clients can each be directed to the correct bootloader.

    # refer to RFC4578 for possible arch option values
    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. Mulai ulang layanan dhcp untuk memeriksa konfigurasi dan membuat perubahan sesuai kebutuhan.

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

Memasang server tftp

Memasang server tftp
  1. Memasang paket server tftp.

    # dnf install tftp-server
  2. Mulai dan aktifkan soket tftp. systemd akan secara otomatis memulai layanan tftpd bila diperlukan.

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

Menyediakan dan mengonfigurasi bootloader untuk klien PXE

Mendapatkan berkas bootloader
  1. Dapatkan bootloader syslinux untuk klien BIOS.

    1. Instal paket syslinux.

      # dnf install syslinux
    2. Buat direktori untuk berkas bootloader, dan buat mereka tersedia di sana.

      # 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. Mendapatkan berkas bootloader untuk sistem UEFI

    1. Install the shim and grub2-efi packages. If your server is a BIOS system, you must install the packages to a temporary install root. Installing them directly on a BIOS machine will attempt to configure the system for UEFI booting and cause problems.

      # dnf install shim grub2-efi-x64 --installroot=/tmp/fedora --releasever 30
    2. Buat direktori untuk berkas bootloader, dan buat mereka tersedia di sana.

      # mkdir -p /var/lib/tftpboot/uefi
      # cp /tmp/fedora/boot/efi/EFI/fedora/{shim.efi,grubx64.efi} /var/lib/tftpboot/uefi/
Mengonfigurasi bootloader klien
  1. Buat menu boot untuk klien BIOS di /var/lib/tftpboot/pxelinux.cfg/default.

    default vesamenu.c32
    prompt 1
    timeout 600
    
    label linux
    menu label ^Install Fedora 30 64-bit
    menu default
    kernel f30/vmlinuz
    append initrd=f30/initrd.img inst.stage2=https://download.fedoraproject.org/pub/fedora/linux/releases/30/Server/x86_64/os/ ip=dhcp
    
    label server
    menu label ^Install Fedora 30 ( Minimal Image )
    menu default
    kernel f30/vmlinuz
    append initrd=f30/initrd.img inst.stage2=https://download.fedoraproject.org/pub/fedora/linux/releases/30/Server/x86_64/os/ ip=dhcp ks=https://example.com/fedora/kickstarts/minimal.ks
    
    label local
    menu label Boot from ^local drive
    localboot 0xffff
  2. Create a boot menu for UEFI clients at /var/lib/tftpboot/pxelinux/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 f30/vmlinuz ip=dhcp inst.repo=https://download.fedoraproject.org/pub/fedora/linux/releases/30/Server/x86_64/os/
    	initrdefi f30/initrd.img
    }
    
    menuentry 'Install Fedora 30 Server'  --class fedora --class gnu-linux --class gnu --class os {
    	kernel f30/vmlinuz
    	append initrd=f30/initrd.img inst.repo=https://download.fedoraproject.org/pub/fedora/linux/releases/30/Server/x86_64/os/ ip=dhcp ks=https://git.fedorahosted.org/cgit/spin-kickstarts.git/plain/fedora-install-server.ks?h=f21
    }

Mendapatkan kernel dan initrd

Mengunduh kernel dan initrd
  1. Buat direktori untuk berkas.

    # mkdir -p /var/lib/tftpboot/f30
  2. Unduh kernel.

    # wget https://download.fedoraproject.org/pub/fedora/linux/releases/30/Server/x86_64/os/images/pxeboot/vmlinuz -O /var/lib/tftpboot/f30/vmlinuz
  3. Unduh initrd

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

Menyediakan repositori

Contoh di bagian ini menggunakan cermin Fedora publik sebagai sumber paket. Untuk instalasi yang lebih cepat, menginstal ke banyak sistem, atau lingkungan yang lebih terisolasi, Anda mungkin ingin mengelola sebuah repositori lokal.

Fedora Infrastructure maintains instructions for a configuring a local mirror at https://fedoraproject.org/wiki/Infrastructure/Mirroring. The preferred method for providing repositories is via HTTP, and you can refer to the Fedora System Administrator’s Guide, available at https://docs.fedoraproject.org/, to configure httpd.

Instalasi jaringan tingkat lanjut dengan Cobbler

For more complex environments, Fedora offers the cobbler installation server. Tasks like managing kickstart configurtations, coordinating repositories, maintaining dns records, dhcp servers, and even puppet manifests are effectively automated by cobbler.

Meskipun semua fitur yang disediakan oleh cobbler bisa relatif sederhana, fungsionalitas penuh dari alat canggih ini terlalu luas untuk didokumentasikan dalam panduan ini. Komunitas cobbler menyediakan dokumentasi di https://cobbler.github.io/ untuk menemani paket di repositori Fedora.

Atau, Anda mungkin juga tertarik pada Foreman. Anda dapat menemukan dokumentasi resmi serta unduhan di situs web proyek di https://www.theforeman.org/.