您在这里: Wiki » notes » z » ZFS的远程备份

ZFS的远程备份

ZFS的远程备份

本文最后更新于2015年1月20日,本人已离开FreeNAS,本文不会再更新。

之前我的备份模式是将 ZFS 中上次记录已经备份的快照到最新生成的快照之前的全部快照均发送到远端。 FreeNAS 中的复制模式也是这样的。

这种做法存在许多问题,例如,某些快照可能是并不需要的。以我自己的生产服务器为例,我在这台机器本地有每小时一次的快照,保留数天,这些快照的主要目的在于防止在服务器上“fat finger”删除掉有用数据。而另一组每日快照,保留数月,则是为了备份目的而设置的。

复制不需要的快照会浪费不少空间,特别是当应用程序需要做许多“草稿”的时候(例如 svn2git)。此外,它还会导致不必要的I/O。

最近,我把服务器的远程复制改为只发送起止两点,而合并中间的快照。

计划在 FreeNAS 复制重写时,实现以下要点:

  1. 将现有的“记录快照是否已进行复制”改为“在快照时标记快照是否需要进行复制”。此标记伴随快照生命周期一直保持。
  2. 在快照时,替每一个副本创建一个hold。例如,如果复制到两台机器上,那么分别hold:org.freenas:repl_to_1.23.45.67 和 org.freenas:repl_to_23.45.67.89。
  3. 复制时,在发送一边做 zfs list -t snapshot -H -o name,org.freenas:replicate.
  4. tobecontinued
notes/z/zfs_replication.txt · 最后更改: 2022/12/30 05:51