ZFS on OSX and Windows

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

gea

Well-Known Member
Dec 31, 2010
3,665
1,447
113
DE
zfs-windows-2.3.1rc11 Latest

rc11

  • Rewrite OpenZVOL.sys installer, change to SCSIAdapter
  • BSOD in zfs_ctldir zfs_parent()
  • zfs_write deadlock, locking against self
  • Do not advertise block cloning if disabled
  • Correct FILENAME for streams

download: Releases · openzfsonwindows/openzfs
issues: openzfsonwindows/openzfs

problems I have seen
After an update it can happen that you must run the installer twice
When opening a ZFS volume you can get a message about corrupted recycle bin
 

bugacha

Active Member
Sep 21, 2024
515
159
43
zfs-windows-2.3.1rc11 Latest

rc11

  • Rewrite OpenZVOL.sys installer, change to SCSIAdapter
  • BSOD in zfs_ctldir zfs_parent()
  • zfs_write deadlock, locking against self
  • Do not advertise block cloning if disabled
  • Correct FILENAME for streams

download: Releases · openzfsonwindows/openzfs
issues: openzfsonwindows/openzfs

problems I have seen
After an update it can happen that you must run the installer twice
When opening a ZFS volume you can get a message about corrupted recycle bin
Is it Debug build or Release build ?
 

gea

Well-Known Member
Dec 31, 2010
3,665
1,447
113
DE
OpenZFS on Windows 2.3.1 rc11 has a bug with annoying messages of a corrupted recycle bin when deleting files.
There is a rc11 v2 edition that fixes this (on updates you may need to run the installer twice)

 

gea

Well-Known Member
Dec 31, 2010
3,665
1,447
113
DE
openzfs-windows-2.3.1rc12



rc12
  • Attempt to fix the double-install issue
  • Fix BSOD in OpenZVOL re-install
  • Unlinked_drain leaked znodes, stalling export/unmount
  • zfsinstaller attempts to export before install
  • oplock fixes
  • hide Security.NTACL better
  • zfs_link/hardlinks has replace option under Windows.
  • fix deadlock in file IO
  • fixes to Security, gid work.
 

gea

Well-Known Member
Dec 31, 2010
3,665
1,447
113
DE
OpenZFS for Windows 2.3.1 rc13


Still a release candidate/beta but already quite good with in most cases uncritical remaining issues.
Test it and report issues back to have a stable asap.

OpenZFS for Windows 2.3.1 rc13

Releases · openzfsonwindows/openzfs

Issues
openzfsonwindows/openzfs

rc13
  • Use stable paths to disks, log and l2arc
  • Add Registry sample to enable crash dumps for zpool.exe and zfs.exe
  • Change .exe linking to include debug symbols
  • Rewrite getmntany()/getmntent() to be threadsafe (zpool crash)
  • Mount fix, if reparsepoint existed it would fail to remove before mounting
  • Reparsepoints failed to take into account the Alternate Stream name, creating random Zone.Identifiers
Also contains a Proof Of Concept zfs_tray.exe icon utility, to show how it could be implemented, and communicate with elevated service, and link with libzfs. Simple Import, Export, Status is there, although it does not fully import ). The hope is that someone would be tempted to keep working on it. It was written with ChatGPT using vibe coding, so clearly you don't even need to be a developer :)
 

gea

Well-Known Member
Dec 31, 2010
3,665
1,447
113
DE
OpenZFS for Windows 2.3.1 rc14

Still a release candidate/beta but already quite good with in most cases uncritical remaining issues.
Test it and report issues back to have a stable asap.


Download OpenZFS driver
Releases · openzfsonwindows/openzfs

Issues
openzfsonwindows/openzfs

rc14
  • Handle devices that are failed, ejected or removed, a bit better.
  • Fix rename, in particularly on SMB
  • Add basic sharesmb support
  • Fix "zpool clear" BSOD
  • Fix crypto file:// usage
  • zfs_tray add mount/unmount, password prompt.
 

gea

Well-Known Member
Dec 31, 2010
3,665
1,447
113
DE
Windows Server has some genuine advantages like SMB Direkt (rdma nics > 10G), Active Directory with worldwide unique ntfs ACL and groups in groups, extra server services, better Storage Spaces Management, usability and some more.

For Soho, Windows Server Essentials is best for up to 25 user and 50 devices and max 1 server per user
RAM, CPU/Core number can be limited, different for 2019/2022/2025.

cheap offer for example

https://www.trustpilot.com/review/digitlogs.com
Buy Windows Server 2019 Essentials Key – Genuine License

anyone with experience with digitlogs?
 

gea

Well-Known Member
Dec 31, 2010
3,665
1,447
113
DE
While I am still waiting for a howto for a working Linux ksmbd server with SMB Direct/rdma and Windows clients, there are many infos for a troublefree working ultrafast Windows Server NAS setup with SMB Direct and up to 10Gbyte/s:

SMB Direct/rdma and Windows Server (cheap Windows 2019 Essentials is mostly ok with 25 users/ 50 devices included)

The key for ultrafast NAS transfers is SMB Direct/rdma. With 25G nics you can get a NAS performance similar to a local NVMe (3GB/s) with lowest latency and CPU load. With 100G you can even go up to 10 GB/s over SMB.
Especially for multi-user 4/8k video use cases such a performance is wanted for editing directly from NAS

Windows Server supports SMB Direct up from Server 2012 and is still the best option for SMB Direct as it is a „it just works“ solution. The only alternative is ksmbd on Linux but I have not seen a success story for SMB Direct and Windows clients up to now.

SMB Direct requirements
You need RDMA capable nics 25-100G that should support RoCE v2 (RDMA over Converged Ethernet)
Most common are Mellanox ConnectX 4-6 (single or dualport) or Intel E810 (up to 4x25G, or low profile)

You can use direct cabling
between a Windows Server NAS and Linux or Windows 11 Pro clients with DAC cables (passive up to 5m or active ones). This is the cheapest and most power efficient method as you do not need a 100G sitch. A power
efficient nic like a ConnectX- 4LX is under 10W with DAC cables. For normal communication you can use your 1-10G nic
connected to your current switch or router.

The alternative is a 100G switch.
A cheap 25W option with 4x100G is a Mikrotik CRS504-4XQ with newest firmware to support RoCEv2,

Switch setup

Example

Linux client setup

Windows Client setup

and infos about NVMe tuning for newest Windows 11 and Server 2025
 
Last edited:

gea

Well-Known Member
Dec 31, 2010
3,665
1,447
113
DE
OpenZFS on OSX and Windows, current state:

OpenZFS on OSX 2.3.1 released


improvements around Raid-Z expansion, vdev rebalance and Fast Dedup

OpenZFS on OSX 2.4 release candidate
improvements around performance and management
Check known issues prior use and report new issues

- faster encryption
- default quotas
- special vdev with Slog functionality (perfect for hybrid pools)
- less fragmentation


OpenZFS on Windows 2.3.1 release candidate 14
Check known issues prior use and report new issues

Windows behaves different on mounts, volumes and locking with much more hardware and software options.
This is why the Windows port is more complicated than the Linux or OSX port and requires mor testings with different hard and software

I hope for the same state on Windows than on OSX asap.
 
  • Like
Reactions: unwind-protect

gea

Well-Known Member
Dec 31, 2010
3,665
1,447
113
DE
OpenZFS on Windows v 2.4.1 pre release available

Main improvement of 2.4 are around hybrid pools
- special vdev is used as slog for sync writes
- special vdev can hold zvol data
- special vdev can hold metadata of a filesystem (small block size 0)
- special vdev can hold small files of a filesystem (small block size < filesize)
- special vdev can hold all files of a filesystem recsize <= small block size)
- you can move files between hd and flash with zfs rewrite

- improved encryption performance
- reduced fragmentation

Please report issues (new ones or remaining issues from 2.3)
 

gea

Well-Known Member
Dec 31, 2010
3,665
1,447
113
DE
OpenZFS on Windows-2.4.1rc4 Pre-release

Releases · openzfsonwindows/openzfs
openzfsonwindows/openzfs

Hope, this is the new release candidate as 2.4.1 is perfect for hybrid pools (hd+nvme)

** rc4
  • Rewrite the Delete file/dir framework
  • Fix Events notifcation for Explorer progress [1]
  • Fix BSOD in delete print
  • Fix zdb
[1] I have noticed that sometimes Explorer does not update Progress when deleting with recycle.bin. It says "calculating"
the whole time, and gets removed when deletion completes - appearing as if frozen.
 
Last edited:

gea

Well-Known Member
Dec 31, 2010
3,665
1,447
113
DE
new zfs-windows-2.4.1rc5 Pre-release

** rc5

  • Fix boot crash - ULONG tunables accessed 64bit
 

gea

Well-Known Member
Dec 31, 2010
3,665
1,447
113
DE
new zfs-windows-2.4.1rc6 Pre-release

** rc6
  • Fix write crash due to signed enum
This release we feel some confidence in.
 

gea

Well-Known Member
Dec 31, 2010
3,665
1,447
113
DE
new zfs-windows-2.4.1rc6-1 Pre-release

** rc6 -1
Debug release to check for a Blake3 problem
 

gea

Well-Known Member
Dec 31, 2010
3,665
1,447
113
DE
Considerations when Migrating from Storage Spaces (Windows Software RAID) to ZFS Software RAID

The highlight of Storage Spaces is the flexible use of Hybrid Pools (HDD+Flash) via Auto Tiering of "hot" data between the two, as well as the assignment of Spaces to either HDD or Flash. ZFS does not use this "last access" hot-tiering concept. Instead, ZFS utilizes a different tiering approach based on the physical data type (metadata), file size, or specific settings (small block size vs. recordsize) per ZFS dataset (filesystem or Zvol). Moving data isn't scheduled by time as in Storage Spaces, but occurs via a "ZFS rewrite" with adjusted settings. Both concepts have pros and cons. I find the ZFS approach superior because it aims to keep small, slow-access data on Flash and large, non-critical data on HDD from the start. This eliminates background re-copying (which costs time and creates load) and provides a "zero config" operation that is much simpler.

A ZFS Hybrid Pool consists of two RAID arrays (vdevs): one on HDD and one on Flash. If you want RAID redundancy, both must have similar reliability. The Flash array (special vdev) should typically be between 10% and 50% of the HDD capacity, depending on how much data you want on fast Flash.

A typical pool allowing for the failure of any single drive:

  • 2 x 20TB HDD Mirror
  • 2 x 2TB Flash Special VDEV Mirror
  • (Total Pool Capacity: 22 TB)
Only with a very high count of HDDs (e.g., 32 x HDD in multiple vdevs) you should consider a 3-way mirror for the special vdev to ensure both tiers have matching reliability. Currently, special vdevs only support mirroring; however, RAID-Z support is planned for a future version. Both vdev types can be expanded by adding further vdevs.

Another highlight of Storage Spaces is the flexible use of a pool containing different-sized drives, where redundancy is defined per Space rather than per Pool. Small Spaces then utilize the smaller drives. Classic RAID, like ZFS, cannot do this currently. However, "AnyRaid" (RAID Expansion/dRAID improvements) is on the horizon. It distributes RAID across "tiles," allowing it to work with mismatched drive sizes—expected in OpenZFS 2.5 or 2.6. This is essentially an evolution of the Synology SHR concept.

Another feature of Storage Spaces is dedup + compress (depending on the Windows version). Windows Dedup works efficiently "offline" (post-processing). ZFS Fast Dedup is real-time deduplication and therefore requires more resources (RAM). Even with modern Fast Dedup, it should only be activated if you expect a significant deduplication ratio. However, you can now prune (shrink) and limit the size of dedup tables, as well as leverage special vdevs and ARC. Classic ZFS Dedup should never be used due to its numerous drawbacks. For ZFS Fast Dedup, you should use the fast BLAKE3 hash algorithm (available since Windows OpenZFS 2.4.1 rc6-1).

Windows protects Atomic Writes (which must never be partially executed) during a crash on NTFS only when combined with hardware RAID + BBU/Flash protection. ReFS volumes are as secure as ZFS in this regard thanks to Copy-on-Write (CoW), though they lack ZFS's broader feature set.

A further highlight of Storage Spaces is fast, flexible virtual disks (.vhdx) that can also reside on SMB. This feature stems from Hyper-V VM management. It allows for "RAID over LAN" and replaces iSCSI (local disks from remote storage) with zero configuration effort. With SMB Direct/RDMA, it is exceptionally fast. This also works for ZFS.

NTFS ACL permissions (a revelation if you are coming from SAMBA and Linux) work with NTFS, ReFS, and ZFS.

Miscellaneous
  • L2ARC: This is a fast ZFS read cache on Flash. It has become largely obsolete with Hybrid Pools, as the latter accelerates both reads and writes.
  • SLOG: (Protection for the RAM write cache) is no longer required in a Hybrid Pool starting with OpenZFS 2.4, as the log now lands on the special vdev.
  • Power Loss Protection (PLP): Essential for Flash in a single SLOG setup. With a mirrored SLOG or special vdev, the risk of data loss after a power failure is low.