15 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 14, 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à.
15.1 Configurazione di un server DHCP #
Oltre a fornire l'allocazione automatica degli indirizzi ai client di rete, il DHCP indica l'indirizzo IP del server TFTP e i percorsi del kernel e dei file initrd. Il file di cui si deve effettuare l'upload dipende dall'architettura del computer di destinazione e dall'uso dell'avvio BIOS o UEFI esistente. I client trasmettono il rispettivo tipo di architettura nella richiesta DHCP. In base a tali informazioni, il server DHCP può decidere i file cui il client deve effettuare il download per l'avvio.
Eseguire il login come
root
nel computer che ospita il server DHCP.Abilitare il server DHCP eseguendo il comando
systemctl enable dhcpd
.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"; } }
In questo esempio di configurazione viene utilizzata la sottorete
192.168.1.0/24
con DHCP, DNS e il gateway sul server con l'IP192.168.1.1
. Assicurarsi che tutti gli indirizzi IP utilizzati siano stati modificati secondo il layout della rete. Per ulteriori informazioni sulle opzioni disponibili indhcpd.conf
, vedere la documentazione relativa adhcpd.conf
.Riavviare il server DHCP eseguendo il comando
systemctl restart dhcpd
.
Se si prevede di utilizzare SSH per il controllo remoto di un'installazione PXE e Wake on LAN, specificare l'indirizzo IP che dovrebbe essere fornito alla destinazione dell'installazione da DHCP. A tale scopo, modificare la configurazione DHCP precedentemente indicata in base all'esempio seguente:
group { host test { hardware ethernet MAC_ADDRESS; fixed-address IP_ADDRESS; } }
L'istruzione host introduce il nome host della destinazione dell'installazione. Per associare il nome host e l'indirizzo IP a un host specifico, è necessario conoscere e specificare l'indirizzo hardware (MAC) del sistema. Sostituire tutte le variabili utilizzate in questo esempio con i valori effettivi che corrispondono all'ambiente in uso.
Dopo aver riavviato il server DHCP, viene fornito un indirizzo IP statico per l'host specificato che consente la connessione al sistema tramite SSH.
15.2 Configurazione di un server TFTP #
Nelle procedure seguenti è descritto come preparare il server per i computer di destinazione con UEFI e BIOS nelle architetture x86 a 32 e 64 bit. Nella struttura preparata sono inoltre già presenti i sistemi AArch64.
15.2.1 Installazione del server TFTP #
Per installare un server TFTP, attenersi alla procedura seguente:
Installare il pacchetto
tftp
.tux >
sudo
zypper in tftp
Rivedere la configurazione
tftpd
in/etc/sysconfig/tftp
e aggiungere o modificare le opzioni secondo necessità. Per ulteriori dettagli, fare riferimento aman 8 tftpd
. Il daemon TFTP funziona senza dover modificare la configurazione. La directory radice di default per i file è/srv/tftpboot
.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
15.2.2 Installazione dei file PXE dal pacchetto #
In SUSE Linux Enterprise Server vengono forniti i file necessari per eseguire l'avvio da PXE in computer BIOS o UEFI in un RPM. Installare i file nel computer sul quale viene eseguito il server TFTP:
tux >
sudo
zypper in tftpboot-installation-SLES-OS_VERSION-ARCHITECTURE
Sostituire OS_VERSION con la versione dell'installazione di SUSE Linux Enterprise Server in uso, ad esempio 15
e ARCHITECTURE con l'architettura del sistema, ad esempio x86_64
. È possibile utilizzare zypper se tftpboot
per ricercare tutte le versioni e le architetture disponibili.
I file vengono installati in /srv/tftpboot/SLES-OS_VERSION-ARCHITECTURE
. È inoltre possibile copiare altre versioni e architetture di SUSE Linux Enterprise Server nella directory/srv/tftpboot
.
15.2.3 Configurazione di PXELINUX #
Aprire il file /srv/tftpboot/SLES-OS_VERSION-ARCHITECTURE/net/pxelinux.cfg/default
in un editor. Sostituire il percorso del parametro install
in base alla configurazione descritta nel Capitolo 14, 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 15.3, «Opzioni di configurazione di PXELINUX».
default linux # install label linux ipappend 2 kernel boot/ARCHITECTURE/loader/linux append initrd=boot/x86_64/ARCHITECTURE/initrd instsys=tftp://TFTP_SERVER/SLES-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/SLES-OS_VERSION-ARCHITECTURE/net/pxelinux.cfg/message
per visualizzare un messaggio nel menu di avvio.
15.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/SLES-OS_VERSION-ARCHITECTURE/EFI/BOOT/grub.cfg
. Impostare il parametro install
in base alla configurazione descritta nel Capitolo 14, 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».
15.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 sezioneLABEL
, può essere utilizzato per ignorare l'opzioneAPPEND
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 15.1, «Opzioni della riga di comando del kernel generate e aggiunte daIFAPPEND
»: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 comandoLABEL
. L'impostazione di default di IMAGE è la stessa di LABEL e, se non viene fornita alcuna opzioneAPPEND
, per default viene utilizzata la voce generale, se presente. Sono ammesse fino a 128 vociLABEL
.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'opzioneKERNEL
, 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. Seflag_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.
15.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.
Non posizionare l'opzione PXE davanti al parametro di avvio del disco rigido nel BIOS, altrimenti il sistema cercherà di reinstallarsi a ogni avvio.
15.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.
15.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.
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.
15.7 Wake on LAN con YaST #
Utilizzare questa procedura per configurare Wake on LAN con YaST.
Eseguire il login come utente
root
.Avviare
› › .Fare clic su
, quindi aggiungere il nome e l'indirizzo MAC del sistema di destinazione.Per accendere questo computer, scegliere la voce appropriata, quindi fare clic su
.
15.8 Avvio da CD o unità USB anziché da PXE #
È inoltre possibile utilizzare un CD, DVD o un'unità USB con un'immagine di sistema piccola piuttosto che eseguire l'avvio da PXE. Il recupero dei file necessari verrà effettuato tramite NFS una volta effettuato l'upload del kernel e dell'initrd. Con mksusecd
è possibile creare un'immagine avviabile. Ciò può essere utile nel caso in cui il computer di destinazione non supporti l'avvio da PXE.
Installarla con sudo zypper in mksusecd
. Usare il seguente comando per creare un'immagine ISO avviabile:
tux >
mksusecd
--create image.iso \ --net=nfs://192.168.1.1:/srv/install/ARCH/OS_VERSION/SP_VERSION/cd1 \ /srv/tftpboot/EFI/ARCH/boot
Sostituire ARCH con la directory corrispondente nell'architettura del sistema di destinazione. Sostituire anche OS_version e SP_version in base ai percorsi nella Sezione 15.2, «Configurazione di un server TFTP».
Invece di utilizzare un server NFS per l'opzione --net
, è anche possibile utilizzare un archivio HTTP, ad esempio l'archivio openSUSE:
tux >
mksusecd
--create image.iso \ --net=http://download.opensuse.org/tumbleweed/repo/oss/suse \ /srv/tftpboot/EFI/ARCH/boot
È possibile scrivere image.iso
in un DVD o CD o in una chiavetta USB utilizzando dd
:
root #
dd
if=image.iso of=/dev/USB_DEVICE
Sostituire USB_DEVICE con il nome dispositivo della chiavetta USB. Verificare con esattezza il nome del dispositivo per assicurarsi di non eliminare inavvertitamente i dati in un'altra unità.