计划
核心目标:控制数据可恢复,系统可重建
【备份策略矩阵】
s500data → ZFS 本地快照 + rsync 到移动硬盘(可浏览)
repos → ZFS 本地快照 + rsync 到移动硬盘(可浏览)
docker → ZFS 本地快照 + rsync 到移动硬盘(可浏览)
vms → ZFS 本地快照 + zfs send -c 块级增量到移动硬盘
【本地自动快照(Sanoid)】
策略:s500data/repos/docker/vms 4个小时,7个日,4个周,12个月,3个年
回滚:zfs rollback dataset/s500data@autosnap_xxx
【冷备】
首次初始化:
zpool create backup_pool /dev/disk/by-id/移动硬盘
zfs create backup_pool/vms
mkdir -p /mnt/backup-rsync/{s500data,repos,docker}
日常同步:
rsync -a --delete --inplace /dataset/s500data/ /mnt/backup-rsync/s500data/
rsync -a --delete --inplace /dataset/repos/ /mnt/backup-rsync/repos/
rsync -a --delete --inplace /dataset/docker/ /mnt/backup-rsync/docker/
sanoid --take-snapshot=manual dataset/vms
syncoid --no-privilege-elevation --sendoptions="-c" dataset/vms backup_pool/vms
zpool export backup_pool && 拔盘
触发方式:手动执行 backup.sh,或通过 Hermes-Host 说“执行冷备”
【验证机制】
日常:rsync 后 diff -r 抽查;zfs send 后 zstreamdump 校验
季度:隔离 VM 中执行完整恢复演练
【灾难重建 S.O.P】
1. 新盘装 NixOS LiveUSB
2. 挂载 /dataset,git clone 配置,nixos-rebuild switch
3. rsync 恢复 s500data、repos、docker
4. zfs receive 恢复 vms
5. 全量复活,< 30 分钟
【空间估算】
rsync 副本 ~600GB(三个目录合计)+ zfs send 流 ~200GB = 800GB
2TB 移动硬盘剩余 1.2TB 缓冲