Ein Server Cluster mit Raspberry Pis
Der Raspberry Pi ist toll, er braucht wenig Strom, ist flexibel ABER: er ist langsam. Für viele Anwendungsgebiete ist das auch gar kein Problem, braucht man jedoch mehr Leistung, dann beleibt keine andere Lösung, als auf einen herkömmlichen PC zu wechseln. Eine Alternative ist ein Server Cluster. Dabei werden viele Rechner über ein Netzwerk zusammengeschaltet und diese führen in der Regel dann Berechnungen gemeinsam aus. Diese Vorgehensweise kennt man von Rechenzentren, man kann sich so ein Rechnenzentrum zuhause mit mehreren Raspberry Pis selber bauen. Ich zeige was man dafür alles braucht. Diese Idee stammt übrigens von Adam DeConinck, einem Mitarbeiter von NVIDIA.
Raspberry Pi Server Cluster
Für einen Raspberry Pi Server Cluster benötigt man einiges an Hardware. Neben einem Gehäuse (wie hier aus Lego Steinen gebaut) muss man sich auch um einige andere Dinge Gedanken machen. Ich habe hier eine Liste von benötigter Hardware zusammengestellt:
- Raspberry Pis
Je nach benötigter Leistung benötigt man eine Anzahl von mehreren Pis. Mindestens sollte man zwei Pis verwenden, jedoch zahlt sich die Anschaffung der anderen Hardware vermutlich erst bei einer höheren Zahl aus. Ich würde sagen das ab 3-4 Pis die Anschaffung Sinn macht. - USB Hub
Der erste Punkt ist die Stromversorgung unserer Rechner. Diese erfolgt über USB, man benötigt also USB Kabel. Am günstigsten ist hier die Verwendung eines USB Hubs. Solange dieser Hub bei allen USB Steckplätzen 5 V mit 700 mA liefert gibt es keine Probleme. Diese Lösung ist Ideal, da man sonst lauter einzelne Netzteile benötigen würde und gerade Netzteile öfters defekt werden. - Patchkabel
Neben den USB Kabeln müssen wir unsere Pis auch über den Netzwerkanschluss verbinden. Dafür benötigen wir herkömmliche Netzwerkkabel. Am besten eignen sich hier sehr kurze Kabel die man mit Switches verwendet. - Switch
Das wichtigste Element ist ein Switch, der den Netzwerktraffic verarbeitet. Für eine gute Lastenverteilung auf mehrere Rechner ist die Qualität des Switches sehr wichtig, da sonst unnötig viel Zeit dort verloren geht.
Das sollte alles sein. Die Pis laufen zum Glück nicht heiß, womit man wohl kaum eine externe Kühlung benötigt. Je mehr Pis man aber für so ein Server Cluster verwendet, desto mehr Energie wird in Wärme umgesetzt. Darauf sollte man unbedingt achten, denn ab einer bestimmten Zahl muss man sich Gedanken über eine Kühlung seines Server Clusters machen. Serverhallen sind in Rechenzentren immer gekühlt.
Software
Neben den offensichtlichen Aufwand für Hardware müssen wir uns auch über die Software Gedanken machen. Bei dem Raspberry Pi haben wir glücklicherweise bereits fast alles dabei! Das Raspbian Linux, welches standardmäßig mit dem Pi verwendet wird eignet sich schon perfekt für unsere Zwecke. Um nicht jeden Pi einzeln warten und die erforderliche Software einzeln installieren zu müssen gibt es ein gutes Open Source Administrationstool Ansible mit dem wir die ganzen Raspberrys automatisiert warten und administrieren können.
Konfiguration
Die Konfiguration ist relativ simpel. Ein Raspberry Pi wird der Hauptrechner vom Server Cluster, welcher ein gemeinsame Dateistruktur verwaltet und diverse Services laufen hat die die Rechenlast auf die anderen Rechner verteilen.
Nachdem man nun sowohl Hardware und Software bereit hat geht es nun um das Konfigurieren unserer Raspberry Pi Server Farm. Alle Informationen dafür werden vom Autor des Projekts dankenswerter Weise online zur Verfügung gestellt. Den findet ihr hier. Die Angaben sind sehr einfach zu folgen. Man muss sich einfach mit Ansible auskennen bzw. einarbeiten. Die Konfiguration ist gar nicht so kompliziert, man muss nur hin und wieder aufpassen, wenn der Autor zum Beispiel seine IP Adressen verwendet, also mitdenken.
Raspberry ist der Wahnsinn! Danke für die erste Einführung, was ich an Hardware benötige.
Eine Frage habe ich aber noch, wäre es möglich das sich jemand die Arbeit macht und die PDF übersetzt, zumindest das relevante für den Cluster. Meine Englisch ist so schlecht…
Vielen dank.
Neh wat wäre da schön….
dein deutsch auch…
Öffnet einfach die hier angegebenen Link´s mit Google Chrome.
Sobald die Internetseite der jeweilligen Seite geladen ist, einfach rechter Mausklick und auf Übersetzen gehen.
Fertig.
würde der raspberry cluster auch ohne internet funktionieren?
ja
Braucht man keine SD-Karten?
Das verwirrt mich grade, da ja Software installiert werden soll, also bräuchte man theoretusch ja auch SD-Karten, oder?
Reichen 700mA tatsächlich aus?
Hey. Ich habe da eine Frage. Leider kenne ich mich nicht besonders mit Server Clustern aus und meine Frage ist daher: Wenn ich beispielsweise 8x Raspberry Pi 4´s (4GB RAM) miteinander über den Switch verbinde, heisst dass dann dass mir eine Gesamtleistung von ca. 32 Kernen, 12 GHZ Taktung sowie 32 GB RAM zur Verfügung stehen? Wenn ja, das wäre ja ein echtes Powersystem, oder sehe ich das Falsch?
Leider nein, da die Kommunikation der Rechner einen großen Overhead verursacht. Das Bottleneck wird weiterhin der eine Raspberry Pi bleiben, der die Aufgaben verteilen muss.