[Übersicht] OpenZFS NAS (BSD, Illumos, Linux, OSX, Solaris, Windows + Storage Spaces) mit napp-it web-gui

Bisher war ein Netzwerk HA Mirror egal ob mit ntfs/ReFS oder ZFS z.B. über iSCSI ja relativ langsam und recht kompliziert im Betrieb.

Das kann ich in keinster Weise bestätigen. Die bessere Performance ist ja idR der Hauptgrund überhaupt ein Scale Out Storage hochzuziehen. Egal ob kommerzielle oder OSS, derartige SDS Systeme/Konzepte sind seit über 10 Jahren mehr oder weniger Standardlösungen?


Leider gibt es nicht soviel Erfahrungsberichte mit aktuellem Windows als flexibles NAS. Die Option "Windows AiO NAS" ging in den letzten Jahren etwas unter oder hatte einen denkbar schlechten Ruf, das könnte sich ja ändern

Den Microsoft Scale Out Kram gibt es seit über einer Dekade. Ich wüsste nicht warum es einen schlechten Ruf hätte oder irgendwo untergegangen wäre. Derartige Diskussionen hatten wir ja schon mehrfach => https://www.hardwareluxx.de/communi...ows-alternative-für-zfs.1271791/post-27530398
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Bei Shared Storage hatte ich Multipath SAS vs iSCSI getestet und da war iSCSI deutlichst unterlegen.
Mit SMB Direct/RDMA könnte sich das aber ändern.

Über den Ruf von Microsoft Storage Spaces kann man unterschiedlicher Meinung sein.
Ich muss aber sagen dass es sich erheblich besser schlägt als gedacht, wenn man die konzeptionellen Besonderheiten beachtet und nicht die langsamen Defaults nutzt, sondern z.B. so vorgeht, https://wasteofserver.com/storage-spaces-with-parity-very-slow-writes-solved/
 
Bei Shared Storage hatte ich Multipath SAS vs iSCSI getestet und da war iSCSI deutlichst unterlegen.
Mit SMB Direct/RDMA könnte sich das aber ändern.

Ich vermute mal mit "Netzwerk HA Mirror" sprichst du von simplen 2-Node Ansätzen die mit Scale-Out nicht viel zu tun haben. Im Grunde ist dein Ansatz das selbe wie GlusterFS. Zugegeben eine recht witzige Idee und du kannst manche Features von Gluster tatsächlich mit ZFS nachbauen (zb metadaten auf eine vhdx mit NVME oder NVDIMM Unterbau). Aber der ganze Ansatz war halt mal vor 12-15 Jahren top. Heute bieten Ceph/s2d/... eine deutlich bessere Resilience/Performance...

Wenn du den Ansatz weiter verfolgst solltest du ggf SMB over QUIC prüfen. Das ist aber bei kleinen Verbindungsfehlern deutlich stabiler. Das könnte deinem Konzept durchaus helfen da der zfs Unterbau ja nicht wirklich dafür gedacht ist.

Über den Ruf von Microsoft Storage Spaces kann man unterschiedlicher Meinung sein.
Ich muss aber sagen dass es sich erheblich besser schlägt als gedacht, wenn man die konzeptionellen Besonderheiten beachtet und nicht die langsamen Defaults nutzt, sondern z.B. so vorgeht, https://wasteofserver.com/storage-spaces-with-parity-very-slow-writes-solved/

Am Ende musst du bei allen Lösungen vergleichbares beachten.
 
Es gibt für jedes Problem eine optimale Lösung. Ein einzelner Server mit lokalem Dateisystem oder ein einzelner Server mit schnellem Failover auf ein Reservesystem im Fehlerfall oder für Wartungen ist oft die einfachste und wenn man nur wenige Nodes hat, meist die schnellste Lösung - auf jeden Fall etwas das man sehr einfach überblicken und verstehen kann und im Fehlerfall mit überschaubarem Know How richten kann. Für viele Nutzer das was sie brauchen, natürlich nicht für sehr große Datenmengen in verteilten Strukturen.

Auch solche Lösungen sind in der Performance skalierbar oder können Redundanz auf Dateiebene (Storage Spaces), auf Plattenebene (Raid/ZFS) oder auf Node Ebene. Wenige VM Server, der Fileserver einer Firma oder (Hoch)Schule, der Server in einem Grafikbüro mit Videoschnitt oder ein Homeserver, das ist die Zielgruppe.

ps
Metadaten und small io auf NVMe, das kann ZFS selber besser ohne auslagern auf Windows. Einfaches Handling, skalieren der Performance und schnelles Failover, darum dreht es sich.ob ich da was Netzwerk angeht was komplett neues haben möchte, eher nicht vor allem nicht wenn es Microsoft only ist, https://learn.microsoft.com/en-us/w...erver/smb-over-quic?tabs=windows-admin-center

Bei SMB direct hat man als Fallback immer noch normales SMB3 mit oder ohne Multichannel.
 
Zuletzt bearbeitet:
Ich bin dabei für die verschiedenen Betriebsssyteme Untermenüs unter System anzulegen um Einstellungen abzufragen oder zu setzen, z.B. unter System > Windows > SMB, SMB Direkt Status/enable/disable, Client/Server nic settings etc, damit man nicht ständig die Powershell Befehle raussuchen muss. Wer etwas vermisst, bitte melden.
 
Dateisysteme unter Windows

1. *FAT*

Das ist quasi der Mittelaltermarkt.
Nichts dabei was ein Dateisystem besonders schnell oder sicher macht.
Vorteil: Jedes Windows oder Fremd-OS kann das nutzen.

2. NTFS
Das ist das Standard Windows Dateisystem seit Windows NT.
Gehört zu den besseren Dateisystem mit sehr guter Kompatibilität zwischen Windows Versionen und ist bootbar.
Es fehlen aber die zwei entscheidenden Verbesserungen neuerer Dateisysteme wie ZFS das vor ca 20 Jahren von Sun für Solaris entwickelt wurde.

- es kann keine atomaren Schreibvorgänge garantieren.
Das sind die kleinsten Schreibaktionen die nie nur teilweise ausgeführt werden dürfen wie Schreiben eines Stripe über die Platten eines Raid oder Schreiben eines Datenblocks und Update der zugehörigen Metadaten.

- es kann fehlerhafte Datenblöcke nicht entdecken.
z.B. Silent Data Errors (Datenrost), ungleiche Mirrors oder Fehler in der Kette RAM > Treiber > Controller > Kabel > Platte.

Diese beiden Probleme kann man mit Copy on Write und Echtzeit Prüfsummen auf Metadaten und einzelnen Datenblöcke beherrschen.

3. ReFS
Neben btrfs und ZFS beherrscht Windows ReFS (Resilent FileSystem) beides. Es ist in Windows Server verfügbar. Der refs.sys Treiber ist aber auch in Windows 10/11 enthalten.

Man kann daher auch in Windows 10/11 ReFS nutzen indem man
- Ein kommerzielles Partition Tool oder Windows Server zum Formatieren nutzt
- Per Registry Hack ReFS aktiviert
- in aktuellem Windows 11 23H2 "Dev-Drive" nutzt. Das sind ReFS Volumes für Entwickler die was besonders schnelles/sicheres haben wollen. Ich sehe es als breit angelegten Beta Test. ReFS soll ja in Windows 11 voll integriert werden, künftig auch bootbar.

Um ein ReFS Dev-Drive zu erstellen:
- Ein Volume anlegen, ein Lauferksbuchstaben z.B. R zuweisen und formatieren z.B. via Powershell und
Format-Volume -DriveLetter R -DevDrive

Kontrollieren kann man die Formatierung, vor allem die ReFS Version mit
fsutil fsinfo refsinfo r:

Bitte beachten
- ReFS ist noch nicht bootfähig
- ReFS wird noch verbessert, daher gibt es verschiedene Versionen die nicht immer kompatibel sind
Windows 11 23H2 nutzt ReFS v 3.10 (3.zehn)

4.ZFS
Eigentlich das nonplusultra. Ist unter Windows schon nutzbar aber noch beta (release candidate 6).
Ist auch (noch) nicht so schnell wie ntfs/ReFS hat aber weit mehr Features vor allem Snaps, Verschlüssellung/Compress/Dedup, sync write und Hybrid Pools für small io, dazu viel einfacheres Handling.
 
Bitte beachten
- ReFS ist noch nicht bootfähig
- ReFS wird noch verbessert, daher gibt es verschiedene Versionen die nicht immer kompatibel sind
Windows 11 23H2 nutzt ReFS v 3.10 (3.zehn)
Da daran aktiv gearbeitet wird, kann auch mal was schiefgehen. Bei uns waren nach einem Update die Pools in unserem Backupserver weg - konnten zum Glück mit der PowerShell wieder importiert werden.

Das sollte man auch ggf. im Hinterkopf behalten.
 
Da daran aktiv gearbeitet wird, kann auch mal was schiefgehen. Bei uns waren nach einem Update die Pools in unserem Backupserver weg - konnten zum Glück mit der PowerShell wieder importiert werden.

Das sollte man auch ggf. im Hinterkopf behalten.

Absolute Sicherheit gibts nicht, nur Bugs, Pech, Pleiten und Pannen.

Relative Sicherheit kann man haben indem man etwas wählt was "relativ sicher" ist, dazu ein Plan B für den Disasterfall (unabhängiges Backup), idealerweise nicht mit allerneuesten Features z.B. bei ZFS mit deaktivierten Features oder mit ReFS auf ZFS oder zur Not ntfs, dann halt ohne CoW und Prüfsummen was der Sicherheit auch nicht dienlich ist..

Den einzigen wirklich kritischen Fall hatte ich vor Jahren auf unserem Mailserver mit ntfs (Datenrührei nach chkdsk der ohne Vorwarnung plötzlich nötig war), seither mit ZFS auf Illumos und Solaris keine ernsthaften Datenprobleme. Auch unter Linux gabs kürzlich mit ZFS Probleme bis zu defekten Pools mit bestimmten ZFS Versionen auf bestimmten Distributionen (da sind die vielen Kombinationsmöglichkeiten ein ernsthaftes Problem. Unter Solaris oder Illumos hat man geneu ein aktuelles OS mit genau einer aktuellen ZFS Version, bei Linux x * ZFS Versionen auf y * Distributionen)
 
Mir hat ReFS bzw. irgendein Windows-Update meinen ReFS-Volume ohne Rückfrage o.ä. auf eine neuere Version gehoben, so dass die Disk danach auf allen älteren Versionen nicht mehr lesbar war. Schöner Mist, wenn man nur mal eben ein neueres Windows ausprobieren will und danach auf einmal und ohne selbst Hand angelegt zu haben aber nicht mehr zurück kann.
 
Automatisches ReFS Update ist wirklich bescheuert wenn man danach das OS nur noch weiter updaten darf

In folgender Tabelle sieht man gut, dass mit ReFS aktuell meist kein OS Downgrade mehr möglich ist

Bei ZFS sind neue Features die ein OS Downgrade verhindern die absolute Ausnahme (z.B. nach Raid-Z Erweiterung unter Windows, das ist in Linux meist noch nicht dabei) und oft geht wenigstens ein readonly import. Pool Update muss man auch manuell und kontrolliert machen. Ich kann es mir nur so erklären dass Microsoft ganz schnell aufholen will und es bootbar haben möchte bevor ReFS als Standarddateisystem in Win 11 landet und dann grundlegende Erweiterungen schwieriger werden.
 
Zuletzt bearbeitet:
dass Microsoft ganz schnell aufholen will und
M$ macht einfach keine Qualitätskontrolle mehr, weil die Geld gekostet hat. So nähert sich deren Qualität immer mehr an FOSS an, wobei letztere tatsächlich kein Geld hat.
 
Den Zusmmenhang sehe ich jetzt nicht. Zwangsupdates bei Windows und ReFS haben auch weniger was mit Qualitätsskontrolle zu tun, sondern sollen dafür sorgen dass nur aktuelle Versionen verbreitet sind, ist ja durchaus was positives. Altsoftware hat bekannte und nicht behobene Bugs und Sicherheitslücken.

Unschön halt wenn man in einer Testumgebung neuere und ältere Versionen nebeneinander haben möchte.
 
...vor allem bei einem so zentralen Infrastrukturbestandteil wie "Storage" kann mangelnde Abwärtskompatibilität eben besonders weh tun.
 
Über Windows Storage Spaces

Beim Hinzufügen von Storage Spaces zu napp-it cs
bin ich immer wieder über die inkonststente, mehrdeutige Benennung von Storage Spaces-Elementen gestolpert.

Windows Storage Spaces können daher sehr verwirrend sein, hauptsächlich aufgrund der verschiedenen Windows-Tools, von denen jedes nur eine begrenzte Anzahl an Optionen bietet, der Notwendigkeit, Powershell für die richtigen Einstellungen zu lernen und einer sehr inkonsistenten Benennung in Dokumenten, Tools und Powershell-Befehlen. Ich werde versuchen, Storage Spaces handhabbarer zu machen.

Ich habe mich für die folgenden Bedeutungen entschieden:

1. Physische Datenträger sind HD, SSD, NVMe und iSCSI Targets.

Powershell listet mit dem Befehl get-physicaldisk auch virtuelle Datenträger auf

2. Virtuelle Datenträger (Virtual Disks) sind solche, die auf einer Datei (.vhdx) basieren.
In der Dokumentation werden Speicherplätze auch oft als virtual disks bezeichnet (sehr verwirrend).

3. Volumes und Partitionen.
Das ist, was man im Explorer sieht, z. B. ein NTFS-, ReFS- oder ZFS-Datenträger, normalerweise mit einem Laufwerksbuchstaben.

4. Windows-Speicherpool.
Das ist eine Blackbox, in die man physischen Datenträger wirft.
In der Dokumentation wird dieser Begriff oft mit Speicherplatz vermischt

5. Speicherplätze (Storage Spaces).
Das ist ein virtuelles Gerät, das wie ein Datenträger behandelt wird, da man Partitionen und Volumes darauf platzieren kann.
Redundanz wird hier definiert (nicht auf Pool- oder Datenträgerebene). In der Dokumentation werden Speicherplätze auch oft als virtuelle Datenträger bezeichnet (sehr verwirrend).

6. SMB-Speichercluster.
Das ist ein Setup mit einem ganzen Rechner, der wie ein physischer Datenträger behandelt wird. Die Konnektivität erfolgt über SMB via vhdx-Dateien. Dieses Setup funktioniert mit Windows 10/11 und Server. Windows Server fügt ultraschnelles SMB Direct/RDMA hinzu
Dies unterscheidet sich von Microsoft S2D-Cluster, der nur aus Windows Servern besteht.
 
Die "Großen und Teuren" SAN Systeme beherrschen echtes Storage Tiering.

Das sind HybridPools bei denen neue "hot" Daten auf einem schnellen teuren SSD Bereich abgelegt werden und andere "cold" Daten auf billigem Massenspeicher. Meist ist Tiered Storage deutlich flexibler als ein einfaches Schreib-Cache Laufwerk und man hat Redundanz. Ich bevorzuge zwar in vielen Fällen das ZFS small io Konzept bei den Tiering auf der Dateigröße basiert, aber klassisches Tiering hat sicher seine Einsatzoptionen.

Windows Storage Spaces kann Tiering, leider wieder mal viel zu kompliziert. (Mal sehen wie ich das in meine Web-Gui integrieren kann)
z.B. https://mh1.photography/microsoft-tiered-storage-spaces/
 
Ich arbeite gerade an Tiering support für Windows Storage Spaces. Da es kaum eine andere Storagetechnologie gibt, die derart flexibel in den Möglichkeiten ist, dabei jedoch sehr nutzerunfreundlich mit vielen Sachn die man manuuell einstelen muss, bin ich auf der Suche nach einfachen Pi * Daumen Regeln. Unter ZFS kommt man damit sehr weit.

siehe https://forums.servethehome.com/ind...ogeneous-serverfarms.42971/page-3#post-433921
 
Napp-it cs für ein Windows NAS mit Web-Gui, Storage Spaces and ZFS ist soweit Feature Complete.
Wer ein Feature vermisst, bitte melden.

https://www.napp-it.org/doc/downloads/napp-it_cs_windows.pdf

Insbesondere das Handling und die übersichtliche Darstellung von Windows Physical/Virtual Harddisks, Storage Pools, Storage Spaces, Storage Tiers, Volumes und Partitions habe ich damit hoffentlich deutlich verbessert. Nur mit Powershell und Windows Tools ist das selbst nach intensiver Suche in Online Manuals and HowTos ein Graus. Die Bing und Google KIs sind da auch nur sehr bedingt hilfreich und liefern meist nicht funktionierende Lösungen.

Wie schaffen es die "Windows Storage Experts" nur mit Microsoft Storage klarzukommen ohne das ausschließlich und täglich zu machen?
Naja, ich hoffe dass meine Web-Gui hilft, leichter damit klarzukommen, auch als normaler Computernutzer.

ZFS wird hoffentlich bald auch unter Windows breiter nutzbar sein und dann hat man beides unter einer GUI.
 
Problem: Access Error beim Zugriff auf ein SMB Share via \\ip nach Neuinstallation des NAS oder Ändern des AD wenn der Zugriff z.B. über eine andere Adresse z.B. \\hostname funktioniert

 
Informationen zu ZFS-Dedup
Echtzeit-Deduplizierung ist eines der Killerfeatures von ZFS, da es die erforderliche Kapazität für redundante Datenblöcke enorm reduzieren kann. Dadurch kann auch die Leistung gesteigert werden, da weniger Daten in den Pool geschrieben oder aus ihm gelesen werden müssen. Obwohl Deduplizierung pro Dateisystem aktiviert werden kann, erstellt sie Deduplizierungstabellen, die im gesamten Pool funktionieren. Nach der Aktivierung kann man sie nicht mehr deaktivieren.

Herkömmliche Deduplizierung
Außer mit Dedup2 im nativen Oracle Solaris ZFS war Deduplizierung in der Vergangenheit eine Funktion, die in den meisten Fällen vermieden werden sollte, da sie den gesamten RAM auffressen und katastrophale Auswirkungen auf die Leistung haben kann und selbst bei kleineren Deduplizierungstabellen die Leistung negativ beeinflusste, da keine Optionen zum Begrenzen oder Bereinigen der Deduplizierungstabellen vorhanden waren. Ein spezielles Dedup-vdev kann die negativen Auswirkungen auf RAM-Nutzung und Leistung begrenzen.

Fast Dedup in Open-ZFS
Die neue Funktion „Fast Dedup“ kann bahnbrechend sein, da sie die Aktivierung von Deduplizierung in den meisten Fällen genau wie bei der Komprimierung ermöglicht und dabei meist mehr Vorteile als Nachteile mit sich bringt, da RAM-Nutzung, DDT-Größen, DDT-Bereinigung und die Gesamtleistung massive Verbesserungen erfahren haben.
Man kann Fast Dedup im Menü Pools > ZFS > Features (neuestes Open-ZFS) aktivieren.

Eigenschaften des Fast-Dedup-Pools
dedup_table_size: die Gesamtgröße aller DDTs im Pool und
dedup_table_quota: die maximal mögliche Größe aller DDTs im Pool.

Wenn diese Option festgelegt ist, wird die Quote beachtet, wenn ein neuer Eintrag erstellt werden soll. Wenn der Pool seine Dedup-Quote überschreitet, wird der Eintrag nicht erstellt und der entsprechende Schreibvorgang wird in einen regulären nicht-Dedup-Schreibvorgang umgewandelt.

dedup_table_quota kann auf „auto“ festgelegt werden, wodurch es auf die Größe eines dedup-vdev begrenzt wird, sodass keine neuen Blöcke dedupliziert werden, wenn das vdev voll ist.

Fast Dedup befindet sich derzeit im Open-ZFS 2.2.6 Master und ist bald verfügbar (bereits in Open-ZFS unter Windows 2.2.6 rc für erste Tests). Ohne Fast Dedup (Open-ZFS) oder Dedup2 (Solaris) sollte Dedup in den meisten Fällen vermieden werden .

Fast Dedup-Einstellungen im nächsten napp-it cs mit Open-ZFS 2.2.6 rc1 unter Windows oder einem anderen ZFS-Server, sobald Fast Dedup verfügbar ist.

1725657278030.png
 
Die einfachste und schnellste Methode um ZFS Dateisysteme zwischen OpenZFS Servern zu übertragen ist netcat
http://www.unixsamurai.com/zfs-send-and-receive-with-netcat/

Netcat ist bei BSD, Illumos, Linux und OSX enthalten. Man muss allenfalls die Parameter des Befehls leicht anpassen. Ich nutze das in napp-it cs für Replikationsjobs any to any innerhalb einer Servergruppe. Bei Windows gab/gibts Probleme mit netcat

Aktueller Stand mit ZFS on Windows.
Grundsätzlich geht Replication send und receive mit ncat von nmap. Das ist ein single binary .exe,

Syntax für zfs send -> Proxmox:
zfs send tank/data@1 | C:\xampp\web-gui\ncat\ncat.exe -v --send-only 192.168.2.71 53087

Receive z.B. unter Proxmox
root@pve:~# nc -l -p 53087 | zfs receive -v tank/win

Der umgekehrte Weg z.B. Proxmox -> Windows geht auch
C:\xampp\web-gui\ncat\ncat.exe -v -l -p 53087 | zfs receive -v tank/pve4

und send von Proxmox:
root@pve:~# zfs send tank/data@1 | pv | nc 192.168.2.65 53087

zfs receive unter Windows überträgt zwar das Dateisystem, beendet sich nach dem Transfer nicht.
siehe Diskussion unter https://github.com/openzfsonwindows/openzfs/discussions/402
 
Aktuell das Heißeste bei High Performance Storage ist RDMA z.B. SMB Direct.

Mit RDMA kann eine sehr viel höhere Performance im LAN erreicht werden als bei klassischen ip basierten Übertragungen und das bei gleichzeitig viel niedrigerer Latenz und CPU Last. Wichtig wird das bei Netzwerkkarten ab 10G für Anwendungen wie Bild oder Videobearbeitung, VM Storage oder schnelles Backup.

Man benötigt RDMA fähige Netzwerkkarten oder Switche, einen SMB Server der RDMA serverseits beherrscht und RDMA fähige Clients. Man kann auch ein vorhandenes 1G Netzwerk für normale Sachen weiternutzen und einzelne Clients direct nic to nic ohne Switch anbinden. Die Standardlösung dazu ist ein Windows Server OS mit Windows 11 als Client. Als Serveralternative kann man Linux mit ZFS z.B. Proxmox mit dem ksmbd SMB Server nehmen der auch RDMA beherrscht. Das aktuelle napp-it cs habe ich so angepasst, dass ein installierter ksmbd genutzt wird.

z.B. SMB Sharing unter Proxmox

1729614263743.png
 
Update
Unter Linux (Proxmox) kann man jetzt auch NFS sharing im Menü ZFS Dateisysteme aktivieren/deaktivieren (per ZFS Dateisystem). Proxmox ist mein primäres Linux OS da es ähnlich wie TNS direkt ZFS beinhaltet aber ohne dessen Restriktionen daherkommt.
 
Die Cache Verarbeitung ist jetzt aktiv. Damit werden zeitkritische Aktionen gepuffert. Vor allem Windows profitiert davon. Die Abarbeitung von Powershell Befehlen z.B. Platten oder Dateisysteme listen dauert sonst relativ lange. Mit dem Topmenü Cache kann man das deaktivieren.

Bei einem Update unter Windows den /xampp/web-gui/data Ordner ersetzen. Unter anderen Betriebssystemen den cs_server Ordner ersetzen und neu starten. Napp-it cs ist damit jetzt ziemlich feature complete
 
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