14 Punkte von GN⁺ 2025-10-07 | 3 Kommentare | Auf WhatsApp teilen
  • Mit einem Framework-Laptop und einem JBOD einen eigenen S3-Storage aufgebaut und 10 TB Kapazität kostengünstig betrieben; auch nach 4 Monaten ohne Wartung lief alles stabil
  • Einen gebrauchten Framework-Laptop ohne Display als Home-Server genutzt und ZFS sowie garage S3 installiert; im Einsatz als großer Speicher für AppGoblins SDK-Tracking-Projekt
  • Nach 4 Monaten dem Server keinerlei Aufmerksamkeit geschenkt und beim Login festgestellt, dass 10 TB belegt waren und ein Upgrade auf einen Neustart wartete; nach dem Reboot funktionierte weiterhin alles einwandfrei
  • Auch das Upgrade von garage S3 von v1 auf v2 wurde ohne Probleme abgeschlossen, was die stabile Betriebserfahrung bestätigte
  • Eine unkonventionelle ZFS-Konfiguration mit USB-Verbindung zwischen Laptop und JBOD verursachte anfangs Probleme, die durch das Verschieben der Metadaten auf den internen Speicher des Laptops gelöst wurden

Projekthintergrund und Motivation

  • Vor 5 Monaten für Self-Hosting von S3 entschieden
    • Arbeit am SDK-Tracking der Top-100.000 Android- und iOS-Apps von AppGoblin
    • Großer Speicherbedarf, aber mit dem Wunsch, Kosten zu sparen
    • Statt Cloud-S3 wurde Self-Hosting gewählt

Hardware-Konfiguration

  • Einsatz eines Framework-Laptops
    • Günstig einen gebrauchten Framework-Laptop ohne Display gekauft
    • Älteres Modell, daher gut als Home-Server geeignet
    • Die Mobilität und der niedrige Stromverbrauch des Laptops wurden ausgenutzt
  • Ergänzung durch ein JBOD (Just a Bunch of Disks)
    • Externes Festplatten-Array für große Speicherkapazität
    • Per USB mit dem Laptop verbunden

Software-Stack

  • ZFS-Dateisystem
    • Bietet Datenintegrität und Snapshot-Funktionen
    • Das JBOD wurde als ZFS-Pool konfiguriert
  • garage S3
    • Leichtgewichtige verteilte S3-kompatible Storage-Lösung
    • Open-Source-Projekt, entwickelt von Deuxfleurs
    • Bietet Kompatibilität mit der S3-API

4 Monate Betrieb ohne Wartung

  • Nach der Einrichtung 4 Monate lang überhaupt nicht an den Server gedacht
    • Trotz Reisen, Arbeit und eines vollen Alltags wurde S3 kontinuierlich genutzt
    • Es bestand keinerlei Bedarf, sich um den Server zu kümmern
  • Feststellungen nach dem Login
    • 10 TB Speicherplatz waren belegt
    • Das System wartete geduldig auf einen Neustart für das Upgrade
  • Ergebnis des Neustarts
    • Der Neustart wurde mit Anspannung ausgelöst
    • Danach lief alles wieder normal, was für Erleichterung sorgte

Upgrade von garage S3

  • Upgrade von v1 auf v2
    • Ein ausstehendes Major-Upgrade wurde entdeckt
    • Der Upgrade-Prozess verlief ohne Probleme
    • Insgesamt ein gutes Wochenende

Technische Warnhinweise und Lösung

  • Bewusstsein für die unkonventionelle ZFS-Konfiguration
    • Die Verbindung von Laptop und JBOD per USB ist ein eher untypischer ZFS-Anwendungsfall
    • Aus der Reddit-Community kamen entsprechende Warnungen
  • Anfängliche Probleme
    • Als garage große Mengen an Lese- und Schreibvorgängen ausführte, traten ZFS-Probleme auf
    • In der ursprünglichen Konfiguration lagen auch die SQLite-Metadaten auf dem JBOD/ZFS
  • Lösung des Problems
    • Die Metadaten wurden auf den internen Speicher des Laptops verschoben
    • Danach waren die ZFS-Probleme behoben und der Betrieb stabil

3 Kommentare

 
shakespeares 2025-10-07

Schon der Versuch, Self-Hosting umzusetzen, ist beeindruckend.

 
rtyu1120 2025-10-07

Obwohl die Preise stark auseinandergehen, wirkt das Framework-Mainboard inzwischen wie das moderne Raspberry Pi.

 
GN⁺ 2025-10-07
Hacker-News-Kommentare
  • Wenn man nur das Mainboard ohne Bildschirm hat, kann man es auch in ein spezielles Gehäuse wie das von CoolerMaster einbauen Link zum CoolerMaster-Framework-Gehäuse
    • Die Dinger sind wirklich klasse, aber was ich betonen wollte, ist, dass dieser Laptop selbst extrem gut funktioniert, fast lautlos ist und kaum warm wird. Auch der Stromverbrauch bei geringer Last ist wirklich gut. Genau deshalb passt ein Laptop meiner Meinung nach so gut zu diesem Einsatzzweck.
    • Im Framework Marketplace wird der Gehäuselink geteilt Link zum Gehäuse im Framework Marketplace. Ich habe schon einmal ein Upgrade gemacht, indem ich ein altes Mainboard in dieses Gehäuse eingebaut habe. Ich habe es mit einer VESA-Halterung hinter dem Monitor befestigt und auch als Desktop-PC genutzt, und inzwischen verwende ich es als HTPC (Home-Theater-PC). Ich bin sehr zufrieden.
    • Ein 10-Zoll-Mini-Rack ist ebenfalls eine gute Alternative DeskPi RackMate 10-Zoll-Mini-Rack
  • Mich interessieren eher die technischen Details. Nicht, weil ich es exakt nachbauen will, sondern weil ich wissen möchte, wie der ZFS-Pool aufgebaut wurde und ob Garage alles selbst konfiguriert, ob ein Mirror verwendet wird oder ob es einfach unabhängige Pools sind, die auf verschiedene Disks synchronisiert werden. Ich möchte günstig ein NAS mit zwei USB-Disks bauen und überlege, ob ich ein ZFS-Mirror nehmen soll, zwei unabhängige Pools anlege und einen als Backup des anderen nutze oder lieber auf SnapRAID gehe, um alte Festplatten zu mischen und die Hardware maximal auszunutzen.
    • Wenn du zwischen ZFS-Mirror und unabhängigen Pools schwankst, bekommst du mit einem Mirror Schutz vor Bit Rot und automatische Reparatur durch Scrubs, außerdem höhere Lesegeschwindigkeit. Wenn du nur zwei ähnlich große Festplatten hast, kannst du mit ZFS auch ein Mirror-vdev zu einem bestehenden Pool hinzufügen oder einen neuen Backup-Pool erstellen. Es reicht, wenn die beiden Disks innerhalb des Mirrors ähnlich groß sind; nicht alle Disks im gesamten Pool müssen identisch sein.
    • Garage ist nicht an eine bestimmte Vorgehensweise gebunden und funktioniert auch ohne ZFS problemlos. Ich habe ZFS unter Ubuntu separat installiert und danach Garage eingerichtet. ZFS ist ganz einfach als RAID5/raidz1 konfiguriert. Ich bin kein Experte, aber da die Auslastung nahe an 33 % kommt, denke ich inzwischen wieder darüber nach. Dabei fiel mir dieser fast magische HN-Kommentar von früher ein: „Für einige wichtige Daten kann ich ein paar Stunden Verlust akzeptieren, deshalb nutze ich statt eines Mirrors zwei unabhängige Single-Disk-Pools, mache alle paar Stunden Snapshots vom Haupt-Pool und sende sie per zfs send/recv an den Backup-Pool.“ So ein Ablauf scheint besser zu meinem Anwendungsfall zu passen. RAID5 war ursprünglich als Schutz gegen den Ausfall einer einzelnen Disk gedacht, aber dieselbe Konfiguration an einem zweiten Standort aufzubauen kostet ziemlich viel (~$1,000 USD), daher habe ich das bisher noch nicht umgesetzt.
  • Ich habe von Garage diesmal zum ersten Mal gehört und finde es ziemlich interessant. Beruflich nutze ich S3 oft, und für persönliche Homelab-Backups habe ich bisher borg mit borgbase verwendet. Ich frage mich, ob man mit garage lokale Nodes und AWS Glacier kombinieren kann, um eine große Medienbibliothek günstig redundant zu speichern. Ich würde auch gern wissen, ob der gesamte Lese-Traffic über die lokalen Nodes läuft. Im TFA gab es kaum Berichte über den tatsächlichen Einsatz von Garage, daher würde ich gern Meinungen von Leuten hören, die es wirklich fürs Self-Hosting verwenden. Edit: Ich habe herausgefunden, dass es mit Glacier nicht geht, weil es als Dateisystem auf einer EC2-Instanz gemountet sein müsste, auf der das Garage-Binary läuft. Es ist wahrscheinlich besser, Backups nach Glacier einfach mit borg/restic zu planen.
    • Eine weitere Alternative ist ZeroFS; damit lassen sich Daten direkt in S3 speichern ZeroFS GitHub
    • Man kann AWS S3 mit aggressiven Lifecycle-Richtlinien nutzen, damit Daten nach kurzer Zeit automatisch nach Glacier verschoben werden. Ich habe das in einem früheren Job einmal so aufgebaut. Damals wurden die Daten nach ein paar Tagen vom Standard-Storage nach Glacier verschoben. In deinem Fall würdest du X einfach auf 1 Tag setzen.
    • Ich musste Garage selbst nie direkt anfassen. S3-API-Tools wie awscli, s3cmd, rclone oder Boto3 haben völlig ausgereicht. Garage ließ sich mit nur ein paar Befehlen einfach einrichten, und nachdem es einmal lief, lief es vier Monate lang zuverlässig von allein weiter. In der Hinsicht bin ich sehr zufrieden.
  • Ich wollte nur einen leisen und zugleich erfolgreichen Self-Hosting-Fall teilen.
    • Ist dieses JBOD mit SSDs bestückt? Bei so vielen HDDs könnte es ziemlich laut werden.
    • Früher kam es mir seltsam vor, dass „einen Computer selbst besitzen und irgendetwas darauf betreiben“ als „Self-Hosting“ bezeichnet wird. Es fühlt sich an, als ob inzwischen alle Computer jemand anderem gehören, und wir in einer Zeit leben, in der man ausdrücklich erwähnen muss, wenn man etwas selbst betreibt.
  • Ich hätte vermutlich mehr Vertrauen in einen alten Dell T30 mit zwei 10-TB-Seagate-Exos im ZFS-RAID1 (Mirror). Die vorgeschlagene Methode würde mich selbst mit täglichen Backups jedes Mal nervös machen. Auch ein Dell T30 gibt keine absolute Sicherheit, aber dort kann man Disks leichter in ein anderes Gerät umstecken, und die Sorge, dass sich Kabel leicht lösen, ist geringer. Trotzdem sieht Garage ziemlich gut aus, danke dafür.
    • Ich nutze ZFS auch schon ziemlich lange und bin zu dem Schluss gekommen, dass ich bei vielen Daten ein paar Stunden Verlust akzeptieren kann. Deshalb habe ich statt eines Mirrors zwei unabhängige Single-Disk-Pools eingerichtet, mit automatischen Snapshots auf dem Haupt-Pool alle paar Stunden und Replikation auf den Backup-Pool per zfs send/recv. Dadurch kann ich Disks flexibel mischen, zum Beispiel eine SSD und eine HDD. Der Preis dafür ist ein Kompromiss bei Lesegeschwindigkeit und Verfügbarkeit. Man kann auch eine externe Festplatte als Backup-Disk verwenden und sie alle paar Tage anschließen. Für wirklich wichtige Daten habe ich weiterhin einen gespiegelten RAID-Pool. Viele ZFS-Artikel konzentrieren sich auf RAID, aber über solche hardwareminimalen Setups wie oben findet man meiner Meinung nach zu wenig Informationen.
  • Ich bin mir nicht sicher, ob Framework hier wirklich etwas Besonderes beiträgt. Ich hoste auf einem RPi5 mit ein paar angeschlossenen Disks auf ähnlichem Niveau. Statt ZFS verwende ich lvm2, das auf dem RPi5 gut läuft. ZFS braucht zu viel RAM und ist für diesen Zweck nicht geeignet.
  • Ich liebe Garage, das läuft einfach zuverlässig von selbst. Ich betreibe Garage auf ein paar alten Odroid HC2 für k8s-Velero-Backups, und seit dem Setup musste ich nichts mehr anfassen; es hält sich einfach selbst am Laufen.
  • Schön, Garage hier erwähnt zu sehen. Ich habe bei der Wahl einer S3-kompatiblen Self-Hosting-Alternative auch zwischen Garage und SeaweedFS geschwankt. Meiner Erfahrung nach war SeaweedFS bequemer, weil es weniger manuelle Konfiguration als Garage benötigt.
  • Tolles Ergebnis. Ich versuche auch gerade, das Mainboard meines Framework zu ersetzen und es nur für NAS-Backups zu nutzen. Ich würde gern mehr Details zum ZFS-Setup hören. Ich möchte es nur als Snapshot-Speicher verwenden, aber ich habe Bedenken wegen der USB-Geschwindigkeit und davor, Daten zu verlieren, wenn die Verbindung versehentlich getrennt wird.
  • Es gibt eine frühere Diskussion über Garage Frühere Hacker-News-Diskussion