Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Langsames Cache Drive?

Featured Replies

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?

  • Community Expert
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.

 

 

 

 

  • Author

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?

  • Community Expert
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

 

  • Author

@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?

  • Community Expert
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.

  • Author

@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?

  • Community Expert
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.

  • Community Expert
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.

  • Author

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 by MarkusR

  • Community Expert
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 

  • Author

@mgutt

Ich bin auf meinen CacheNamen gegangen und hatte dort diese Option gesehen.

Wäre das, neben meiner Ungeduld, eventuell dann ein Problem?

  • Community Expert
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?

  • Author

@mgutt ja gerne. Also im Main-Bereich - Pool Devices - <Name des Cache>

dort der dritte Wert von unten in meinem Screenshot. 

SSDCache.png

  • Community Expert

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).

 

IMG_20210516_210108.jpg.e1c90f276c5ac3c11b9e9ac7db78b129.jpg

  • Author

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?

  • Community Expert
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. 

Archived

This topic is now archived and is closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.