Asennuspalvelimen määrittäminen

Tämä liite on tarkoitettu käyttäjille, joilla on aikaisempaa Linux-kokemusta. Jos olet uusi käyttäjä, saatat haluta ennemmin asentaa käyttämällä minimaalikäynnistysmediaa tai jakelu-DVD:tä.

PXE-asennuksen yleiskatsaus

Preboot Execution Environment tai PXE on tekniikka, jonka avulla tietokoneet voivat käynnistyä suoraan verkon kautta tarjotuista resursseista. Fedoran asentaminen verkon kautta tarkoittaa, että sinun ei tarvitse luoda mediaa, ja voit asentaa useisiin tietokoneisiin tai virtuaalikoneeseen samanaikaisesti. Prosessi sisältää useita komponentteja ja ominaisuuksia, jotka toimivat yhdessä tarvittavien resurssien tarjoamiseksi.

PXE-yhteensopiva tietokone

Useimmissa nykyaikaisissa tietokoneissa on verkkokäynnistysmahdollisuus. Yleensä käynnistyksen aikana painettava toimintonäppäin tuo esiin käynnistysvalikon. Valvomattomaan hallintaan suunnitelluissa ympäristöissä järjestelmät määritetään usein yrittämään ensin käynnistystä verkosta ja sitten paikallisesta tallennustilasta, ja asennuspalvelin on määritetty tarjoamaan asennusta vain tarvittaessa. Tietokoneen käyttöoppaassa on tarkat ohjeet käynnistysprioriteettien asettamiseen.

DHCP-palvelin

Kun järjestelmä pyytää osoitetta verkkokäynnistyksen aikana, DHCP-palvelin ilmoittaa myös käynnistettävien tiedostojen sijainnin. Verkossa tulisi olla vain yksi DHCP-palvelin.

TFTP-palvelin

Koska käynnistystä edeltävä ympäristö on hyvin yksinkertainen, tiedostot on annettava hyvin yksinkertaisella tavalla. Trivial File Transfer Protocol eli TFTP tarjoaa järjestelmälle käynnistyslataimen, joka tarvitaan asennuksen jatkamiseen.

Käynnistyksenlataaja

Koska käyttöjärjestelmän käynnistäminen on liian monimutkaista käynnistystä edeltävään ympäristöön, ytimen ja siihen liittyvät tiedostot ladataan käynnistyslataimella. Se tarjoaa myös konfigurointitietoja asentajalle ja voi tarjota valikon, josta voit valita eri kokoonpanoista.

Kernel ja Initramfs

Kernel on minkä tahansa Linux-käyttöjärjestelmän ydin, ja initramfs tarjoaa kernelille tarvittavat työkalut ja resurssit. Nämä tiedostot tulee myös tftp-palvelimelta.

Paketin asennuslähde

Fedora-asennuslähde on oltava käytettävissä asennusta varten. Tämän osion esimerkki käyttää julkisia Fedora-peilejä asennusten lähteenä, mutta voit myös käyttää NFS:n, FTP:n tai HTTP:n tarjoamaa repoa paikallisessa verkossa. Asennuslähteet voidaan määrittää käyttämällä inst.repo= käynnistysvaihtoehtoa; Katso lisätietoja kohdasta Asennuslähteen määrittäminen.

DHCP-palvelimen asetukset

dhcpd:n asennus ja konfigurointi
  1. Asenna dhcp-palvelinpaketti.

    # dnf install dhcp-server
  2. Luo yksinkertainen konfiguraatio dhcp-palvelimelle tiedostoon /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. Testaa kokoonpanosi ja korjaa havaitsemasi ongelmat.

    systemctl start dhcpd
    systemctl enable dhcpd
    journalctl --unit dhcpd --since -2m --follow
  4. Lisää merkinnät, jotka kertovat asiakastietokoneille käynnistyslataimen ja palvelimen, joka tarjoaa ne tässä aliverkossa tiedostossa "/etc/dhcp/dhcpd.conf". Koska DHCP-asiakkaat tarjoavat palvelimelle tunnistetiedot osoitepyyntönsä ohella, BIOS-asiakkaat ja UEFI-asiakkaat voidaan ohjata oikeaan käynnistyslataimeen. Uusimpien suoritinarkkitehtuurin optiokoodien avulla, jotka löytyvät IANA DHCPv6 -rekisteröintisivulta, mahdollistavat DHCP-palvelimen jakamisen usean arkkitehtuurin kesken.

    # katso RFC4578 & IANA DHCPv6 mahdollisten arkkitehtuurin asetusarvojen saamiseksi
    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. Käynnistä dhcp-palvelu uudelleen tarkistaaksesi asetukset ja tehdäksesi tarvittavat muutokset.

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

Tftp-palvelimen asennus

Tftp-palvelimen asennus
  1. Asenna tftp-palvelinpaketti.

    # dnf install tftp-server
  2. Käynnistä ja ota käyttöön "tftp socket". "systemd" käynnistää automaattisesti "tftpd"-palvelun tarvittaessa.

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

Käynnistyslatainten tarjoaminen ja konfigurointi PXE-asiakkaille

Käynnistyslataimen tiedostojen hakeminen
  1. Hae syslinux käynnistyslatain BIOS-asiakkaille.

    1. Asenna syslinux-paketti.

      # dnf install syslinux
    2. Luo hakemisto käynnistyslataustiedostoille ja aseta ne saataville sieltä.

      # 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. Hae käynnistyslataustiedostot UEFI-järjestelmille

    1. Asenna paketit shim-x64 ja grub2-efi-x64. Jos palvelimesi on BIOS-järjestelmä, sinun on asennettava paketit väliaikaisen asennuksen root:tiin. Niiden asentaminen suoraan BIOS-koneeseen yrittää määrittää järjestelmän UEFI-käynnistystä varten ja aiheuttaa ongelmia.

      # dnf install shim-x64 grub2-efi-x64 --installroot=/tmp/fedora --releasever 36
    2. Luo hakemisto käynnistyslataustiedostoille ja aseta ne saataville sieltä.

      # mkdir -p /var/lib/tftpboot/uefi
      # cp /tmp/fedora/boot/efi/EFI/fedora/{shimx64.efi,grubx64.efi} /var/lib/tftpboot/uefi/
Asiakkaan käynnistyslatainten konfigurointi
  1. Luo käynnistysvalikko BIOS-asiakkaille tiedostoon /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. Luo käynnistysvalikko UEFI-asiakkaille tiedostoon /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
    }

Kernelin ja initrd:n hakeminen

Kernelin ja initrd:n lataaminen
  1. Luo tiedostoille hakemisto.

    # mkdir -p /var/lib/tftpboot/f36
  2. Lataa 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. Lataa 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

HTTP-asennuksen yleiskatsaus

HTTP/HTTPS-käynnistys on tekniikka, jonka avulla tietokoneet voivat käynnistyä suoraan verkon kautta tarjotuista resursseista. Kun sitä käytetään yhdessä HTTPS:n kanssa, palvelimen aitous tarkistetaan, ja HTTP:n käyttö tarjoaa luotettavamman siirtomekanismin kuin PXE:n TFTP. Fedoran asentaminen tällä tavalla välttää asennusmedian luomisen ja sallii useiden tietokoneiden asennuksen samanaikaisesti. Monet nykyiset UEFI-toteutukset, mukaan lukien EDK2-pohjainen laiteohjelmisto fedoran virtualisointiratkaisujen kanssa, voivat käynnistyä suoraan HTTP-lähteistä. UEFI-käynnistysvalinta voidaan lisätä manuaalisesti, joka määrittää HTTP-lähteen laiteohjelmiston valikkojen kautta. Vaihtoehtoisesti DHCP-palvelin voi tarjota vaaditun HTTP-polun automaattisesti.

Certificatesll:n käyttö

Vaikka monet koneet pystyvät sekä HTTPS- että HTTP-käynnistykseen, niillä on usein oltava ensin rekisteröity varmentaja (CA). CA:ta käytetään HTTPS-palvelimen esittämien varmenteiden vahvistamiseen. Tämä voidaan saavuttaa rekisteröimällä asianmukaiset tiedostot fedoran toimittamista ca-varmenteista julkisille peileille tai paikallisen HTTPS-käynnistyspalvelimen varmenteeseen.

DHCP-palvelimen konfigurointi HTTP:lle

DHCP-palvelimen asennus ja konfigurointi HTTP-käynnistystä varten on identtinen sen konfiguraation PXE kanssa paitsi, että meidän on muutettava HTTP-asiakkaiden arch-ehtoja

....

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;
}

...

Asennuslähteiden tarjoaminen

Tämän osion esimerkit käyttävät julkisia Fedora-peilejä pakettilähteenä. Saadaksesi nopeampia asennuksia useiden laitteiden asentamisiin tai eristettyihin ympäristöihin voit ylläpitää paikallista asennuslähdettä.

Fedora Infrastructure ylläpitää ohjeita paikallisen peilin määrittämiseen https://fedoraproject.org/wiki/Infrastructure/Mirroring. Suositeltu tapa tarjota asennuslähteet on HTTP:n kautta, ja voit katsoa Fedora Järjestelmänvalvojan oppaasta ohjeita määrittääksesi httpd.

Edistyneet verkkoasennukset Cobblerilla

Monimutkaisempia ympäristöjä varten Fedora tarjoaa cobbler-asennuspalvelimen. Tehtävät, kuten aloituskokoonpanojen hallinta, asennuslähteiden koordinointi, dns-tietueiden, dhcp-palvelimien ja jopa puppet-luetteloiden ylläpito, automatisoidaan tehokkaasti käyttämällä cobbler.

Vaikka kaikkien cobblerin tarjoamien ominaisuuksien hyödyntäminen voi olla suhteellisen yksinkertaista, tämän tehokkaan työkalun kaikki toiminnot ovat liian laajat dokumentoitavaksi tässä oppaassa. Cobbler-yhteisö tarjoaa dokumentaatiota https://cobbler.github.io/ Fedora-asennuslähteessä olevien pakettien lisäksi.

Vaihtoehtoisesti saatat olla kiinnostunut myös Foremanista. Löydät viralliset asiakirjat sekä lataukset projektin verkkosivustolta https://www.theforeman.org/.