FreeNas schlechte SCSI Performance von einem ZFS Raidz1 Volume

Krautmaster

Fleet Admiral
Registriert
Feb. 2007
Beiträge
24.238
Hallo zuammen,

ich teste gerade das FreeNas 10.0.3 Corral und irgendwie habe ich ein ganz komisches Phänomen über das ich nun schon vergleichsweise oft gestolpert bin.

Ich habe testweise dem Controller (LSI) 16x HBA an eine VM direkt durchgereicht. Diese läuft auf meinem Heimserver (Xeon D Supermicro) und ist mit 10G verbunden (interner Virtueller Switch).
Host ist Server 2016 Datacenter.

Es werden schlicht 3x2 TB zu einem RaidZ1 Volume zusammengefasst und dann Via SCSI und SMB bereitgestellt.

Dabei fällt mir auf das SMB viel schneller und konstanter als SCSI arbeitet. Via SMB hab ich (wie bei 2 -3 RaidZ1 Platten zu erwarten) schreibend etwa 150 MB/s, konstant, Lesend etwa 180 MB/s.

Bei iSCSI ist es extrem durchwachsen. Mag mit 400 MB/s anfangen, danach brichts massiv auf 10 MB/s ein und kommt nicht mehr in die Pötte.

2017-04-10 15_11_07-HOMESERVER - TeamViewer.png

Ich habe das Gefühl dass bei iSCSI das unterliegende ZFS Volume in jedem Fall schneller sein muss als das Lan dazwischen (10G in meinem Fall), also zwischen SCSI Client und Server. Sonst geht der Schuss wohl extrem nach hinten los.
SMB hingehen überträgt halt so schnell wie die Platten dahinter wegschreiben können.

Komischerweise ist SCSI aber auch lesend immer langsamer als schreibend, und in jedem Fall langsamer als SMB lesend.
Dataset is daselbe.

2017-04-10 15_15_46-HOMESERVER - TeamViewer.png2017-04-10 15_15_17-HOMESERVER - TeamViewer.png

Ich will später zwar bis 12 Platten (a 4 TB) im RaidZ2 betreiben, was sicher etwas schneller ist als 2x3 TB, aber dennoch versteh ich das aktuelle Ergebnis nicht ganz. Auch seh ich im Netz dass wohl doch einige das Problem haben.

Dazu wäre noch die Frage ob ich ein iSCSI Device einfach später erweitern kann?

Danke euch.
 
Ich habe das gerade mal versucht (halbwegs) nachzustellen. Bei mir zickt das noch mehr rum.

Zuerst ließ sich FreeNAS sowieso nicht sauber auf dem ESXi 6.5 installieren. Nachdem das jetzt einigermaßen läuft, spackt der iSCSI-Service von FreeNAS ab, sobald ich ein paar GB draufkopiere. Windows hängt sich dann auch gleich mit auf.

Danach war auf einmal das ganze Target in FreeNAS Corral weg.

Fazit nach 1 Stunde: unbenutzbar :freak:
 
Interessant ;)

Danke euch schonmal für jede Mühe. Die Installation und der Betrieb von Corral war unter Hyper V erstaunlich problemlos. Auch hab ich jetzt keine Probleme seitens Stabilität.
Lediglich die SCSI Peformance ist Mies. RaidZ1 über SMB aber umso besser - versucht mal zb mit Storage Spaces 150MB/s bei 3x2 TB aufs Parity zu schreiben... da kann man froh sein wenn man ohne Write Back SSD Cache auf 30 MB/s kommt.

Wollte unter FreeNas 9.10 oder Nas4Free testen aber das scheint das Hyper V nicht zu mögen.
 
Welches Dateisystem hast du denn auf dem LUN? Ich schätze mal NTFS.

Meiner Erfahrung nach muss für halbwegs brauchbare Performance bei iSCSI auf ZVOLs die Blockgröße möglichst groß und überall gleich sein.
D. h. wenn deine NTFS-Clustergröße 16KB ist (drunter würde ich nicht anfangen) sollte die "volblocksize" des ZVOL genauso groß sein.
Gegen die starken Schwankungen in der Übertragungsrate habe ich bisher noch nichts gefunden. Das könnte aber auch in der (asynchronen) Natur von iSCSI bedingt sein.
 
ja NTFS. Cluster Größe hab ich 512 und 4k getestet. Gibt sich wenig. Dachte 4K könnte wegen NTFS besser passen.
 
4K sind wie gesagt meiner Erfahrung nach zu wenig. Ich würds mal mit deutlich mehr probieren.
Du kannst auch mal versuchen Jumboframes zu aktivieren. Beim mir hat das praktisch nichts gebracht, aber man weiß ja nie.

Mein (Test)Setup im Vergleich (alles auf dem selben ESXi-Host):
- Target: 3x Seagate IronWolf 8TB in RAIDZ1 an LSI-HBA per PCI-Passthrough, 24 GB RAM, FreeBSD 10, ctld
- Initiator: Windows Server 2016, 4 GB RAM
- Eine LUN auf einem ZVOL mit volblocksize=64K
- Dateisystem: ReFS mit 64K Clustergröße (mit NTFS hatte ich keine Signifikaten Unterschiede bei gleicher Clustergröße)

Schreibend (Kopieren einer 16GB-Dummydatei) komme ich nach einem anfänglichen Spike auf 250-300 MB/s. Alle paar Sekunden bricht es mal kurz auf praktisch 0 ein, erholt sich aber recht schnell wieder.
Auf der Windows-VM ist ein Ordner freigegeben. Über die Freigabe kann man eine 1 GBit/s-Anbindung recht konstant auslasten (Windows scheint die Einbrüche bei der Schreibrate gut abzufangen).
Mit ZFS on Linux und targetcli war das gleiche Konzept übrigens ein sehr ähnliches Performance-Disaster wie bei dir gerade. iSCSI vor allem in Verbindung mit ZFS scheint sehr zickig zu sein.
 
Zurück
Oben