MarkusR Posted May 15, 2021 Share Posted May 15, 2021 Hi Zusammen, mein Unraid-Server ist folgendermaßen aufgebaut: - WD-RED-Festplatte als Parity 2TB - WD-Green-Festplatte als disk1 2TB - WD-Red-Festplatte als disk2 2TB - M.2 SSD als Cache-Festplatte 450GB 1GB/s Ethernet-Netzwerk. Wenn ich nun eine größere Übertragung von meinem Primär-Rechner und meiner USB-Sicherungs-Festplatte auf den Unraid-Server durchführen möchte (53,3GB bei 112.752 Dateien und 10.307 Ordner), befindet sich die Übertragungsrate erstmals zwischen 20-80 MB/s, teilweise auch mal kurz über 100 MB/s. Sobald er aber kleinere Dateien kopiert, bricht die Übertragungsrate auf 800 KB/s bis ca. 1-2 MB/s ein und steigert sich auch nicht mehr. Das Cache-Drive ist mit XFS formatiert und frisch getrimmt. Die Option "md_write_methord" ist auf "reconstruct write" konfiguriert. Habt ihr noch einen Ansatz, an was das liegen könnte? Quote Link to comment
mgutt Posted May 15, 2021 Share Posted May 15, 2021 20 minutes ago, MarkusR said: Die Option "md_write_methord" ist auf "reconstruct write" konfiguriert. Die gilt nur für das Array und nicht für den Cache. 21 minutes ago, MarkusR said: Sobald er aber kleinere Dateien kopiert, bricht die Übertragungsrate auf 800 KB/s bis ca. 1-2 MB/s ein und steigert sich auch nicht mehr. Willkommen bei SMB. ^^ Um dem Herr zu werden gibt es ein paar Möglichkeiten, aber erwarte keine Wunder. SMB ist bei vielen kleinen Dateien keine Rakete: https://forums.unraid.net/topic/97165-smb-performance-tuning/ Insbesondere RSS kann durch das daraus resultierende Multi-Threading helfen. Auch Direct-Disc Access. In deinem Fall also eine direkte Freigabe des Cache-Pools. Damit umgeht man schon mal den Overhead von Unraid. Auch hilfreich ist das Kopieren auf zwei Ziele. Also auf //tower und //<IP-Adresse>. Steht aber alles in dem Guide. Quote Link to comment
MarkusR Posted May 15, 2021 Author Share Posted May 15, 2021 Hi @mgutt vielen Dank für deine Anleitung. Ja in der Tat ist das alles keine Rakete. Ich habe mal folgendes, neben den von mir im Eingangspost beschriebenen Punkten, durchgeführt: - dirty_ratio auf 50 gestellt - MTU auf 9000 - Netbios disabled Dann auch mal die Daten vom USB erst auf meinen primären Rechner und von dort auf den Unraid-Server kopiert. Er bricht zwar immer noch in den KB-Bereich manchmal ein, scheint aber insgesamt flotter zu laufen und im Durschnitt nun im oberen MB-Bereich zu befinden. Direkt die Disks freizugeben, wäre vielleicht noch eine Performance-Steigerung, aber wie würde ich dann die Daten von der SSD auf die HDD in mein Share bekommen? Er hat ja so keinen Bezug zum Share, oder? Würde ja dann ein manuelles rsync per Shell bedeuten? Quote Link to comment
mgutt Posted May 15, 2021 Share Posted May 15, 2021 24 minutes ago, MarkusR said: - MTU auf 9000 Das bringt nichts bei kleinen Dateien, weil die Datenpakete im Netzwerk ja einfach nur vergrößert werden. Im Gegenteil. Kleinere Dateien belegen dann ja mehr Platz als sie selbst groß sind. Kommt aber auch darauf an wie klein die Dateien sind. 24 minutes ago, MarkusR said: Dann auch mal die Daten vom USB erst auf meinen primären Rechner und von dort auf den Unraid-Server kopiert. Das reduziert den Overhead schon mal. Noch besser wäre es die USB Platte direkt an den Server anzuschließen. 24 minutes ago, MarkusR said: Direkt die Disks freizugeben, wäre vielleicht noch eine Performance-Steigerung, aber wie würde ich dann die Daten von der SSD auf die HDD in mein Share bekommen? Das läuft wie gehabt. Wenn du einen Share "Backups" hast, dann kannst du den Pfad "/mnt/cache/Backups" direkt freigeben. Wenn Backups nun beim Cache auf "Yes" steht, wird der Mover die Dateien des Ordners wie gehabt auf die HDDs verschieben. Du könntest die Datei /boot/config/smb-extra.conf mit folgendem Inhalt erstellen: [cacheBackups] path = /mnt/cache/Backups comment = browseable = yes # Private writeable = no read list = write list = Tom valid users = Tom case sensitive = auto preserve case = yes short preserve case = yes Den User "Tom" und den Sharenamen "Backups" dann entsprechend ändern. Falls dein Cache Pool nicht "cache" heißt, dann den natürlich auch. Dann in der Kommandozeile das ausführen: samba restart Schon hast du einen neuen SMB Share mit dem Namen "cacheBackups", der das selbe Ziel hat wie der Share "Backups", nur eben mit direktem Zugriff auf die Cache Disk. Bedenke: /mnt/user/Backups = /mnt/disk1/Backups + /mnt/disk2/Backups + usw + /mnt/cache/Backups Deswegen ist der Zugriff auf /mnt/user/Backups auch etwas langsamer, weil Unraid immer erst auf allen Disks schauen muss was vorhanden ist. Du kannst natürlich auch direkt eine Disk freigeben: [disk4Backups] path = /mnt/disk4/Backups comment = browseable = yes # Private writeable = no read list = write list = Tom valid users = Tom case sensitive = auto preserve case = yes short preserve case = yes Quote Link to comment
MarkusR Posted May 15, 2021 Author Share Posted May 15, 2021 @mgutt ok, danke dir 🙂 Hab jetzt die Platte direkt am Unraid-Server und kopiere von dort die Dateien. Gerade hatte ich die Situation, dass mein rsync Prozess zum Dateien kopieren abgebrochen hatte, da meine Cache-Disk fast voll war. Hab dann erstmal den Mover angestoßen. Da ich ich die SMB-Option "use cache pool" auf yes hatte, dachte ich, er macht dann den Mover automatisch? War ich da zu ungeduldig, oder macht er das nicht, wenn man direkt auf der Shell etwas kopiert? Quote Link to comment
mgutt Posted May 15, 2021 Share Posted May 15, 2021 1 hour ago, MarkusR said: War ich da zu ungeduldig, oder macht er das nicht, wenn man direkt auf der Shell etwas kopiert? Der Mover startet nicht automatisch, sondern nur nach Zeitplan. Hattest du als Ziel /mnt/cache genommen? Dann läuft der Cache voll. In so einem Fall als Ziel /mnt/user nehmen. Ist der Cache dann voll, leitet Unraid die weiteren Schreibvorgänge automatisch aufs Array um. Auch wichtig ist es den Minimum Free Space des Caches groß genug zu wählen. Der muss größer sein als die größte Datei, die du auf den Server übertragen möchtest. Quote Link to comment
MarkusR Posted May 15, 2021 Author Share Posted May 15, 2021 @mgutt nein, Diskhares habe ich nicht eingerichtet. Ich belasse es bei den SMB-Shares. Wenn ich einmal meine Daten von der Backup-Platte wieder zurück gesichert habe, dann ist mein tägliches Volumen minimal. Ich hatte noch ca. 33GB von den 450GB frei. OK, dann hätte Unraid es umleiten müssen. Vielleicht war ich nur zu ungeduldig. Oder würde der Mover auch über /mnt/user nur nach Zeitplan starten? Quote Link to comment
mgutt Posted May 15, 2021 Share Posted May 15, 2021 3 minutes ago, MarkusR said: Diskhares habe ich nicht eingerichtet Brauchst du auch nicht. Die Pfade gibt es so oder so. Deswegen fragte ich was du als Ziel bei rsync eingestellt hattest. Wenn es /mnt/user war, dann hätte Unraid umleiten müssen, außer die Datei war größer als Minimum Free Space des Caches. Quote Link to comment
mgutt Posted May 15, 2021 Share Posted May 15, 2021 5 minutes ago, MarkusR said: Oder würde der Mover auch über /mnt/user nur nach Zeitplan starten? Auch dann. Der Mover bewegt dann übrigens von /mnt/cache zu /mnt/disk1 und nutzt dafür auch rsync. Quote Link to comment
MarkusR Posted May 15, 2021 Author Share Posted May 15, 2021 (edited) Ah jetzt weiß ich was du meinst 🙂 Ich habe mit rsync direkt nach /mnt/user/<Ordner> gesynct. Ah bei Minimum free Space hab ich noch eine 0 stehen. Dann wird es das gewesen sein? Edited May 15, 2021 by MarkusR Quote Link to comment
mgutt Posted May 15, 2021 Share Posted May 15, 2021 6 minutes ago, MarkusR said: Ah bei Minimum free Space hab ich noch eine 0 stehen. Das ist vermutlich der Wert vom Share und bezieht sich damit meine ich nur auf die Array Disks. Früher war der Wert für den Cache bei den Global Share Settings. Wo der jetzt ist weiß ich gar nicht. Muss ich mal suchen Quote Link to comment
MarkusR Posted May 15, 2021 Author Share Posted May 15, 2021 @mgutt Ich bin auf meinen CacheNamen gegangen und hatte dort diese Option gesehen. Wäre das, neben meiner Ungeduld, eventuell dann ein Problem? Quote Link to comment
mgutt Posted May 16, 2021 Share Posted May 16, 2021 10 hours ago, MarkusR said: Wäre das, neben meiner Ungeduld, eventuell dann ein Problem? Nein. Den Free Space Wert setzen hat keinen Nachteil. Kannst du mal einen Screenshot posten wo du das gesehen hast? Quote Link to comment
MarkusR Posted May 16, 2021 Author Share Posted May 16, 2021 @mgutt ja gerne. Also im Main-Bereich - Pool Devices - <Name des Cache> dort der dritte Wert von unten in meinem Screenshot. Quote Link to comment
mgutt Posted May 16, 2021 Share Posted May 16, 2021 Ok. Jetzt kann man bei jedem Pool eine eigenen Wert einstellen. Aber komisch, dass der auf 0 steht. Früher war meine ich 20GB der Standardwert. Bei mir habe ich sogar 100GB eingestellt, weil ich manchmal so große Dateien auf das NAS kopiere (nutze noch Unraid 6.8.3). Quote Link to comment
MarkusR Posted May 19, 2021 Author Share Posted May 19, 2021 Ah ok. Meinst du dass könnte das Problem bei mir gewesen sein? Kann man eigentlich ein SSD Cache auch für VMs zur Beschleunigung nutzen? Also ähnlich wie bei den Shares mit "Use SSD...", oder würde das nur gehen, wenn man die VM-Disks direkt auf die SSDs kopiert? Quote Link to comment
mgutt Posted May 19, 2021 Share Posted May 19, 2021 15 minutes ago, MarkusR said: oder würde das nur gehen, wenn man die VM-Disks direkt auf die SSDs kopiert? Üblicherweise legt man sie grundsätzlich auf die SSD. Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.