我有几个 OSX 客户端计算机,它们通过 TimeMachine 备份到 Ubuntu Linux 服务器上的 AFP 共享,由 netatalk/afpd 导出。这些客户端每天在一天中的任意时间进行备份。服务器上还有其他重要的非 TimeMachine AFP 共享。
在服务器上,TimeMachine 备份以稀疏包的形式呈现 - 一种涉及许多“带区”的数据存储格式 - 存储在标准 EXT4 文件系统上。此稀疏包中隐藏着 TimeMachine 使用的 HFS+ 文件系统,但从服务器端来看,它只是带区文件的集合。
我在服务器上每 4 小时运行一次 rsnapshot,它将整个服务器备份到可移动硬盘上(我经常更换硬盘)。因此,rsnapshot 也会在一天中的某些时间备份这些稀疏束带。
问题是,如果在客户端机器安装其稀疏束时运行 rsnapshot,则 rsnapshot 可能会捕获稀疏束的不一致状态,因为在备份过程中频带可能会发生变化。显然,这不利于保证可恢复的备份!
我正在想办法解决这个问题。看来重要的是,rsnapshot 尝试进行备份时不要安装 sparsebundle。从服务器端来看,目前我能想到的唯一方法是关闭 aftp 守护进程,可能要等待 OSX 客户端卸载 sparsebundle。这样做的缺点是,它还会使其他非 TimeMachine AFP 导出也脱机。据我所知,afpd 不提供(轻松)添加/删除导出的方法 - 一种选择是重写 afpd 的配置文件以禁用 TM 导出,但这仍会在短时间内关闭 AFP 共享。
有没有更好的办法?