Ricerca nel sito web

Installazioni automatizzate di più distribuzioni RHEL/CentOS 7 utilizzando il server PXE e i file Kickstart


Questo articolo è un'estensione della mia precedente configurazione dell'ambiente di avvio PXE su RHEL/CentOS 7 e si concentra su come eseguire installazioni automatiche di RHEL/CentOS 7, senza la necessità dell'intervento dell'utente, su macchine headless utilizzando un file Kickstart letto da un server FTP locale.

La preparazione dell'ambiente per questo tipo di installazione è già stata elaborata nel tutorial precedente riguardante la configurazione del server PXE, l'unica chiave mancante, un file Kickstart, verrà discussa più avanti in questo tutorial.

Il modo più semplice per creare un file Kickstart personalizzato da poter utilizzare ulteriormente per più installazioni è eseguire manualmente un'installazione di RHEL/CentOS 7 e copiare, al termine del processo di installazione, il file denominato anaconda-ks.cfg, che risiede nel percorso /root, in un percorso di rete accessibile e specifica il parametro di avvio initrd inst.ks= protocollo://percorso/del/kickstart.filedel file di configurazione del menu PXE.

Requisiti

  1. Configura un server di avvio di rete PXE su RHEL/CentOS 7

Questo tutorial e la configurazione del file Kickstart coprono solo l'installazione minima di RHEL/CentOS 7 senza un'installazione grafica, sostanzialmente il file Kikstart risulta dalla precedente procedura di installazione minima di RHEL/CentOS 7.

  1. Procedura di installazione minima di CentOS 7
  2. RHEL 7 Procedura di installazione minima

Se hai bisogno di un file Kickstart che copra l'installazione della GUI e una tabella delle partizioni specifica, ti suggerisco di eseguire prima una
personalizzabile Installazione grafica di RHEL/CentOS 7 in un ambiente virtualizzato e utilizzo del file Kickstart risultante per future installazioni della GUI.

Passaggio 1: crea e copia il file Kiskstart sul percorso del server FTP

1. Nel primo passaggio vai alla directory /root della tua macchina PXE e copia il file denominato anaconda-ks.cfg in Vsftpd percorso server predefinito (/var/ftp/pub) – anche il percorso per Origine di installazione mirror locale RHEL/CentOS 7 configurato su Avvio rete PXE Server – Passaggio 6 (consultare l'articolo sulla configurazione del server PXE sopra).

cp anaconda-ks.cfg  /var/ftp/pub/
chmod 755 /var/ftp/pub/anaconda-ks.cfg

2. Dopo che il file è stato copiato, aprilo con il tuo editor di testo preferito e apporta le seguenti modifiche minime.

nano /var/ftp/pub/anaconda-ks.cfg
  1. Sostituisci –url archiviato con il percorso di origine dell'installazione di rete: Esempio: –url=ftp://192.168.1.25/pub/
  2. Sostituisci network –bootproto con dhcp nel caso in cui tu abbia configurato manualmente le interfacce di rete durante il processo di installazione.

Di seguito è presentato un estratto di come potrebbe apparire un file Kickstart.

#version=RHEL7
System authorization information
auth --enableshadow --passalgo=sha512

Use network installation
url --url="ftp://192.168.1.25/pub/"
Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
System language
lang en_US.UTF-8

Network information
network  --bootproto=dhcp --device=eno16777736 --ipv6=auto --activate
network  --hostname=localhost.localdomain
Root password
rootpw --iscrypted $6$RMPTNRo5P7zulbAR$ueRnuz70DX2Z8Pb2oCgfXv4qXOjkdZlaMnC.CoLheFrUF4BEjRIX8rF.2QpPmj2F0a7iOBM3tUL3tyZNKsDp50
System services
services --enabled="chronyd"
System timezone
timezone Europe/Bucharest --isUtc
System bootloader configuration
bootloader --location=mbr --boot-drive=sda
Partition clearing information
clearpart --none --initlabel
Disk partitioning information
part pv.20 --fstype="lvmpv" --ondisk=sda --size=19979
part /boot --fstype="xfs" --ondisk=sda --size=500
volgroup centos --pesize=4096 pv.20
logvol /  --fstype="xfs" --grow --maxsize=51200 --size=1024 --name=root --vgname=centos
logvol swap  --fstype="swap" --size=2048 --name=swap01 --vgname=centos

%packages
@compat-libraries
@core
wget
net-tools
chrony

%end

Per opzioni e sintassi del file Kickstart più avanzate, non esitate a leggere la documentazione Kickstart di RHEL 7.

3. Prima di tentare di utilizzare questo file per le procedure di installazione, è importante verificare il file utilizzando il comando ksvalidator incluso nel pacchetto Pykickstart, in particolare se fossero state eseguite personalizzazioni manuali. Installa il pacchetto Pykickstart e verifica il tuo file Kickstart immettendo i seguenti comandi.

yum install pykickstart
ksvalidator /var/ftp/pub/anaconda-ks.cfg

4. L'ultima verifica consiste nell'assicurare che il file Kickstart sia accessibile dal percorso di rete specificato, in questo caso Fonte di installazione mirror locale FTP definita dal seguente indirizzo URL.

ftp://192.168.1.25/pub/

Passaggio 2: aggiungere l'etichetta di installazione Kikstart alla configurazione del server PXE

5. Per accedere all'opzione Installazione automatica di RHEL/CentOS 7 dal menu PXE aggiungere la seguente etichetta alla configurazione del file predefinito PXE.

nano /var/lib/tftpboot/pxelinux.cfg/default

Estratto dell'etichetta del menu PXE.

Per RHEL7
label 5
menu label ^5) Install RHEL 7 x64 with Local Repo using Kickstart
kernel vmlinuz
append initrd=initrd.img inst.ks=ftp://192.168.1.25/pub/anaconda-ks.cfg inst.vnc inst.vncpassword=password
Per CentOS7
label 5
menu label ^5) Install CentOS 7 x64 with Local Repo using Kickstart
kernel vmlinuz
append initrd=initrd.img inst.ks=ftp://192.168.1.25/pub/anaconda-ks.cfg inst.vnc inst.vncpassword=password

Come puoi vedere da questo esempio, l'installazione automatica può essere supervisionata tramite VNC con password (sostituisci la password VNC di conseguenza) e il file Kickstart si trova localmente sul server PXE ed è specificato da initrd parametro di avvio inst.ks= percorso di rete FTP (sostituisci il protocollo e il percorso di rete di conseguenza se stai utilizzando altri metodi di installazione come HTTP, HTTPS, NFS o origini di installazione remota e file Kickstart).

Passaggio 3: configurare i client per installare automaticamente RHEL/CentOS 7 utilizzando Kickstart

6. Per installare automaticamente RHEL/CentOS 7 e supervisionare l'intero processo di installazione, in particolare sui server headless, istruisci il tuo computer client dal BIOS
per eseguire l'avvio dalla rete, attendere qualche secondo quindi premere i tasti F8 e Invio, quindi selezionare l'opzione Kickstart dal menu PXE.

7. Dopo che il kernel e il ramdisk hanno caricato e rilevato il file Kickstart, il processo di installazione si avvia automaticamente senza che sia necessario alcun intervento da parte dell'utente. Se vuoi guardare il processo di installazione connettiti con un client VNC da un altro computer utilizzando l'indirizzo che ti fornisce il programma di installazione e goditi la visione.

8. Al termine del processo di installazione, accedi al sistema appena installato con l'account root e la password utilizzata nell'installazione precedente (il
uno in cui hai copiato il file Kickstart) e modifica la password root del client eseguendo il comando passwd.

È tutto! Le installazioni Kickstart automatico offrono numerosi vantaggi agli amministratori di sistema in ambienti in cui devono eseguire installazioni di sistema su più macchine contemporaneamente, in un breve periodo di tempo, senza la necessità di interferire manualmente con processo di installazione.