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 |