- 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
Schon der Versuch, Self-Hosting umzusetzen, ist beeindruckend.
Obwohl die Preise stark auseinandergehen, wirkt das Framework-Mainboard inzwischen wie das moderne Raspberry Pi.
Hacker-News-Kommentare
zfs send/recvan 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.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.