I believe your design is solid and very professional: RAID 0 SSDs for maximum performance, backed up to rotated large HDDs for resilience and off-site protection. That’s exactly how this is handled in many production environments.
At the moment, I think it’s important to set expectations clearly: ZimaOS does not support real-time or “sync on every change” replication between storage pools. The built-in Backup app is scheduled only. Because of that, I suggest focusing on fast, scheduled synchronization, which already gives excellent protection when paired with RAID 0.
For your workflow, I believe rsync is the best tool. It’s reliable, fast, and handles disk rotation extremely well.
Recommended workflow (simple and robust)
I suggest:
- RAID 0 SSD pool as your source
- Each 26 TB HDD as a standalone backup target (no RAID)
- Nightly rsync job
- Rotate HDDs every few months
When a disk is swapped, rsync simply reconciles differences and continues, no rebuilds, no complexity.
I do not recommend RAID 1 on the HDDs for this use case. RAID complicates rotation and removes the benefit of each disk being a complete, portable backup.
Simple rsync container layout for ZimaOS
This is intentionally minimal and safe.
1. Folder layout on ZimaOS
Create a small config directory:
/DATA/AppData/rsync-backup/
├── backup.sh
└── crontab
2. backup.sh (the actual sync logic)
Example script:
#!/bin/sh
SOURCE="/DATA/SSD_RAID"
TARGET="/DATA/Backup_HDD"
rsync -avh --delete --numeric-ids \
--inplace \
--stats \
"$SOURCE/" "$TARGET/"
What this does:
- Mirrors SSD RAID to HDD
- Deletes removed files (true mirror)
- Preserves permissions and ownership
- Runs fast on large datasets
Make it executable:
chmod +x backup.sh
3. crontab (daily schedule)
Example: run every night at 2 AM
0 2 * * * /config/backup.sh >> /config/rsync.log 2>&1
4. Docker container setup
Use a lightweight base image (Alpine works well).
Container settings:
- Image: alpine
- Network: bridge
- Restart policy: unless-stopped
Volumes:
/DATA/SSD_RAID > /DATA/SSD_RAID
/DATA/Backup_HDD > /DATA/Backup_HDD
/DATA/AppData/rsync-backup > /config
Command:
sh -c "crond -f"
Install rsync once inside the container:
apk add rsync
5. Rotating HDDs
When you swap disks:
- Mount the new HDD to the same path (
/DATA/Backup_HDD)
- Start the container
- rsync automatically continues and reconciles differences
Each HDD remains:
- Fully readable on any Linux system
- Independent
- Safe to store off-site
Final thoughts
I believe this gives you:
- Full 10 GbE SSD performance
- Clean, predictable backups
- Easy disk rotation
- No vendor lock-in
- No RAID rebuild risks
This setup is simple, proven, and very well suited to ZimaOS as it exists today.