Skip to content

Open-Source Storage & Redundancy Systems

Your storage architecture dictates whether your system actively repairs silent bit rot or serves corrupted data.


Storage Engine Comparison

Feature OpenZFS Btrfs SnapRAID + MergerFS
Bit Rot Protection Native (Self-healing via vdev) Native (Self-healing in RAID1/10) Native (Discovers & repairs during scrub)
Drive Size Requirements All drives in vdev must match Allows mixed drive sizes Mixed sizes (Parity >= largest drive)
Expansion Flexibility Moderate Easy Ultra-Easy (Add 1 drive at a time)
Ideal Use Case High-performance local NAS Linux workstations & light pools Read-heavy archival storage

Deep Dive: SnapRAID + MergerFS

For digital preservation where files are written once and read occasionally, SnapRAID combined with MergerFS provides key advantages over real-time RAID:

  • Drive Spin-Down: Disks remain spun down until a specific file on that drive is requested.
  • Independent Filesystems: Every disk uses a standard Linux filesystem (ext4/XFS). If drive failures exceed parity capacity, uninjured disks remain 100% readable.
  • Mixed Drive Capacities: Easily mix older and newer drives as your pool grows.

Configuration Snippet (/etc/snapraid.conf)

# Location of parity file (must reside on your largest disk)
parity /mnt/parity1/snapraid.parity

# Content metadata locations
content /var/snapraid/snapraid.content
content /mnt/disk1/snapraid.content
content /mnt/disk2/snapraid.content

# Data drives to protect
data d1 /mnt/disk1/
data d2 /mnt/disk2/

# Exclude temporary or system folders
exclude /tmp/
exclude /lost+found/
exclude *.tmp

Automated Scrub Routine

# Sync filesystem changes to parity
snapraid sync

# Scrub 8% of the array, targeting data older than 10 days
snapraid scrub -p 8 -o 10

Offsite Backup Engine Comparison

Tool Primary Advantage Encryption & Compression
BorgBackup Exceptional deduplication; mature SSH backend AES-256 + ZSTD compression
Kopia Fast multi-threading; native S3 object lock AES-256-GCM + ZSTD / LZ4
Restic Universal cloud backend support; single binary AES-256-CTR + Poly1305