Hoserva vorgestellt
Hoserva ist eine Open-Source-Heimserver-Plattform für unterschiedlich große Festplatten, eine Verwaltungsebene über mergerfs und SnapRAID. Lücke, Ansatz und Stand.
Hoserva vorgestellt
Hoserva ist eine Open-Source-Heimserver-Plattform für unterschiedlich große Festplatten. Es ist eine Verwaltungsebene mit Go-Daemon, CLI und Web-Oberfläche über mergerfs und SnapRAID auf Debian. Es ist in Entwicklung und hat noch keine Veröffentlichung. Dieser Beitrag erklärt, warum es das gibt, wie es gebaut ist und was heute funktioniert.
Die Lücke
Heimserver wachsen so, wie sie bezahlt werden: eine Platte nach der anderen, in der Größe, die gerade im Angebot ist. Ein Speicher-Setup dafür muss drei Dinge können.
- Unterschiedliche Plattengrößen in einem Pool. Eine 4-TB- und eine 8-TB-Platte sollen beide voll zählen, und eine neue Platte soll ihren Platz sofort bereitstellen.
- Den Pool mit Parität auf einer Platte schützen. Eine oder zwei eigene Platten decken den Ausfall einer Datenplatte ab, ohne alles zu spiegeln.
- Verwaltbar sein. Einrichtung, Zeitplanung, Überwachung, Freigaben und Apps sollen nicht bedeuten, Konfigurationsdateien von Hand zu pflegen.
Die ersten beiden sind gelöst. mergerfs bildet den Pool, SnapRAID berechnet die Parität, und Hoserva baut auf beiden auf. Es fehlt das Dritte: eine Verwaltungsebene mit einer Oberfläche, die man gern benutzt. Hoserva ist diese Ebene.
Der Ansatz
Hoserva implementiert Pooling und Parität nicht neu. Es erzeugt die Konfiguration für mergerfs und SnapRAID und steuert beide.
Ein Go-Daemon, hoservad, läuft als systemd-Unit auf Debian. Er hält seinen Zustand in SQLite, schreibt daraus die Konfiguration für mergerfs und SnapRAID und führt jeden langen Vorgang als Job aus. mergerfs zeigt die Datenplatten gemeinsam unter /mnt/user. Jede Datenplatte bleibt ein normales Dateisystem, das Sie einzeln lesen können, und eine Datei liegt komplett auf einer Platte, sodass ein einzelner Transfer mit der Geschwindigkeit dieser Platte läuft.
Bei der Parität ist das Design bewusst gewählt. SnapRAID-Parität liegt auf einer oder zwei eigenen Platten, jede mindestens so groß wie die größte Datenplatte. Geschrieben wird sie nur vom nächtlichen Zeitplan oder von einer Aktion, die Sie selbst starten. Eine Schwellenwert-Sperre hält einen Sync zurück, wenn sich zu viel geändert hat, damit ein schlechter Tag nicht stillschweigend gute Parität überschreibt.
Web-Oberfläche und CLI sind zwei Clients derselben dokumentierten API. Keiner von beiden kann etwas, das der andere nicht kann.
Wo es steht
Hoserva ist in Entwicklung, und es gibt noch keine GitHub-Veröffentlichung.
Gebaut: der Speicherkern und die NAS-Funktionen.
Aktuelle Phase:
- Apps. Apps laufen als Docker-Compose-Stacks und werden aus einem kuratierten Katalog installiert. Die CI prüft die Templates, signiert den Katalog und veröffentlicht ihn. Hoserva verwendet einen heruntergeladenen Katalog erst, wenn seine Signatur gegen einen in
hoservadeingebauten öffentlichen Schlüssel stimmt. - Migration von Unraid. Eine geführte Migration liest die Unraid-Konfiguration aus einem Flash-Backup und übernimmt die Datenplatten direkt, ohne sie zu kopieren oder zu formatieren. Einfach ist das nicht: Rechnen Sie mit mehreren Stunden Ausfallzeit und einem vollständigen Paritätsaufbau, und der Schritt, der die frühere Paritätsplatte formatiert, ist ein Punkt ohne Rückkehr. Passwörter, Plugins und virtuelle Maschinen kommen nicht mit. Unraid ist eine Marke von Lime Technology, Inc.; Hoserva steht in keiner Verbindung dazu.
Hoserva ist selbst gehostete Open-Source-Software unter AGPL-3.0. Es gibt keine Cloud, keine Warteliste und keine Preise.
Installationsanleitungen gibt es hier nicht, weil es noch nichts zu installieren gibt. Sobald eine Veröffentlichung existiert, stehen sie in der Doku.
Mehr dazu
- Die Hoserva-Seite auf dieser Site
- Hoserva auf GitHub — Quellcode, Issues
- hoserva.dev und die Doku
Wenn Sie einen Heimserver mit gemischten Platten betreiben: Das GitHub-Repository und die Doku sind der Ort, um mitzuverfolgen. „In Entwicklung“ bleibt der Stand, bis eine Veröffentlichung etwas anderes sagt.
