Wie richte ich den Linux-Desktop-Cluster von "poor man" ein?

12

Es gibt mehrere kleine Linux / Android-Geräte auf dem Markt mit 1 GHz ARM-Prozessor, 512 MByte RAM und Ca. 4 GB Speicherplatz für 35-40 USD. Wenn ich 5 Stück kaufe, sind es nur etwa 200 Dollar.

Nehmen wir an, wir haben 5-10 Stück davon, und wir haben grundlegende Dinge gelöst, z. B., dass sie eine nicht allzu seltene Art von Linux-Distribution ausführen (z. B. Debian), wir haben Root-Zugriff und sie sind mit dem lokalen Netzwerk verbunden. mit IP. Also ist alles bereit, um einen Cluster zu bilden (glaube ich).

Wir haben einen Desktop-Computer oder ein Notebook (ca. 2 GHz x86-Prozessor, 1-2 GByte RAM, mehrere GByte Festplatten- / SSD-Speicher), auf dem auch eine Standard-Linux-Distribution läuft. Es hat Tastatur, Maus, Monitor, wir wollen es als "Frontend" des Clusters verwenden.

Die Frage ist also: Wie lässt sich die Leistung einiger kleiner Computer am einfachsten mit einem Desktop-Computer nutzen?

Desktop-Programme sind nicht für diese Umgebung ausgelegt, daher möchte ich keinen echten Cluster einrichten. Das Projekt besteht darin, einige Aufträge vom Desktop- / Netbook-Computer zu übertragen und sie so optimal wie möglich für die Kleinen freizugeben .

Angenommen, ich sollte den Browser auf einem kleinen Computer mit X11 starten, da er nicht den Arbeitsspeicher meines Desktop-Computers beansprucht. Wenn ich viele Seiten geöffnet habe, kann ich auf einer anderen kleinen Maschine eine neue starten.

Ich kann meinen Texteditor auch auf einem kleinen Computer starten. Ich muss nur den Ordner freigeben, in dem ich arbeite. Es gibt ein kleines Problem: Ich verwende Geany und starte den Compiler durch Drücken von F8, sodass der kleine Computer den Compiler auf dem Desktop-Computer starten sollte. Es macht mir nichts aus, wenn ich ein kleines Skript dafür schreiben muss.

Was raten Sie, würde es fliegen?

ern0
quelle

Antworten:

5

Ein Ansatz, der für mich ziemlich gut funktioniert ...

  • Schließen Sie einen dieser veralteten Monitore, die Sie "nur für den Fall" herumliegen, an jeden der kleinen Computer ( RaspberryPi usw.) an.

  • Führen Sie auf jedem Computer ein winziges, schnelles RAM-basiertes Betriebssystem wie Puppy Linux aus (siehe Funktionsweise) .

  • Richten Sie passwortloses SSH (Pre-Shared Password Distribution) zwischen allen Computern ein.

  • Installieren Sie KVM- Software wie Synergy auf jedem Computer und führen Sie den "Server" mit Tastatur und Maus auf dem Computer aus. Die anderen werden "Kunden" sein. Synergy kann optional auch über SSH ausgeführt werden, um die Sicherheit zu erhöhen.

  • Verwenden Sie fuse SSHFS (bevorzugt) oder NFS, um Speichergeräte beim Booten bereitzustellen.

  • Möglicherweise möchten Sie auch das Booten über das Netzwerk (PXE usw.) einrichten.

Jetzt haben Sie Ihre eigene Multi-Monitor-Konsole!

Mit der dramatischen Vergrößerung Ihres sichtbaren Desktops, 2,5-7 GB RAM und 6-11 "Kernen" können Sie mehrere Browser ausführen ( Chrom ist meiner Meinung nach die ressourcenschonendste Lösung ) und so viele Seiten sehen Sofort, wenn Sie die Syntax von Befehlen nachschlagen und andere Nachforschungen anstellen, während Sie programmieren oder schreiben.

DocSalvager
quelle
3

Ich bin ein wenig verwirrt, was genau Sie von Ihrem Cluster erwarten. Es hört sich ein bisschen so an, als ob Sie nur Programme starten und auf verschiedenen Boxen ausführen möchten. Wenn dies der Fall ist, sollte SSH / X-Forwarding / NFS für Sie in Ordnung sein.

IMHO hat dies eigentlich nichts mit Clustering zu tun, es steuert einfach verschiedene Maschinen fern. Eines muss ich allerdings wirklich fragen. Warum all diese Schwierigkeiten, Kumpel? Für 400 US-Dollar kann man heutzutage ein echtes PC-Monster bauen, mit viel Speicher für die Ausführung von Desktop-Anwendungen :)

JustDanyul
quelle
1

Sie suchen anscheinend nach etwas wie dem Beowulf-Cluster .

Dies ist ein Cluster, der für die parallele Verarbeitung mehrerer "Boxen" entwickelt wurde.

Nils
quelle
1
Lesen Sie den Teil des Links, den Sie gepostet haben, "Was kann ein Beowulf-Cluster nicht?". Nach dem Lesen seines Beitrags scheint es mir nicht so, als ob Beowulf das ist, wonach er sucht :)
JustDanyul