假设我有一个未加密的文件容器;我对某个文件运行了 mkfs.ext4。现在假设我已将此文件备份到 Dropbox,并使用 rclone 在 2 台计算机上主动挂载包含此文件容器的目录。
我可以安全地安装此文件容器并开始同时在这些计算机上写入文件吗?会发生什么?
现在,假设上述操作是安全的操作,我能对 tomb 或 luks 加密容器执行相同的操作吗?我真的很想这样做,因为这听起来非常方便,但我嗅到了危险的味道。
答案1
我可以安全地安装此文件容器并开始同时在这些计算机上写入文件吗?会发生什么?
一般来说,不是。大多数文件系统都是不是设计为可同时由多个系统访问。它们假设各种元数据可以安全地缓存在内存中,并且不会关注外部发生的变化;例如,一个主机可能已经为文件 A 分配了一个特定扇区,而另一个主机仍然认为该扇区是“空闲的”(根据内存元数据)并将文件 B 也放在那里。对卷应用延迟同步只会使情况变得更糟。
(有些文件系统是为并发使用而设计的(比如 OCFS),但它们的设计仍然假设它将是相同的所有系统同时访问磁盘 - 即如果一台机器进行更新,则假定其他机器将立即看到它。 当然,Dropbox 不会发生这种情况。)