-
Notifications
You must be signed in to change notification settings - Fork 22
Hostspezifische Client Konfiguration
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.
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.
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.
-
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.
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.
Die hostspezifischen Konfigurationsdateien liegen unter /srv/linbo/boot/grub/hostcfg.
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.
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.
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>