iPXE snponly Modus bei PXE-Kompatibilitätsproblemen

Zuletzt geändert von Jonas Mayer am 2022/10/08 10:53

Ab dem Puppet-Update 1.5.2 ist es möglich, den "snponly" Modus für iPXE zu verwenden. Im "snponly" Modus wird der PXE-Stack der Netzwerkkarte verwendet, anstelle des Treibers, der von iPXE mitgeliefert wird.
Generell lässt sich nicht sagen, ob dieser Modus stabiler oder schneller arbeitet. Jedoch stellt diese Option einen weiteren Kompatibilitätsparameter dar, um Geräte in LD Deploy zu unterstützen, die bis dato Probleme mit dem PXE-Netzwerkboot oder einer bestimmten iPXE-Version hatten.


snponly Modus für Clients aktivieren

Um Geräte auf PXE-Ebene mit "snponly" zu starten, wechseln Sie ins LD Control Center und wählen Sie Ihren Rechner in der Übersicht aus. Die Einstellung lässt sich wie üblich auch für einen gesamten Raum anwenden.

Klicken Sie auf Deploy Optionen anzeigen im oberen Reiter und wählen Sie dann Imaging Technik aus.

image_technik.png

Markieren Sie Benutzerdefiniert im neuen Fenster Imaging Technik setzen und tragen Sie lddeploy_snponly in dem Feld ein, damit der Rechner zukünftig im snponly-Modus startet.

snponly.png

Folgende weitere Werte werden auch vom LD Control Center unterstützt.

WertPlatformAuswirkung
lddeploy_ipxeUEFI und BIOSiPXE-integrierte Netzwerktreiber laden
lddeploy_snponlyUEFI und BIOSTreiber des Netzwerkchips verwenden
lddeploy_undionlyBIOSFür Rechner im Legacy-BIOS Modus vorgesehen, d.h. für PCs mit älterer Hardware oder aktivierter CSM-Support

Sollte bei Imaging Technik lddeploy ausgewählt sein, wird standardmäßig lddeploy_ipxe verwendet.

Die Modi lddeploy_ipxe und lddeploy_snponly funktionieren nicht unter BIOS betriebener Hardware, hier wird dann automatisch auf undionly gewechselt.


Debugging: Überprüfen, ob gewünschter iPXE-Modus am Client verwendet wird

Wechseln Sie in den deploy-g1 und passen Sie die Datei /etc/default/tftpd-hpa an, indem Sie die TFTP_OPTIONS um -vvv erweitern.

# Template start: ld_ipxe/etc/default/tftpd-hpa.epp
#
# !! DE: DIESE DATEI WIRD DURCH EIN KONFIGURATIONS VERWALTUNGSSYSTEM VERWALTET !!
# !! EN: THIS FILE IS MANAGED BY A CONFIGURATION MANAGEMENT SYSTEM !!
#

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot /usr/lib/ld-deploy-ipxe"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="-m /etc/tftpd.remap -vvv"
# Template end: ld_ipxe/etc/default/tftpd-hpa.epp

Starten Sie danach den tftpd-hpa.service Dienst mit dem folgenden Befehl neu

root@deploy-g1:~ # systemctl restart tftpd-hpa.service

Sie können den Boot eines Clients dann mit folgenden Befehl beobachten und kontrollieren mit welchem Modus der Rechner startet.

root@deploy-g1:~ # journalctl -f -u tftpd-hpa.service

 Rechner startet mit snponly-Modus

Oct 04 11:25:39 deploy-g1 in.tftpd[38503]: RRQ from 10.16.54.10 filename snponly.efi remapped to /usr/lib/ld-deploy-ipxe/snponly.efi

Hinweis:
Die Änderung in der /etc/default/tftpd-hpa wird durch Puppet später wieder während eines prun zurückgesetzt.