Automatiserte installasjoner av flere RHEL/CentOS 7-distribusjoner ved hjelp av PXE Server og Kickstart-filer


Denne artikkelen er en utvidelse av mitt tidligere PXE Boot Environment Setup på RHEL/CentOS 7, og den fokuserer på hvordan du kan utføre automatiske installasjoner av RHEL/CentOS 7, uten behov for brukerintervensjon, på hodeløse maskiner ved hjelp av en Kickstart-fil som leses fra en lokal FTP-server.

Miljøforberedelsen for denne typen installasjon har allerede blitt behandlet i den forrige opplæringen angående PXE Server-oppsett, den eneste nøkkelen som mangler, en Kickstart-fil, vil bli diskutert videre i denne opplæringen.

Den enkleste måten å lage en tilpasset Kickstart-fil som du kan bruke den videre for flere installasjoner, er å manuelt utføre en installasjon av RHEL/CentOS 7 og kopiere, etter at installasjonsprosessen er ferdig, filen med navnet anaconda-ks.cfg, som ligger i /root-banen, til en tilgjengelig nettverksplassering, og spesifiser initrd oppstartsparameteren inst.ks= protocol://path/to/kickstart.fileto PXE-menykonfigurasjonsfil.

  1. Sett opp en PXE Network Boot Server på RHEL/CentOS 7

Denne opplæringen, og Kickstart-filkonfigurasjonen, dekker bare den minimale installasjonen av RHEL/CentOS 7 uten en grafisk installasjon, i utgangspunktet er Kikstart-filen et resultat av den forrige prosedyren for minimal installasjon av RHEL/CentOS 7.

  1. CentOS 7 minimal installasjonsprosedyre
  2. RHEL 7 minimal installasjonsprosedyre

Hvis du trenger en Kickstart-fil som dekker GUI-installasjon og en spesifikk partisjonstabell, foreslår jeg at du først utfører en tilpassbar
Grafisk installasjon av RHEL/CentOS 7 i et virtualisert miljø og bruk som resulterte i Kickstart-fil for fremtidige GUI-installasjoner.

Trinn 1: Opprett og kopier Kiskstart-fil til FTP-serverbane

1. På det første trinnet, gå til PXE-maskinens /root-katalog og kopier filen med navnet anaconda-ks.cfg til Vsftpd standard serverbane (/var/ftp/pub) – også banen for RHEL/CentOS 7 Local Mirror Installation Source konfigurert på PXE-nettverks Boot Server – Trinn 6 (se artikkelen om PXE Server-oppsett ovenfor).

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

2. Etter at filen har blitt kopiert, åpner du den med din favoritt tekstredigerer og gjør følgende minimale endringer.

# nano /var/ftp/pub/anaconda-ks.cfg

  1. Erstatt –url som er arkivert med kildeplasseringen for nettverksinstallasjonen: Eks: –url=ftp://192.168.1.25/pub/
  2. Erstatt nettverk –bootproto med dhcp i tilfelle du har konfigurert nettverksgrensesnitt manuelt under installasjonsprosessen.

Et utdrag om hvordan en Kickstart-fil kan se ut er presentert nedenfor.

#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

For mer avanserte Kickstart-filalternativer og syntaks, les gjerne RHEL 7 Kickstart Documentation.

3. Før du prøver å bruke denne filen for installasjonsprosedyrer, er det viktig at du bekrefter filen ved å bruke ksvalidator-kommandoen inkludert i Pykickstart-pakken, spesielt hvis manuelle tilpasninger hadde blitt utført. Installer Pykickstart-pakken og bekreft Kickstart-filen din ved å utstede følgende kommandoer.

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

4. Den siste verifiseringen er å sikre at Kickstart-filen er tilgjengelig fra din spesifiserte nettverksplassering – i dette tilfellet FTP Local Mirror Installation Source definert av følgende URL-adresse.

ftp://192.168.1.25/pub/

Trinn 2: Legg til Kikstart-installasjonsetikett til PXE-serverkonfigurasjon

5. For å få tilgang til Automatisk installasjon av RHEL/CentOS 7-alternativet fra PXE-menyen, legg til følgende etikett til PXE-standardfilkonfigurasjonen.

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

PXE-menyetikettutdrag.

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

Som du kan se fra dette eksemplet kan den automatiske installasjonen overvåkes via VNC med passord (erstatt VNC-passordet tilsvarende) og Kickstart-filen er lokalisert lokalt på PXE-serveren og spesifiseres av initrd oppstartsparameter inst.ks= FTP-nettverksplassering (erstatt protokoll og nettverksplassering tilsvarende hvis du bruker andre installasjonsmetoder som HTTP, HTTPS, NFS eller eksterne installasjonskilder og Kickstart-filer).

Trinn 3: Konfigurer klienter til å installere RHEL/CentOS 7 automatisk ved hjelp av Kickstart

6. For å automatisk installere RHEL/CentOS 7 og overvåke hele installasjonsprosessen, spesielt på hodeløse servere, instruer klientmaskinen fra BIOS
for å starte opp fra nettverket, vent noen sekunder og trykk deretter F8 og Enter-tastene, velg deretter Kickstart-alternativet fra PXE-menyen.

7. Etter at kjernen og ramdisken laster og oppdager Kickstart-filen, starter installasjonsprosessen automatisk uten at det er nødvendig med inngrep fra brukersiden. Hvis du vil se installasjonsprosessen, koble til en VNC-klient fra en annen datamaskin ved å bruke adressen som installasjonsprogrammet gir deg og nyt utsikten.

8. Etter at installasjonsprosessen er ferdig, logger du på det nylig installerte systemet med root-kontoen og passordet som ble brukt ved forrige installasjon (
en som du kopierte Kickstart-filen) og endre klientrotpassordet ditt ved å kjøre kommandoen passwd.

Det er alt! Automatisk Kickstart-installasjoner gir mange fordeler for systemadministratorer i miljøer at de må utføre systeminstallasjoner på flere maskiner samtidig, i løpet av kort tid, uten å måtte forstyrre manuelt. installasjonsprosessen.