Wechsel von Unraid auf TrueNAS / ZFS

Fliwatut

Experte
Thread Starter
Mitglied seit
12.06.2015
Beiträge
2.230
Ort
Aachen
Moin!

Ich möchte meinen Server neu aufsetzen und von Unraid weggehen, der Server soll ein reiner Fileserver werden, Unraid kommt auf einen neuen Server rein für Docker und VM.

Folgende Hardware ist verbaut:
MB Supermicro X10SRL-F bulk (MBD-X10SRL-F-B)
CPU Intel Xeon E5-2630 v4 10C/20T 2.20-3.10GHz tray (CM8066002032301)
RAM 2x Samsung RDIMM 32GB DDR4-2400 CL17-17-17 reg ECC (M393A4K40BB1-CRC)
NIC Mellanox ConnectX-3 1x SFP+ PCIe 3.0 x8

6x Seagate IronWolf NAS HDD +Rescue 4TB SATA 6Gb/s (ST4000VN008)
2x Kingston A2000 NVMe PCIe SSD 1TB M.2 (SA2000M8/1000G)

Wie bastle ich mir jetzt das RAIDZ zurecht, um die maximal Performance rauszuholen? Im Moment sieht es so aus
Code:
root@Galaxy:~# zpool status -v matrix
  pool: matrix
 state: ONLINE
  scan: scrub repaired 0B in 00:00:13 with 0 errors on Sat Aug 13 16:16:31 2022
config:

        NAME                                      STATE     READ WRITE CKSUM
        matrix                                   ONLINE       0     0     0
          raidz2-0                               ONLINE       0     0     0
            ata-ST4000VN008-2DR166_x             ONLINE       0     0     0
            ata-ST4000VN008-2DR166_x             ONLINE       0     0     0
            ata-ST4000VN008-2DR166_x             ONLINE       0     0     0
            ata-ST4000VN008-2DR166_x             ONLINE       0     0     0
            ata-ST4000VN008-2DR166_x             ONLINE       0     0     0
            ata-ST4000VN008-2DR166_x             ONLINE       0     0     0
        logs
          nvme-KINGSTON_SA2000M81000G_x  ONLINE       0     0     0
        cache
          nvme-KINGSTON_SA2000M81000G_x  ONLINE       0     0     0

errors: No known data errors

Oder bin ich damit schon optimal unterwegs?
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Achtung, Cache und Logs funktionieren bei native ZFS gänzlich anders als bei Unraid.

1. Nutzt Du sync-Writes ? Wenn nein brauchst Du kein slog device. Denn ein Slog ist >>>kein<<< Schreibcache, es sichert nur sync-Writes für den Desaster-Fall.
Ferner ist ein 1TB Slog vieeeeel zu groß und wenn es wirklich genutzt würde, dann ist die A2000 denkbarst ungeeignet dafür, weil Du minimalste Latenzen und Powerloss-Protection dafür willst (=> Intel Optane, 900P/905P oder die entsprechenden Enterprise-SSDs).

2. Ein 1TB L2Arc-Cache ist extrem suboptimal, da die Verwaltungstabellen Dir den normalen Arc (=Ramcache) belegen. Niemals mehr als 10x L2Arc als für ZFS verfügbarer Ram oder es haut Dir die Performance runter.
> Ram reinpacken ist massiv besser als L2Arc.

3. VMs auf HDD-Zpools? Denkbar ungünstig für die Performance.
 
Ich würde empfehlen: ein Raidz2-Zpool nur mit den HDDs für Storage und als zweiten Pool ein Mirror-Pool mit den A2000s für VMs (wenn da z.B. via ISCSI angebunden werden soll).
Kein L2Arc, kein Slog für den HDD-Pool. SMB/CIFS (Samba) nutzt eh keine Sync-Writes per default.
64GB Ram reicht für den typischen Homeuse mehr als aus als Ram-Cache.

Aber, Achtung, die A2000 (=reine Consumer-SSD, eher aus dem niedrigeren Preisniveau) kein Powerloss-Protection und wird mit Sync-Writes bei permanenten Schreibzugriff vermutlich langsam. => Längerfristig gedacht, durch Enterprise-SSDs tauschen. Samsung PM9A3 z.B. . Sind recht günstig zur Zeit!

Ausserdem solltest Du drüber nachdenken, das Ding hinter eine USV zu hängen. Weil hast Du Stromausfall, ist der Inhalt im Ram-Cache (der dient in Teilen auch als Schreibcache bei ZFS, 64 GB Ram sind das ein paar Gigabyte (ich meine 10%, maximum 4GB oder so) ) verloren.
 
Zuletzt bearbeitet:
Packt so ein Zpool dann die 10Gb NIC? Ich dachte, ich müsste dafür schnellen Cache haben oder reichen die 64GB RAM dafür schon? VMs oder Docker wollte ich mit TrueNAS nicht mehr nutzen, das soll ein reines NAS werden. Mit iSCSI habe ich mich noch nicht beschäftigt.

Ich habe die Hardware auch für den Unraid Pool und nicht für ZFS gekauft, das kam erst später, als Unraid dann auch ZFS konnte. Da hatte ich die SSD als Cache aufgesetzt, eingehende Daten wurden zuerst auf die SSD geschrieben und erst später von der Software "mover" auf den HDD-Pool geschoben.
 
ZFS hat eine ganz andere Cachestrategie als Unraid. ZFS cached primär, und beim Schreiben ausschliesslich, mit Ram. Es gibt keinen SSD-Schreibcache.

Eingehende zu schreibende Daten werden ausschliesslich im Ram aufgenommen, Daten möglichst gut zu größeren Transaktionsblöcken zusammengefasst und dann weggeschrieben.

Beim Lesen gehts auch durch den Ram, und wenn der nicht reicht, dann kann man eben mit einem Level2 Arc (Lesecache) noch etwas erweitern. Der braucht aber natürlich auch Verwaltungsdaten im normalen Ram, daher nie mehr als 5-10x den Ram nehmen. Der fehlt sonst ja dem normalen Cache. Ferner: Level2 Arc wird nicht bei rein sequentiellen Daten (also z.B. Abspielen von Videos) verwendet. ZFS ist da recht intelligent, was von Cache profitiert und was nicht.

Und ja, 10G ist kein Problem. Hab ich ja selber (siehe 5950X-System "Main Server") in der Signatur) so.
 
Danke dir. Dann muss ich mal gucken, wie ich die SSD einsetze, so wie das jetzt ist, macht es dann ja keinen Sinn.
 
Gern. Kein Problem. Du kannst natürlich auch die beiden A2000 zu einem Mirror verbinden und da die ständig zugegriffenen Dateien ablegen und auf dem HDD-Pool eher Medienfiles, Softwareimages und Archiv.
=> ein Fileshare zum HDD-Pool und ein zweites auf dem SSD-Pool.
Dann hast Du superschnellen Zugriff auf die permanent benötigten Arbeitsdateien.

=> Quasi ein 2-Tier NAS
 
Schau auch, auf den Pools LZ4-Komprimierung zu aktivieren. Das ist eine extrem schnelle und trotzdem recht gute Datenkompression.
Wenn LZ4 merkt "geht nicht" (Videofiles z.B. ), dann bricht es von selbst ab und man verliert keine Performance.
 
der Server soll ein reiner Fileserver werden
dann nutze die beiden NVMEs im Mirror als special vDev fuer mehr Performance
Striped Mirror der HDDs wuerde auch noch ein bisschen Performance bringen, z.B. 3x Mirror -> 50% Platzverlust
 
Bei einem normalen Home-Filer bringen special vdev nicht allzuviel außer man "zwingt" einzelne Dateisysteme komplett auf die special vdev. Dann hat man die gleiche Performance wie bei einem extra NVMe mirror. Special vdev für kleine io bringt vor allem etwas wenn man sehr viele random io und kleine Dateien und damit sehr viele Metadaten hat (z.B. Uni Mailserver). Special vdev für dedup hilft nur wenn man Dedup einsetzt (nur für ganz spezielle Anwendungsfälle sinnvoll). Als L2Arc könnte man SSD/NVMe auch einsetzen da dieser Lesecache persistent ist (übersteht reboot) und man zusätzlich read ahead aktivieren könnte. Ich würde den aber nicht größer als 5x RAM machen.

(Multi) Mirror bei Platten würde ich nicht mehr machen, dafür ist der Performancevorteil im Vergleich zu SSD/NVMe vernachlässigbar klein.

 
Zuletzt bearbeitet:
Die SSDs kannst du dann ja für den System-Pool verwenden, da bei TruaNAS nichts auf die OS-Platten geschrieben werden kann sondern ein Pool dafür definiert werden muß.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh