Startseite>Experimente zu Clustering und Lastverteilung mit dem RasPi
Aus Raspberry Pi Geek 01/2015

Experimente zu Clustering und Lastverteilung mit dem RasPi

© Ariwasabi, 123RF

Eine Handvoll Beeren

Martin Mohr

Der Raspberry Pi eignet sich vorzüglich als Server fürs LAN. Koppeln Sie mehrere der Geräte zusammen, haben Sie im Handumdrehen einen Cluster.

README

Um zu verstehen, wie ein Cluster mit vorgeschaltetem Load Balancer funktioniert, brauchen Sie kein Rechenzentrum zu mieten. Dieser Workshop zeigt, wie Sie die Aufgabe mit vier RasPis und einem kostengünstigen Root-Server meistern.

Haben Sie die Möglichkeiten des Raspberry Pi durch ein Projekt ausgereizt, lohnt es sich unter Umständen, mehrere Geräte dieses Typs zu einem Cluster zusammenzuschließen: Das schafft neue Ressourcen und ermöglicht es, im Kleinen die Techniken zum Aufbau eines Rechnerverbunds zu studieren.

Der Cluster im Beispiel besteht aus drei RasPis mit GlusterFS [1], die alle lokal laufen (Abbildung 1). Das bündelt beim Lesen die Bandbreite der drei Geräte. Im nächsten Schritt kommt dann echte Geo-Replikation zum vierten Raspberry Pi dazu, den die anderen nur über das Internet erreichen.

Abbildung 1: Um zu verstehen, wie ein Cluster inklusive Load Balancer funktioniert, eignen sich eine Handvoll RasPis ganz ausgezeichnet.

Abbildung 1: Um zu verstehen, wie ein Cluster inklusive Load Balancer funktioniert, eignen sich eine Handvoll RasPis ganz ausgezeichnet.

Danach erhalten die einzelnen Knoten jeweils einen Webserver. Im Abschluss übernimmt ein weiterer Webserver die Aufgabe, die Last zu verteilen, um die Ressourcen des Clusters im Netz bereitzustellen.

Zuerst einmal stellt sich jedoch die Frage, was genau ein Cluster eigentlich ist. Grob gesagt kommt ein solcher Verbund von Rechnern meist zum Einsatz, um sich vor einem Ausfall zu schützen oder die Performance eines Dienstes zu verbessern.

Vorbereitung

Wenn Sie einen RasPi frisch aufsetzen, expandieren Sie ausnahmsweise die Dateisysteme nicht: Sie brauchen in diesem Fall den freien Platz, um eine Partition für das GlusterFS anzulegen. Mit raspi-config (advanced options) geben Sie den Geräten erst einmal Namen wie cluster01 bis cluster04. Dabei arbeiten cluster01 bis cluster03 als lokale Server, cluster04 ist der entfernte Rechner.

Es ist wichtig, dass alle Knoten im Cluster in derselben Zeitzone arbeiten. Diese stellen Sie ebenfalls in den erweiterten Optionen ein. Vergessen Sie zudem nicht, die Passwörter zu ändern. Nach diesen Einstellungen starten Sie die Mini-PCs neu, damit die Änderungen am Hostnamen Wirkung zeigt.

Netzwerk einrichten

Jetzt gilt es, im Netzwerk für stabile Verhältnisse zu sorgen. Eine Möglichkeit besteht darin, feste IP-Adressen zu vergeben und danach das Auflösen der Namen über /etc/hosts zu erledigen. Verschiedene Router erlauben es, einer bestimmten MAC-Adresse immer dieselbe IP-Adresse zuzuordnen. Einige Modelle ermöglichen es zusätzlich, Namen mittels DNS aufzulösen.

Das Modell im Test verfügte nicht über eine derartige Funktion. Daher blieb hier nur die Variante, jeder MAC-Adresse immer dieselbe IP-Adresse zuzuordnen und die lokale Datei /etc/hosts zum Auflösen der Namen zu verwenden. Bei nur via Internet zu erreichenden Rechnern funktioniert ohnehin nur diese Methode. Listing 1 zeigt ein Beispiel für eine entsprechende Datei, die Sie auf allen Rechnern verteilen müssen, die am Cluster teilnehmen.

Listing 1

 

127.0.0.1     localhost
127.0.1.1     lin01
192.168.2.5   cluster01
192.168.2.7   cluster02
192.168.2.6   cluster03Externe IP    cluster04

Die Client-Rechner, die später das Cluster-Dateisystem verwenden sollen, benötigen ebenfalls die passenden Einträge. Der Rechner cluster04 bildet eine Ausnahme: Er ist nicht in der Lage, die Maschinen cluster01 bis cluster03 über das Netz zu erreichen.

Jetzt sollte es möglich sein, zu allen RasPis per SSH Verbindung aufzunehmen. Falls das nicht klappt, kontrollieren Sie als Erstes noch einmal die Konfiguration des Netzwerks.

Dynamisches

Bevor Sie mit dem Einrichten des Clusters fortfahren, lohnt sich eventuell ein kleiner Ausflug in die Welt des dynamischen DNS. Da normale DSL-Anschlüsse immer eine andere IP-Adresse aus einem Pool erhalten, gestaltet sich der Zugriff aus der Ferne kompliziert. Hier kommt dynamisches DNS ins Spiel: Der Rechner cluster04 teilt dabei seine IP-Adresse selbstständig einem entsprechenden Anbieter mit und lässt sich dann über einen festgelegten Namen erreichen, selbst wenn sich die IP ändert.

Die folgende Anleitung zeigt exemplarisch, wie Sie einen dynamischen DNS-Eintrag mit Strato DynDNS einrichten. Das Unternehmen bietet einen Eintrag für 49 Cent im Monat an. Diesen bestellen und konfigurieren Sie über die Strato-Webseite, wo Sie auch Anleitungen zu dem Thema finden. Falls diese nicht weiterhelfen, bleibt noch der Griff zum Telefonhörer, um die Hotline anzurufen.

Auf dem Raspberry Pi bringen Sie zuerst alles auf Stand und installieren dann die Client-Software über sudo apt-get install ddclient im Terminal. Bei der Abfrage während der Installation wählen Sie other, sonst geben Sie nichts ein und bestätigen alles: Es ist einfacher, nach der Installation die Konfiguration von Hand anzupassen. Nach den Änderungen sollte die Datei so aussehen, wie in Listing 2 zu sehen, wobei Sie die kursivierten Teile an Ihre Gegebenheiten anpassen.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 7 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