[Sammelthread] OpenZFSonWindows: HowTos, Performance, wasauchimmer...

Sicher dass SMB Direct mit dem CRS504 geht? Wenn ja, wie? Meines Wissens kann der kein RDMA. Hab’s mit dem zumindest bisher nicht hinbekommen.
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
@gea, ZFSonWindows hätte ich ja für einen Witz gehalten, aber wenn du dich damit beschäftigst muss ich mir das auch mal anschauen.
Bei der CX-5 würde ich empfehlen die MCX516ACDAT zu nehmen, die kann schon PCIe4, falls auf einer Seite ein Desktop Board benutzt wird, spart das PCIe Lanes.
Wenn du einen Switch benötigst, könnte der CRS504 von Mikrotik für dich interessant sein.
Der kann leider kein RoCE v2, dann wär das die Empfehlung für ein Homelab, aber für SMB Direct ist der gut.

Es gibt vier Alleinstellungsmerkmale für Windows

- Weit überragende SMB Peformance mit SMB direkt statt normalem ip Traffic (gibts mit SAMBA noch nicht stabil)
- Windows ntfs ACL im Dateisystem (gibts sonst nur bei Solaris)
- Active Directory mit weltweit eindeutigen SID statt mehrdeutiger uid Nummern mit Mapping, (gibts sonst nur bei Solaris mit dem kernel SMB Server)
- Einfaches Netzwerk Clustering per SMB und vhdx als Spinoff von Hyper-V

Windows Storage Spaces wäre noch ein fünfter Punkt. Kann enorm viel wenn es um Platten unterschiedlichen Typs oder Größe geht, um Tiering oder flexible Redundanz per virtual disk, ist aber eine Katastrophe was Handling angeht. Mit Webgui wird es gerade so handlebar. Dagegen ist ZFS schlicht eine Offenbarung.

Ich hatte in letzter Zeit mehrere Anfragen wegen storagebasiertem 4/8k Multiuser Videoschnitt und da ist eine Windowslösung mit SMB direct konkurenzlos. Wenn jetzt ZFS dazukommt mit Ramcachíng, Snaps, Fast Dedup, Hybridpools und Verschlüssellung dann hat man eine Kombination die konkurrenzlos ist. Windows sträubt sich zwar mit allem was es hat gegen fremde Dateisysteme die nicht auf Volumes und Partitionen basieren (sieht man an den aktuellen Release Candidates, da geht es nicht um ZFS sondern um Volumes, Driveletter, mount und unmount). Jorgen Lundman der Maintainer von ZFS on Windows und ein wichtiger ZFS Developper steckt enorm viel Engagement in das Projekt, nicht nur um es zum Laufen zu bringen sondern um es an die Spitze der ZFS Entwicklung zu bringen. ZFS on Windows 2.2.6 rc4 kam zwei Tage vor der offiziellen Freigabe von OpenZFS 2.2.6 und hat sogar bereits Fast Dedup.

In Reddit hat Jorgen Lundman seine Motivation dafür erläutert "Die einzige Chance weitere Plattformen neben BSD und Linux direkt in Open-ZFS zu haben, ist es an der Spitze der Entwicklung zu sein". Es gibt ja für die nächste Open-ZFS Developper Meeting dazu den Punkt "Mixed Operating System OpenZFS Environments",
https://openzfs.org/wiki/OpenZFS_Developer_Summit

Es bleibt natürlich immer noch der Weg es wie Illumos zu tun indem ein eigener stabiler Fork gepflegt wird und bei Bedarf Features übernommen werden. Auch das ist ok sollte es nicht zu OpenZFS inkompatiblem ZFS führen wie bei Solaris oder Qnap ZFS.

Ich empfehle zwar simple multi nic-nic Verkabelungen für kleine bis mittlere Arbeitsgruppen mit 25-50G, Switche mit 100G werden aber immer billiger. Funktionierendes SMB Direkt ist aber der Knackpunkt. Was nützt 100G wenn das nicht annähernd über SMB mit niedriger Latenz und CPU Last rüberkommt.
 
Ich hatte in letzter Zeit mehrere Anfragen wegen storagebasiertem 4/8k Multiuser Videoschnitt und da ist eine Windowslösung mit SMB direct konkurenzlos
ja keine Frage, im Moment ist SMB Direct in Windows die einfachste Lösung für ein High-Performance NAS mit RDMA Technologie.
Ich bin letztes Jahr im Sommer von Mellanox CX-3 Pro zu CX-5 gewechselt und musste feststellen, dass trotz Upgrade der Serverhardware auf EPYC 7F52 mit 256GB und NVME Pool, unter Linux mit ZFS und SAMBA, eine Single User Performance über 5GB/s nicht trivial zu erreichen ist.
Der Sinn des Upgardes war aber nicht die Performance zu verbessern, obwohl nicht unerwünscht, ging es mehr darum wieder SR-IOV mit Windows VMs nutzen zu können, da zeigt die CX-3 ihr Alter.
Ich muss das die Tage aber nochmal testen, damals war ksmbd noch nicht brauchbar und Multichannel in Truenas war auch noch neu.
Das einzig brauchbare was bei den ganzen Tests rumkam, war das ich drauf gekommen bin, dass TrueNAS auch ISER unterstützt und die Performane damit ganz brauchbar ist.
Mein NVME Pool hat aber auch nicht richtig skaliert, weder unter TrueNAS noch mit Ubuntu Server, da lässt ZFS noch massiv Performance liegen, hoffentlich lösen sie das in den nächsten 1-2 Jahren.
 
Cow und Prüfsummen kosten Leistung, dazu die Optimierung auf konstante Performance bei vielem Dateien und vielen gleichzeitigen Nutzern.

Was kann davon weg?
Nichts!

Solaris mit native ZFS zeigte aber bisher dass es noch ein bisschen schneller geht, halt nicht extrem viel schneller.
 
OpenZFS 2.2.6 rc7

Hold up!

So the mount/unmount code was completely re-written, which is a large amount of source code changes. There is a
higher than usual risk for regression. (As in, BSODs).
But if everything works, the mounts should be more recognised by the system, you should be able to run both
zfs mount as well as mountvol and see driveletter mounts (like E:\\) as well as lower dataset mounts (E:\\dataset)
The way Storport (zvol support) interacts with the driver also had to change.
Unmounting (and exporting) is now without special hacks, and much cleaner. There might still be corner case issues remaining.
Changing properties driveletter and mountpoint should in theory re-mount the datasets on the fly, without needing to export/import.

rc6:
  • Fix leaks of SecurityDesciptor
  • Fix vnode leaks, root znode
  • Explorer stackoverflow fix in reparse points
  • Mount / Unmount, snapshot mount fixes
  • set driveletter remount fixes
  • Deep stack fix for Storport query
  • Fix weird extra newlines in command output
  • Attempt fix to work with VSS
  • New tunable windows_load_security
New tunable windows_load_security can be set to 0 to skip loading Security Descriptors from Storage, in the
hopes of being able to import older OpenZFSOnWindows pools where they were wrong.

rc7:
  • Delayed read/write could BSOD.

Just one fix, but felt it was big enough to push a fix for right away.


Jorgen Lundman
I have posted a new build for rc6.
I believe I have fixed setting driveletter, mounting of snapshots, some unmounting issues.
So if you can, please check your issues again, even if I didn't list them, and remind me of any issues that are still present.


 
Zuletzt bearbeitet:
ZFS unter Windows wird ja sicher bald nutzbar sein.
ZFS unter Windows statt unter BSD, Linux oder Illumos hat für mich dabei zwei Besonderheiten

1. Windows ntfs ACL Rechte
Lediglich Solaris/Illumos ist da mit nfsv4 ähnlich komfortabel wie Windows mit ntfs, SAMBA, Linux und Posix ACL, naja

1. SMB Direct.
Damit wird SMB mehrfach schneller bei gleichzeitig viel geringerer Latenz und CPU Last.

Üblicherweise braucht man für SMB direct Windows Server als SMB Server. Clients können Windows 11 sein. Linux/SAMBA ist da erst in den Startlöchern. Windows 11 Pro für Workstation soll aber auch SMB direkt bieten, also ohne einen Windows Server. Hat das schonmal jemand probiert. RDMA fähige nics mit 20G+ kommen ja gerade haufenweise.

 
Zuletzt bearbeitet:
TrueNAS kann doch mittlerweile auch NFSv4 ACLs ?!
 
RDMA wird für mich langsam zu einem Storage Schlüsselthema, ist es doch die einzige Möglichkeit eine aktuelle Pool Performance vor allem mit NVMe übers Netz zum Arbeitsplatz oder Backupsystem zu bekommen.

Bisher war eine typische Konfiguration ein Windows Server mit Windows 11 Pro clients. Es scheint so dass Windows 11 Pro für Workstations als SMB direct Server ausreicht was die Sache für eine Arbeitsgruppe vereinfacht/verbilligt weil man keine Server Lizenzen braucht.

Unter Linux kann man ksmbd als SMB Server statt SAMBA einsetzen. Damit hat man einen SMB direct Server unter Linux der von den Settings halbwegs kompatibel mit der smb.conf ist. Die Sicherheit, Stabilität und Kompatibilität muss sich zeigen, da scheints noch Verbesserungsbedarf zu geben. Könnte ich mir aber gut z.B. mit Proxmox vorstellen. Multichannel geht nicht, also für Linux clients wo derzeit kein RDMA in Sicht ist, wohl nicht ganz optimal, eher eine Lösung für Linux Server und Windows Clients.
 
Dann mal wieder zu früh gefreut da RDMA als großer Unterschied Workstation vs Pro genannt wird. Muss ich mir doch ksmbd unter Proxmox näher anschauen.
 
ksmbd ist halt im Vergleich zu Samba etwas begerenzt bezüglich ACL, damit hast du vermutlich keine Freude.
 
SAMBA kann lokal ohne AD auch nicht viel, ksmbd kann noch gar kein AD und kein Multichannel, auch is security und compatibility noch zweifelhaft. Kann und wird aber besser werden. Proxmox mit ksmbd scheint auch wegen dem angepassten Kernel aufwendig zu sein, eventuell nehme ich besser Debian zum Testen.


Im Moment muss es wohl Windows Server + Windows Clients sein wenn man stabiles SMB RDMA braucht. Braucht man funktionierende Windows ACL, kommt für mich eh nur Windows oder Solaris/OmniOS in Frage.
 
Bei Proxmox musst du nicht viel tun => Modul laden und ksmbd-tools installieren.

RDMA für mount.cifs ist seit Proxmox 6.2 oder 6.3 ootb konfigurierbar.
 
Zuletzt bearbeitet:
danke, tut
create /etc/ksmbd/ksmbd.conf (SAMBA smb.conf alike settings)

Start:
root@pve:~# systemctl stop ksmbd
root@pve:~# systemctl start ksmbd
root@pve:~# systemctl restart ksmbd

For anonymous access (ksmbd.conf):

[global]
guest account = nobody
map to guest = Bad User

[share_example]
guest ok = yes
path = /tmp

Muss nur noch jemand testen wie gut das mit RDMA Clients wie Windows 11 funzt.
 
Zuletzt bearbeitet:
RDMA ist der Schlüssel für Performance.
NFS ginge also auch. Sobald aber Authorisierung mit ACL oder Authentifizierung mit oder ohne AD oder Multichannel gefragt sind, ist SMB haushoch überlegen. (nagut, Linux und SAMBA sind ACL mäßig auch nicht so der Hit)
 
Also bei AD und ACLs bin ich raus, aber Multichannel gibts doch auch in NFS ? Wenn Raw Performance zählt, muss man doch nicht zwangsläufig auf SMB setzen, oder übersehe ich da was ?
 
Wenn man "anonym" Daten z.B. für VMs sharen möchte, ist NFS genausogut geeignet.
SMB ist halt das universellere Sharing Protokoll.
 
Für Doofe, die bisher sich null dazu eingelesen haben: mit ksmbd läuft dann RDMA "einfach so"?
 
Für Doofe, die bisher sich null dazu eingelesen haben: mit ksmbd läuft dann RDMA "einfach so"?

Mangels RDMA Netzwerkkarten kann ich es nicht testen -
aber ja, davon gehe ich aus da es in ksmbd.conf nichts dazu einzustellen gibt.

Kann natürlich sein, dass man bei den Netzwerkkarten was einstellen kann oder muss.
 
Zuletzt bearbeitet:
OpenZFS-windows-2.2.6-rc8

- abd_verify_scatter() panic, often from import + raidz
 
Ok. Testbed steht doch schon etwas früher als gedacht:

Server: Threadripper 3960X mit ConnectX-5
Client: 13900KS mit ConnectX-4

Storage auf dem Server sind irgendwelche 1-2TB PCI3/4-NVMEs, auf dem Client 4TB Corsair PCIe5.

Auf dem Client wird allerdings der Umstand limitieren, dass die ConnectX-4 nur in einem x4-Slot steckt, d.h. mehr als 3,XGB/s werden wir selbst unter Idealbedingungen nicht bekommen können.

Macht aber nichts, mir geht es vor allem darum, ob SMB Direct mit meinem Switch und/oder unter Proxmox läuft (oder anderen lustigen Konfigurationen mit VMs, Passthrough & Co.).

Getestet wird einfach mit einem Copy-Job über den Windows Explorer - immer auf Client-Seite als unverändert bleibende Konstante, damit das hübsch vergleichbar ist.

Ausgangsbasis ist die "einfachste" Konfiguration, um zu Testen, dass die Hardware mitspielt. Das heißt, ich starte OS-seitig mit "Microsoft only", in diesem Fall mit Windows Server 2025 auf der Server-Seite und Windows 11 Pro for Workstation auf dem Client. Verbunden sind die Kisten direkt über Glasfaserkabel und konfiguriert mit festen IP-Adressen.

Was wir hier schön sehen können: sowohl auf dem schwarzen Taskmanager des Clients rechts als auch auf dem weißen für den Server links, zeigt bei einem knapp 40GB Explorer-Copy-Job das Netzwerk keine Last, obwohl gerade knapp 1,8GB/s über die Leitung gehen. Das bedeutet, RDMA ist aktiv und SMB Direct funktioniert wie gewünscht. Wir können auch erkennen, dass die Ziel-SSD auf dem Server (Disk 4) am Anschlag ist und damit eben nach Volllaufen vom Caching (mit ~3.5GB/s) dann der limitierende Faktor ist. Optimieren tu' ich erstmal nichts, geht erstmal nur um "proof of concept".

RDMA_WinZuWin_aktiv.jpg


Die eigentlichen Versuche mit Proxmox & Co. kommen dann später, dafür brauch ich mal bisserl Zeit am Stück. Allerdings steht bei mir zunächst der Netzwerk-Teil im Vordergrund, weniger ZFS. Daher landet der Teil wahrscheinlich eher in den passenden Sammel-Threads (zu Proxmox, 100Gbit o.ä.).
 
Zuletzt bearbeitet:
OpenZFS on Windows rc9 is out

The recent problem with several zfs snaps is fixed, had no problems with update and a snap mount.

Jorgen Lundman
"Bring in the verdict on rc9, let me know what things are still broken. You don't want me with nothing to do for long. I as curious about the long filename patch, but if I sync up, we will be 3.0rc from now, and the feedback was to hold back on too-new features."
 
Kurzes Update: Habe jetzt mal flugx Proxmox aufgesetzt, ksmbd installiert und nen Test-Share aufgesetzt. Fazit: RDMA / SMB Direct funktioniert (auch) mit ksmbd nicht out-of-the box.

1730469346159.png


Der ~25Gbit Spike im Client-Taskmanager zeigt, dass der Traffic über den normalen TCP/IP Stack geht und leider nicht über RDMA. Das gilt übrigens für beide Richtungen. Client ist unverändert und zeigt auch nach wie vor RMDA Capable an:

1730469514138.png


Doof. Man findet leider auch nicht so wirklich was dazu.

Meine letzten Linux-Versuche liegen irgendwie zu weit zurück. Ich muss echt jeden Mini-Schritt ergooglen, schon angefangen damit, wie ich die zweite NIC unter Proxmox aktiviert bekomme. :d Kann irgendwie nur Solaris. Peinlich, aber machste nix. Ich wandere aber jetzt erstmal zum Proxmox Sammler rüber, um RDMA zum Laufen zu bekommen. Da dürften noch ein paar mehr Kompetente als hier mitlesen…
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: gea
Niemand mehr mit einem ernsten Problem mit OpenZFS 2.2.6 rc9 unter Windows?
Die Probleme auf meiner todo Liste sind gelöst. Ist das etwa die Version "noch beta, jetzt aber endlich nutzbar"
 
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