<metaname="description"content="A backup program for disk arrays. It stores parity information of your data and it recovers from up to six disk failures">
<metaname="keywords"content="snapraid snapshot raid backup disk array redundancy parity">
- A commercial and open-source (GPL2) solution. It uses a modified Linux XFS filesystem with real-time redundancy. Integrity checksums are not natively supported.
- <b>DISCONTINUED</b>. A commercial, proprietary C++/Java application for Windows, with limited Linux support. It offered both snapshot and real-time redundancy, including integrity checksums.
- An open-source (GPL2) Linux filesystem with real-time redundancy. Since Linux 3.9, it supports <ahref="http://lwn.net/Articles/536038/">RAID5/6 redundancy</a> and integrity checksums.
Issues have been identified, and the official <ahref="https://btrfs.readthedocs.io/en/latest/btrfs-man5.html#raid56-status-and-recommended-practices">wiki</a> as of 2025 warns:
<i>"There are some implementation and design deficiencies that make it unreliable for some corner cases and the feature should not be used in production, only for evaluation or testing."</i>
- Microsoft’s solution, integrated into Windows 8 and later. Proprietary, with real-time redundancy but no checksum support. It also has several <ahref="http://helgeklein.com/blog/2012/03/windows-8-storage-spaces-bugs-and-design-flaws/">limitations</a>.
Other key factors include support for <spanclass="bold">integrity</span> checksums to detect <ahref="https://www.zdnet.com/article/data-corruption-is-worse-than-you-know/">silent data corruption</a> and the ability to <spanclass="bold">fix it</span>, whether you can <spanclass="bold">use already filled disks</span>, whether you can <spanclass="bold">recover data from non-failed disks</span> when there are too many failures for full recovery, and whether <spanclass="bold">all disks spin when reading one file</span>.
<tr><td><spanclass="bold">Redundancy model</span><br>Real-time computes parity in real-time like RAID; snapshot computes parity on request, like backups.</td>
<tr><td><spanclass="bold">More disk failures</span><br>If more disks fail than the supported redundancy model, can data on non-failed disks be recovered?</td>
<aid="note3">[3]</a> - ZFS and Btrfs provide bit-rot protection comparable to SnapRAID, always verifying data before use. These three solutions represent the state of the art.
One drawback of ZFS is that its default <ahref="http://en.wikipedia.org/wiki/Fletcher%27s_checksum">Fletcher</a> checksum prioritizes speed over reliability. Although it is a 256-bit checksum, Fletcher is considered weaker than alternatives. Similarly, Btrfs uses CRC32C by default, which is strong but only 32-bit. Better alternatives are "edonr" for ZFS and "xxhash" for Btrfs. In contrast, SnapRAID uses the 128-bit <ahref="http://burtleburtle.net/bob/hash/spooky.html">SpookyHash</a>, which offers state-of-the-art checksum quality without sacrificing speed.
<aid="note4">[4]</a> - unRAID 7.2 claims that it can add data disks to an existing array, but in reality, what it actually does is create a new array and rebuild the parity from scratch.
The key difference is that during this process, the data disks already in the array <ahref="https://youtu.be/frtauLMO3-c?t=803">are not protected</a>.
This is a serious flaw, as a full parity rebuild puts considerable stress on all drives. If any disk is near failure, there’s a high risk it could fail during this operation.
<aid="note7">[7]</a> - ZFS supports external GUIs, such as <ahref="http://www.napp-it.org/">Napp-it</a>, and plugins for <ahref="http://www.freenas.org/">FreeNAS</a> and <ahref="http://www.nas4free.org/">NAS4Free</a>.
<aid="note8">[8]</a> - unRAID can use integrity checksums via plugins like <ahref="https://forums.lime-technology.com/topic/43290-dynamix-file-integrity-plugin/">Dynamix File Integrity</a>, or <ahref="https://forums.lime-technology.com/topic/35615-bunker-yet-another-utility-for-file-integrity-checks/">bunker</a>.
However, these are independent of parity processing and not used to aid recovery.
For example, when recovering a single failed disk with dual parity, checksums can identify additional silent errors to facilitate recovery.
<aid="note9">[9]</a> - Storage Spaces can be used with ReFS, which supports integrity checksums, but not in Parity mode: <ahref="http://www.windowscentral.com/how-use-resilient-file-system-refs-windows-10"><i>"Although you may select Simple (no resiliency) or Parity, both options will fail the process."</i></a>
<aid="note11">[11]</a> - Btrfs has supported RAID5 since 2013, but serious issues in RAID5/6 support were <ahref="https://www.phoronix.com/scan.php?page=news_item&px=Btrfs-RAID-56-Is-Bad">identified</a>. As of 2025, these <ahref="https://www.phoronix.com/scan.php?page=news_item&px=Btrfs-RAID56-Not-All-Clear">remain unresolved</a>. The official wiki states: <ahref="https://btrfs.readthedocs.io/en/latest/btrfs-man5.html#raid56-status-and-recommended-practices"><i>"There are implementation and design deficiencies that make it unreliable for some corner cases. The feature should not be used in production, only for evaluation or testing."</i></a>
If you believe any information is incorrect or unfair, please report it in the <ahref="https://sourceforge.net/p/snapraid/discussion/1677233/">Forum</a>.