Baustelle: 50TB HTPC/Home-Server

  • Dachte ich erzähle mal ein wenig von meiner Baustelle die ich schon auf einigen Threads erwähnt habe. In der Summe ziemlich verrückt und ich weiß noch nicht, wie gut es am Ende laufen wird, aber sicherlich einige Ideen dabei, die man einzeln wiederverwenden kann.

    Komponenten

    Gehäuse: SilverstoneTech ML03B HTPC Gehäuse, 19" Format, ca. 2RU hoch.

    HTPC:
    Netzteil: Silverstone Tech 300W SFX Form Factor
    Motherboard: MSI B450i miniITX Ryzen
    CPU: Ryzen 5 2400G (mit eingebauter GPU)
    Memory: Corsair Vengeance LPX 16GB
    Disk: Patriot Scorch 256GB NVMe M.2 PCIe SSD
    Optisches Laufwerk: ASUS BW-16D1HT ("UHD Friendly")
    Gehäuselüfter: Arctic F8 silent.
    OS: Windows 10 Pro

    NAS:
    NAS Vorrechner: Raspberry PI4 model b, 2 GByte, Samsung 32GB 95MB/s (U3) MicroSDXC EVO

    Disks: 12 * Seagate 2.5" USB HDD
    Controller: 3 * AmazonBasics USB Hub 3.0 mit 4 Ports, Anker 4-Port USB 3.0 hub
    Control: USB Relay
    Netzteil: Buck Converter Module DC 6-40V to 1.2-36V 20A 300W
    OS:

    Inspiration/Kodi-HTPC

    Initial sollte das Gerät nur ein HTPC sein. Das Gehäuse passt in ein Hi-Fi rack und hat Platz für ein Vollformat DVD-Laufwerk, und als ich das gekauft hatte kannte ich kein UHD-Friendly slimline bluray Laufwerk. Die Ryzen CPU / GPU hat sich auch als ideal für Kodi HTPC (IMHO) herausgestellt, weil ich damit problemlos 3D hinbekommen habe ohne die Umschaltprobleme bei NVidia oder den DP/HDMI adapterproblemen bei (zumindestens älteren) Intel NUC. Das Motherboard hat ja auch einen PCIx16 slot, wenn man also auch noch Gaming will kann man immer noch bis zu NVidia 1650 nachrüsten (low profile).

    Wenn man keine verrückten NAS Basteleien machen würden in das Gehäuse auch noch 2 x 3.5" SATA Festplatten und >= 2 x 2.5 SATA HDD passen.

    NAS

    Die Idee in das Gerät auch noch Festplatten/NAS einzubauen kam, nachdem die 5TB Seagate USB Festplatten einmal für 90 Euro verkauft wurden, und ich sowieso ein Komplettback meines Betriebs NAS und anderer Platten machen wollte. Und nachdem klar war, das diese USB Platten auch "gerade so" in das Gehäuse passen.

    Für Backup-Platten sollten die Platten eigentlich nur dann unter Strom stehen, wenn sie gebraucht werden (schreiben, restaurieren). 2.5" USB Festplatten beziehen ihren Strom vom USB Bus. Gute (wenige) USB Hubs unterstützen auch die Möglichkeit, die Spannungsversorgung pro Port zu kontrollieren. Das Programm dafür ist uhubctl. Unter Windows kann es nicht funktionieren, weil Windows nicht den zugriff auf die notwendigen USB Parameter bietet.

    https://github.com/mvp/uhubctl

    Die Amazon basics hubs sind fast die einzigen Hubs, bei denen die Hardware tatsächlich die Spannnungsversorgung pro Port kontrolliert werden kann.

    RPI als NAS Vorrechner

    Original war die Idee, die NAS Software in eine Linux-VM zu tun und unter Hyper-V im WIndows 10 laufen zu lassen, weil der HTPC unter Windows 10 laufen soll (3D Support, Desktop support auf Projektor, gaming, etc. pp.). Dazu hätte man aber PCI-Passthrough verwenden müssen um einen PCI-USB Controller durchzureichen. Die Ryzen Motherboards sind dafür gut, weil die 3 PCI Controller haben, aber alle USB 3 Controller sind in einer IOMMU Gruppe. Zudem ist bei Windows 10 PCI Passthrough in Hyper-V disabled. Damit hätte ich Windows Server installieren müssen und dazu noch Die Probleme mit IOMMU gruppen gehabt. Deswegen ist da jetzt im Gehäuse ein RPI4 als NAS Vorrechner, an den der USB Bus mit den USB Hubs und USB Festplatten angeschlossen ist.

    Auf die EVO MicroSDXC Karte schafft der RPI knapp 100MByet lesen, 30MByte schreiben, was für das Betriebssystem voll ausreichend sein sollte.

    RPI4 in PC einbauen

    Der RPI4 ist einfach mit selbstklebenden Klettband am Gehäuse befestigt. Das Ethernet ist mit einem kurzen Stub auf ein Slotblech geführt, so daß es einfach von aussen ans Netz angeschlossen werden kann.

    Das größte Problem ist es, eine stabile Stromversorgung für den RPI4 zu bekommen, weil er 2.5A braucht. Man muß sich ein Molex->USB31 Kabel löten, und die meisten USB Kabel haben zu dünne Adern um die Stromversorgung sicherzustellen. Das sicherste ist es, ein Kabel von einem >= 2.5 A Netzteil zu abzuschneiden und zu verwenden, weil es auch schwierig ist, direkt an einen USB C Stecker ein Kabel anzulöten. Wenn das Kabel nicht ausreicht gibt es im Log auf dem RPI4 Medlungen wie "Under voltage...".

    Stromversorgung USB Festplatten

    Das größte Problem ist die Stromversorgung von vielen USB Festplatten, wahrscheinlich vor allem, weil die Hubs kaskadiert sein müssen um die Anzahl der Ports zu erreichen. Der Anchor Port ist der root Hub, die 3 Amazon Basics Hubs sind an diesen angeschlossen, und an jedem können bis zu 4 Festplatten angeschlossen werden. Jeder Hub hat einen eigenen Stromversorgungsanschluss, und deren Originalkabel wurden zuerst alle zusammen über einen 4-pin Molex Stecker an das Netzteil angeschlossen. Ohne Kabel mit zu zu geringem Querschnitt (AWG18 oder besser).

    Bereits bei Versuchen, mit Debian auf dem Ryzen Hauptrechner gab es beim gleichzeitigen Zugriff auf 3 oder mehr Platten immer wieder I/O Errors und andere Probleme. Ebenso bei RPI4. Das Problem war letztendlich die Stromversorgung, daß die Spannnung die bei den Platten ankam wohl geringer als 4.75V war, wenn mehrere Platten aktiv waren. Ob das 5V AWG 20 Kabel vom Netzteil das Problem war und/oder Spannungsverlust in den Hubs selbst oder deren Stromversorgungskabel habe ich nicht versucht zu analysieren.

    Am ende habe ich einen kleinen (12 Euro) Buck-Konverter verwendet, der über 12V am PC Netzteil angeschlossen ist und am Ausgang auf 5.2V getrimmt ist. der wird im Betrieb auch mit allen Festplatten aktiv lesend nicht sehr warm. Die Spanning an einem Hub-Ausgang liegt bei 5.2V wenn alle Platten via USB vom Strom abgetrennt sind, sie ist 5.04V wenn alle Platten laufen aber der Kopf steht, und sie geht auf ca. 4.8 V wenn alle Platten gleichzeitig aktiv lesen. Dies stellt ungefähr den Zustand dar, den man bei Neuschreiben von Redundanz braucht. Dies lief 24 Stunden problemlos im Test. 5.25V ist wohl die obere Grenze, die bei USB Geräten unterstützt werden muß. RPI Netzteile geben ebenso 5.2V aus.

    Nachdem ich auch schon frueher mit USB Hubs an anderen Rechnern Probleme mit zuverlässigkeit hatte denke ich jetzt das das wahrscheinlich auch mit Stromversorgung zu tun hatte.

    Relais
    Die Stromversorgung der Platten/USB-Hubs ist über ein USB-Relais geschaltet, das an einen USB2 Port des RPI4 angeschlossen ist. Anders als das Ryzen Motherboard unterbricht der RPI4 beim reboot die Stromversorgung zum USB wodurch das Relais sicher ausschaltet, und der RPI4 beim Booten einen definierten Zustand aller Platten hat (alles ausgeschaltet).

    Belüftung

    Initial war angedacht 12 USB Festplatten nebeneinander einzubauen, da gibt es dann aber keine Zirkulation, und die Festplatten wurden heisser als 60 Grad im gleichzeitigen Betrieb, was die maximal erlaubte Temperatur ist. Dann fängt SMART an Fehler zu melden. Wie auf obigen Bild zu sehen ist, sind jetzt 10 Festplatten nebeneinander eingebaut, mit Korkenstücken auf Abstand gebaut und mit 4 Lüftern belüftet. Um die Platten/Lüfter ist ein aus fester Plastikfolie gebasteltes Gehäuse um die Luftzirkulation zu steuern. Dies hält die Festplatten im simultanene Schreibbetrieb bei ca. 40 Grad. Es müßen noch passend Löcher in den Deckel gebohrt werden um das Gehäuse zu schließen.

    Wenn in einfachen Betrieb nur eine Platte mit Strom versorgt werden soll um Daten zu lesen/schreiben ist eigentlich keine aktive Kühlung notwendig.

    Durchsatz
    Der Durchsatz beim gleichseitigen Lesen von allen Platten liegt bei 280 MByte/sec. Derselbe Wert wird auch auf dem Ryzen PC Motherboard erreicht, der RPI4 ist hier also keine Bremse. Wenn man versucht beide USB3 Anschlüsse auf dem RPI4 gleichzeitig zu verwenden, erhöht sichd er Gesamtdurchsatz nicht. Dies ist ebenso auf dem Ryzen Motherboard.

    Software
    Bisher laufen Scripten die uhubctl verwenden um Platten an/auszuschalten und einfacher zu verwendende device-Namen erzeugen. Alles andere ist in Planung. Veracrypt zur Verschlüsselung, SnapRAID um intern Redundanz zu halten. OMV hoffentlich um die Administration insgesamt zu vereinfachen. OMV, Veracrypt sind schon installiert.

    Einmal editiert, zuletzt von te36 (18. Dezember 2019 um 20:31) aus folgendem Grund: Luefter spezifiziert.

  • CPU und Wandluefter sind IMHO lautlos - 21 dB ?
    Die 4 Luefter auf den Platten haben im Moment ein Poti. Ich rate mal, dass ich 25 dB brauche, wenn Redundanz geschrieben wird. Im normalen Lesebetrieb wo nur eine noch fehlende cache-karte zum schreiben und eine Platte zum lesen angeschaltet werden soll brauchen die nicht zu laufen. Das ist aber erst mal softwarebastelei und dann HW-bastelei (Luefter ueber USB oder GPIO and/ausschalten je nachdem was angeschaltet ist).

    Ziel ist natuerlich lautlos im Wohnzimmer im normalen Betrieb, und ein wenig laerm beim schreiben von redundanz, was man ja hoffentlich per scheduling macht wenns nicht stoert.

  • Naja, wenn man so wie ich nicht wirklich einen weiteren Raum hat wo man den Laerm hin auslagern kann muss man halt anderweitig erfinderisch werden. Ist ja eigentlich bei normalen PCs schon viel besser geworden mit "leise" ueber die Jahre.

  • Naja, wenn man so wie ich nicht wirklich einen weiteren Raum hat wo man den Laerm hin auslagern kann muss man halt anderweitig erfinderisch werden....

    Wasserkühlung...bestenfalls direkt ein Aquarium daneben stellen ;)
    ..könnte andererseits dann aber im Sommer recht warm für die Fische werden ;(
    Ach was soll's, gibt's halt öfter gekochten Fisch ...nicht gedünstet, gekocht, nicht gedünstet, gekoooocht...(Paul Panzer invert)

    Gruß Gz

    2x Android TV-Box Amlogic t95zPlus +Kodi mit Estuary, 3x Qnap 1x Synology NAS, LG 55" 3D-TV + 40", Surround

  • Ein schönes Bastelprojekt.

    Das Problem mit den Bluraylaufwerken kenne ich. Ich wollte an meinem HTPC auch ein Bluray-Laufwerk fest verbauen. Ich habe da ewig nach nem Gehäuse gesucht, was nem MITX Board gerecht wird, Wohnzimmertauglich ist und einen Laufwerksschacht hat. War alles nur mit Slotin und dafür gabs keine ordentlichen Laufwerke.

    Letztlich hab ich dann gedacht, was soll das Understatement und mir das große LianLi HTPC Gehäuse hingesetzt. Das ist innen zwar mehr oder weniger leer, aber ich kann stinknormale Laufwerke nutzen und es ist definitv sehr wohnzimmertauglich.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!