使用 RSYNC 手动同步两个 BTRFS 快照

使用 RSYNC 手动同步两个 BTRFS 快照

问题

有没有办法手动同步不同磁盘上的两个 BTRFS 快照并可靠地将它们标记为相同(设置父/子关系)?

问题

我正在将快照与外部磁盘同步。当然,我利用btrfs send -p $PARENT $CURRENT这一点大大减少了需要通过网络发送的数据量。为了能够仅使用差异发送快照,快照PARENT必须存在于两个磁盘上。

我错误地删除了笔记本电脑上的所有旧快照,因此所有常见快照都消失了。由于没有共同点,所以我必须第一次发送整个快照,大约800GB。rsync说我笔记本电脑上最旧的快照和外部磁盘上的最新快照之间只有 100MB 的差异。这就是为什么我不想再次发送整个 800GB 而不是发送 100MB。

主意

我以为我可以

  • 在外部磁盘上创建最旧快照的读写快照(命名为 this foo),
  • 用于与笔记本电脑上的源快照rsync同步,foo
  • foo然后在外部磁盘 ( ) 上创建只读快照foo-readonly
  • 以某种方式标记foo-readonly源快照。Received UUIDUUID

但是,由于 rsync 不会同步全部文件(块设备文件等),如果我在其余传输中保留增量快照技术,将来会破坏任何东西吗?

或者忽略可能丢失的文件,rsync对于这种情况,是否有任何可靠的方法来同步两个快照?

相关内容