Ein Blog über Code, Hardware und Co

Storj, NAS, Server und Co, Technik und Hardware

Darf ich vorstellen: Mein Storj-Storage-Rig mit über 200TB Speicher

Oder: Passives Einkommen mal anders 😉

Es gibt eine ganze Reihe vielversprechender Projekte rund um das Web3, Crypto und Dezentralisierung. Eines davon ist das Storj-Projekt, bei dem man grob gesagt eigenen nicht genutzten Speicherplatz vermieten kann und damit ein kleines Taschengeld verdienen kann. Im Folgenden möchte ich mein “Storj-Farm” einmal vorstellen.

Ein paar Infos vorweg:

  • Kein Get-Rich-Quick Projekt
  • Storj-Nodes brauchen Zeit, sie füllen sich nur langsam
  • Ein möglicher verdienst summiert sich lange auf, bis er ausgezahlt wird

Wie funktioniert Storj eigentlich?

Im Grundsatz ist das ganz einfach: Privatnutzer stellen ihren überschüssigen Speicherplatz durch einen “Storj-Node”, einen “Knoten” im Storj-Netzwerk zur Verfügung. Dieser Speicher kann dann von Storj-Kunden gemietet und genutzt werden.

Jetzt kann man natürlich zurecht einwerfen: “Moment, meine Daten liegen auf anderen privaten Festplatten?”. Wie steht es da um den Datenschutz? Und was ist, wenn der Node, der meine Daten speichert, offline geht? Das ist bei einem Privat-Computer nun wirklich nicht unwahrscheinlich, oder?

Das sind berechtigte Fragen, die sich aber leicht beiseite schieben lassen:

Der Weg einer Datei vom Upload zum Speicher

Wenn eine Datei hochgeladen wird, wird sie zunächst verschlüsselt und dann in viele kleine Teile gesplittet. Dann wird die Datei auf eine Vielzahl an Nodes im ganzen Storj-Network verteilt. Dadurch ist sichergestellt, dass Niemand ausser dem Besitzer Daten einsehen kann, denn ein Algorithmus stellt sicher, dass nie so viele Teile eines Files auf einem Node liegen, dass es wiederhergestellt werden kann. Und es ist algorithmisch sichergestellt, dass alle Daten immer redundant vorliegen. Fällt ein Node aus, sind die Daten noch auf anderen Nodes vorhanden und werden – durch die sog. Satellites erneut auf andere Nodes kopiert, sodass immer eine gleichbleibende Redundanz gewährleistet ist.

Schematische Darstellung: Was passiert mit einer Datei beim Upload?

Die technischen Daten meines Storage-Rigs im Detail

Die folgenden Daten beziehen sich auf den Stand von Juni 2022:

  • Speicherplatz: >250TB
  • Anzahl Hosts/Rechner: 3
  • Anzahl HDD:
  • Anzahl /24 IP-Adressen: 28
  • Stromverbrauch in Summe: 8,6 kWh/24 Stunden (360 Watt Leistungsaufnahme)
  • Effizienz (Stromverbrauch pro TB):
  • Aktueller Traffic: > 10TB pro Monat
  • Internetanbindung 1:
  • Internetanbindung 2 (Mobilfunk): 200MBit/s (Down) / 30 MBit/s (Up)

Der Speicher: > 250TB auf externen Festplatten.

Das Gehirn: 3 Recheneinheiten.

Ich betreibe auf dem Storage-Rig aktuell 31 Nodes.
Live-Statistiken zur Bandbreitenauslastung oder dem belegten Speicher auf dem Storage-Rig findest du hier.

Der Ausblick

Im aktuellen Ausbaustatus habe ich eine weile Ruhe. Aber das soll nicht das Ende sein. Wenn der Speicherplatz meines Rigs belegt ist, habe ich durchaus vor, weitere Festplatten zu ergänzen. Der limitierende Faktor ist dann leider in erster Linie meine Internetanbindung. Ich habe keinen Glasfaseranschluss, sondern nur VDSL. Das heisst mein Upload ist hier auf 40mbit/s begrenzt. Zusätzlich habe ich noch eine LTE-Verbindung, die ungefähr die gleiche Bandbreite liefert, zur Verfügung.
Da Glasfaser nach wie vor leider nur Zukunftsmusik sein wird, setze ich große Hoffnungen auf 5G-Mobilfunk – den O2 gerade hier ausgebaut hat.

Du willst wissen, ob sich ein Storj-Storage-Rig auch für dich lohnen kann? Dann rechne dir einfach grob aus, was dein Rig “verdienen” kann: Zum Online-Rechner.

Ein paar Lessons Learned

Netzwerkmanagement und -Planung nicht vergessen (QoS)
Hat man vermutlich zunächst gar nicht so direkt auf dem Schirm, aber auch wenn der Traffic eines einzelnen Nodes zunächst gar nicht so hoch erscheint, so summiert sich bei mehreren Nodes doch ein gewaltiger Datendurchsatz zusammen (und perspektivisch beim Wachstum von Storj sollte das natürlich noch mehr werden), der durchaus das eine oder andere Heimnetz oder erst Recht die Internetverbindung an ihre Grenzen bringen kann. Bei mir äußerte sich das z.B. in Beschwerden der Familie, dass zu Stoßzeiten, wenn viel Storj-Traffic durch das Heimnetz floss, es Probleme mit Alexa oder Netflix kam.

Das Ganze lässt sich einfach mit QoS regeln. Kurz und knapp sollte man dafür sorgen, dass Realtime-Traffic oder Traffic, der für die Zufriedenheit der Familie oder andere – wichtigere – Dienste genutzt wird, priorisiert wird.

Das lässt sich theoretisch sogar mit einer Fritzbox realisieren, ich nutze dafür aber zum Beispiel einen Ubiquiti-Router, der zugleich eine Ausfallsicherheit und Lastmanagement für die Internetverbindung übernimmt.

Skalierbarkeit beachten
Skalierbarkeit spielt bei einem Storage-Rig eine maßgebliche Rolle – in vielerlei Hinsicht.

-> Festplatten
Wer viel Speicher bereitstellen möchte, der braucht viele Festplatten. So weit, so gut. Für viele Festplatten eignen sich in der Regel Festplattenkäfige oder aber “alte” Server von Ebay (diese verbrauchen aber meist sehr viel Strom).
Die Größe der Festplatten ist zudem entscheidend. Denn eine Festplatte ist ein mechanisches Gerät und verbraucht nahezu gleich viel Strom – egal, ob 4TB oder 18TB Speicherplatz vorhanden sind. Auch wenn die Anschaffungskosten etwas höher sind, lohnen sich auf Dauer daher auf jeden Fall eher größere Festplatten.
Meine Grundregel ist, ich kaufe keinen Festplatten mehr, die weniger als 12TB groß sind und ich kaufe erst ab einem Preis von maximal 15€ / TB.

Ich fahre die Low-Budget-Variante: Meine Festplatten sind allesamt herkömmliche externe USB-Festplatten. So spare ich mir Vorrichtungen und Festplattenkäfige.

-> Stromversorgung
Jede externe Festplatte benötigt Strom. Ebenso jeder Host. Daher muss a) für eine ausreichende Stromversorgung gesorgt sein, damit keine Sicherung fliegt und b) müssen genug Schuko-Steckdosen vorhanden sein, da jede Festplatte ein eigenes Netzteil besitzt.

Achtung: Bitte auf keinen Fall einfach etliche Mehrfachstecker hintereinander stecken. Ich greife auf eine explizit steckbare Lösung (hier wird auch der Schutzleiter durch Wieland-Verbindungen weitergegeben) der Firma Bachmann (“Step”).

Bild: Step Steckdosenleiste.

-> Kühlung
Zwar ist ein Storage-Rig etwas ganz anderes als ein Mining-Rig mit Grafikkarten, das gut und gerne ganze Häuser heizen und mehrere KW Strom in Wärme umwandelt. Aber auch Festplatten (und die Hostmaschinen) verbrauchen Strom und haben eine gewisse thermische Verlustleistung: Sie erzeugen Wärme. Und diese Wärme nimmt mit der Anzahl der Geräte und der Leistungsaufnahme zu. So kann es schnell sehr warm werden. Was im Winter einen gewissen Heizeffekt hat, stellt im Sommer eine reale Gefahr der Überhitzung und damit des Ausfalls von Hardware dar. Nicht umsonst haben professionelle Rechenzentren ein ausgeklügeltes Kühlsystem. Aber ggf. notwendige Klimaanlagen stellen eine erhebliche Investition und einen zusätzlichen Stromverbrauch dar. Für mich kommt das nicht infrage.
Gesegnet ist daher jeder, der wie ich einen kühlen Keller zur Verfügung hat. Im heißen Sommer (aktuell bis zu 35 Grad) bleibt der „Serverraum“ trotzdem bei maximal angenehmen 23 Grad.

->Netzwerk
Jeder Storagenode benötigt – je nach Auslastung – einen gewisse Bandbreite. Primär interessant ist hier die Internetanbindung, da die Daten, die auf den Storagenodes gespeichert (und abgerufen) werden, über das Internet übertragen werden. Sekundär sollte aber auch das Heimnetz entsprechende Kapazitäten aufweisen. Gerade wenn einige Nodes betrieben werden, die ggf. zwischendurch auf andere Datenträger migriert werden müssen, sollten leistungsfähige Switches und LAN-Kabel mit mindestens 1GBit/s verwendet werden.

->Rechenleistung/Hostmaschinen
Aktuell sind in mein Rig 3 Hosts integriert. Die Hosts verfügen jeweils über einen SSD-Cache und sind die Basis, auf denen für jeden Storagenode ein Docker-Container läuft sowie eine virtuelle Lubuntu-Maschine, die über VPN ein anderes /24-IP-Netz anbindet.
So kommen einige VMs zusammen, die in Summe einiges an Arbeitsspeicher benötigen. Daher verfügen die Hostmaschinen in Summe über knapp 120GB RAM.
Tipp: Einer meiner Hosts nutzt eine spezielle Energiespar-CPU auf Basis eines i7. Der Stromverbrauch ist hier signifikant niedriger als beim Standard i5-Pendant, der bei einem anderen Host zum Einsatz kommt.

Effizienz
Ein ganz wichtiges Thema – vor allem bei hohen Energiepreisen, wie wir sie hier in Deutschland haben – ist die Effizienz des Systems. Letztlich kann man vereinfacht die Speicherkapazität in Relation zur Leistungsaufnahme (also dem Stromverbrauch) setzen und so eine Kennzahl für die Effizienz erhalten:

Watt pro TB

Mein Rig verbraucht aktuell knapp 400 Watt Strom und bietet 250TB Speicher. Das bedeutet. Pro TB verbrauche ich 1,6 Watt. Das ist schon in Ordnung, lässt sich aber natürlich noch verbessern. Mit jeder zusätzlichen Festplatte, die ca. 8 Watt verbraucht und mindestens 12 TB Speicher bietet, wird das Rig etwas effizienter. Allerdings laufen auf dem Rig auch noch andere Dienste, die wir hier außer Acht lassen und die die Rechnung zusätzlich positiv beeinflussen.

Nun ist es aber natürlich so, dass nicht der gesamte Speicher des Rigs direkt von Storj genutzt wird. Es dauert eine ganze Weile, bis der Speicher belegt ist. Freier Speicher wäre nun im Prinzip verschenkt. Damit der Speicher nicht einfach nur rumliegt, nutze ich den überschüssigen Speicher zum Farmen von Chia. Das gibt dann immerhin noch ein kleines Taschengeld 😉

Weitere Gedanken zur Effizienz

Theoretisch liesse sich die Effizienz durchaus noch steigern, so habe ich im letzten Winter eine Innendämmung des Kellerraumes installiert, sodass mein Storage-Rig mittlerweile genug Abwärme liefert, um im Winter den Raum zu heizen (so spare ich mir die vorher installierte Strom-Heizung). Theoretisch ließe sich nun mit einer Brauchwasserwärmepumpe die Wärmeenergie aus dem Raum ziehen und zur Warmwasseraufbereitung für das Haus nutzen. Vielleicht ein Projekt für später 😉

Weitere Bilder meines Storage-Rigs

Quellen:

https://www.storj.io/media-kit

https://www.computerweekly.com/de/definition/Skalierbarkeit