我脑海中浮现出这样一个画面:某个链接太慢,无法实现文件的实时传输,但速度却足以每天赶上进度。我希望看到的是主 <-> 主设置,当我将文件写入服务器 A 时,元数据将立即传输到服务器 B,并且文件将在空闲时传输,或者当服务器 B 的客户端在服务器 A 发送文件之前尝试读取文件时立即传输。
似乎有许多文件系统可以在快速链接上表现良好,但我不知道有哪个文件系统可以在大的瓶颈和几个小时的延迟下表现良好。
答案1
集群文件系统具有如您描述的修复模式;它会共享元数据,但只会在访问时“修复”文件副本。“夜间同步”过程记录为:
find /mountpoint -type f -print0 | xargs -0 head -c1
警告:我预计该特定功能仍然可用,但我已经一年没有使用过它了。
答案2
那么...你遇到的问题是,当 A 方的某个人想要一个在 B 方写入但尚未同步的文件时,你会怎么做?
共享文件系统之所以在快速链接上运行良好,是有原因的——可以为它们的操作定义标准语义,以便合理地映射到我们熟知和喜爱的标准 POSIX 文件系统语义。任何并非所有数据都可用的事物几乎都会立即落入“特定领域”的领域——你的文件系统的用例可能是这样的,您不需要担心数据丢失(例如,有效的仅追加数据存储,或者您可以通过重新计算或伪造结果来有效地处理丢失的数据),但这些情况不够常见(并且很难建模,指定等),因此没有人费心去编写每个人都可以使用的通用东西。