Startseite>RasPi als PXE-Server (2): Rettungssysteme
Aus Raspberry Pi Geek 03/2014

RasPi als PXE-Server (2): Rettungssysteme

© Mohamad Razi Bin Husin, 123RF

Nothelfer

Friedrich Hotz

Wo ist doch gleich die Notfall-CD mit dem Virenscanner, wo der USB-Stick mit dem Recovery-System? Dank PXE auf dem Raspberry Pi gehört die Sucherei nach den Datenträgern ab sofort endgültig der Vergangenheit an.

README

Der erste Teil des Workshops zeigte in der letzten Ausgabe, wie Sie auf dem Raspberry Pi ein einfaches PXE-System einrichten. In diesem Teil des Workshops nutzen wir diese Grundlage, um gängige Notfall-Systeme wie Knoppix oder Desinfec’t über das Netzwerk zu starten.

Im ersten Teil des Workshops [1] haben Sie erfahren, wie sich auf dem Raspberry Pi ein PXE-System zum Ausliefern einfacher Boot-Images aufsetzen lässt. Der Aufwand lohnt sich aber bestimmt nicht, um lediglich einen Speichertest oder ein altes MS-DOS zu laden. Deswegen zeigen wir Ihnen im vorliegenden Teil der Serie, wie Sie verschiedene Notfall-Systeme so einrichten, dass sich auch diese aus dem Netzwerk starten lassen (Abbildung 1). Dazu dienen im Folgenden Knoppix und Desinfec’t 2013 als Beispiele.

Abbildung 1: So sieht nach den entsprechenden Vorbereitungen der Startbildschirm eines mit PXE über das Netz bootenden Rechners aus.

Abbildung 1: So sieht nach den entsprechenden Vorbereitungen der Startbildschirm eines mit PXE über das Netz bootenden Rechners aus.

NFS

Damit der Netzwerkstart der Rettungssysteme später funktioniert, müssen Sie den Raspberry Pi erst einmal in die Lage versetzen, Verzeichnisse über NFS im Netz bereitzustellen, indem Sie die entsprechenden Serverdienste einrichten (Listing 1). Die dabei erscheinende Warnung (Zeile 3) dürfen Sie getrost erst einmal ignorieren: Sie weist lediglich darauf hin, dass der NFS-Server gestartet wurde, ohne dass in der Datei /etc/exports dafür irgendwelche Freigaben definiert sind.

Listing 1

 

$ sudo apt-get update
$ sudo apt-get install nfs-kernel-server nfs-common rpcbind
[warn] Not starting NFS kernel daemon: no exports. ... (warning).

Zu Testzwecken legen Sie ein Verzeichnis dafür an und geben es dann via NFS im Netzwerk frei (Listing 2). Achten Sie hierbei darauf, dass zwischen der Netzwerkadresse (im Beispiel 192.168.100.0/24, was Sie für Ihr Netz anpassen müssen) und den Optionen in der folgenden Klammer kein Leerzeichen stehen darf (Zeile 2). Ansonsten erscheint eine nur schwer interpretierbare Fehlermeldung.

Listing 2

 

$ sudo mkdir -p /srv/data/nfs/dummy
$ sudo echo "/srv/data/nfs/dummy 192.168.100.0/24(ro,root_squash,sync,no_subtree_check)" > /etc/exports

Anschließend müssen Sie die drei frisch installierten Dienste noch aktivieren. Um dabei Hinweise auf fehlende IPv6-Unterstützung zu vermeiden, öffnen Sie vorab die Datei /etc/netconfig in einem Editor und kommentieren darin die beiden mit udp6 und tcp6 beginnenden Zeilen durch Voranstellen einer Raute (#) aus. Anschließend starten Sie nacheinander den Rcpbind-Daemon, die NFS-Utilities und den NFS-Kernel-Daemon (Listing 3).

Listing 3

 

$ sudo service rpcbind start
[ ok ] Starting rpcbind daemon....
$ sudo service nfs-common start
Starting NFS common utilities: statd idmapd.
$ sudo service nfs-kernel-server start
[ ok ] Exporting directories for NFS kernel daemon....
[ ok ] Starting NFS kernel daemon: nfsd mountd.
$ sudo showmount -e
Export list for pi.homenet.de:
/srv/data/nfs/dummy   192.168.100.0/24

Ärgerlicherweise legen die Installationsroutinen für rpcbind und nfs-common in den Init-Verzeichnissen lediglich Kill-Skripts an, jedoch keine Start-Skripte. Daher starten die beiden Dienste nicht automatisch beim Systemstart, mit der Folge, dass auch der NFS-Server nicht anläuft. Das lässt sich aber leicht in Ordnung bringen. Dazu gilt es, die bestehenden Skripte zu löschen und dann in der richtigen Form neu anzulegen.

Zum Löschen kommt das Kommando insserv mit dem Parameter -r (“remove”) zum Einsatz (Listing 4). Nach dessen Anwendung sollten Sie mit find noch einmal prüfen, ob wirklich alle Init-Skripte entfernt wurden: Gelegentlich übersieht Insserv ein Skript, das es dann von Hand zu löscht gilt (Zeilen 5 und 10).

Listing 4

 

$ sudo insserv -r nfs-kernel-server
$ find /etc/rc* -name *nfs-kernel-server
$ sudo insserv -r nfs-common
$ find /etc/rc* -name *nfs-common
/etc/rcS.d/K12nfs-common
$ sudo rm -f /etc/rcS.d/K12nfs-common
$ find /etc/rc* -name *nfs-common
$ sudo insserv -r rpcbind
$ find /etc/rc* -name *rpcbind
/etc/rcS.d/K11rpcbind
$ sudo rm -f /etc/rcS.d/K11rpcbind
$ find /etc/rc* -name *rpcbind

Anschließend legen Sie die Skripte mit Insserv neu an (Listing 5, Zeilen 1 bis 3). Danach sollten Start-Skripte für die Runlevel 2, 3, 5 und 6 sowie Kill-Skripte für die Runlevel 0, 1 und 6 vorhanden sein (Zeilen 4 bis 29).

Listing 5

 

$ sudo insserv rpcbind
$ sudo insserv nfs-common
$ sudo insserv nfs-kernel-server
$ find /etc/rc* -name *rpcbind
/etc/rc0.d/K05rpcbind
/etc/rc1.d/K05rpcbind
/etc/rc2.d/S11rpcbind
/etc/rc3.d/S11rpcbind
/etc/rc4.d/S11rpcbind
/etc/rc5.d/S11rpcbind
/etc/rc6.d/K05rpcbind
/etc/rcS.d/S11rpcbind
$ find /etc/rc* -name *nfs-common
/etc/rc0.d/K05nfs-common
/etc/rc1.d/K05nfs-common
/etc/rc2.d/S12nfs-common
/etc/rc3.d/S12nfs-common
/etc/rc4.d/S12nfs-common
/etc/rc5.d/S12nfs-common
/etc/rc6.d/K05nfs-common
/etc/rcS.d/S12nfs-common
$ find /etc/rc* -name *nfs-kernel-server
/etc/rc0.d/K01nfs-kernel-server
/etc/rc1.d/K01nfs-kernel-server
/etc/rc2.d/S14nfs-kernel-server
/etc/rc3.d/S14nfs-kernel-server
/etc/rc4.d/S14nfs-kernel-server
/etc/rc5.d/S14nfs-kernel-server
/etc/rc6.d/K01nfs-kernel-server

Nach einem Neustart des Raspberry Pi läuft dann der NFS-Dienst wie gewünscht. Von einem entfernten Rechner aus prüfen Sie mit folgendem Befehl, welche Verzeichnisse der RasPi via NFS bereitstellt:

$ sudo showmount -e pi.homenet.de

Dabei ersetzen Sie pi.homenet.de durch den Hostnamen oder die IP-Adresse Ihres Raspberry Pi.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 5 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
€0,99 – Kaufen
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland