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.

ZFS-Pool-Planung mit NVMe- und SSD-Cache für VMs, Docker (und 10Gbit-Netzwerk)

Featured Replies

Hallo zusammen,

 

ich bin gerade dabei, meinen Unraid-Server neu aufzusetzen und stehe vor der Herausforderung, meine verschiedenen Festplatten optimal zu konfigurieren. Ich plane, ZFS als Dateisystem zu nutzen und hätte gerne eure Expertise bei der Festplattenzuordnung und Cache-Einrichtung. Zudem habe ich eine 10Gbit Netzwerkkarte im Einsatz, welche natürlich in der konfiguration berücksichtigt werden muss.

 

Hier ist meine Hardware-Ausstattung:

 

- 2x 8TB HDD (für reine Datenspeicherung – diese Zuordnung steht bereits fest) > soll permanent im spin down sein!

- 2x 1TB SSD

- 2x 1TB NVMe SSD

- 1x 512GB NVMe SSD

- 1x 2TB NVMe SSD (für ISO-Shares – diese Zuordnung steht ebenfalls fest) > soll für iventoy genutzt werden und ein kleines iso archiv werden!

 

- 1x 32GB DDR5 (vorerst) > da kommt bald ein upgrade auf 2x 32gb DDR5 ECC

- 10Gbit Netzwerkkarte

 

Meine Anforderungen:

 

App-Storage: Ich benötige einen performanten Speicher für 1-2 VMs und 20-30 Docker-Container.

HDD-Caching: Die 8TB HDDs sollen gecacht werden, um die Lese- und Schreibgeschwindigkeit zu verbessern.

Ordner-Caching: Ordner auf den HDDs sollen ebenfalls gecacht werden können.

ZFS: Das System soll mit ZFS als Dateisystem laufen.

10Gbit Netzwerk optimal nutzen: Das 10Gbit Netzwerk soll in der Konfiguration berücksichtigung finden.

 

Meine Fragen:

Wie sollte ich die SSDs und NVMe-SSDs am besten aufteilen, um den App-Storage und die Cache-Funktionen zu optimieren?

Wie funktioniert das Caching von HDDs und einzelnen Ordnern in Unraid mit ZFS? Welche Konfigurationen sind empfehlenswert?

Gibt es Empfehlungen im bezug auf ZFS Pools?

Wie konfiguriere ich mein system am besten um das 10Gbit Netzwerk optimal zu nutzen?

 

Ich bin für jeden Ratschlag und jede Empfehlung dankbar!

 

Vielen Dank im Voraus!

 

xST4R

  • Community Expert
1 hour ago, xST4R said:

meine verschiedenen Festplatten optimal zu konfigurieren. Ich plane, ZFS als Dateisystem zu nutzen

 

Festplatten ("rotierendes Eisen") mit zfs im Array ist keine wirklich zu begrüßende Idee.

 

1 hour ago, xST4R said:

Hier ist meine Hardware-Ausstattung:

- 2x 8TB HDD (für reine Datenspeicherung – diese Zuordnung steht bereits fest) > soll permanent im spin down sein!

 

Wenn damit das Array gemeint ist: xfs.

1. zfs ist kontraproduktiv, wenn es spindon sein soll.

2. Ich gehe davon aus, daß die Festplatten ins Array sollen.

3. Permanent spindown bedeutet, die laufen nie, somit brauchst Du die nicht. Ausbauen und ins Regal legen spart am meisten Strom

 

1 hour ago, xST4R said:

- 2x 1TB SSD

vermutlich meinst Du damit SATA SSD. Leider ist unbekannt wie flott die sind, denn bei 10GbLan wird schon eien Schreibgeschwindigkeit von rund 1GByte/s erreicht und das ist mehr als SATA bieten kann.

 

1 hour ago, xST4R said:

- 2x 1TB NVMe SSD

- 1x 512GB NVMe SSD

- 1x 2TB NVMe SSD (für ISO-Shares – diese Zuordnung steht ebenfalls fest) > soll für iventoy genutzt werden und ein kleines iso archiv werden!

gerade eher selten genutze Isos fühlen sich auch auf Festplatten oder gar im Array wohl. Aber das ist meine persönliche Meinung. Grundsätzlich ist es aber nicht schlecht die 4 Systemshares (auch isos) auf einen Pool zu legen.

 

1 hour ago, xST4R said:

Meine Anforderungen:

App-Storage: Ich benötige einen performanten Speicher für 1-2 VMs und 20-30 Docker-Container.

 

Dafür sind NVMe SSD gut geeignet.

 

1 hour ago, xST4R said:

HDD-Caching: Die 8TB HDDs sollen gecacht werden, um die Lese- und Schreibgeschwindigkeit zu verbessern.

 

Einen Lese-cache im Pool bietet unraid nicht.

Als Schreibcache, bei dem es nicht auf Geschwindigkeit ankommt sind die SATA SSDs geeignet.

Wenn Du unbedingt Deine 10GbLan in den Cache schreibenw illst bieten sich eher nur die NVMe SSD an, wenn sie mindestens 1GByte/s schreiben können (leider hatte ich vor kurzem das Pech eine Samsung NVMe OEM SSD zu bekommen, die sequentiell schreibend zwischen 80 und 21 MByte/ rumdümpelte. Die ist sofort wieder retour gegangen).

 

1 hour ago, xST4R said:

Ordner-Caching: Ordner auf den HDDs sollen ebenfalls gecacht werden können.

 

Was meinst du damit und was soll daran anders sein, als bei dem HDD Cache oben?

Unraid bietet keinen solchen extra Lesecache.

Das musst Du Dir mit Scripten/Apps evtl. selber basteln oder die Ordner exklusiv auf dem SD Pool lagern (und ggf. per Script ab und zu Backups ins Array legen).

Ich nutze die Dynamix App Cache Dirs.

 

1 hour ago, xST4R said:

ZFS: Das System soll mit ZFS als Dateisystem laufen.

 

Bei Single Disks/SSD (auch Array): xfs

Bei einem Verbund (raid) im Pool: zfs.

zfs im Array oder bei Single Disks ist nicht wirklich die beste Idee und bringt weder aus Sicht des Stromsparens, noch aus Sicht der Datensicherheit einen wirklichen Pluspunkt.

 

1 hour ago, xST4R said:

10Gbit Netzwerk optimal nutzen: Das 10Gbit Netzwerk soll in der Konfiguration berücksichtigung finden.

 

Wie oft möchtest Du das noch wiederholen und was machst Du überhaupt mit der 10GbLan?

 

1 hour ago, xST4R said:

Wie sollte ich die SSDs und NVMe-SSDs am besten aufteilen, um den App-Storage und die Cache-Funktionen zu optimieren?

 

Erstelle Dir einen Pool mit xfs mit einer maximal großen & flotten NVMe SSD für das, was Du ins Array schreibend cachen willst (vermutlich eingehend über Deine 10GbLan).

Erstelle Dir einen zweiten Pool mit xfs mit einer akzeptabel flotten NVMe SSD für das, was Du in den Docker/VM machen willst.

Die restlichen unbenutzen Datenträger kannst Du rausnehemen. Das spart Strom.

 

1 hour ago, xST4R said:

Wie funktioniert das Caching von HDDs und einzelnen Ordnern in Unraid mit ZFS?

 

Lesend: gar nicht.

Schreibend: unraid schreibt in den Pool mit der SSD und wenn der Mover zeitgesteuert anläuft verschiebt wer das ins Array (das dann dafür nicht mehr im Spindown bleiben kann).

 

1 hour ago, xST4R said:

Welche Konfigurationen sind empfehlenswert?

 

kein zfs bei Einzeldisks, kein zfs im Array

1 Array mit Festplatten (drehendes Eisen)

1 Pool mit NVMe SSD Schreibcache

1 Pool mit NVMe SSD Cache für Docker/app

 

 

1 hour ago, xST4R said:

Gibt es Empfehlungen im bezug auf ZFS Pools?

 

Ja, bei Einzeldisks nutze kein zfs

Ja, bei Verbund (Raid im pool) nutze kein btrfs, dann bleibt nur zfs.

 

1 hour ago, xST4R said:

Wie konfiguriere ich mein system am besten um das 10Gbit Netzwerk optimal zu nutzen?

 

Die Stellen, die mit dem 10GbLan beschrieben werden bevorzugt mit flotten SSD versehen.

 

 

 

1 hour ago, xST4R said:

Ich bin für jeden Ratschlag und jede Empfehlung dankbar!

 

Da sich die Fragen irgendwie so anhören, als hättest Du es noch nicht getan: Lies die Dokumentation zu unraid.

 

  • Author

Hey, danke für deine Antwort. 

 

Ich habe mich entschieden, ausschließlich ZFS-Pools zu verwenden, um maximale Performance und Flexibilität zu erreichen & Spindown mit ZFS funktioniert in meinem Setup. (habe ich bereits erfolgreich getestet).

 

Ich kenne die Dynamix-App "Cache Dirs", habe sie aber bisher noch nicht zum Laufen gebracht.

 

Bezüglich deiner Anmerkung zu den ISOs: Die Größe meiner ISO-Dateien passt am besten auf die 2TB NVMe M.2 SSD. Außerdem ist diese Platte die einzige, die nicht in einem RAID-Verbund laufen würde. Daher erscheint sie mir als optimaler Speicherort für meine ISOs. (ich bastel viel mit Ntlite)

 

Zusätzlich möchte ich erwähnen, dass mein Netzwerk aus 2,5Gbit und 10Gbit besteht. Ich habe meinen Server bereits vorsorglich auf 10Gbit umgerüstet, um für zukünftige Anforderungen gerüstet zu sein.

 

Ich bin offen für Ratschläge zur optimalen Konfiguration meiner ZFS-Pools, insbesondere im Hinblick auf den Cache und die Einrichtung der "Cache Dirs" App. Gibt es bewährte Vorgehensweisen oder Empfehlungen, die ihr teilen könnt?

 

Danke!

 

 

add: Die 2x 1TB SSDs sind Crucial BX500 SATA-Platten, (560 MB/s)

 

PXL_20250228_130829557.jpg

Edited by xST4R

2 minutes ago, xST4R said:

Ich kenne die Dynamix-App "Cache Dirs", habe sie aber bisher noch nicht zum Laufen gebracht.

 

die ist auch nur zum "browsen" gedacht, also kein echter cache ... geht nur darum wenn du durch die Shares im Explorer "browst" das dabei nicht die Platten anfahren sollen ...

 

Beispiel zum caching, plugin "cache mover", aber ist per Design auf Medien ausgelegt (Filme, Serien), auch mit direkter Anbindung an die 3 gängigen Media Server

 

Plex, Emby, Jelly

 

grob, wenn etwas abgespielt wird

 

1/ copy to cache pool disk (gesamten Ordner oder nur 1 File, Ordner empfohlen)

2/ switch "live" auf pool file (dass die HDD schnell wieder in den spindown kann)

3/ nach Zeitraum N Inaktivität (last access), lösche die Datei wieder vom cache pool oder verschiebe in recycle bin

 

würde auch mit anderen Files gehen, ist aber per Design auf Medien ausgelegt ;)

 

8 minutes ago, xST4R said:

Ich bin offen für Ratschläge zur optimalen Konfiguration meiner ZFS-Pools, insbesondere im Hinblick auf den Cache

 

zfs bin ich raus, für mich einfach nur overhyped und ohne Mehrnutzen für mich, aber am Ende ... überleg dir ob du Redundanz willst oder nur Performance oder ... und setze die pools  entsprechend auf, das kann dir so ja keiner beantworten da es kein "richtig oder falsch" gibt ... sondern an dir liegt was ...

 

8 minutes ago, xST4R said:

im Hinblick auf den Cache und die Einrichtung der "Cache Dirs" App.

Cache Dirs versucht nur die Verzeichnisstruktur im RAM zu halten, nicht mehr, nicht weniger ... wie oben erwähnt.

  • Author

Wie würde sich mein System verhalten, wenn ich ein traditionelles Array mit Cache-Laufwerken verwenden würde, im Vergleich zu einem reinen Pool-Setup mit Cache? (Gibt es da Leistungsunterschiede und Co.? Mich nervt hart, dass man erst stundenlang warten muss, bis die HDDs gepairt haben.)

Verbindet man sich beim Schreiben über Samba auf den Cache oder direkt auf das Array?

Werden die Daten dann automatisch vom Cache auf die HDDs verschoben (via Mover), wenn der Cache voll ist?

 

 

 

Edited by xST4R

13 minutes ago, xST4R said:

im Vergleich zu einem reinen Pool-Setup mit Cache? (Gibt es da Leistungsunterschiede und Co.?

wenn dein "Target" das Array ist mit 2 Platten (ist ja wie Raid1 dann), ist das Limit die Lese / Schreibrate der jeweiligen Platte ...

 

in einem Raid_x (Bsp. Raid0) Betrieb ist das natürlich schneller (~ 2x)

 

wenn das Array mehr Platten bekommt und Parity Standard läuft ist es langsamer, kann man aber auch umstellen auf reconstruct (Turbo), dann ist man wieder beim Limit der jeweiligen Platte, Nachteil, es laufen auch alle Platten im Array (Schreibbetrieb).

 

Bleib bei deinen Pools oder was auch immer, du hast dir ja wohl Gedanken gemacht ;)

 

und ja, Parity Erstellung dauert eingangs mit vorhanden Datendisk/s ... gehört dazu, aber frisch aufgesetzt ... eigentlich egal.

 

13 minutes ago, xST4R said:

Verbindet man sich beim Schreiben über Samba auf den Cache oder direkt auf das Array?

 

auf das FUSE (shfs) bei nicht pool/Array only Shares ... nennen wir es "overlay", soll ja auch alles abgebildet werden dahinter ;) (cache UND Array Daten)

 

### NACHTRAG ### da etwas überlesen

 

und da gemäß DEINER Einstellungen wie es laufen soll ... Share settings.

 

13 minutes ago, xST4R said:

Werden die Daten dann automatisch vom Cache auf die HDDs verschoben (via Mover), wenn der Cache voll ist?

 

so wie du es einstellst und per tuning tools auch feiner justieren kannst.

 

https://docs.unraid.net/category/manual/

 

du hast die Optionen, entscheide dich was dir wichtig ist ;)

  • Author

danke,

 

ich habe jetzt diese pools als zfs erstellt :

 

VYuW0Hy.png

 

und müsste wenn ich es richtig versteh ein share anlegen der so aussieht :

 

F5ModBH.png

 

wenn ich mich verbinde mit smb > verbinde ich mich mit dem cache > wenn der cache voll ist oder der Scheduler vom Mover anläufter werden die daten vom cache-storage auf nas-storage verschoben ? hab ich das jetzt so richtig verstanden ?

 

(ich hab das noch nie wirklich zum laufen bekommen und die mover tuning app ist wohl aktuell verbuggt) > dort könnte man einige sachen besser einstellen.

 

add: den logs zufolge geht der mover wohl auch erst bei 90% los ?

 

 

 

 

eine weitere frage diesmal zu docker :

 

wie sieht es da mit xfs , btfs und directory aus > 

 

V18F6JO.png

machen die settings so sinn (hatte dazu gegooglt und die ki gefragt)

Edited by xST4R

2 hours ago, xST4R said:

wenn der cache voll ist oder der Scheduler vom Mover anläufter

Nein, NUR wenn der scheduler anläuft, da  läuft keine Echtzeitüberwachung mit !!!

 

2 hours ago, xST4R said:

werden die daten vom cache-storage auf nas-storage verschoben ? hab ich das jetzt so richtig verstanden ?

alle "not in use Daten" werden dann stumpf verschoben.

 

2 hours ago, xST4R said:

(ich hab das noch nie wirklich zum laufen bekommen und die mover tuning app ist wohl aktuell verbuggt) > dort könnte man einige sachen besser einstellen.

 

leider ja, ich hab auch einen simple mover dafür geschrieben, der ist aber nichts für dich, bleib bei onboard Standard erstmal.

 

2 hours ago, xST4R said:

add: den logs zufolge geht der mover wohl auch erst bei 90% los ?

 

Nict wenn du Standard nutzt, dann geht er direkt "stumpf" los, da gibt es kein "treehold" level und co ...

 

2 hours ago, xST4R said:

wie sieht es da mit xfs , btfs und directory aus > 

 

und jetzt verweise ich nochmals auf Doku und changelogs ...

 

da du ja auch zu der zfs Jünger Fraktion gehören willst, lies beispielsweise das changelog zu der v7 ... da steht extra was dabei ;)

 

ich supporte kein zfs, daher bitte einlesen (gut gemeinter Ratschlag), auch mal einlesen zur Pflege von zfs.

 

  • Author

Danke für die antworten.

Dann ist das Ganze für mich Mist. Ich will, dass die HDD im Standby bleibt. Ich kann also auch den Mover nicht immer laufen lassen, weil dieser ja dann die HDDs aufweckt. Ich benötige also irgendwas, was meinen Cache alle paar Minuten überprüft und dann den Mover bei XX% startet.

 

 

43 minutes ago, xST4R said:

Ich benötige also irgendwas, was meinen Cache alle paar Minuten überprüft und dann den Mover bei XX% startet.

dann teste mover tuning im aktuellen Stand, lass Ihn 

 

mein simple mover ist wahrscheinlich nicht zfs kompatibel (clean datasets habe ich nicht implementiert ;)) mover tuning hat dies mittlerweile drin.

  • Author

das funktioniert leider nicht , sobald man mover tuning installiert wird der ganze mover unbrauchbar (es passiert quasi nichts mehr) - war zumindest der zustand  von vor 1 woche. (keine ahnung ob das gefixt ist).

Edited by xST4R

1 hour ago, xST4R said:

das funktioniert leider nicht , sobald man mover tuning installiert wird der ganze mover unbrauchbar (es passiert quasi nichts mehr) - war zumindest der zustand  von vor 1 woche. (keine ahnung ob das gefixt ist).

das ist so nicht richtig, meist einfach vergessen dry run zu deaktivieren (was per default an ist zum Test)

  • Author

hm, ok danke.

 

eine weitere frage - unraid hat ja tailscale integriert und ich besitze mullvad vpn würde das zusammen funktionieren ? (google gibt dazu nicht viel aus)

3 hours ago, xST4R said:

eine weitere frage - unraid hat ja tailscale integriert und ich besitze mullvad vpn würde das zusammen funktionieren ? (google gibt dazu nicht viel aus)

 

https://tailscale.com/

 

da es jetzt komplett #offtopic ist, mach bitte separate Anfragen auf, Danke.

 

und wenn schon dabei, Eingangspost, Gedanken gemacht, beschrieben was du vor hast, diese Frage ... ist auch unklar was du meinst ;)

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.

Guest
Reply to this topic...

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.