![同步 rsnapshot 备份驱动器](https://linux22.com/image/642565/%E5%90%8C%E6%AD%A5%20rsnapshot%20%E5%A4%87%E4%BB%BD%E9%A9%B1%E5%8A%A8%E5%99%A8.png)
我有一对 USB 驱动器,用于通过 rsnapshot 进行备份。一个驱动器插在电源上,另一个驱动器移出现场。对于第一次交换,我运行“rsync -aH”将当前驱动器中的所有内容复制到异地驱动器上。这个过程花了整整 6 天时间。现在我已经到了想要更新异地驱动器的地步。
由于 rsnapshot “滑动”备份,以便 daily.0 始终是最新的,我进行了计算(自上次轮换以来有 24 个新备份)并将现有快照重命名为它们匹配的位置。
然后我再次运行“rsync -aH”,但看起来 rsync 没有检测到现有文件是否链接到与新文件相同的文件,因此它对它们进行了全新复制。例如,即使 daily.0/server/etc/passwd 中的最新文件与现有的 daily.30/server/etc/passwd 相同,它们也有不同的 inode(但 daily.31/server/etc/passwd 与 daily.30 共享其 inode,正如预期的那样)。
因此,在原始 rsnapshot 创建的磁盘上当前:
daily.0/server/etc/passwd inode: A
daily.30/server/etc/passwd inode: A
daily.31/server/etc/passwd inode: A
第一次 rsync 到异地磁盘后(使用“当前”名称,希望能减少混淆):
daily.30/server/etc/passwd inode: A
daily.31/server/etc/passwd inode: A
在此最新的 rsync 之后:
daily.0/server/etc/passwd inode: B
daily.30/server/etc/passwd inode: A
daily.31/server/etc/passwd inode: A
除了丢失硬盘空间外,rsync 还需要几天时间来验证内容是否同步。虽然还没有完成,但如果这个过程也需要 6 天,我也不会感到惊讶。:-(
那么,刷新/重新同步这些驱动器的更好机制是什么?由于写入数据需要大量时间,我希望避免擦除和重新同步。
(还有一个额外的麻烦:驱动器并不完全相同,而且上面还有其他东西,因此目前无法直接对它们进行 dd 操作。)
答案1
我看到您提到通过 USB 进行原始复制需要 6 天时间。如果您不使用 USB 3.0,那么这样做将产生巨大的差异。附加的 USB 3 控制器也非常便宜。