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-server
  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
    systemctl enable 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. Using latest processor architecture option codes, which may be found on the IANA DHCPv6 registration page, allows multiple architectures to share a single DHCP server.

    # refer to RFC4578 & IANA DHCPv6 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 {
    # 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;
    }
    
    
    ...
  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,menu.c32,vesamenu.c32,ldlinux.c32,libcom32.c32,libutil.c32} /var/lib/tftpboot/
  2. Mendapatkan berkas bootloader untuk sistem UEFI

    1. Pasang paket shim-x64 dan grub2-efi-x64. Jika server Anda adalah sistem BIOS, Anda harus menginstal paket ke root instal sementara. Menginstalnya langsung pada mesin BIOS akan mencoba mengkonfigurasi sistem untuk boot UEFI dan menyebabkan masalah.

      # dnf install shim-x64 grub2-efi-x64 --installroot=/tmp/fedora --releasever 36
    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/{shimx64.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 local
    menu label Boot from ^local drive
    menu default
    localboot 0xffff
    
    label linux
    menu label ^Install Fedora 36 64-bit
    kernel f36/vmlinuz
    append initrd=f36/initrd.img inst.stage2=https://download.fedoraproject.org/pub/fedora/linux/releases/36/Server/x86_64/os/ ip=dhcp
    
    label server
    menu label ^Install Fedora 36 ( Minimal Image )
    kernel f36/vmlinuz
    append initrd=f36/initrd.img inst.stage2=https://download.fedoraproject.org/pub/fedora/linux/releases/36/Server/x86_64/os/ ip=dhcp ks=https://example.com/fedora/kickstarts/minimal.ks
  2. Buat menu boot untuk klien UEFI di /var/lib/tftpboot/uefi/grub.cfg.

    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/f36/vmlinuz ip=dhcp inst.repo=https://download.fedoraproject.org/pub/fedora/linux/releases/36/Server/x86_64/os/
    	initrd $fw_path/f36/initrd.img
    }
    
    menuentry 'Install Fedora 36 Server'  --class fedora --class gnu-linux --class gnu --class os {
    	kernel f36/vmlinuz
    	append initrd=f36/initrd.img inst.repo=https://download.fedoraproject.org/pub/fedora/linux/releases/36/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/f36
  2. Unduh kernel.

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

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

Ringkasan Instalasi HTTP

HTTP/HTTPS boot is a technology that allows computers to boot directly from resources provided over the network. When used in conjunction with HTTPS the authenticity of the server is validated, and the use of HTTP offers a more reliable transport mechanism than PXE’s TFTP. Installing Fedora this way avoids creating install media and allows multiple computers to install simultaneously. Many current UEFI implementations, including the EDK2 based firmware shipping with fedora’s virtualization solutions, can directly boot from HTTP sources. A UEFI boot entry may be manually added that specifies a HTTP source via firmware menus. Alternatively, a DHCP server may automatically provide the required HTTP path.

Enrolling Certificatesll

While many machines are capable of HTTPS boot as well as HTTP, they will frequently need to have a certificate authority (CA) enrolled first. The CA is used to validate the certificates presented by the HTTPS server. This may be accomplished by enrolling the appropriate files from the fedora provided ca-certificates for public mirrors or the local HTTPS boot server’s certificate.

Konfigurasi Server DHCP bagi HTTP

Instalasi dan konfigurasi server DHCP untuk boot HTTP identik dengan konfigurasi untuk PXE kecuali bahwa kita perlu mengubah kondisi opsi arch untuk klien HTTP

....

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/36/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/36/Server/x86_64/os/images/boot.iso";
} else {
filename "pxelinux.0";
next-server 192.168.1.2;
}

...

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.

Infrastruktur Fedora mengelola instruksi untuk mengonfigurasi cermin lokal di https://fedoraproject.org/wiki/Infrastructure/Mirroring. Metode yang disukai untuk menyediakan repositori adalah melalui HTTP, dan Anda dapat merujuk ke Fedora Panduan Administrator Sistem untuk mengonfigurasi httpd.

Instalasi jaringan tingkat lanjut dengan Cobbler

Untuk lingkungan yang lebih kompleks, Fedora menawarkan server instalasi cobbler. Tugas-tugas seperti mengelola konfigurasi kickstart, mengkoordinasikan repositori, memelihara catatan dns, server dhcp, dan bahkan manifes puppet secara efektif diotomatisasi oleh 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/.