Vai al contenutoNaviga tra le pagine: pagina precedente [tasto di scelta p]/pagina successiva [tasto di scelta n]
documentation.suse.com / Documentazione di SUSE Linux Enterprise Server / Guida alla distribuzione / Configurazione di un server di installazione / Preparazione dell'ambiente di avvio della rete
Si applica a SUSE Linux Enterprise Server 15 SP2

17 Preparazione dell'ambiente di avvio della rete

In questo capitolo è descritto come configurare i server DHCP e TFTP che forniscono l'infrastruttura necessaria per eseguire l'avvio da PXE.

È possibile installare SUSE® Linux Enterprise Server tramite un ambiente PXE (Preboot Execution Environment). L'avvio tramite PXE deve essere supportato dall'hardware client. In rete devono essere disponibili un server DHCP e un server TFTP che forniscano ai client i dati richiesti. In questo capitolo è indicata la procedura per configurare i server necessari.

Con PXE vengono avviati solo un kernel e il file initrd. È possibile utilizzarlo per eseguire l'avvio in un ambiente di installazione o in sistemi live. Per configurare le origini di installazione, vedere Capitolo 16, Configurazione di un'origine di installazione di rete.

In questa sezione vengono illustrate le attività di configurazione necessarie per scenari di avvio complessi. Vengono presentati esempi di configurazione pronti all'uso per DHCP, avvio PXE, TFTP e Wake on LAN.

Negli esempi si presuppone che i server DHCP, TFTP e NFS risiedano nello stesso computer con IP 192.168.1.1. Tutti i servizi possono risiedere tranquillamente in computer diversi. Assicurarsi di modificare gli indirizzi IP secondo necessità.

17.1 Configurazione di un server DHCP

Un server DHCP fornisce l'assegnazione di indirizzi IP dinamici (Sezione 17.1.1, «Assegnazione di indirizzi dinamici») e statici (Sezione 17.1.2, «Assegnazione di indirizzi IP statici») ai client di rete. Pubblicizza server, instradamenti e domini. Per i server TFTP, DHCP fornisce inoltre il kernel e i file initrd. I file da caricare dipendono dall'architettura del computer di destinazione e dall'uso dell'avvio BIOS o UEFI esistente. I client trasmettono il rispettivo tipo di architettura nelle richieste DHCP. In base a tali informazioni, il server DHCP decide i file che il client deve scaricare per l'avvio.

Avvertimento
Avvertimento: errori di avvio PXE e installazione AutoYaST

A partire da SUSE Linux Enterprise 15.0 esistono condizioni speciali che determinano errori di avvio PXE e installazione AutoYaST. Per ulteriori informazioni e per la relativa soluzione, consultare la Sezione 17.1.3, «Errori di avvio PXE e installazione AutoYaST».

17.1.1 Assegnazione di indirizzi dinamici

Il seguente esempio illustra come configurare un server DHCP che assegna in modo dinamico gli indirizzi IP ai client e pubblicizza server, instradamenti, domini e file di avvio.

  1. Eseguire il login come root nel computer che ospita il server DHCP.

  2. Abilitare il server DHCP eseguendo il comando systemctl enable dhcpd.

  3. Aggiungere le righe seguenti ad una configurazione di sottorete del file di configurazione del server DHCP ubicato in /etc/dhcpd.conf:

    # The following lines are optional
    option domain-name "my.lab";
    option domain-name-servers 192.168.1.1;
    option routers 192.168.1.1;
    option ntp-servers 192.168.1.1;
    ddns-update-style none;
    default-lease-time 3600;
    
    # The following lines are required
    option arch code 93 = unsigned integer 16; # RFC4578
    subnet 192.168.1.0 netmask 255.255.255.0 {
     next-server 192.168.1.1;
     range 192.168.1.100 192.168.1.199;
     default-lease-time 3600;
     max-lease-time 3600;
     if option arch = 00:07 or option arch = 00:09 {
       filename "/EFI/x86/grub.efi";
     }
     else if option arch = 00:0b {
       filename "/EFI/aarch64/bootaa64.efi";
     }
     else  {
       filename "/BIOS/x86/pxelinux.0";
     }
    }

    Questo esempio di configurazione utilizza la sottorete 192.168.1.0/24 con DHCP, DNS e gateway sul server con indirizzo IP 192.168.1.1. Verificare che tutti gli indirizzi IP vengano modificati in base al layout di rete. Per ulteriori informazioni sulle opzioni disponibili in dhcpd.conf, vedere la documentazione relativa a dhcpd.conf.

  4. Riavviare il server DHCP eseguendo il comando systemctl restart dhcpd.

17.1.2 Assegnazione di indirizzi IP statici

Un server DHCP può anche assegnare indirizzi IP statici e nomi host ai client di rete. Un caso d'uso consiste nell'assegnare indirizzi statici ai server. Un altro caso è quello che limita la possibilità di entrare a far parte della rete ai soli client con indirizzi IP statici assegnati e che non fornisce pool di indirizzi dinamici.

Modificare la configurazione DHCP di cui sopra in base al seguente esempio:

group {
 host test {
   hardware ethernet MAC_ADDRESS;
   fixed-address IP_ADDRESS;
   }
}

La dichiarazione host assegna un nome host alla destinazione di installazione. Per associare il nome host e l'indirizzo IP a un host specifico, è necessario specificare l'indirizzo hardware (MAC) del client. Sostituire tutte le variabili utilizzare nell'esempio con i valori effettivi corrispondenti all'ambiente, quindi salvare le modifiche e riavviare il server DHCP.

17.1.3 Errori di avvio PXE e installazione AutoYaST

A partire da SUSE Linux Enterprise 15.0 e ISC DHCP 4.3.x esistono circostanze specifiche che determinano errori di avvio PXE e installazione AutoYaST. Se un server DHCP non dispone di un pool di indirizzi IP dinamici, ma consente solo indirizzi statici predefiniti per client, e i client inviano identificatori RFC 4361, si verificano errori di avvio PXE e installazione AutoYaST. Per evitare che computer casuali entrino a far parte della rete, consentire solo indirizzi assegnati a specifici client di rete e non fornire pool di indirizzi dinamici.

Se un nuovo sistema viene avviato in PXE, invia una richiesta al server DHCP e si autoidentifica mediante un identificatore client creato in base al tipo di hardware e all'indirizzo MAC dell'interfaccia di rete. Si tratta di un ID client RFC 2132. Il server DHCP fornisce quindi l'indirizzo IP assegnato. Viene quindi caricato il kernel di installazione, che invia un'altra richiesta DHCP, ma l'ID client è diverso e viene inviato in formato RFC 4361. Il server DHCP non lo riconosce come lo stesso client e cercherà un indirizzo IP dinamico libero, che non è disponibile. L'installazione si arresta.

La soluzione consiste nel configurare l'invio di ID client RFC 2132. Per inviare un ID client RFC 2132 durante l'installazione, utilizzare linuxrc per passare il seguente comando ifcfg:

ifcfg=eth0=dhcp,DHCLIENT_CLIENT_ID=01:03:52:54:00:02:c2:67,
DHCLIENT6_CLIENT_ID=00:03:52:54:00:02:c2:67

L'ID client DHCPv4 RFC 2132 in genere utilizzato nella rete Ethernet viene creato in base al tipo di hardware (01 per Ethernet), seguito dall'indirizzo hardware (MAC), ad esempio:

01:52:54:00:02:c2:67

L'ID client DHCPv4 RFC 4361 tenta di correggere il problema di identificazione di un computer con più di un'interfaccia di rete. Il nuovo ID client DHCPv4 presenta lo stesso formato dell'ID client DHCPv6. Inizia con il prefisso 0xff, anziché con il tipo di hardware, seguito dall'IAID DHCPv6, ovvero l'ID di associazione dell'indirizzo di interfaccia che descrive l'interfaccia sul computer, seguito dal DUID, l'identificatore univoco DHCP DHCPv6 del computer.

Utilizzando il DUID basato sul tipo e sull'indirizzo hardware di cui sopra, il nuovo ID client DHCPv4 RFC 4361 sarà:

  • Utilizzando gli ultimi byte dell'indirizzo MAC come IAID: ff:00:02:c2:67:00:01:xx:xx:xx:xx:52:54:00:02:c2:67

  • Se l'IAID è un numero semplice incrementato: ff:00:00:00:01:00:01:xx:xx:xx:xx:52:54:00:02:c2:67

I campi xx:xx:xx:xx nel DUID-LLT, ovvero la registrazione data e ora del livello di collegamento DUID, indicano la data e ora di creazione. Un DUID-LL (00:03:00:01:$MAC) non dispone della registrazione data e ora.

Per ulteriori informazioni sull'utilizzo di linuxrc, consultare la Guida di AutoYaST. Fare inoltre riferimento a man 4 initrd e alla documentazione per le opzioni dhcp4 "create-cid" e dhcp6 "default-duid" in man 5 wicked-config, wicked duid --help e wicked iaid --help.

17.2 Configurazione di un server TFTP

La seguente procedura illustra come preparare il server in modo da consentire l'avvio in remoto dei computer client con UEFI e BIOS mediante i file esportati da TFTP.

17.2.1 Installazione di un server TFTP

Per installare un server TFTP, attenersi alla procedura seguente:

  1. Installare il pacchetto tftp.

    tux > sudo zypper in tftp
  2. Rivedere la configurazione tftpd in /etc/sysconfig/tftp e aggiungere o modificare le opzioni secondo necessità. Per ulteriori dettagli, fare riferimento a man 8 tftpd. Il daemon TFTP funziona senza dover modificare la configurazione. La directory radice di default per i file è /srv/tftpboot.

  3. Assicurarsi che tftpd sia stato eseguito all'avvio e riavviarlo per visualizzare la nuova configurazione.

    tux > sudo systemctl enable tftp.socket
    tux > sudo systemctl restart tftp.socket

17.2.2 Installazione dei file per l'avvio

In SUSE Linux Enterprise Server vengono forniti i file necessari per eseguire l'avvio da PXE in computer BIOS o UEFI. Sono supportate le seguenti architetture hardware:

  • AMD64/Intel 64

  • AArch64

  • POWER

  • IBM Z

I file richiesti per l'avvio da una specifica architettura hardware sono inclusi in un pacchetto RPM. Installarli nel computer sul quale viene eseguito il server TFTP:

tux > sudo zypper in tftpboot-installation-SLE-OS_VERSION-ARCHITECTURE

Sostituire OS_VERSION con il numero di versione dell'installazione di SUSE Linux Enterprise Server in uso, ad esempio SLE-15-SP2-x86_64, e ARCHITECTURE con l'architettura del sistema, ad esempio x86_64. Il testo risultante sarà: tftpboot-installation-SLE-15-SP2-x86_64 Eseguire zypper se tftpboot per cercare tutte le versioni e le architetture disponibili.

I file vengono installati in /srv/tftpboot/SLE-OS_VERSION-ARCHITECTURE. È inoltre possibile copiare altre versioni e architetture di SUSE Linux Enterprise Server nella directory/srv/tftpboot.

Suggerimento
Suggerimento: gestione di architetture diverse

L'architettura hardware di un client e un server può variare. Ad esempio, è possibile eseguire un server TFTP AMD64/Intel 64 e fornire un ambiente di avvio per computer client AArch64 installando il pacchetto tftpboot-installation-SLE-15-SP2-aarch64 .

Nota
Nota: directory /srv/tftpboot/ esistente

Se sul computer esiste già la directory /srv/tftpboot/, tutti i file verranno installati in /usr/share/tftpboot-installation/, come nel caso in cui si effettua l'upgrade del server PXE da una release precedente di SLES.

Per correggere il problema, copiare i file manualmente da /usr/share/tftpboot-installation/ in /srv/tftpboot/. In alternativa, rimuovere /srv/tftpboot/ e installare di nuovo il pacchetto tftpboot-installation-SLE-OS_VERSION-ARCHITECTURE .

17.2.3 Configurazione di PXELINUX

Aprire il file /srv/tftpboot/SLE-OS_VERSION-ARCHITECTURE/net/pxelinux.cfg/default in un editor. Sostituire il percorso del parametro install in base alla configurazione descritta nel Capitolo 16, Configurazione di un'origine di installazione di rete. Sostituire anche TFTP_SERVER con l'indirizzo IP del server TFTP. Per una panoramica delle opzioni di configurazione di PXELINUX, vedere Sezione 17.3, «Opzioni di configurazione di PXELINUX».

default linux

# install
label linux
  ipappend 2
  kernel boot/ARCHITECTURE/loader/linux
  append initrd=boot/ARCHITECTURE/loader/initrd instsys=tftp://TFTP_SERVER/SLE-OS_VERSION-ARCHITECTURE/boot/ARCHITECTURE/root install=PROTOCOL://SERVER_IP:/PATH

display  message
implicit 1
prompt  1
timeout  50

Per i dettagli sui parametri di avvio utilizzati nella riga append, vedere Sezione 7.3, «Elenco dei parametri di avvio importanti».

Se necessario, modificare /srv/tftpboot/SLE-OS_VERSION-ARCHITECTURE/net/pxelinux.cfg/message per visualizzare un messaggio nel menu di avvio.

17.2.4 Preparazione dell'avvio da PXE per EFI con GRUB2

Non è necessario modificare i file di configurazione GRUB2. Nelle impostazioni di default, tuttavia, non è fornita alcuna origine di rete per il sistema di installazione. Se si desidera eseguire l'installazione completa di SUSE Linux Enterprise Server tramite la rete, aggiungere il parametro install alle righe linuxefi nel file /srv/tftpboot/SLE-OS_VERSION-ARCHITECTURE/EFI/BOOT/grub.cfg. Impostare il parametro install in base alla configurazione descritta nel Capitolo 16, Configurazione di un'origine di installazione di rete. Per i dettagli su altri parametri di avvio utilizzati nelle righe efilinux, vedere Sezione 7.3, «Elenco dei parametri di avvio importanti».

17.3 Opzioni di configurazione di PXELINUX

Le opzioni elencate di seguito sono solo una parte di tutte le opzioni disponibili per il file di configurazione di PXELINUX.

APPEND OPTIONS

Consente di aggiungere una o più opzioni alla riga di comando del kernel. Queste vengono aggiunte sia per l'avvio automatico, sia per quello manuale. Le opzioni vengono aggiunte all'inizio della riga di comando del kernel e solitamente possono essere ignorate dalle opzioni del kernel immesse esplicitamente.

APPEND -

Non aggiunge alcun elemento. APPEND, seguito da un singolo trattino come argomento in una sezione LABEL, può essere utilizzato per ignorare l'opzione APPEND generale.

DEFAULT KERNEL_OPTIONS...

Consente di impostare la riga di comando del kernel di default. Se PXELINUX viene avviato automaticamente, agisce come se le voci che seguono DEFAULT fossero state digitate al prompt di avvio, ad eccezione dell'opzione auto che viene aggiunta automaticamente, indicando un avvio automatico.

Se non sono disponibili file di configurazione o nel file di configurazione non è definita alcuna voce DEFAULT, per default il nome del kernel è «linux», senza opzioni.

IFAPPEND FLAG

Aggiunge un'opzione specifica alla riga di comando del kernel a seconda del valore di FLAG. L'opzione IFAPPEND è disponibile solo su PXELINUX. Per FLAG è previsto un valore descritto nella Tabella 17.1, «Opzioni della riga di comando del kernel generate e aggiunte da IFAPPEND»:

Tabella 17.1: Opzioni della riga di comando del kernel generate e aggiunte da IFAPPEND

Argomento

Riga di comando del kernel generata/Descrizione

1

ip=CLIENT_IP:BOOT_SERVER_IP:GW_IP:NETMASK

I segnaposto vengono sostituiti in base all'input ricevuto dal server di avvio DHCP/BOOTP o PXE.

Questa opzione non sostituisce l'esecuzione di un client DHCP nel sistema avviato. Senza rinnovi regolari, il lease acquisito dal BIOS PXE scadrà e l'indirizzo IP potrà essere riutilizzato dal server DHCP.

2

BOOTIF=MAC_ADDRESS_OF_BOOT_INTERFACE

Questa opzione è utile se si desidera evitare timeout quando il server di installazione esamina un'interfaccia LAN dopo l'altra fino a quando non ottiene una risposta da un server DHCP. Questa funzione consente a un programma initrd di determinare l'interfaccia di avvio del sistema. linuxrc legge l'opzione e utilizza l'interfaccia di rete specificate.

4

SYSUUID=SYSTEM_UUID

Aggiunge UUID sotto forma di esadecimali in minuscolo. Vedere /usr/share/doc/packages/syslinux/pxelinux.txt

LABEL LABEL KERNEL IMAGE APPEND OPTIONS...

Indica che se si immette LABEL come kernel per l'avvio, PXELINUX deve avviare invece IMAGE ed è necessario utilizzare le opzioni APPEND specificate. Tali opzioni sostituiscono quelle specificate nella sezione globale del file, prima del primo comando LABEL. L'impostazione di default di IMAGE è la stessa di LABEL e, se non viene fornita alcuna opzione APPEND, per default viene utilizzata la voce generale, se presente. Sono ammesse fino a 128 voci LABEL.

PXELINUX utilizza la sintassi seguente:

label MYLABEL
  kernel MYKERNEL
  append MYOPTIONS

Le etichette vengono modificate come se fossero nomi di file e devono essere univoche dopo essere state modificate. Le due etichette «v2.6.30» e «v2.6.31», ad esempio, non sarebbero distinguibili in PXELINUX poiché entrambe vengono modificate e risultano nello stesso nome file DOS.

Il kernel non deve essere necessariamente un kernel di Linux. Può essere anche un settore di avvio o un file COMBOOT.

LOCALBOOT TYPE

In PXELINUX, se si specifica LOCALBOOT 0 invece dell'opzione KERNEL, viene chiamata questa etichetta e viene avviato il disco locale invece del kernel.

Argomento

Descrizione

0

Consente di eseguire un avvio normale.

4

Consente di eseguire un avvio locale mediante Universal Network Driver Interface (UNDI) ancora residente in memoria.

5

Consente di eseguire l'avvio locale mediante lo stack PXE completo, incluso il driver UNDI, ancora residente in memoria.

Tutti gli altri valori non sono definiti. Se non si conoscono gli stack UNDI o PXE, specificare 0.

TIMEOUT TIME-OUT

Indica il tempo di attesa al prompt di avvio prima dell'avvio automatico, espresso in unità di 1/10 di secondo. Il timeout viene annullato quando l'utente digita un testo qualsiasi con la tastiera, presupponendo che l'utente completerà il comando iniziato. Un valore di timeout pari a zero disabilita completamente il timeout. Questa è anche l'impostazione di default. Il valore massimo di timeout possibile è 35996 (poco meno di un'ora).

PROMPT flag_val

Se flag_val è 0, il prompt di avvio viene visualizzato solo se viene premuto Shift o Alt oppure se è selezionato il blocco delle maiuscole o il blocco dello scorrimento. Questa è l'impostazione di default. Se flag_val è 1, il prompt di avvio viene sempre visualizzato.

F2  FILENAME
F1  FILENAME
..etc...
F9  FILENAME
F10 FILENAME

Consente di visualizzare il file indicato sullo schermo quando viene premuto un tasto funzione al prompt di avvio. Può essere utilizzato per implementare la Guida online relativa al preavvio, presumibilmente per le opzioni della riga di comando del kernel. Per la compatibilità con versioni precedenti, è possibile inoltre immettere F10 come F0. Si noti che non esiste attualmente alcun modo per associare i nomi file a F11 e F12.

17.4 Preparazione del sistema di destinazione per l'avvio PXE

Preparare il BIOS del sistema per l'avvio PXE includendo l'opzione PXE nell'ordine di avvio del BIOS.

Avvertimento
Avvertimento: ordine di avvio nel BIOS

Non posizionare l'opzione PXE davanti al parametro di avvio del disco rigido nel BIOS, altrimenti il sistema cercherà di reinstallarsi a ogni avvio.

17.5 Preparazione del sistema di destinazione per Wake on LAN

Con Wake on LAN (WOL) è necessario che l'opzione BIOS corrispondente sia abilitata prima dell'installazione. Trascrivere inoltre l'indirizzo MAC del sistema di destinazione. Questi dati sono indispensabili per avviare Wake on LAN.

17.6 Wake on LAN

Con Wake on LAN è possibile accendere un computer mediante uno speciale pacchetto di rete contenente l'indirizzo MAC del computer. Poiché ogni computer dispone di un identificatore MAC univoco, non si corre il rischio di accendere accidentalmente il computer sbagliato.

Importante
Importante: Wake on LAN su segmenti di rete diversi

Se il computer di controllo non si trova sullo stesso segmento di rete della destinazione del comando WOL, sono disponibili due opzioni. Configurare le richieste WOL affinché vengano inviate come multidiffusioni o controllare in remoto un computer su tale segmento di rete in modo che funga da emittente delle richieste.

Gli utenti di SUSE Linux Enterprise Server possono utilizzare il modulo WOL di YaST per configurare facilmente Wake on LAN. Gli utenti di altre versioni di sistemi operativi basati su SUSE Linux possono utilizzare uno strumento a riga di comando.

17.7 Wake on LAN con YaST

Utilizzare questa procedura per configurare Wake on LAN con YaST.

  1. Eseguire il login come utente root.

  2. Avviare YaST › Servizi di rete › WOL.

  3. Fare clic su Aggiungi, quindi aggiungere il nome e l'indirizzo MAC del sistema di destinazione.

  4. Per accendere questo computer, scegliere la voce appropriata, quindi fare clic su Wake up (Attiva).