Experimente zu Clustering und Lastverteilung mit dem RasPi

© Ariwasabi, 123RF

Eine Handvoll Beeren

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.

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.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 7 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Raspberry Pi Geek kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Aktuelle Ausgabe

12/2019
RasPi-Alternativen

Diese Ausgabe als PDF kaufen

Preis € 9,99
(inkl. 19% MwSt.)

Stellenmarkt

Neuigkeiten

  • Grußbotschaften

    Mit Sonic Pi zaubern Sie komplexe Sounds, die Sie bei Bedarf sogar noch während des Abspielens modifizieren.

  • Das Runde und das Eckige

    Mit dem MCP4725 ergänzen Sie einen RasPi um einem D/A-Wandler, der bei Bedarf noch weitere Funktionen erfüllt.

  • Alles unter Kontrolle

    Schon ein einfaches Mikrocontrollerboard wie das CY8CKIT-049-42xx bietet erstaunlich viele Möglichkeiten beim Ansteuern von Hardware.

  • Viele Kerne

    Das Spresense Development Board von Sony lässt sich mit der Arduino IDE programmieren und bringt auch ein eigenes Entwickler-SDK mit.

  • Exotische Früchte

    Der aus China stammende Orange Pi positioniert sich mit einem guten Preis und interessanten Features gegen die RasPi-Truppe. Kann er sich auch behaupten?

  • Flexibler Surfer

    Mit dem neuen RasPi 4 setzen Sie einen öffentlichen Webkiosk schnell und kostengünstig auf.

  • Auskunftsfreudig

    Viele Devices, so auch der E.ON-Aura-Controller, verwenden eine Schnittstelle namens REST, um Zustandsdaten zu übermitteln. Mit ein wenig Bastelei lesen Sie diese auch über Ihr Smartphone aus.

  • Doppelt gemessen

    Mit wenig Aufwand und einem Pi Zero realisieren Sie einen mobilen Zweikanal-Spannungsprüfer.

  • Elegant zusammengeführt

    Tizonia streamt Musik von Online-Quellen und lokalen Sammlungen. Die schlanke Architektur macht den Player zur guten Wahl für den Einsatz auf dem RasPi.

  • Kommunikativ

    Nicht jeder traut sich zu, sein eigenes Smartphone zu bauen. Allerdings kann jeder Linux-Nutzer den Raspberry Pi im Handumdrehen zu einem VoIP-Telefon aufrüsten.