Aus Raspberry Pi Geek 04/2014

RasPi als PXE-Server: Diskless Linux (Seite 3)

Nach diesen Konfigurationsarbeiten sollte Ihr Client-Rechner beim Start das Menü aus Abbildung 1 zeigen und das Diskless-Ubuntu über das Netzwerk vom RasPi laden.

Abbildung 1: Ubuntu reiht sich nun in die zum Booten verfügbaren Systeme ein.

Abbildung 1: Ubuntu reiht sich nun in die zum Booten verfügbaren Systeme ein.

Verfeinerungen

Um mehrere Computer über das Netzwerk mit einem Betriebssystem zu versorgen, erscheint es wenig elegant und obendrein auch nicht für den RasPi optimal, für jeden Client ein komplettes Betriebssystem in einem Verzeichnis des Servers vorzuhalten. Viele Systemverzeichnisse wie /bin, /sbin, /usr/bin, /usr/sbin, /usr/share, /usr/lib oder /usr/lib64 lassen sich stattdessen zentral vorhalten.

Im nächsten Schritt sollte die Benutzerverwaltung nicht mehr lokal auf dem Client, sondern über das Netzwerk und einen LDAP-Server erfolgen. So bietet sich dann auch die Möglichkeit, das Home-Verzeichnis auf den Server auszulagern und per NFS in die Clients zu mounten – dies kennen Sie eventuell aus Unternehmen, wo Sie sich an beliebigen Workstations anmelden können.

Hierbei stoßen Sie jedoch bald an die Grenzen des Raspberry Pi mit einer SD-Speicherkarte als Massenspeicher. Bevor Sie daraufhin Ihren RasPi um eine USB-Festplatte mit eigener Stromversorgung erweitern, sollten Sie daher vielleicht doch lieber an einen ausgewachsenen Server denken. Zum Erlernen der dazu notwendigen Handgriffe eignet sich der RasPi jedoch bestens.

OpenSuse einrichten via PXE

Die Installation einer Linux-Distribution erfolgt üblicherweise aus einem Live-System, das von CD/DVD oder einem USB-Stick gebootet wurde. Live-Systeme lassen sich aber auch recht einfach via PXE übers Netzwerk starten [3]: So fällt das Einrichten einer Netzwerk-Boot-Installation recht leicht, wie wir im Folgenden anhand von OpenSuse 13.1 (64 Bit) demonstrieren.

Nach den aus den vorausgehenden Artikeln bereits bekannten Mustern richten Sie für das Netzwerk-Suse ein eigenes Verzeichnis ein, das Sie dann über NFS freigeben. Dazu bearbeiten Sie abermals die /etc/exports und fügen den Inhalt aus Listing 12 ein. Dann kopieren Sie den gesamten Inhalt der Installations-DVD (Listing 13). Zum Abschluss übertragen Sie den Inhalt aus Listing 14 in die Datei /srv/tftpboot/pxelinux.cfg/default.

Listing 12

 

/srv/data/nfs/opensuse/13.1.64  192.168.100.0/24(ro,no_root_squash,sync,no_subtree_check)

Listing 13

 

$ sudo -s
$ mkdir -p /srv/data/nfs/opensuse/13.1.64
$ mount -o loop opensuse-dvd-image.iso /mnt
$ rsync -a /mnt/ /srv/data/nfs/opensuse/13.1.64/
$ umount /mnt
$ mkdir -p /srv/tftpboot/opensuse/13.1.64
$ cp /data/nfs/opensuse/13.1.64/boot/x86_64/loader/linux /srv/tftpboot/opensuse/13.1.64/.
$ cp /data/nfs/opensuse/13.1.64/boot/x86_64/loader/initrd /srv/tftpboot/opensuse/13.1.64/.
$ exit

Listing 14

 

[...]
LABEL OpenSuse 13.1 (64 Bit) Installer
MENU LABEL Install OpenSuse 13.1 64 Bit
KERNEL /opensuse/13.1.64/linux
APPEND initrd=/opensuse/13.1.64/initrd splash=silent showopts install=nfs://pi.homenet.de:/data/nfs/opensuse/13.1.64/

Die von Suse empfohlene Konfiguration der /srv/tftpboot/pxelinux.cfg/default sieht ein wenig anders aus (Listing 15). Suse hält das Installationsmedium nicht lokal vor, sondern lädt das Image bei Bedarf direkt vom Repository-Server. Das spart zwar Platz auf dem RasPi, doch verzögert der langwierige Download die Installation.

Listing 15

 

[...]
LABEL OpenSuse 13.1 (64 Bit) Installer
MENU LABEL Install OpenSuse 13.1 64 Bit
KERNEL /opensuse/13.1.64/linux
APPEND initrd=/opensuse/13.1.64/initrd splash=silent showopts install=http://download.opensuse.org/distribution/13.1/repo/oss

Beim Autor führte diese Vorgehensweise auch erst einmal nicht zum gewünschten Erfolg: Der zu installierende Client lag hinter einer Firewall, das rudimentäre Linux-System erlaubt jedoch noch keine HTTP-Proxy-Einstellung für den Zugriff auf das Repository. Zur Installation müsste man in diesem Szenario also die Firewall öffnen oder einen transparenten Proxy einrichten.

Das Firewall/Proxy-Problem stellt sich während der Installation des OpenSuse-Systems noch ein zweites Mal, wenn die Abfrage eines externen NTP-Servers scheitert. Hier stellen Sie über den Button Ändern Ihren RasPi als NTP-Server ein (Abbildung 2), sodass die Firewall-Schranke nicht mehr stört.

Abbildung 2: Nutzen Sie den RasPi während der Installation von OpenSuse als NTP-Server.

Abbildung 2: Nutzen Sie den RasPi während der Installation von OpenSuse als NTP-Server.

Fedora-Installation via PXE

Das Einrichten weiterer Linux-Installer für andere Distributionen erfolgt auf die gleiche Weise wie bereits für OpenSuse gezeigt. Lediglich Einzelheiten der Syntax erfordern gezielte Anpassungen. Für Fedora gehen wir daher nur auf die Einträge im PXE-Bootmenü sowie auf die NFS-Exporte ein.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 7 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben