9 Preparazione dell'avvio del sistema di destinazione #
SUSE® Linux Enterprise Server può essere installato in diversi modi. Oltre alla consueta procedura di installazione tramite supporti, descritta nel Capitolo 6, Installazione con YaST, per l'installazione di SUSE Linux Enterprise Server è possibile scegliere tra vari approcci basati sulla rete oppure adottare un approccio completamente automatico.
Negli esempi riportati di seguito viene utilizzato NFS per i dati di installazione. Se si desidera utilizzare FTP, SMB o HTTP, vedere Capitolo 8, Configurazione del server contenente le origini dell'installazione.
Nelle sezioni successive, il sistema in cui viene installato il nuovo SUSE Linux Enterprise Server viene indicato come sistema di destinazione o destinazione dell'installazione. Il termine archivio (chiamato in precedenza «origine dell'installazione») viene utilizzato per tutte le origini dei dati di installazione. Tra queste vi sono i supporti fisici, quali CD e DVD, e i server di rete che distribuiscono i dati di installazione all'interno della rete in uso.
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à.
9.1 Configurazione di un server DHCP #
Oltre a fornire ai client di rete l'allocazione automatica dell'indirizzo, il server DHCP comunica l'indirizzo IP del server TFTP e il file che deve essere ricavato dalle routine di installazione sul computer di destinazione. Il file di cui si deve effettuare l'upload dipende dall'architettura del computer di destinazione e dall'uso dell'avvio nel BIOS o nell'UEFI esistente.
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.
9.2 Configurazione di un server TFTP #
Se si utilizza un'installazione basata su SUSE, è possibile utilizzare YaST per configurare un server TFTP. In alternativa, configurarlo manualmente. Il server TFTP fornisce l'immagine di avvio al sistema di destinazione dopo che questo viene avviato e invia una richiesta per l'immagine.
9.2.1 Configurazione di un server TFTP mediante YaST #
Eseguire il login come utente
root
.Avviare
› ›Fare clic su
per verificare se il server è stato avviato e incluso nelle routine di avvio. Non sono necessarie ulteriori azioni da parte dell'utente per garantire che xinetd esegua tftpd al momento dell'avvio.Fare clic su
per aprire la porta corrispondente nel firewall in esecuzione nel computer in uso. Se nel server in uso non vi sono firewall in esecuzione, questa opzione non è disponibile.Fare clic su
per esplorare la directory dell'immagine di avvio. La directory di default/srv/tftpboot
viene creata e selezionata automaticamente.Fare clic su
per applicare le impostazioni desiderate e avviare il server.
9.2.2 Configurazione manuale di un server TFTP #
Eseguire il login come
root
e installare i pacchettitftp
exinetd
.Modificare la configurazione di xinetd in
/etc/xinetd.d
per verificare che il server TFTP venga eseguito all'avvio:Se non esiste, creare un file denominato
tftp
in questa directory mediante il comandotouch tftp
. Quindi eseguirechmod 755 tftp
.Aprire il file
tftp
e aggiungere le righe seguenti:service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /srv/tftpboot disable = no }
Salvare il file e riavviare xinetd tramite il comando
systemctl restart xinetd
.
9.3 Installazione di file nel 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.
9.3.1 Preparazione della struttura #
In questa procedura si sostituiscono OS_VERSION e SP_VERSION con le versioni del sistema operativo e del service pack utilizzate. Utilizzare ad esempio sles12
e sp5
.
Creare una struttura in
/srv/tftpboot
per supportare le varie opzioni.root #
mkdir -p /srv/tftpboot/BIOS/x86root #
mkdir -p /srv/tftpboot/EFI/x86/bootroot #
mkdir -p /srv/tftpboot/EFI/aarch64/bootroot #
mkdir -p /srv/install/x86/OS_VERSION/SP_VERSION/cd1root #
mkdir -p /srv/install/aarch64/OS_VERSION/SP_VERSION/cd1Effettuare il download delle immagini ISO dei DVD di SUSE Linux Enterprise Server 12 SP5 dal sito Web SUSE per tutte le architetture necessarie.
Montare i file ISO come descritto nella Sezione 8.6, «Utilizzo delle immagini ISO dei supporti di installazione sul server». Affinché i file siano disponibili dopo un riavvio, creare una voce in
/etc/fstab
. Per un'installazione standard è necessario solo DVD 1.root #
mount -o loop PATH_TO_ISO /srv/install/ARCH/OS_VERSION/SP_VERSION/cd1/Ripetere il passaggio per tutte le architetture necessarie e sostituire ARCH con
x86
oaarch64
e PATH_TO_ISO con il percorso del file ISO corrispondente.Copiare i file
kernel
,initrd
emessage
necessari per l'avvio BIOS e UEFI x86 nell'ubicazione appropriata.root #
cd /srv/install/x86/OS_version/SP_version/cd1/boot/x86_64/loader/root #
cp -a linux initrd message /srv/tftpboot/BIOS/x86/Assicurarsi che il percorso
/srv/install
sia disponibile tramite NFS. Per informazioni, vedere Sezione 8.2, «Configurazione manuale di un archivio NFS».
9.3.2 File BIOS per x86 #
Copiare
pxelinux.0
nella cartella TFTP e preparare una sottocartella per il file di configurazione.root #
cp /usr/share/syslinux/pxelinux.0 /srv/tftpboot/BIOS/x86/root #
mkdir /srv/tftpboot/BIOS/x86/pxelinux.cfgCreare
/srv/tftpboot/BIOS/x86/pxelinux.cfg/default
e aggiungere le seguenti righe:default install # hard disk label harddisk localboot -2 # install label install kernel linux append initrd=initrd install=nfs://192.168.1.1:/srv/install/x86/OS_version/SP_version/cd1 display message implicit 0 prompt 1 timeout 5
Modificare il file
/srv/tftpboot/BIOS/x86/message
in modo che rifletta il filedefault
appena modificato.Welcome to the Installer Environment! To start the installation enter 'install' and press <return>. Available boot options: harddisk - Boot from Hard Disk (this is default) install - Installation
9.3.3 File UEFI per x86 #
In questa procedura si sostituiscono OS_version e SP_version con le versioni del sistema operativo e del service pack utilizzate. Utilizzare ad esempio sles12
e sp5
.
Copiare tutti i file grub2 necessari per l'avvio UEFI.
root #
cd /srv/install/x86/OS_version/SP_version/cd1/EFI/BOOTroot #
cp -a bootx64.efi grub.efi MokManager.efi /srv/tftpboot/EFI/x86/Copiare il kernel e i file initrd nella struttura della directory.
root #
cd /srv/install/x86/OS_version/SP_version/cd1/boot/x86_64/loader/root #
cp -a linux initrd /srv/tftpboot/EFI/x86/bootCreare il file
/srv/tftpboot/EFI/x86/grub.cfg
includendo almeno il contenuto seguente:set timeout=5 menuentry 'Install OS_version SP_version for x86_64' { linuxefi /EFI/x86/boot/linux \ install=nfs://192.168.1.1/srv/install/x86/OS_version/SP_version/cd1 initrdefi /EFI/x86/boot/initrd }
9.3.4 File UEFI per AArch64 #
In questa procedura si sostituiscono OS_version e SP_version con le versioni del sistema operativo e del service pack utilizzate. Utilizzare ad esempio sles12
e sp5
.
Questa procedura è molto simile a quella utilizzata nell'ambiente EFI x86_64. Iniziare con il copiare i file necessari per l'avvio UEFI di un ambiente grub2-efi.
root #
cd /srv/install/aarch64/OS_version/SP_version/cd1/EFI/BOOTroot #
cp -a bootaa64.efi /srv/tftpboot/EFI/aarch64/Copiare il kernel e il file initrd nella struttura della directory..
root #
cd /srv/install/aarch64/OS_version/SP_version/cd1/boot/aarch64root #
cp -a linux initrd /srv/tftpboot/EFI/aarch64/bootA questo punto creare il file
/srv/tftpboot/EFI/grub.cfg
e aggiungere il contenuto seguente:menuentry 'Install OS_version SP_version' { linux /EFI/aarch64/boot/linux network=1 usessh=1 sshpassword="suse" \ install=nfs://192.168.1.1:/srv/install/aarch64/OS_version/SP_version/cd1 \ console=ttyAMA0,115200n8 initrd /EFI/aarch64/boot/initrd }
Questa aggiunta al file di configurazione offre alcune altre opzioni per abilitare la console seriale e consentire l'installazione tramite SSH, utile per i sistemi che non dispongono di un'interfaccia per la console KVM standard. Si tratta infatti di un'impostazione per una piattaforma ARM specifica.
9.4 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 -
Indica che non vi sono aggiunte.
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 9.1, «Opzioni della riga di comando del kernel generate e aggiunte daIFAPPEND
»:Tabella 9.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 da avviare, PXELINUX dovrà invece avviare IMAGE e sarà necessario utilizzare le opzioni
APPEND
specificate al posto di quelle indicate nella sezione generale 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.
9.5 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 all'inizio dell'opzione di avvio del disco rigido nel BIOS, altrimenti il sistema cercherà di reinstallarsi a ogni avvio.
9.6 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.
9.7 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 dell'installazione che si desidera attivare, configurare le richieste WOL da inviare come multicast oppure controllare un computer in remoto in tale segmento di rete in modo che agisca come mittente 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.
9.8 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
.
9.9 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. I file necessari verranno caricati tramite NFS dopo il caricamento 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 cartella corrispondente nell'architettura del sistema di destinazione. Sostituire anche OS_version e SP_version in base ai percorsi nella Sezione 9.3, «Installazione di file nel 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à.