File Systems: Difference between revisions

 
(2 intermediate revisions by the same user not shown)
Line 13: Line 13:
! Name !! Snapshots !! RAID !! Checksumming !! Compression !! CoW !! Erasure coding || Encryption
! Name !! Snapshots !! RAID !! Checksumming !! Compression !! CoW !! Erasure coding || Encryption
|-
|-
| BTRFS<ref name="btrfs_documentation>https://btrfs.readthedocs.io/en/latest/Introduction.html</ref> || Yes, Writable || Block-level<ref name="btrfs_volume>https://btrfs.readthedocs.io/en/latest/Volume-management.html</ref> || Yes || Yes || Yes || Unstable || No
| BTRFS<ref name="btrfs_documentation>https://btrfs.readthedocs.io/en/latest/Introduction.html</ref> || Yes, Writable || Yes<ref name="btrfs_volume>https://btrfs.readthedocs.io/en/latest/Volume-management.html</ref> || Yes || Yes || Yes || Unstable || No
|-
|-
| ZFS || Yes<ref name="zfs_snapshots">https://docs.oracle.com/cd/E19253-01/819-5461/gbcya/index.html</ref>, Writable<ref name="zfs_clone">https://docs.oracle.com/cd/E19253-01/819-5461/gbcxz/index.html</ref> || Disk-level || Yes || Yes || Yes || Yes || Yes
| ZFS || Yes<ref name="zfs_snapshots">https://docs.oracle.com/cd/E19253-01/819-5461/gbcya/index.html</ref>, Writable<ref name="zfs_clone">https://docs.oracle.com/cd/E19253-01/819-5461/gbcxz/index.html</ref> || Drive-level || Yes || Yes || Yes || Yes || Yes
|-
|-
| EXT4 || No || No || No || No || No || - || No
| EXT4 || No || No || No || No || No || - || No
Line 25: Line 25:


Notes:
Notes:
* I prefer BTRFS for single-drive deployment.
* For single drives/blocks, I prefer BTRFS for it's feature set.
* For multiple drives, ZFS is often preferred for it's reliability.
* bcachefs is still under development
* bcachefs is still under development


For multi-drive deployment, my preferences are:
For multi-drive deployment, my preferences are:
* If you have multiple same-sized disks, maxmimum storage, and no plans for expansion, use ZFS raidz1 or raidz2.
* If you have multiple same-sized disks and no need for expansion, use ZFS raid.
* If you have different sized disks, maxmimum storage, want maximum size, and don't need live parity then use snapraid + btrfs + mergerfs.
* If you have different sized disks, want maximum storage, and don't need live parity then use snapraid + btrfs + mergerfs.
* If you need real-time parity and expansion and don't mind slow rebuilds, use mdraid + btrfs.
* If you need real-time parity and expansion and don't mind slow rebuilds, use mdraid + btrfs.


Windows:
===Windows===
1. NTRFS
# NTRFS
2. ReF
# ReFS
 
===Mac===
# APFS
# Mac OS Extended


==Overlay File Systems==
==Overlay File Systems==