Pinterest Stumbleupon Whatsapp
Ads by Google

NTFS (New Technology File System) has been the primary file system From FAT To NTFS To ZFS: File Systems Demystified [MakeUseOf Explains] From FAT To NTFS To ZFS: File Systems Demystified [MakeUseOf Explains] Do you really know what your hard drive does whenever you read a file from it or write one to it? Our hard drives can now store massive amounts of data, and that massive space... Read More  since Windows XP, as well as Windows-based servers since Windows NT 3.1. And it is showing its age. With the amount of data being processed today, NTFS-based storage devices face serious limitations that need to be overcome. Enter ReFS (Resilient File System), a new file system introduced by Microsoft in 2012.

Among the limitations addressed by ReFS are data and metadata integrity; file, directory, and volume sizes limitations; and resiliency to data corruption with built-in salvage operations that maintain maximum volume accessibility. These changes are not only for large corporations and data centers. They will also benefit many other types of users. Video editors, photographers, audio editors, and file/data hoarders are all likely to find ReFS very useful.

If you’re wondering which improvements ReFS offers in detail, which features are still missing, and how you can use this complimentary file system right now, read on!

What Has Changed from NTFS to ReFS?

NTFS has a number of features that have been removed for ReFS. It only supports a subset of the Win32 file system APIs (Application Programming Interfaces). Compression, file-level encryption via the Encrypting File System (EFS), transactions, hard links, extended attributes, and disk quotas have all been removed. It cannot be used as a boot file system, cannot be used on removable devices, and there is no provision to do an in-place conversion from any other format to ReFS, like there was moving from FAT16 to FAT32 or NTFS file systems.

ntfs-refs-info

With all of those features going away, you may wonder what it brings to the table. Let’s look at some of the benefits of using ReFS:

Ads by Google
  1. It uses B+ trees for all on-disk structures, not just metadata, allowing very large files and directories without the performance impact seen with NTFS.
  2. It use of 64-bit integers for the limits on file size, number of files per folder, total volume size, and number of folders in a volume dwarfs the capabilities of NTFS. The maximum file size is 16 exabytes, maximum number of directories is 18.4 quintillion (short scale), and maximum volume size is 1 yottabyte or 1 trillion terabyes.
  3. It provides increased resilience by using allocation-on-write for updates, so it is not overwriting existing data during an update.
  4. It uses large I/O batches to increase performance.
  5. All metadata has independently stored 64-bit checksums.
  6. It allows optional integrity streams for file data checksums.
  7. It eliminates need for CHKDSK Stuck on CHKDSK? How to Use & Fix It the Right Way Stuck on CHKDSK? How to Use & Fix It the Right Way CHKDSK can seriously deflate your Windows boot time. More importantly, it indicates that something's not right. Here's what Check Disk does and how you can use it. Read More or other error-checking tools.
  8. It maintains compatibility with most existing file system filters.
  9. It supports BitLocker encryption Free Military-Grade Privacy For Your Files: How Bitlocker Works [Windows] Free Military-Grade Privacy For Your Files: How Bitlocker Works [Windows] Ever heard that quote about trying to explain how a television works to an ant? I'm not calling you an ant, even though you are hard-working and enjoy the occasional sip of aphid milk. What... Read More , ACLs, USN Journaling, change notifications, symbolic links, junction points, mount points, reparse points, volume snapshots, file IDs, and opportunistic locking.
  10. It leverages existing file system APIs.
  11. Metadata is periodically scrubbed by reading it and performing checksum verification.

Storage Spaces in Windows 8 & Up

When ReFS is used in conjunction with mirrored storage using Storage Spaces, a storage virtualization layer Low Disk Space? 5 Native Windows Tools To Free Up Storage Space Low Disk Space? 5 Native Windows Tools To Free Up Storage Space Don't download a fishy third party tool to reclaim valuable disk space! Windows has its own tools for the job and they're easy to use. Read More built into Windows 8 and later, it can also perform automated error correction. The same type of data scrubbing that is performed on the metadata can be optionally enabled for data files on mirrored drives What Is RAID Storage & Can I Use It On My Home PC? [Technology Explained] What Is RAID Storage & Can I Use It On My Home PC? [Technology Explained] RAID is an acronym for Redundant Array of Independent Disks, and it’s a core feature of server hardware that ensures data integrity. It’s also just a fancy word for two or more hard disks connected... Read More . In this case, all mirrored copies of files are read and verified using their checksums. Any bad copies found will be replaced with good copies of the file.

What Is the Development Status of ReFS?

Users do need to be mindful that ReFS in its current iteration is not meant to be a replacement for NTFS. Instead, it is a complimentary file system, designed to handle tasks where NTFS falls short, such as file and data archival servers.

Digital File System

Later versions of ReFS may very well replace NTFS as the default Windows file system, but it isn’t going to happen soon. After all, it took NTFS 8 years from its introduction until it became the default file system for consumers in Windows XP.

Despite some rumors, this is not a beta product, although it is not yet feature complete. Much like the development of NTFS, it will continue to gain features during its lifetime. Some of the features it is “missing” compared to NTFS will come back. Disk quotas, encryption, and the ability to use it as a boot device are the immediate candidates that come to mind.

How to Use ReFS Now?

There are two different ways you can use ReFS on Windows 8.1 and 10. The first is by creating a mirrored storage space and formatting that with ReFS. The second involves a temporary registry hack that will allow you to format a single non-mirrored drive with ReFS.

How to Implement ReFS With Storage Spaces

To use ReFS in conjunction with storage spaces, you will need at least two currently unused physical hard drives or you can create virtual hard drives instead.

create-attach-vhd

To create VHD files, open the Disk Management console (right-click Start > Disk Management) then select Action > Create VHD. Supply a name for the file, choose a size, and ensure that the Fixed size option is selected. Using a thin-provisioned (dynamically sized) virtual disk may cause problems if you run out of physical hard drive space before the virtual disk has reached its maximum size. Click on OK to create and attach the VHD to the system.

Once you have both hard drives ready for use, you need to create your storage pool and the new virtual (mirrored) drive.

cpl-storage-spaces

Open Control Panel > Storage Spaces and click the link to Create new storage pool and storage space.

create-pool

Select the unused drives you want to add to the storage pool and click Create pool.

create-storage-space

Next, give your storage space a name (effectively a volume label), drive letter, and select the REFS format for the new virtual drive. In order to use ReFS, the Resiliency type must be either Two-way mirror or Three-way mirror. Selecting Simple or Parity will revert to NTFS. The note under the drop-down list will tell you the minimum number of drives required to use that option. Click Create storage space when done.

This will create, format, and mount the drive, which is then ready for use.

How to Implement ReFS Without Storage Spaces

There is a way to use a single, non-mirrored drive as an ReFS drive, but it does lose some of its resiliency advantages when used in this manner. Keep in mind that a drive formatted as ReFS cannot be used as a boot device.

To do this, you will need to create a new registry key. Open the registry editor What Is The Windows Registry Editor & How Do I Use It? [MakeUseOf Explains] What Is The Windows Registry Editor & How Do I Use It? [MakeUseOf Explains] The Windows registry can be scary at first glance. It’s a place where power users can change a wide variety of settings that aren’t exposed elsewhere. If you’re searching for how to change something in... Read More (Start > type regedt32 > Enter). Navigate to the key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control. Create a new key (right-click on the Control leaf > New – Key) called MiniNT. Under MiniNT, create a new DWORD (right-click on empty space in the right pane > New – DWORD) called AllowRefsFormatOverNonmirrorVolume and give it a value of 1. Reboot your computer for this change to take effect.

refs-registry-key

Once you have rebooted your computer, you can now format a drive using the GUI, or the command line tools format or diskpart. Using the GUI to do this will leave integrity streams disabled since it is not using mirrored drives. Using the format command from the command line, you will need to add the /fs:refs flag to format it as an ReFS drive and integrity streams for data may be enabled by using the /i:enable option.

Once the drive has been formatted, open the registry editor again and remove the MiniNT key we previously added, then reboot your computer. Leaving this key in may cause problems on your computer by making some components think it is running in a preinstallation environment.

How Well Does It Work?

I have been playing with this off and on for a little over a month and have not run into any problems at all. I have even disconnected drives and shut down the system while copying files to see if it lives up to its name. Overall, I must say “resilient” really does describe this file system. Even with the abuse I have handed out, I have yet to lose a single byte of data.

Even so, this does not eliminate the need for good backups 6 Safest Ways to Backup & Restore Your Files in Windows 7 & 8 6 Safest Ways to Backup & Restore Your Files in Windows 7 & 8 By now, we're sure you've read the advice over and over: Everyone needs to back up their files. But deciding to back up your files is only part of the process. There are so many... Read More . A meteor crashing through your computer isn’t likely to leave enough hardware behind for any kind of recovery.

I was planning on building a FreeNAS server for my home network next year. This has me considering building a Windows 2016 storage server instead.

Has anyone else been dabbling with ReFS or are you now considering a look at it? Have you had any issues with it? Were you able to work around them? Let us know in the comments below!

Image credit: File cabinets by Andrea Danti via Shutterstock.com

  1. unisol-ua
    July 29, 2016 at 6:57 am

    The argument " After all, it took NTFS 8 years from its introduction until it became the default file system for consumers in Windows XP." is completely incorrect.
    Windows NT 4.0 had way greater memory requirements than Win95 - 12MB RAM (to install it could need 16MB) vs 4MB was like $200 extra only to get it running. Windows XP was the first consumer NT-based OS, it was the first and only OS to provide usable legacy DOS emulation (you simply couldn't e.g. play Doom 2 with sound under Win2000 or WinNT 4.0). And it became possible to hit consumers with NT-based OS only as prices for RAM have dropped to appropriate level and only after you could run your legacy DOS application w/o much trouble (there was still trouble e.g. with reading 1.7MB formatted 3.5" floppy disks - the MSDOS driver needed to access hardware directly).

  2. Martin Lebel
    June 9, 2016 at 7:32 pm

    WARNING !
    DO NOT ENABLE ReFS on Windows 10 (tested at build 14342)

    My machine has 2 SSD, a Samsung 850 PRO 512Gb for the main OS and a Samsung 850 PRO 1TB for my data dump. I have a bad practice of dragging and dropping the URL icon from Google Chrome browser to create a link (shortcut) on my desktop for the site I'm currently browsing and then I carefully store that link file within my hierarchy of sub-folders in my D:\ drive (the data dump). This will often create a file name of 255 characters itself busting the limit supported by NTFS and once the file is created, it canot be moved or deleted without special commands which is a pain in the ass.

    That's when I said to myslef: Let's try ReFS. So I followed the instruction provided on this site and it worked. I was able to format my D:\ drive using ReFS and moved back all my data onto it. Sadly, this didn't solved my issue with the max path length but anyway, let's keep the drive formatted that way.

    Then, A LOT OF PROBLEMS started to appears and they were system wide, event if the ReFS drive was not directly involved or even disabled (SATA-1) in the bios :
    -VSS stopped to work at any level
    -CPU will often be at 90% of capacity.
    -2 distinct process named "Microsoft.NET Error Reporting SHIM" would take 20% processor each.
    -Samsung 850 Pro which have a normal 100 000 IOPS dropped at 14 000 IOPS
    -Windows Event viewer was in error and no logs were available at all saying : "The query is too long"
    -Windows 10 was not able to boot by itself. It has to go trough 3 wrong boot to provide me recovery options where I could just click "Continue to Windows 10" and then obtain my desktop. The thing is it was doing this systematically at every reboot or power on.
    -Windows 10 updates (for windows insiders) were not detected anymore. I got stuck at 14342 even thought 14352 and 14362 were released.
    -.MSI and .MSU (RSAT by examples) files would no install.

    Anyway, after 2 weeks using this feature, I decided to remove the MiniNT key from the registry and give the computer a reboot. Everything things started to work normally.

    It may be a BUG with this particular build of windows 10 or ReFS is trully not meant for Workstation.

    Thank you for reading

    • systeman
      June 12, 2016 at 3:21 am

      Word of advice, don't do registry hacks on preview builds of windows and expect a production or full time system to work properly.

    • unisol-ua
      July 29, 2016 at 8:18 am

      Using ZFS on a single drive is a bad practice. But it has reasons of its own (e.g. compression and it works not the weird way it is on NTFS). Once you get data corruption - you can't access related file(s), once you get metadata corruption - things go really bad. And if you ever download torrent to a single ZFS drive - the performance can be "random access" - I still remember downloading something with eDonkey and seeing 600KB/s read speed. Tweaking ZFS for a mail spool with mbox mailboxes (that is where all your mail is in a single file) on a server required certain steps to get reasonable speed.

      It makes even less reasons to use ReFS on a single drive "at home" - as most of "home" data can be usable even if it gets somewhat damaged - your jpeg photo's, video, mp3 collection - all of it likely will have almost no visible/audible traces of damage if it's just a single bit somewhere - that's what typically called "silent data corruption". With ZFS and single drive/single copy (you can configure multiple data copies on a single drive) you'll get "oops, file error" and the file gets lost after the block that contains error. The same should apply to ReFS. So the only case where you can use ReFS at home is when you have multiple backups of your data on different ReFS-formatted devices and want to be able to check its integrity w/o effort (closest way to achieve this w/o ReFS is to totally zip/rar your data w/o compression or with fastest compression; rar archives support redundancy to recover your data also).

    • Colin Barnhorst
      September 26, 2016 at 2:06 am

      The bug exists in 14393 (Anniversary Update) not just preview builds following it. However, enabling ReFS to format a non-mirrored volume, and then disabling ReFS formatting afterwards works out OK. You don't need to leave ReFS non-mirrored formatting enabled to utilize the newly ReFS formatted volume.

  3. Satoshi Nakamoto
    February 29, 2016 at 2:00 am

    @Bruce Epper If You do not use deduplication, ZFS does not need 1GB MEM ~ 1TB.
    reFS does not even come close to ZFS. You are far too optimistic. With ZFS You have a multitude of possibilities that are not there in reFS, like tripple or double copies of a file (works with blocks too in a iSCSI setting), choose of different compression algorithm by folders, extended sharing possibilities, etc etc. ReFS is like a little chicken compared to a big roadster.

    @Shawn Wayne My Home Lab is a 6 disk RAIDZ2 with 3TD WD RED drives. I did choose FreeNAS because I am used to play with freeBSD. FreeBSD is just the right stuff You need for servers. Create a ZFS Volume for about 95% of the capacity of the pool. Pop in a Qlogic FC HBA, 4GB, (You can buy for cheap price on eBay) then configure it as iSCSI target. You can present the LUN to VMware ESXi as datastore, to Ubuntu (if this is Your desktop) as ext4 or You can install the Windows 2012 x64 drivers, unfortionally, in compat mode Win 8 for QLE26xx, in Windows 10 as additional disk. You can format it with NTFSif You want, with some tweaks you can format it in reFS (if You insist) to have fun of both worlds. In freeNAS there is a plugin to backup Your nas to the cloud.

  4. Kannon Yamada
    November 8, 2015 at 10:43 am

    Fantastic article!

    Thanks for writing this one Bruce, I'm going to migrate to ReFS on my server as soon as I get home.

  5. William Peckham
    November 6, 2015 at 11:36 am

    Interesting article, but where did you get the idea that NTFS came in with XP? NTFS 1.1 (called v4 ) came in with NT4, and the current version 5 came in with Win2000! There have been minor improvements since then, but no major new release.

    • Bruce Epper
      November 6, 2015 at 1:33 pm

      The very first line of the article states: "NTFS (New Technology File System) has been the primary file system since Windows XP, as well as Windows-based servers since Windows NT 3.1"

      The introduction of NTFS version 1.0 came with Windows NT Server 3.1.

      Consumer editions of Windows didn't see NTFS as the default file system until XP showed up on the scene. Until that time, only the server and business editions (NT 4.0 Workstation, Windows 2000 Professional) used it.

      • unisol-ua
        July 29, 2016 at 7:05 am

        Basically consumers didn't see NT technology due to way higher hardware requirements (till the end of 1990s) and issues with legacy apps (Windows XP has got the best ntvdm ever). That's not to mention license pricing (it didn't matter in Ukraine at all - $150/month was not that bad salary, no one tried to combat piracy and today it is not uncommon again).

  6. Florent C
    November 5, 2015 at 9:11 pm

    Great subject, thanks a lot for this article.
    I'm quite curious of testing it now. It's true that since a big article from Microsoft in 2012 that I still have in my bookmarks, there has been almost no talk about this. https://blogs.msdn.com/b/b8/archive/2012/01/16/building-the-next-generation-file-system-for-windows-refs.aspx?Redirected=true
    Now that Windows 10 is ready we may expect it to be released soon. In the meantime, I'll probably give it a try.
    Thanks again for your experience feedback.

    • Bruce Epper
      November 6, 2015 at 2:22 pm

      Thanks, Florent.

      It is still going to be years before Microsoft starts putting effort into getting the word out on ReFS or Storage Spaces for consumers but since it is already in client versions of Windows, there isn't any real harm in trying it out and seeing how it works for you.

      Just remember that every file system, no matter how resilient or how much redundancy you have allotted to it, can still have a catastrophic failure. Make sure you have a backup plan in place that you are periodically testing.

  7. likefun butnot
    November 5, 2015 at 9:01 pm

    I use Storage Spaces on some low-end Windows Server systems. They're really neat, but they're also half-baked unless you're using Business-grade hardware.

    A lot of Storage Spaces functionality isn't available via GUI; it's only exposed via Powershell. That's not a huge deal, and certainly all the important features related to creating and using your disks is implemented, but if you run into issues, you'll find that the tools for dealing with them aren't available without digging in to what would be fairly obscure corners of Windows for someone who is used to dealing with desktop systems.

    It's also fairly easy to get a Storage Spaces configuration built on consumer-grade hardware in a place where the fastest way to fix a problem is to blank your disk array and start over. Smallnetbuilder.com can probably show more tales of woe than I care to recount, e.g. http://www.smallnetbuilder.com/nas/nas-features/31836-data-recovery-tales-when-windows-storage-spaces-go-bad

    Fully featured, Windows Server-based Storage Spaces can include SSD cache drives, hot spares and software RAID6 arrays. Honestly, you can get the same features out of any operating system with ZFS support, but that means boning up on your Solaris/OpenIndiana, FreeBSD or OSX skills and/or dedicating a PC to FreeNAS or the like. The only really nice thing about doing that stuff on Windows is not having to introduce another operating system to the mix.

    • Bruce Epper
      November 6, 2015 at 2:14 pm

      One of the advantages of Storage Spaces and ReFS over ZFS solutions is the memory overhead. As your array size increases, your memory requirements for ZFS explode. In most cases, you are looking at 1GB RAM for every 1TB of drive space. So far, the Windows Storage team has managed to reign in those RAM requirements which may end up being a major factor for businesses with huge data stores or audio/video editors with many terabytes of source material. That said, I still need to set up another test machine with a much larger pool and allocated storage area to verify for myself it scales better, but indications from other tests seem to indicate it does.

      I've been using SS/ReFS on a consumer-grade machine for about 3 months and haven't seen any problems with it. Yes, it doesn't have all of the functionality of the server version, but most consumers won't need it. I would love to see feature parity for both servers and clients, but I just don't see that happening until it gains broad acceptance in the enterprise first, the same way NTFS was brought into the fold in the consumer editions.

      Thanks for the link to tales from the dark side. I'll be reviewing those after I finish here.

      • likefun butnot
        November 6, 2015 at 2:40 pm

        @Bruce Epper,
        I'm most often using deduplication anyway, which pushes RAM requirements back up to that magic 1TB/1GB mark on Windows anyway. The bigger down side with ZFS for me is Samba performs less well than native Windows SMB and I don't want to be bothered to set up NFS for Windows clients.

        And no, consumers won't eve get full access to the ReFS/Storage Spaces. It's part of the five-times-the-cost value of a Windows Server license. I suspect there's probably some combination of hacks to enable it on desktop Windows, much like there always are for Remote Desktop access on non-Pro Windows.

        As an aside, my recipe for a decent start at an entry-level storage server (regardless of platform) is an LSI 9260 ($75) or two, plus an HP SAS expander ($150 - if necessary) in either a Norco or Supermicro chassis (~$150 - $450, depending how many bays are needed). If you're using that stuff at home, add a high quality consumer power supply (Seasonic, PCP&C) rather than a rackmount-style one to make sure the thing is quiet.

        • Bruce Epper
          November 6, 2015 at 8:55 pm

          @likefun,
          Yeah, dedupe functionality is going to wreak havoc with memory requirements for the additional tables its going to want to keep in RAM on any system. I have read a few articles dealing with optimizing systems using ZFS with deduplication where memory requirements were closer to 20GB per terabyte of storage with the aim of keeping the entire ARC in memory.

    • Shawn Wayne
      November 9, 2015 at 9:44 pm

      I have been looking into building a NAS for quite some time and looked into doing ZFS, XFS, BTrFS setup with either FreeNAS, Nas4Free, OpenMediaVault, Universal Media Server, or Serviio. Obviously lots of different choices available, and many niche distros that serve the same purpose or similar purposes. From all the research I have done, I think I may just want to go with FreeNAS with a ZFS file system.

      Here are my needs. I currently have about 3 TB of storage spread out between 3 different drives on my desktop, looking to consolidate all that storage into one space. Would like to expand storage in the future if possible, by easily adding additional drives when needed. Not a huge requirement, but that would be an added bonus. Would need SMB shares for simple windows file sharing between a couple of Windows clients and streaming media using Plex server to my TV.

      Would this type of setup work if I wanted to do either a 3 or 4 disk setup? I would like a little bit of redundancy so I could loose one drive and not loose any data. Am I better off just doing something like a standard EXT4 or XFS RAID in Ubuntu? Any help or thoughts you might have is appreciated. Thanks!

      • Bruce Epper
        November 9, 2015 at 10:26 pm

        I haven't looked at memory usage with XFS or Btrfs, but ZFS pretty much requires a bare minimum of 1 GB RAM per 1 TB of storage space, so depending on your expansion requirements, it may be a limiting factor, especially if you will be using deduplication which will boost the memory requirements to 4 GB RAM or more per 1 TB of storage for decent performance. And, as likefun mentioned above, Samba is going to give you a performance hit as well. So, if you are sharing with more Windows machines than *nix boxes, using a Windows solution for your NAS may be a better performing solution.

        With your (relatively) small storage requirements, using a spare machine with FreeNAS (or your preferred base server for your NAS) and 8 GB of RAM to start should be more than enough as well as providing mechanisms to add space later as you need it.

        You could also do the same thing with a Window 8.1/10 machine on the same hardware using Storage Spaces and ReFS. If you want a parity drive (or two), you will need Windows Server 2012 R2 or later although the mirroring in the client versions will still allow you to lose a drive without losing data.

      • likefun butnot
        November 10, 2015 at 3:12 pm

        @Shawn Wayne,

        One issue with RAIDZ is that it's a serious hassle to grow a disk pool. You wind up having to make a new disk array and then add that new array to an existing pool. If you have a decent number of drives and have thoroughly planned ahead, it's not a big deal, but most people considering truly huge storage arrays probably aren't at the point where that's feasible.

        ZFS is capable of doing what you're describing and it really does have a drool-worthy feature set, especially for something that's available free. I'm not sure your needs rise to the level where ZFS is actually necessary, especially if you're already comfortable enough with Linux md devices.

        I will say that if your aspirations involve use of a single volume containing more than 12TB of disk space, you should absolutely be targeting a double parity (RAID6) stripe set since RAID5 is mathematically useless once arrays exceed (roughly) that capacity.

Leave a Reply

Your email address will not be published. Required fields are marked *