1 Punkte von GN⁺ 2024-07-05 | 1 Kommentare | Auf WhatsApp teilen
  • Ein Experiment, um ein altes OpenWRT-Router-basiertes Netzlaufwerk durch eine SBC+HDD-Kombination zu ersetzen und dabei samba, git, rsyncd und ein dnf-Repo beizubehalten, aber Engpässe zu reduzieren
  • Das Libre Computer AML-S805X-AC bietet für ein €20-Board einen 4-Kern ARM Cortex-A53, 1 GB RAM, USB-Boot und Debian-Unterstützung, bleibt aber bei LAN auf 100 Mb und bei den zwei USB-A-Ports auf USB 2.0 beschränkt
  • Die Gesamtkosten ohne HDD liegen mit etwa €43 niedrig, doch zusätzlich werden ein HDD-Gehäuse mit Netzteil, ein Netzteil, ein micro-USB-Kabel und optional ein TTL-to-USB-Dongle benötigt
  • Das offizielle Image auf Basis von Debian 12 nutzt eine EFI-Partition innerhalb eines MBR und eine btrfs-Root-Partition; das automatische Resize beim ersten Boot läuft auf USB-Dongles instabil und langsam
  • Beim JMicron-JMS578-HDD-Gehäuse wurden UAS-Fehler umgangen und damit Verzögerungen beseitigt, doch mit ext4 liegt die Leistung nur bei etwa 23,95 MB/s – ohne einen starken Grund wie Stromsparen ist diese Lösung schwer zu empfehlen

Wechsel vom OpenWRT-Router zum SBC-NAS

  • Die bisherige Hardware war ein alter Router mit angeschlossener HDD; nach der Installation von OpenWRT wurde er nicht als Router, sondern als Netzlaufwerk genutzt
  • Die neue Hardware sollte samba, git, rsyncd und das dnf-Repo unverändert weiterbetreiben und dabei schneller arbeiten
    • Der bisherige Router hatte eine schwache CPU und tat sich mit rsync over SSH schwer
    • Wegen zu wenig RAM blieb ein git push bei Commits mit Binärdateien über 15 MB hängen
  • Als Kandidat wurde das Board AML-S805X-AC von Libre Computer gewählt
    • Der LAN-Port ist vorhanden, unterstützt aber nur bis 100 Mb
    • Die zwei USB-A-Ports unterstützen nur USB 2.0
    • 4-Kern ARM Cortex-A53, 1 GB RAM, USB-Boot und Unterstützung für aktuelles Debian
    • Ohne besondere Beschaffungshürden erhältlich

Niedrige Netzwerkspezifikation und tatsächlicher Einsatzzweck

  • Ein 100-Mb-Netzwerk ist nach heutigen Maßstäben schwach, aber der Hauptzweck war, eine Kopie eines Verzeichnisses mit etwa 200.000 kleinen Dateien aktuell zu halten
  • Selbst wenn der SBC USB 3.0 unterstützt hätte, hätte ein 1-Gb-Netzwerk die Synchronisationsgeschwindigkeit vermutlich nicht stark erhöht
  • Mit dem Board allein war der NAS-Aufbau nicht vollständig; zusätzliche Teile waren nötig
    • Die USB-A-Ports des Boards liefern maximal 900 mA pro Port
    • Ein HDD-Gehäuse mit externer Stromversorgung war erforderlich
    • Nötig waren außerdem ein Netzteil mit mindestens 3 A und ein micro-USB-Kabel, das 3 A verkraftet

€43-Konfiguration und physischer Aufbau

  • Die Gesamtkosten ohne HDD betrugen €43
    • SBC: €20
    • HDD-Gehäuse: €12
    • 3-A-Netzteil: €5
    • micro-USB-Kabel: €3
    • 4 Schrauben und 12 Muttern: €0
    • TTL-to-USB-Dongle: €3, optional, da das Board einen HDMI-Ausgang hat
  • Die HDD wurde nicht in die Kosten eingerechnet; die Kalkulation geht davon aus, dass eine Ersatz-HDD vorhanden ist
  • Das HDD-Gehäuse wurde in der Annahme gekauft, es handele sich um ein kleines Kunststoffgehäuse für 2,5-Zoll-Laufwerke, tatsächlich war es aber eine Box für 3,5-Zoll-Laufwerke
  • Wegen des Platzes im Gehäuse wurde entschieden, auch den SBC zusammen mit in das HDD-Gehäuse zu setzen

Booten und die Ecken und Kanten des Debian-Images

  • Ein TTL-to-USB-Dongle wurde an die GPIOs des Boards angeschlossen und per screen verbunden
$ sudo screen /dev/ttyUSB0 115200
  • In der anfänglichen Ausgabe erschienen Libre Computer AML-S805X-AC, Amlogic Meson GXL und DRAM: 512 MiB (effective 1 GiB)
    • Nachdem anschließend ein Debian-12-Image per dd auf ein Flash-Laufwerk geschrieben wurde, erkannte free(1) 1 GB
  • Die offiziellen OS-Images von Libre Computer basieren auf stock Debian
    • Das Disk-Image ist 2,25 GiB groß
    • Innerhalb des MBR-Layouts befindet sich eine EFI-Partition
    • Die zweite Partition ist btrfs und wird beim ersten Boot automatisch vergrößert, um den restlichen Platz zu füllen
  • Das automatische Resize auf USB-Dongles war nicht zuverlässig
    • Einer von drei verfügbaren USB-Dongles blieb während des Resizes dauerhaft hängen
    • Ein anderer schloss den Vorgang ab, wurde danach aber sehr langsam
  • Problematisch bleibt auch, dass das Repository, das zur Erstellung der OS-Images genutzt wird, nicht öffentlich ist
    • Die zugehörige Erklärung besagt, der distribution builder sei ein proprietäres kommerzielles Angebot mit Kunden-IP und Integrationen und könne daher nicht veröffentlicht werden
    • Enthalten ist auch der Hinweis, dass außer einigen Einstellungen gegenüber Standard-Distributionen nichts geändert werde; wer das Image analysieren wolle, solle nach dem Bootstrap einen Diff ansehen

Fehler im HDD-Gehäuse und endgültige Leistung

  • Nach dem Anschluss des HDD-Gehäuses an das Board lief der Prozess deutlich schneller als mit dem USB-Dongle, es gab aber weiterhin unerwartete Verzögerungen an beliebigen Stellen
  • Direkt nach dem Login meldete der Kernel einen uas_eh_abort_handler-Fehler
  • Laut lsusb steckte im Gehäuse ein JMicron JMS578 SATA 6Gb/s-Gerät
Bus 001 Device 002: ID 152d:0578 JMicron Technology Corp. / JMicron USA Technology Corp. JMS578 SATA 6Gb/s
  • Die Lösung bestand darin, der Kernel-Kommandozeile usb-storage.quirks=152d:0578:u hinzuzufügen und damit UAS zu deaktivieren
    • Danach verschwanden die Verzögerungen
    • Die Benchmark-Werte waren nicht beeindruckend
  • Beim Schreiben von 524 MB per dd über USB 2.0 inklusive sync ergab sich real 0m21.876s
    • Für eine ext4-Partition entspricht das rechnerisch 23,95 MB/s
  • Insgesamt ist diese Konfiguration schwer zu empfehlen
    • Einer der Gründe für die Wahl des SBC war ein niedrigerer Stromverbrauch
    • Ohne ähnliche Einschränkungen gibt es kaum einen Grund, sich mit einem heiklen Billiggerät herumzuärgern

1 Kommentare

 
GN⁺ 2024-07-05
Hacker-News-Kommentare
  • Der Geheimtipp sind ältere Fujitsu-Desktops/NUC-PCs. In Deutschland werden sie von vielen Unternehmen regelmäßig ausgetauscht, daher sind die gebrauchten eBay-Preise niedrig
    Wenn der Stromverbrauch wichtig ist, liefert eine Suche nach "$model energy consumption white paper" ziemlich genaue Daten wie den Leerlaufverbrauch; ein Beispiel ist https://sp.ts.fujitsu.com/dmsp/Publications/public/wp-energy...
    Bei einem NUC stand im PDF 9W, aber nach Aktivierung der SATA-Controller-Stromsparfunktion unter Linux sank der Leerlaufverbrauch auf 5W
    Nimmt man einen echten PC statt eines beliebigen Single-Board-Computers, sind Konnektivität, Erweiterbarkeit und Software-Unterstützung deutlich besser, und die meisten Single-Board-Computer hängen an schlampigen Kerneln aus ihrer Veröffentlichungszeit fest, sodass man einen vom Hersteller aufgegebenen Armbian-Fork mit alten Kerneln zu einer scheinbar aktuellen Distribution zusammenstückeln muss

    • Parkytowers ist eine Seite mit gesammelten Informationen zur Wiederverwendung von Thin Clients und eine wahre Goldgrube für Stromverbrauch, Linux-Kompatibilität und mögliche Hardware-Modifikationen: https://www.parkytowers.me.uk/thin/hware/hardware.shtml
    • Wenn sich diese Information zu weit verbreitet, könnten die Preise auf dem Gebrauchtmarkt steigen, was für Leute, die auf ultrabillige PCs aus sind, nachteilig wäre
      Seltsamerweise ist billige Rechenleistung schwer abzulehnen
    • Ich habe einen Lenovo-Thin-Client für etwa 200 Dollar gekauft und nutze ihn als Debian-Home-Server; für fast alle Zwecke passt er gut und bietet deutlich mehr Preis-Leistung als ein Raspberry Pi oder ein neuer Mini-PC
      Der Nachteil ist nur, dass kein Platz für mehrere 2,5-/3,5-Zoll-Laufwerke vorhanden ist, was aber eher Geschmackssache ist
    • In Australien tauchen auf Auktionsseiten jede Woche Tausende ausgelaufene Leasinggeräte vom Typ Dell 7060 SFF und 7060 Micro PC auf
      Die derzeit aus dem Leasing kommenden Dell-Geräte haben auch moderne Funktionen wie Intel-CPUs der 8. Generation, TPM und USB-C
    • Ich habe denselben Rat auch zu Dell/HP-SFF-PCs gehört. Zur Info: Der Link erfordert Login mit Benutzername/Passwort
  • NAS-Versuche mit Raspberry-Pi-artigen Geräten wirken fragwürdig, besonders wenn man mehrere Netzteile verwendet und Gehäuse zurechtschneidet. Das ist alles zu viel Gebastel und langsam, ohne dabei „wirklich so billig“ zu sein
    Wichtige persönliche Daten auf USB-Laufwerken zu speichern, fühlt sich ebenfalls etwas riskant an. Es setzt nicht gleich das Haus in Brand, aber es bleibt ein ungutes Gefühl
    Der echte Vorteil sind der kleine Formfaktor und der „niedrige“ Stromverbrauch, aber selbst wenn das Gesamtsystem 43 Dollar kostet, fragt man sich, ob man für ein paar gesparte Dollar 100Mbit in Kauf nehmen will oder für 150 Dollar lieber 2.5Gig nutzt
    Es gibt viele Alternativen wie den Fujitsu Futro S920 (gebraucht unter 75 Dollar, etwa 10W), den FriendlyElec NanoPI R6C (unter 150 Dollar, etwa 2W, https://www.friendlyelec.com/index.php?route=product/product...), das FriendlyElec Nas Kit (unter 150 Dollar, etwa 5W, https://www.friendlyelec.com/index.php?route=product/product...), den Dell T20/T30 (gebraucht unter 100 Dollar, etwa 25W) oder den Fujitsu Celsius W570 (gebraucht unter 100 Dollar, etwa 15W)
    Mein persönliches NAS/Home-Server-Setup besteht aus Fujitsu D3417-B, Intel Xeon 1225v5, 64GB ECC RAM, WD SN850x 2TB NVMe und Pico PSU 120; es ist teurer, aber stabil, leistungsfähig und bleibt im Leerlauf bei unter 10W

    • Das ist ein Vergleich von Äpfeln mit Birnen. Der vom Autor verwendete Single-Board-Computer verbraucht 0,75W im Leerlauf und 4W unter Volllast
  • Solange alles gut läuft, ist jeder ein Speicherexperte. Wenn etwas kaputtgeht, hat man das Gefühl, man hätte dem RAID-Array noch eine Festplatte hinzufügen, noch ein NAS für Backups hinstellen oder noch einen externen Standort für die Datenübertragung haben sollen
    Ich mache das inzwischen nicht mehr auf billig. Den Reiz verstehe ich aber trotzdem

    • Das sind alles Fragen der Strategie, daher spielt die Preisklasse des Geräts keine Rolle
      Wenn man mehr Platten braucht, kauft man mehr. Wenn man ein Backup-NAS braucht, stellt man ein weiteres hin. Wenn man eine Offsite-Kopie braucht, kauft man Speicherplatz oder ein NAS und Festplatten für einen externen Standort
      Die Preisklasse des Geräts ändert daran nichts
    • Es hängt davon ab, was man speichert
      Bei Arbeitsdokumenten, Buchhaltungsunterlagen oder Familienfotos möchte man sie sicher aufbewahren
      Wenn das NAS aber nur 20TB an raubkopierten Filmen und TV-Serien enthält, ist es deutlich einfacher, einfach die billigsten Laufwerke zu kaufen und zu schauen, was passiert
    • Die jungen Leute von heute haben keine Ahnung, wie oft alte Laufwerke früher kaputtgingen
    • Ich synchronisiere ein paar einzelne externe Laufwerke ganz altmodisch alle 1–2 Wochen per USB. Das ist Sneakernet im eigenen Haus
      Mit Tools wie Freefilesync geht das einfach und schnell, und auch versehentliche Löschungen kann man visuell überprüfen
      Es ist sehr günstig und hat über mehr als 10 Jahre gut durchgehalten. Ich hatte Datenverluste durch Laufwerksausfälle, Benutzerfehler sowie unbeabsichtigte Software-Bugs/Fehler, aber es war kein Problem
    • Dann kauft man eben 2 billige. Backups braucht man sowieso
  • Ich frage mich, wie man auf die Dateien zugreift, wenn man so ein NAS aufsetzt. Über NFS oder SFTP?
    Ich frage mich auch, wie der Zugriff von außerhalb des Hauses funktioniert. Ist das ein ständig verbundenes VPN, oder gibt es einen guten Weg für NAT-Hole-Punching?
    Syncthing kommt dem, was ich will, ziemlich nahe, weil es Dateien zwischen allen Computern synchronisiert, egal in welchem Netzwerk sie sich befinden, versucht aber immer, alle Dateien zu kopieren. Ich möchte die Dateien nur auf dem NAS behalten und von überall darauf zugreifen können
    Nextcloud kommt dem ebenfalls nahe, aber als ich es früher ausprobiert habe, wirkte es instabil und wenig vertrauenswürdig, und es schien viel zu viele Dinge zu machen, die ich nicht brauche

    • Der Reihe nach: Auf meinem NAS nutze ich NFS und SMB, um die meisten Clients abzudecken
      Für den Fernzugriff verwende ich einen per Tailscale exponierten SSH-Bastion-Host. Es ist zwar ein VPN, aber auf WireGuard-Basis, daher stört es kaum. Mein Upload liegt allerdings bei Gigabit, also kann das je nach Umgebung anders sein
      Das NAS hat 28 TB Speicherplatz, und über die Backup-Strategie denke ich noch nach. Im Moment liegen dort nur Dropbox und allerlei Dateien, deren Verlust nicht schlimm wäre
      Andere Dienste wie Dropbox nutze ich recht viel, aber 2 TB sind heutzutage nicht mehr besonders groß. Dazu kommt, dass ich über 500.000 Dateien habe, weshalb es auch etwas empfindlich reagiert
      Das ist meine persönliche Konfiguration, und ich denke, das ist bei jedem ziemlich unterschiedlich
    • Synology erledigt das alles für dich
      Ich nutze zwei Geräte, eins zu Hause und eins im Büro, und meine einzige Beschwerde ist, dass die „Idioten-Sicherung“ etwas zu weit geht. Trotzdem ist die webbasierte GUI hervorragend
      Es gibt auch kostenlose Software, die NAT und dynamische IPs durchdringt, und sie funktioniert gut (quickconnect.to). Ich nutze es hauptsächlich per SFTP und als Medienserver
    • Mit Syncthing synchronisiere ich kleine Datensätze zwischen Laptop, Handy und NAS. Den Großteil meiner produktiven und kreativen Arbeit deckt das ab
      Im LAN nutze ich einfach SMB, und für meine Anforderungen reicht das aus
      Wenn ich remote auf meine Linux-ISO-Sammlung zugreife, nutze ich Plex
    • Normalerweise nutze ich im LAN einfach SMB-Freigaben. Für meine bescheidenen Bedürfnisse reicht das aus
      Früher habe ich auch WebDAV oder FTP verwendet; das hängt vom konkreten Einsatzzweck ab
      Außerhalb des Hauses ist ein VPN Pflicht. Heutzutage ist es zu riskant, sich nur auf Port-Forwarding zu verlassen
    • Die einfache Lösung für den VPN-Teil ist Zerotier oder Tailscale. Wenn ich mich richtig erinnere, nutzt Zerotier chacha20 zur Verschlüsselung und ist dadurch schneller als AES, besonders auf stromschwachen Single-Board-Computern
  • Bei der Stelle, dass man usb-storage.quirks=152d:0578:u zur Kernel-Kommandozeile hinzufügen muss, um UAS zu deaktivieren, hätte ich das Ding wohl einfach in den Müll geworfen und aufgegeben
    Ich weiß nicht, wie Leute die Geduld haben, solche Probleme bis zum Ende zu debuggen. Ich verstehe zwar, dass das Ziel dieses Projekts ist, billig und einfach zu sein, aber Zeit ist teuer, und einfach ist das überhaupt nicht

  • Der Image Builder für dieses Board wirkt ziemlich verdächtig
    Die Erklärung „Der Distributions-Builder enthält viel Kunden-IP und Integrationen und kann daher nicht offengelegt werden; es handelt sich um ein proprietäres kommerzielles Angebot“ klingt wie ein Supply-Chain-Injektor

    • Nachdem ich den verlinkten Beitrag https://hub.libre.computer/t/source-code-git-repository-for-... gelesen habe, ist mein Eindruck von Libre Computer deutlich schlechter geworden
      Dass UEFI eingebaut ist und man normale Images direkt verwenden kann, ist ein großer Vorteil, aber dass die Standard-Images und insbesondere die Firmware ein proprietärer Prozess sind, ist ein so großes Warnsignal, dass das Ganze fragwürdig wirkt
      Wenn die Firmware freie Open-Source-Software ist und man sie direkt nur mit freien Open-Source-Eingaben bauen kann, wäre das vielleicht in Ordnung. Allein aus dieser Diskussion geht das aber nicht klar hervor
      Dass dank UEFI generische Images unterstützt werden, ist ein großer Pluspunkt, aber die Tatsache, dass das nicht der Standard ist, lässt mich an den Werten und der Kultur des Unternehmens zweifeln
    • Das ist ein weiterer Grund, bei Heimanwendungen Cargo-Cult-„NAS“ zu vermeiden. Man muss die Festplatten einfach nur in einen Computer einbauen
  • Vielleicht eine dumme Frage, aber ich frage mich, warum man einen NAS-Server ohne ECC-RAM bauen würde

    • Weil Non-ECC billiger ist. Ein anderer Grund fällt mir nicht ein. Alles andere wäre wohl eine Ausrede, um zu verschleiern, dass es nur billig sein soll
    • Weil ein NAS fast nichts tut. Man steckt dort keine 4 TB RAM hinein und betreibt mehrere Datenbanken
      Selbst bei Enterprise-Servern ist es umstritten, ob ECC wirklich nötig ist
  • Ziemlich cool. Für diesen Anwendungsfall scheint es gut zu passen. Ich persönlich würde etwas mehr ausgeben und ein Modell mit Gigabit-Port wählen
    Wenn man sich Jeff-Geerlings Videos ansieht, scheint man selbst mit solchen kleinen Single-Board-Computern ein recht leistungsfähiges NAS bauen zu können

    • Mit einem aktuellen Arm-Single-Board-Computer ist das tatsächlich ziemlich ausreichend, besonders wenn nur ein NAS darauf laufen soll
      Ein Pi 4 oder Pi 5 oder ein Rockchip-Board mit RK3566 oder RK3588 kann USB-Festplatten/SSDs anschließen, und die meisten können heutzutage zusätzlich M.2-Laufwerke oder SATA-HDD/SSD-Adapter aufnehmen. RAID läuft bei 1 Gbit/s und manchmal auch 2,5 Gbit/s ohne große Probleme
      Manche Leute nutzen OpenMediaVault, das ist in Ordnung. Meine NAS-Systeme habe ich mit Ansible + ZFS auf bare Debian aufgesetzt, und für mich ist das einfacher zu verwalten: https://github.com/geerlingguy/arm-nas
      Wenn ich nicht zu Raspberry Pi greifen würde, würde ich wohl Radxa oder Libre Computer wählen. Beide haben brauchbare Images für aktuelle Boards, aber ich habe fast immer Probleme mit dem HDMI-Ausgang, also sollte man darauf vorbereitet sein, die Einrichtung per SSH oder serielle Konsole zu machen
  • Wie andere in diesem Thread schon gesagt haben, ist das Preis-Leistungs-Verhältnis von generalüberholten SFF-Büro-PCs aus dem Gebrauchtmarkt wirklich enorm.
    Ich habe vor einiger Zeit ein Modell aus der HP-Ultradesk-Reihe sehr günstig gekauft; als es ankam, stellte sich heraus, dass es gar kein Gebrauchtgerät, sondern Restbestand war, also praktisch neu, und etwa 20 % des Einzelhandelspreises gekostet hat. Es ist sehr leise und auch äußerst energieeffizient.
    Die CPU ist zwar nicht absolute Spitzenklasse, aber 10. oder 11. Generation und damit für Hardware-Encoding bei einem Medienserver perfekt.
    Es bringt zwar nicht die komplette Hardware für RAID und mehrere Festplatten mit, aber für meine Bedürfnisse reichen eine NVMe-Boot-Disk und eine 16-TB-Festplatte völlig aus. Es sind nur Medien, daher stört mich ein Verlust nicht.
    Diese Kisten sind so günstig, dass man innerhalb eines einzigen „Deployments“ mehrere Geräte für unterschiedliche Aufgaben aufstellen kann. Ich hatte zeitweise getrennte Boxen für NAS, Medienserver, CCTV-IP-Kameras und Home Assistant, und alles lief problemlos.
    Zum Glück war ich nicht masochistisch genug, etwas wie Kubernetes auszuprobieren, um mehrere Geräte gemeinsam zu orchestrieren.
    Das gilt natürlich für Home-Lab-/Privatanwendungen. Für ernstere Einsatzzwecke würde ich das nicht empfehlen. Aber diese Maschinen funktionieren einfach, und da es standardmäßige x86-PCs sind, entfallen viele Hardware-Setup- und Kompatibilitätsprobleme, die man auf spezielleren Plattformen hat.

    • Statt eines einzelnen RAID 1 wären zwei Single-Drive-Geräte mit jeweils einer Datenkopie besser.
  • Es ist schon ironisch, sich Libre Computer zu nennen und dann keine Werkzeuge zu veröffentlichen, mit denen Nutzer ihre eigenen Images erstellen können.