Documentation for a newer release is available. View Latest

Configurazione di un server d’installazione

Questa appendice è destinata agli utenti con esperienza precedente in Linux. Se sei un nuovo utente, potresti voler installare utilizzando un supporto di avvio minimale o il DVD della distribuzione.

Panoramica dell’installazione PXE

Preboot Execution Environment, o PXE, è una tecnologia che consente ai computer di avviarsi direttamente da risorse fornite tramite la rete. Installare Fedora tramite la rete significa che non è necessario creare supporti fisici e si possono installare più computer o macchine virtuali contemporaneamente. Il processo coinvolge una serie di componenti e funzionalità che lavorano insieme per fornire le risorse necessarie.

Computer compatibile con PXE

La maggior parte dei computer moderni ha la capacità di avviarsi tramite rete. Solitamente, premendo un tasto funzione durante l’avvio, si apre un menu di selezione dell’avvio. In ambienti progettati per l’amministrazione non assistita, i sistemi sono spesso configurati per tentare prima l’avvio dalla rete e poi dall’archiviazione locale. Il server di installazione è configurato per offrire l’installazione solo quando necessario. Il manuale del tuo computer fornirà istruzioni specifiche su come impostare le priorità di avvio.

Server DHCP

Quando un sistema richiede un indirizzo durante l’avvio di rete, il server DHCP fornisce anche la posizione dei file da avviare. Una rete dovrebbe avere un solo server DHCP.

Server TFTP

Poiché l’ambiente di pre-avvio è molto semplice, i file devono essere forniti in modo molto semplice. Il Trivial File Transfer Protocol, o TFTP, fornisce al sistema il bootloader necessario per continuare il processo di installazione.

Bootloader

Poiché il compito di avviare un sistema operativo è troppo complesso per l’ambiente di pre-avvio, viene utilizzato un bootloader per caricare il kernel e i file correlati. Fornisce inoltre informazioni di configurazione all’installer e può offrire un menu per selezionare diverse configurazioni.

Kernel e Initramfs

Il kernel è il cuore di qualsiasi sistema operativo Linux e l’initramfs fornisce al kernel gli strumenti e le risorse necessarie. Anche questi file vengono forniti tramite TFTP.

Repository dei pacchetti

A Fedora repository must be available for the installation. The example in this section uses the public Fedora mirrors as the repository source, but you can also use a repo on the local network provided by NFS, FTP, or HTTP. Repositories can be configured using the inst.repo= boot option; see Specifying the Installation Source for details.

Configurazione del Server DHCP

Installazione e configurazione di dhcpd
  1. Installare il pacchetto del server dhcp.

    # dnf install dhcp
  2. Creare una configurazione semplice per il server dhcp in /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. Testare la configurazione e risolvere eventuali problemi riscontrati.

    systemctl start dhcpd
    journalctl --unit dhcpd --since -2m --follow
  4. Aggiungere voci alla configurazione della subnet in /etc/dhcp/dhcpd.conf per indirizzare i client al loro bootloader e al server che lo fornisce. Poiché i client DHCP forniscono al server informazioni di identificazione insieme alla loro richiesta di indirizzo, i client BIOS e i client UEFI possono essere indirizzati ciascuno al bootloader corretto.

    # refer to RFC4758 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. Riavviare il servizio dhcp per verificare la configurazione e apportare le modifiche necessarie.

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

Installazione del server tftp

Installazione del server tftp
  1. Installare il pacchetto del server tftp.

    # dnf install tftp-server
  2. Avviare e abilitare il tftp socket. systemd avvierà automaticamente il servizio tftpd quando richiesto.

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

Fornitura e configurazione dei bootloader per i client PXE

Ottenere i file del bootloader
  1. Ottenere il bootloader syslinux per i client BIOS.

    1. Installare il pacchetto syslinux.

      # dnf install syslinux
    2. Creare una directory per i file del bootloader e renderli disponibili lì.

      # 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. Ottenere i file del bootloader per i sistemi UEFI

    1. Installare i pacchetti shim e grub2-efi. Se il server è un sistema BIOS, è necessario installare i pacchetti in una directory di installazione temporanea. Installarli direttamente su una macchina BIOS tenterà di configurare il sistema per l’avvio UEFI e causerà problemi.

      # dnf install shim grub2-efi-x64 --installroot=/tmp/fedora --releasever 29
    2. Creare una directory per i file del bootloader e renderli disponibili lì.

      # mkdir -p /var/lib/tftpboot/uefi
      # cp /tmp/fedora/boot/efi/EFI/fedora/{shim.efi,grubx64.efi} /var/lib/tftpboot/uefi/
Configurazione dei bootloader client
  1. Creare un menu di avvio per i client BIOS in /var/lib/tftpboot/pxelinux.cfg/default.

    default vesamenu.c32
    prompt 1
    timeout 600
    
    label linux
    menu label ^Install Fedora 29 64-bit
    menu default
    kernel f29/vmlinuz
    append initrd=f29/initrd.img inst.stage2=https://download.fedoraproject.org/pub/fedora/linux/releases/29/Server/x86_64/os/ ip=dhcp
    
    label server
    menu label ^Install Fedora 29 ( Minimal Image )
    menu default
    kernel f29/vmlinuz
    append initrd=f29/initrd.img inst.stage2=https://download.fedoraproject.org/pub/fedora/linux/releases/29/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. Creare un menu di avvio per i client UEFI in /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 f29/vmlinuz ip=dhcp inst.repo=https://download.fedoraproject.org/pub/fedora/linux/releases/29/Server/x86_64/os/
    	initrdefi f29/initrd.img
    }
    
    menuentry 'Install Fedora 29 Server'  --class fedora --class gnu-linux --class gnu --class os {
    	kernel f29/vmlinuz
    	append initrd=f29/initrd.img inst.repo=https://download.fedoraproject.org/pub/fedora/linux/releases/29/Server/x86_64/os/ ip=dhcp ks=https://git.fedorahosted.org/cgit/spin-kickstarts.git/plain/fedora-install-server.ks?h=f21
    }

Ottenere il kernel e l’initrd

Scaricare il kernel e l’initrd
  1. Creare una directory per i file.

    # mkdir -p /var/lib/tftpboot/f29
  2. Scaricare il kernel.

    # wget https://download.fedoraproject.org/pub/fedora/linux/releases/29/Server/x86_64/os/images/pxeboot/vmlinuz -O /var/lib/tftpboot/f29/vmlinuz
  3. Scaricare l’initrd

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

Fornitura di repository

Gli esempi in questa sezione utilizzano i mirror pubblici di Fedora come fonte dei pacchetti. Per installazioni più rapide, l’installazione su molti sistemi o ambienti più isolati, potresti voler mantenere un repository locale.

L’infrastruttura Fedora mantiene istruzioni per configurare un mirror locale su https://fedoraproject.org/wiki/Infrastructure/Mirroring. Il metodo preferito per fornire i repository è tramite HTTP, e puoi fare riferimento alla Guida dell’amministratore di sistema di Fedora, disponibile su https://docs.fedoraproject.org/, per configurare httpd.

Installazioni di rete avanzate con Cobbler

Per ambienti più complessi, Fedora offre il server di installazione cobbler. Attività come la gestione delle configurazioni kickstart, il coordinamento dei repository, la manutenzione dei record DNS, dei server DHCP e persino dei manifest di Puppet sono automatizzate in modo efficace da cobbler.

Sebbene sfruttare tutte le funzionalità fornite da cobbler possa essere relativamente semplice, la piena funzionalità di questo potente strumento è troppo ampia per essere documentata in questa guida. La comunità di cobbler fornisce documentazione su https://cobbler.github.io/ per accompagnare i pacchetti nel repository di Fedora.

In alternativa, potresti essere interessato a Foreman. Puoi trovare la documentazione ufficiale e i download sul sito web del progetto all’indirizzo https://www.theforeman.org/.