我有一个本地FreeNAS系统,想要使用ZFS快照进行备份。
FreeNAS具有内置的复制任务,这些任务使用
zfs send snapshot_name
将快照发送到远程系统。但这需要另一端具有ZFS的系统。
我想将快照发送到一个文件,然后将此压缩和加密的文件发送到远程计算机。
这是可能的
zfs send snapshot_name | gzip | openssl enc -aes-256-cbc -a -salt > file.gz.ssl
我每天都会为存储池制作快照,并将每个快照保留30天。
拍摄每张快照后,我都会将该快照通过管道传输到文件中。
-快照文件1中包含每个文件(例如2GB)
-快照文件2仅具有对快照文件1的更改(例如5MB)
-快照文件3保存对快照文件2的更改;等等。
在第31天,快照文件1被删除(因为我只希望最近30天的更改)
因此,snapshot_file 2需要保存每个文件(2GB的snapshot_file 1 + 5MB的更改)
但是每天(从第31天开始)都必须使用这种方法来创建一个新的2GB文件,并将其发送到远程系统。这是太多的开销。
使用传送到文件的快照作为X天的备份策略的最佳方法是什么?
PS:我知道那里有很多可以使用的备份软件(例如rdiff-backup)。但是我很好奇这怎么做。
zfs recv
另一端使用(例如,在带有池的池上zfs set compression=gzip-9
)。对我来说,存储快照文件听起来效率很低。