ZFS vs ReFS

Hi Everyone,

I am going to build a NAS for network storage.
For this i want a filesystem thats doing parity check like ZFS to maintain data integrity.
Also i need a Filesystem that is capable of upgrading with more disks in the future. As fas as i know this is not supported in ZFS right now.

Now someone pointed me to ReFS, wich is new in windows server 2012R2.
As i am running a hybrid infrastructure using windows is an option to me, and would even be preferred, as all clients are running windows with active directory.

My question now is does anyone have ever used ReFS and can give me a short opinion on how reliable this filesystem is in production ??
And does it do checksumes like ZFS for data integrity. I must have this feature. But i am not shure how good ReFS does the job.

I have used ReFS for a small number of systems. I’ve not had any problems as such but like ZFS, or any other filesystem you will sometimes find limitations. I’ve only used it for basic mirroring, but no issues, and I have been able to add more disks to the pool and retire old ones etc. ReFS checksums the files, you are covered on that point.

If I was looking to deploy today I would use Server 2016 over 2012 R2, not all enhancements that MS made to ReFS have been back-ported. I’ve heard about some weird bugs with some MS products like SQL Server and ReFS, but I think those have mostly been ironed out now in the latest Windows/SQL Server releases.

You should probably start with this doc: https://docs.microsoft.com/en-us/windows-server/storage/refs/refs-overview

TBH my biggest gripe with Microsoft and ReFS is that they have decided to remove it from Win 10 Pro - you can no longer create new storagepools with ReFS - although you can still use pre-existing ones, but its on that front FOSS stuff wins and why my home NAS is now on FreeNAS instead of Windows.

Microsoft was going to introduce a new flavour of Windows 10 Pro - the “Windows 10 Pro for Workstations”, that should have ReFS (and will probably cost more than regular Pro).

I’m aware. I’m not going to get into it though, I don’t want to derail the OP’s thread on ReFS :slight_smile:

  1. I think it was Q3 or Q4 last year that ZFS gained the ability to add disks to RAIDZ volumes.

  2. At last check, ReFS was only able to scrape together performance using mirrors. Any type of standard RAID setup resulted in godawful slow performance. Take this with a grain of salt, the last time I gave ReFS any attention was over a year ago.

  3. Since you’re asking for an opinion, I’m going to touch on what BGL mentioned. Microsoft removed ReFS support from Win 10 Pro. This is, to me, possibly the biggest black mark on ReFS. That Microsoft can just up and decide that an OS that I bought and paid for shouldn’t have support for something that could very well have entered into my decision to purchase the OS is absolutely unacceptable. Unacceptable from a business perspective, and unacceptable from a reliability perspective.

4 Likes

open source ftw

I have used neither, but I’d pick ZFS for similar reasons as @Levitance has already mentioned. Furthermore, it has been around for quite a while and has been tested by many people. It will also be supported a long time. With ReFS you never know if/when MS decides it is no longer supported, because “reasons”.

1 Like

Run ZFS. ReFS doesn’t have the age that ZFS does.

Thanks for all your suggestions.

I think I will go with ZFS, as it seems to be more stable.

I just found out, that there is a beta port for ZFS on Windows
https://github.com/openzfsonwindows/ZFSin

I will give this a try in an lab environment.
If this doesn’t work well I’ll have to go with CentOS and Samba then

2 Likes

You’re building a NAS here, do you really want to fool around with untested ghetto stuff like ZFS on Windows? Do you not care about your data? Build it on Linux.

Let me know how the ZFSonWindows deployment works out. I’m not too confident about it, but I’m interested.

1 Like

There are two ways to grow a zpool:
1) replace the drives in a vdev with larger disks (one at a time and allow for rebuilds)
2) add more vdevs to the zpool.

1 Like