Not sure whether I should have bumped this topic or made a new one.
The Windows 10 Creator's Update seems to have enabled ReFS v3.2 as an officially-sanctioned file system for formatting drives now - at least on Win 10 Pro; not sure about Home.
Previously, Windows 8.1 or earlier versions of Windows 10 required registry tweaks to do this, and would format drives as ReFS v1.2.
However it looks like it may be removed in the Fall Creator's Update, based on what they're doing with Insider Builds,
since they are now introducing Windows 10 Pro for Workstations which lists ReFS support as one of its features. But for now, there are a few important things:
If you are using stand-alone drives rather than Storage Spaces, they need to be reformatted if you want to upgrade to v3.2
Integrity Streams (checksums) are not enabled by default and this is true of any drive which was formatted without specifically enabling it.
You can check this in an elevated PowerShell window using
Get-FileIntegrity D:
Where D: is your drive. This should report that it is both enabled and enforced.
Now you can apparently enable integrity streams on a drive with:
Set-FileIntegrity D:\ -Enable $True
But this did not work for any of my drives - perhaps because they were formatted with ReFS v1.2
You can check the version using
fsutil fsinfo refsinfo D:
To format a drive and enable integrity streams, use:
format D: /FS:ReFS /I:enable /Q
This will format the drive with 4K clusters,
which is what Microsoft recommends by default.However people have reported
significant memory usage and other issues with 4K clusters on large ReFS drives/pools, and 4K clusters use CRC32 checksums, while 64K clusters use CRC64 checksums. (I'm not sure if that matters)
To format a drive with 64K clusters and enable integrity streams, use:
format D: /FS:ReFS /A:64K /I:enable /Q
This worked fine for me initially, but once I had more than one 8TB drive using ReFS with integrity streams enabled, certain tasks such as DrivePool rebalancing would cause "metafile" memory usage to fill all of the available RAM. (30/32GB)
To address this, I had to use all three options from this page:
https://support.microsoft.com/en-us/help/4016173/fix-heavy-memory-usage-in-refs-on-windows-server-2016-and-windows-10RefsEnableLargeWorkingSetTrim = 1
RefsNumberOfChunksToTrim = 32
RefsEnableInlineTrim = 1
Now I don't know what is going to happen with the Fall Creator's Update or going forward, but I think part of the reason that many of us chose to use ReFS was due to the integrity stream feature.
But without Windows 8.1/10 supporting ReFS officially, I don't believe the tools required were present to actually confirm whether it was enabled or not.
Really, I think that all ReFS got us over NTFS was copy-on-write behavior. (at least I don't think NTFS uses it?)
But I'm not even sure if there's much benefit to Integrity Streams if you aren't using Storage Spaces.
Perhaps someone here is more knowledgeable on the subject.