Samba / USB3-Festplatten: Geschwindigkeit bricht ein

  • Hallo zusammen,


    ich hatte die Idee, mit einem Raspberry Pi 4 ein kleines NAS aufzubauen. Dazu nutze ich die aktuelle Version des Rasberry Pi OS.

    Zur Verfügung stehen mir 2 Raspberry Pi 4 mit 8 GB Ram und ein Raspberry Pi 4 mit 4 GB RAM. Dazu habe ich über einen USB-HAT mit eigener Stromversorgung 2 USB3 Festplatten angeschlossen.


    Um Dateien von meinem Windows PN / Notebook auf das NAS kopieren zu können, nutze ich Samba.

    Die Kommunikation läuft über die integrierte Ethernet Schnittstelle mit einer festen IP.


    Beim Kopieren von Dateien von meinem Windows PC / Notebook auf das NAS bricht nun nach kurzer Zeit die Geschwindigkeit von 50-60 MB/s auf typischerweise bis zu 0,5 MB (oder auch 0 MB) ein. Gefühlt ein paar Sekunden passiert nichts, danach geht die Geschwindigkeit wieder bis auf 30 oder mehr MB/s hoch. Aber nur ein paar Sekunden, dann bricht die Geschwindigkeit wieder ein.



    Ich habe jetzt den halben Nachmittag damit verbracht, einen Grund für dieses Verhalten zu finden, bin aber nicht wirklich weiter gekommen.

    Hat jemand hier evtl. ein ähnliches Phänomen beobachten können und weiß eine evtl. Lösung dafür?


    Als Dateisystem nutze ich aktuell übrigens EXT4 (unverschlüsselt).

    Ursprünglich wollte ich die externen Festplatten mit Veracrypt verschlüsseln, habe die Verschlüsselung aber wieder deaktiviert, da ich dort das Problem vermutet habe. War es aber nicht....


    Ich bin übrigens für jeden ernst gemeinten Rat dankbar .... :/

  • Go to Best Answer
  • Das könnte Ausfluss der Linux Unterspannungsstrategie sein. Ab einer auf 4,85 Volt abfallenden Systemspannung versucht Linux einen weiteren Spannungsabfall zu verhindern und dreht nicht nur die Taktgeschwindigkeiten runter, sonder versucht auch weitere Stromverbraucher abzuschalte, was bis zu Deaktivierung der 5 V USB Stromversorgung reichen kann. Das kann man im Logfile z.B. /var/log/syslog* als undervoltage detectet und undervoltege ended (oder so ähnlich) sehen.

    Sonst wird Linux auch extrem langsam, wenn der Hauptspeicher mit Witwen- und Waisenprozessen befüllt wird und aktive Programme teilweise in den Swapbereich verschoben werden. Das kann man mit z.B. < top > schnell überprüfen, dord werden diese Prozesse "Zombies" genannt.


    Servus !

    RTFM = Read The Factory Manual, oder so

  • Falls du ein Problem mit der Stromversorgung hast und die Verbindung zu den Festplatten beim mounten oder auch sonst instabil ist, der Eintrag "program_usb_timeout=1" in der /boot/config.txt sorgt dafür, dass das System etwa 5 Sekunden wartet, bis die USB-Geräte sich vollständig initiiert haben.


    Ich habe mittlerweile zwei USB-Speicher dran (WD Elements und SD-Stick), den Samba Dienst laufen und auf den mit ext4 formatierten Shares einige in HFS+ Journaled formatierte SparseBundle-Images des Mac gespeichert. Das Übertragen bei einem Backup mit Carbon Copy Cloner vom Mac aus auf die Pi erfolgt mit 20-57 MB/sek, im Mittel etwa 30-40 MB/Sek. Hierbei wird das Image permanent auf dem Share vergrößert (kostet auf beiden Rechnern Mac und Pi CPU Last) und die Load Average beträgt etwa 1,35 für die 4 Kerne. Das Ganze läuft bei mir über Stunden stabil. Egal was ich für Festplatten anschließe, normale USB-Festplatten ohne eigene Stromversorgung oder in ICY Box verbaute 2.5" oder 3.5" Festplatten mit Stromversorgung ... alles läuft stabil. Ohne dem Eintrag oben hatte ich nur Probleme und konnte nur max. eine Festplatte anschließen.

    Überprüfe deine Konfiguration. Mit dem Eintrag oben habe ich alle meine "undervoltage" Probleme gelöst, das System nimmt max. 900mA pro USB 3.0 Port.

    Edited once, last by picollo ().

  • Sollte das auch noch nicht reichen, dann versuch es mal zusätzlich mit "max_usb_current=1" in der /boot/config.txt. Das ist eigentlich ein Eintrag für ältere Pi (ich weiß nicht, ob der für die Pi 4B überhaupt noch gilt ... ich habe den bei mir drin gelassen) und erhöht die Begrenzung des verfügbaren Stroms für die USB-Ports von 600mA auf 900mA.

  • Wie, bzw. mit welchem Befehl und Optionen sind die HDDs am RPi gemountet? Auf den ersten Blick ist m.M.n. da sync im Spiel.

    Ich hatte die Festplatten einfach nur mit dem nachfolgenden Befehl gemountet, ohne Angabe von irgendwelchen Parametern:


    Code
    # mount /dev/sda1 /mnt/backup


    Mittlerweile habe ich Open Media Vault installiert und konnte damit zumindest folgende neue Erkenntnisse erreichen:

    • Mit den "alten" Western Digital Elements oder My Passport Festplatten (alle USB3, 2,5 Zoll) mit 1 bis 3 TB Speicherkapazität erreiche ich eine durchschnittliche Übertragungsgeschwindigkeit von ~80-90 MB/s.
    • Mit den vor einer Woche neu gekauften Western Digital My Passport 5 TB Festplatten (USB3, 2,5 Zoll) erhalte ich anfangs (in den ersten zwei bis drei Sekunden die volle Übertragungsgeschwindigkeit von ~90-100 MB/s, nach ein paar Sekunden bricht die Übertragungsgeschwindigkeit dann bis auf 5-6 MB/s ein.

    Das mit dem sync hatte ich gestern abend auch irgendwo gelesen und wäre mein nächster Ansatz.

    Übrigens sind die neuen Western Digital My Passport Festplatten mit 5 TB an einem WIndows PC auch deutlich langsamer wie die alten Festpatten: hier erreiche ich Übertragungsgeschwindigkeiten (bei direktem Anschluss über USB3) von anfangs 110-115 MB/S und zum Ende (der Festplatte) hin nur noch 70-80 MB/s.


    Warum weiß ich das?

    Alle neuen Festplatten wurden anfangs vollständig verschlüsselt und getestet.

    Unter Linux konnte ich die Festplatten übrigens mit einer durchschnittlichen Schreibgeschwindigkeit von ~50-60 MB/s verschlüsseln - auch die neuen ....


    Ein Problem mit der USB-Spannungsversorgung wollte ich eugentlich ausschließen: ich nutze aktuell ein offizielles RPI4 Netzteil für den PI und ein weiteres offizielles RPI4 Netzteil für den USB HAT.

  • Da gibt es manchmal auch ein USB-3 --> SATA/ATA Controller Problem, das mit einem "Quirks" umgangen werden kann.


    Servus !

    RTFM = Read The Factory Manual, oder so

  • Ich hatte die Festplatten einfach nur mit dem nachfolgenden Befehl gemountet, ohne Angabe von irgendwelchen Parametern:


    Code
    # mount /dev/sda1 /mnt/backup


    Mittlerweile habe ich Open Media Vault installiert und konnte damit zumindest folgende neue Erkenntnisse erreichen:

    • Mit den "alten" Western Digital Elements oder My Passport Festplatten (alle USB3, 2,5 Zoll) mit 1 bis 3 TB Speicherkapazität erreiche ich eine durchschnittliche Übertragungsgeschwindigkeit von ~80-90 MB/s.

    ...

    Ja, diese Übertragungsgeschwindigkeit sollte eigentlich erreicht werden.
    Mein fstab Eintrag ist wie folgt mit UUID Eintrag, da ich am gleichen USB-Port häufig die Festplatten wechsle. Für jede Festplatte habe ich einen definierten fstab Eintrag mit UUID und nofail. Der user_xattr,acl-Eintrag ist nur wegen des Zugriffs vom Mac aus notwendig und hier nicht relevant:

    # WD-2TB

    UUID=aea4a9de-..... /srv/wd2tb auto defaults,nofail,user_xattr,acl 0 2

  • Dazu habe ich über einen USB-HAT mit eigener Stromversorgung 2 USB3 Festplatten angeschlossen.

    Wie ist diese USB-Hat an den PI angeschlossen?

    Mit einem USB-Kabel? Wenn ja, an welchen USB-Port?

    Du weißt, dass die USB-Geschwindigkeit dann auf die angeschlossenen Platten aufteilt?

    Selber denken,
    wie kann man nur?

  • Wie ist diese USB-Hat an den PI angeschlossen?

    Mit einem USB-Kabel? Wenn ja, an welchen USB-Port?

    Du weißt, dass die USB-Geschwindigkeit dann auf die angeschlossenen Platten aufteilt?

    Korrekt. Der USB Hat ist über ein USB-Kabel angeschlossen. An den USB Hat sind zwei Festplatten angeschlossen. Beider "alten" Festplatte ist problemlos eine Übertragungsrate von bis zu 90 MB/s möglich, die "neue" Festplatte kommt nur auf 5-15 MB/s.

  • Möglicherweise hast Du, statt einem WWW-2.0 trial & error Q+A, mit einer Fahlersuche in den Logfiles mehr Erfolg ?


    Servus !

    RTFM = Read The Factory Manual, oder so

    • Best Answer

    So, ich habe mich dazu entschlossen, die neuen Western Digital My Passport 5 TB Festplatten zurück zu senden, da diese mittlerweile weder unter Linux noch unter Windows funktionieren. Das scheint also ein größeres Problem zu sein. Vielleicht ein Fehler in der Charge.


    Eine geliehene Western Digital Elements 5 TB funktioniert mit 80-90 MB/s problemlos.

    Danke euch schon einmal für eure Unterstützung.


    Ich werde das Projekt Raspberry Pi 4 NAS wieder aufgreifen, sobald die neuen Western Digital Elements 5 TB Festplatten angekommen sind.

  • Hast du die Logs schon durchstöbert? Oder z.B. journalctl -f aufrufen und dann die Datenübertragung starten. Vielleicht wird da etwas hilfreiches angezeigt, wenn die Datenrate einbricht. Edit: Sorry, die letzten beiden Beitrage waren hier noch nicht sichtbar.