Resilient File System (ReFS), codenamed "Protogon", is a proprietary file system introduced with Windows Server 2012. Initially intended for file servers only, it improves on NTFS in some respects, while also removing a number of features.
- Improved reliability for on-disk structures
- ReFS uses B+ trees for all on-disk structures including metadata and file data. Metadata and file data are organized into tables similar to a relational database. The file size, number of files in a folder, total volume size and number of folders in a volume are limited by 64-bit numbers; as a result ReFS supports a maximum file size of 16 Exabytes, a maximum of 18.4 × 1018 folders and a maximum volume size of 1 Yottabyte (with 64 KB clusters) which allows large scalability with no practical limits on file and folder size (hardware restrictions still apply). Free space is counted by a hierarchical allocator which includes three separate tables for large, medium, and small chunks. File names and file paths are each limited to a 32 KB Unicode text string.
- Built-in resilience
- ReFS employs an allocation-on-write update strategy for metadata, which allocates new chunks for every update transaction and uses large IO batches. All ReFS metadata has built-in 64-bit checksums which are stored independently. The file data can have an optional checksum in a separate "integrity stream", in which case the file update strategy also implements allocation-on-write; this is controlled by a new "integrity" attribute applicable to both files and directories. If nevertheless file data or metadata becomes corrupt, the file can be deleted without taking down the whole volume offline for maintenance, then restored from the backup. As a result of built-in resiliency, administrators do not need to periodically run error-checking tools such as CHKDSK when using ReFS.
- Compatibility with existing APIs and technologies
- ReFS supports only a subset of NTFS features, and only Win32 APIs that are "widely adopted"; but does not require new system APIs and most file system filters continue to work with ReFS volumes. ReFS supports many existing Windows and NTFS features such as BitLocker encryption, Access Control Lists, USN Journal, change notifications, symbolic links, junction points, mount points, reparse points, volume snapshots, file IDs, and oplock. ReFS seamlessly integrates with Storage Spaces, a storage virtualization layer that allows data mirroring and striping, as well as sharing storage pools between machines. ReFS resiliency features enhance the mirroring feature provided by Storage Spaces and can detect whether any mirrored copies of files become corrupt using background data scrubbing process, which periodically reads all mirror copies and verifies their checksums then replaces bad copies with good ones.
Some NTFS features are not supported in ReFS, including named streams, object IDs, 8.3 filename, NTFS compression, Encrypting File System (EFS), transactional NTFS, hard links, extended attributes, and disk quotas. ReFS does not itself offer data deduplication. In addition, Windows cannot be booted from a ReFS volume. Dynamic disks with mirrored or striped volumes are replaced with mirrored or striped storage pools provided by Storage Spaces, however, automated error-correction is only supported on mirrored spaces. ReFS is unsuitable for Microsoft SQL Server instance allocation due to the absence of alternate data streams.
Microsoft Windows 8.1 adds support for ReFS volumes and, compared with Microsoft Windows Server 2012, both Windows Server 2012 R2 and Windows 8.1 add additional features when using ReFS, including alternate data streams and automatic correction of corruption when integrity streams are used on parity spaces.
- Lucas, Martin (1 January 2013). "Windows Server 2012: Does ReFS replace NTFS? When should I use it?". Ask Premier Field Engineering (PFE) Platforms. Microsoft. TechNet blogs. Retrieved 20 January 2013.
- Foley, Mary Jo (16 January 2012). "Microsoft goes public with plans for its new Windows 8 file system". ZDNet. CBS Interactive. Retrieved 21 January 2013.
- Verma, Surendra (16 January 2012). "Building the next generation file system for Windows: ReFS". In Sinofsky, Steven. Building Windows 8. Microsoft. MSDN blogs. Retrieved 20 January 2013.
- Meyer, David (17 January 2012). "Microsoft takes wraps off new Windows file system". ZDNet. CBS Interactive. Retrieved 20 January 2013.
- "ReadDirectoryChangesW function". MSDN Library. Microsoft. 8 November 2012. Retrieved 21 January 2013.
- Nagar, Rajeev (5 January 2012). "Virtualizing storage for scale, resiliency, and efficiency". In Sinofsky, Steven. Building Windows 8. Microsoft. MSDN blogs. Retrieved 18 January 2013.
- Cherry, Denny (21 August 2012). "SQL Server Pro magazine". Troubleshooting SQL Server Storage Problems. Penton Media.
- "Resilient File System Overview". TechNet Library. Microsoft. 29 February 2012. Retrieved 25 December 2013.