我的服务器将增量备份保存在zfs卷上。由于数据非常相似,我可以显著减少增长--每天大约有500 in的“新数据”,但是池每天只增长5-10 in,其余的存储在重复/压缩中。
我希望将备份复制到加密的usb磁盘,为此,我还将其设置为zfs卷。当我用rsync或zfs发送/接收同步备份时,似乎所有数据都会再次传输(只是存储在usb驱动器上)。由于这一点,备份目前需要超过24小时,这使得每天备份不可能。
有更快备份的方法吗?
发布于 2016-11-02 09:05:47
迈克尔·汉普顿的建议是正确的,Solaris手册页面也相当不错,但对于初学者来说,这个概念并不容易理解。我将概述我在编写脚本时所经历的要点。
基本上,您首先要像往常一样做一个快照x和一个完整的send/recv:
# Initial send, destroy all filesystems on the destination
# pool which are not present on the source pool.
zfs snapshot pool0@snap0
zfs send -R pool0@snap0 | zfs recv -Fdu pool1在此之后,您可以执行快照x+1并递增地发送它。您可以删除源上的旧快照,但需要保留最后一个(最近的),以便计算差异。如果您丢失/销毁源上的上一次快照,您将不得不重新开始一个完整的初始发送!
# incremental send, destroy all filesystems on the destination
# pool which are not present on the source pool. Afterwards, old
# snapshots can be destroyed.
zfs snapshot pool0@snap1
zfs send -R -I pool0@snap0 pool0@snap1 | zfs recv -Fdu pool1
zfs destroy pool0@snap0
# Afterwards, repeat and replace snap1 with snap2 and snap0 with snap1 etc.我从自己的经历中得到了一些建议:
date -编号更容易,但是如果查看日志和/或频繁的快照,日期会更好。-nv模拟时,请注意,这对于发送是有效的,但是对于recv则会失败,因为没有什么可接收的。从手册或错误消息来看,这一点并不明显。bookmarks特性,这可以作为一种解决此问题的方法。不幸的是,它目前只支持单个快照而不是递归,因此您必须自己添加递归代码。znapzend是其中最成熟的一种。https://serverfault.com/questions/812351
复制相似问题