Skip to content
This repository has been archived by the owner on Nov 19, 2023. It is now read-only.

Hostspezifische Client Konfiguration

Thomas Schmitt edited this page Jul 27, 2017 · 2 revisions

Die hostspezifischen Konfigurationsmöglichkeiten sind ab linuxmuster-linbo 2.3.26 verfügbar.

Wichtig: Nach dem Upgrade auf 2.3.26 muss ein Workstationsimport durchgeführt werden.

DHCP-Optionen

Konfiguration

In der Workstationsdatei /etc/linuxmuster/workstations können für jeden Host im achten Feld spezifische DHCP-Optionen angegeben werden. Mehrere Optionen werden mit Komma getrennt und Anführungszeichen müssen mit einem Backslash maskiert werden. Beispiel einer Hostzeile:

r100;r100-pc01;xenial916;00:0C:29:11:11:11;10.16.100.1;;;filename \"pxelinux.0\",next-server 10.16.1.5;1;1;1

Im Beispiel werden beim Workstationimport für den Host r100-pc01 die zusätzlichen DHCP-Optionen

filename "pxelinux.0";
next-server 10.16.1.5;

in /etc/dhcp/dhcpd.conf.linuxmuster automatisch eingetragen:

host 10.16.100.1 {
hardware ethernet 00:0C:29:11:11:11;
fixed-address 10.16.100.1;
option host-name "r100-pc01";
option extensions-path "xenial916";
filename "pxelinux.0";
next-server 10.16.1.5;
}

Diese Möglichkeit der hostspezifischen Konfiguration ist zum Beispiel bei Terminalserver-Clients nützlich um abweichende Bootimages und Serveradressen zu konfigurieren.

Alternative PXE-Bootimages für BIOS-Clients

Für Legacy-BIOS-Hardware (nicht UEFI) mit Problemen beim Netzwerkboot kann ein alternatives schlankeres Grub-Bootimage zugewiesen werden. Der Eintrag

filename \"boot/grub/i386-pc/core.min\"

im achten Feld der Hostzeile erledigt das beim Workstationsimport.

Abweichungen in linuxmuster.net 7

  • Die Standard-Workstationsdatei befindet sich unter /etc/linuxmuster/sophomorix/default-school/devices.csv.

  • Anführungszeichen in der Workstationsdatei werden nicht maskiert. Beispiel:
    r100;r100-pc01;xenial916;00:0C:29:11:11:11;10.16.100.1;;;filename "pxelinux.0",next-server 10.16.1.5;1;1;1

  • Der Befehl zum Workstationsimport lautet linuxmuster-import-devices.py.

  • Die entsprechende DHCP-Konfigurationsdatei ist /etc/dhcp/devices.conf.

PXE-Konfiguration

Unter /var/linbo/boot/grub/hostcfg wird beim Workstationsimport für jeden Host ein Link zur jeweiligen Gruppenkonfigurationsdatei angelegt:

r100-pc01.cfg -> ../xenial916.cfg
r100-pc02.cfg -> ../xenial916.cfg
r100-pc03.cfg -> ../win7.cfg
r100-pc04.cfg -> ../win7.cfg

Das ermöglicht Clients, die beim Netzwerkboot die DHCP-Option extensions-path nicht auswerten können (z. Bsp. Xen-Clients), trotzdem ihre Gruppenkonfiguration anhand ihres Hostnamens, der zu diesem Bootzeitpunkt bekannt ist, herunterzuladen.

Eine weitere Möglichkeit der hostspezifischen Konfiguration bietet sich, indem statt des Links eine angepasste Datei [hostname].cfg abgelegt wird. Diese Datei wird dann beim Workstationsimport nicht verändert.

Abweichungen in linuxmuster.net 7

Die hostspezifischen Konfigurationsdateien liegen unter /srv/linbo/boot/grub/hostcfg.

PXE-Bootimages

Dies ist eine weitere Möglichkeit Hardware, die beim Netzwerkboot mit Grub scheitert, in den Griff zu bekommen. Hostspezifische Bootimages enthalten eine spezielle Konfigurationsdatei, die alle relevanten Netzwerkparameter (Interfacename, eigene IP, Server-IP, MAC-Adresse etc.) zur Verfügung stellt, wenn der grubeigene Treiber die Netzwerkhardware per DHCP nicht entsprechend initialisieren konnte.

Erzeugung

Die Erzeugung eines hostspezifischen Bootimages erfolgt mit dem Skript
/usr/share/linuxmuster-linbo/mkgrubhostimg.sh, das folgende Optionen bietet:

Option Bedeutung
-n<hostname> übergibt den Hostnamen
-s Trägt die notwendigen DHCP-Optionen in die Workstationsdatei und in die DHCP-Konfiguration ein.

Beispiel:
# /usr/share/linuxmuster-linbo/mkgrubhostimg.sh -n r100-pc01 -s

Der Befehl erstellt unter
/var/linbo/boot/grub/hostcfg/r100-pc01.img
die Imagedatei, trägt
filename "boot/grub/hostcfg/r100-pc01.img"
in
/etc/linuxmuster/workstations
und
/etc/dhcp/dhcpd.conf.linuxmuster
ein und startet den DHCP-Dienst neu.

Lässt man die Option -s weg, wird nur die Imagedatei erstellt. Das Skript ermittelt aus der startconf-Datei der Hostgruppe den Systemtype (bios oder efi) und erstellt entsprechende Images.

Hinweis:

  • Erstellt man zum Beispiel unter KVM virtuelle UEFI-Clients, können diese nur mit einem hostspezifischen Image übers Netzwerk booten.

Abweichungen in linuxmuster.net 7

Der Skriptpfad weicht hier ab:
/usr/share/linuxmuster/linbo/mkgrubhostimg.py

Außerdem gibt es zusätzlich noch die Langoptionen:
-h, --help
-n <hostname>, --name=<hostname>
-s, --setfilename

Der Pfad zur Workstationsdatei kann auch noch angegeben werden (optional, nur sinnvoll in Mehrschulumgebungen, Standard ist /etc/linuxmuster/sophomorix/default-school/devices.csv):
-w <file>, --workstations=<file>