Zoeken op website

Geautomatiseerde installaties van meerdere RHEL/CentOS 7-distributies met behulp van PXE Server- en Kickstart-bestanden


Dit artikel is een uitbreiding van mijn vorige PXE Boot Environment Setup op RHEL/CentOS 7 en is gericht op hoe u automatische installaties van RHEL/CentOS 7 kunt uitvoeren, zonder tussenkomst van de gebruiker, op headless machines met behulp van een Kickstart-bestand dat is gelezen van een lokale FTP-server.

De voorbereiding van de omgeving voor dit soort installatie is al verwerkt in de vorige tutorial over het instellen van de PXE Server. De enige sleutel die ontbreekt, een Kickstart-bestand, zal verderop in deze tutorial worden besproken.

De eenvoudigste manier om een aangepast Kickstart-bestand te maken, zodat u het verder kunt gebruiken voor meerdere installaties, is door handmatig een installatie van RHEL/CentOS 7 uit te voeren en, nadat het installatieproces is voltooid, het bestand met de naam te kopiëren anaconda-ks.cfg, dat zich in het /root pad bevindt, naar een toegankelijke netwerklocatie, en specificeer de initrd opstartparameter inst.ks= protocol://pad/naar/kickstart.filenaar PXE-menuconfiguratiebestand.

Vereisten

  1. Stel een PXE-netwerkopstartserver in op RHEL/CentOS 7

Deze tutorial en de Kickstart-bestandsconfiguratie behandelen alleen de minimale installatie van RHEL/CentOS 7 zonder een grafische installatie; in feite is het Kikstart-bestand het resultaat van de vorige minimale installatieprocedure van RHEL/CentOS 7.

  1. CentOS 7 Minimale installatieprocedure
  2. RHEL 7 Minimale installatieprocedure

Als je een Kickstart-bestand nodig hebt dat de GUI-installatie en een specifieke partitietabel omvat, stel ik voor dat je eerst een aanpasbare
uitvoert Grafische installatie van RHEL/CentOS 7 in een gevirtualiseerde omgeving en gebruik dat resulteerde in het Kickstart-bestand voor toekomstige GUI-installaties.

Stap 1: Maak en kopieer het Kiskstart-bestand naar het FTP-serverpad

1. Ga bij de eerste stap naar de map /root van uw PXE-machine en kopieer het bestand met de naam anaconda-ks.cfg naar Vsftpd standaard serverpad (/var/ftp/pub) – ook het pad voor RHEL/CentOS 7 Local Mirror Installation Source geconfigureerd op PXE-netwerk opstarten Server – Stap 6 (zie het artikel over het instellen van de PXE-server hierboven).

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

2. Nadat het bestand is gekopieerd, opent u het met uw favoriete teksteditor en brengt u de volgende minimale wijzigingen aan.

nano /var/ftp/pub/anaconda-ks.cfg
  1. Vervang het bestand –url door de bronlocatie van uw netwerkinstallatie: bijvoorbeeld: –url=ftp://192.168.1.25/pub/
  2. Vervang network –bootproto door dhcp als u tijdens het installatieproces de netwerkinterfaces handmatig hebt geconfigureerd.

Hieronder vindt u een uittreksel van hoe een Kickstart-bestand eruit zou kunnen zien.

#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

Voor meer geavanceerde Kickstart-bestandsopties en syntaxis kunt u de RHEL 7 Kickstart-documentatie lezen.

3. Voordat u probeert dit bestand te gebruiken voor installatieprocedures, is het belangrijk dat u het bestand verifieert met de opdracht ksvalidator die is opgenomen in het Pykickstart-pakket, vooral als handmatige aanpassingen waren uitgevoerd. Installeer het Pykickstart pakket en verifieer uw Kickstart-bestand door de volgende opdrachten te geven.

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

4. De laatste verificatie is om er zeker van te zijn dat het Kickstart-bestand toegankelijk is vanaf de door u opgegeven netwerklocatie – in dit geval FTP Local Mirror Installatiebron gedefinieerd door het volgende URL-adres.

ftp://192.168.1.25/pub/

Stap 2: Voeg het Kikstart-installatielabel toe aan de PXE-serverconfiguratie

5. Om toegang te krijgen tot de optie Automatische installatie van RHEL/CentOS 7 vanuit het PXE-menu, voegt u het volgende label toe aan de standaardbestandsconfiguratie van PXE.

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

PXE-menulabeluittreksel.

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

Zoals u in dit voorbeeld kunt zien, kan de automatische installatie worden gecontroleerd via VNC met een wachtwoord (vervang het VNC-wachtwoord dienovereenkomstig) en het Kickstart-bestand bevindt zich lokaal op de PXE-server en wordt gespecificeerd door de initrd opstartparameter inst.ks= FTP-netwerklocatie (vervang het protocol en de netwerklocatie dienovereenkomstig als u andere installatiemethoden gebruikt, zoals HTTP, HTTPS, NFS of externe installatiebronnen en Kickstart-bestanden).

Stap 3: Configureer clients om RHEL/CentOS 7 automatisch te installeren met behulp van Kickstart

6. Om RHEL/CentOS 7 automatisch te installeren en toezicht te houden op het gehele installatieproces, vooral op headless servers, instrueert u uw clientmachine vanuit BIOS
Om op te starten vanaf het netwerk, wacht u een paar seconden en drukt u vervolgens op de toetsen F8 en Enter. Selecteer vervolgens de optie Kickstart in het PXE-menu.

7. Nadat de kernel en ramdisk het Kickstart-bestand hebben geladen en gedetecteerd, start het installatieproces automatisch zonder dat tussenkomst van de gebruikerskant nodig is. Als je het installatieproces wilt bekijken, maak dan verbinding met een VNC-client vanaf een andere computer met behulp van het adres dat het installatieprogramma je geeft en geniet van het uitzicht.

8. Nadat het installatieproces is voltooid, logt u in op het nieuw geïnstalleerde systeem met een root-account en het wachtwoord dat bij de vorige installatie werd gebruikt (de
waarvan je het Kickstart-bestand hebt gekopieerd) en verander het root-wachtwoord van je client door de opdracht passwd uit te voeren.

Dat is alles! Automatische Kickstart-installaties bieden veel voordelen voor systeembeheerders in omgevingen waarin ze systeeminstallaties op meerdere machines tegelijkertijd moeten uitvoeren, in een korte tijdsperiode, zonder dat ze handmatig de installatie hoeven uit te voeren installatieproces.