ZFS 快照和原子更新

ZFS 快照和原子更新

所以我正在 Linux 上研究 ZFS,。我的笔记本电脑上有 2 个虚拟机,我正在运行 zrep 并将一个文件系统的内容同步到另一个文件系统。

一个意想不到的情况是这样的:如果我在“从机”——接收数据的盒子上——并且我正在连续读取文件的内容(例如使用 sum),如果文件在掌握在应用快照时,从属服务器上会出现输入/输出错误。如果我连续读取快照中未更改的文件,则不会发生这种情况。

要清楚的是——“求和”程序或任何其他标准用户空间程序读取目标文件系统上的变化的文件将定期出现输入/输出错误并崩溃。

ZFS 复制本身可以正常工作 —— zrep 只是一个管理复制过程的好工具。

我对这种行为有点困惑——当应用 ZFS 快照时更新的文件的读取是否会导致读取错误,或者这是 Linux 上 ZFS 的一个错误?

答案1

您不应该以这种方式使用复制的文件系统。当复制流更新目标时,文件也会发生变化。

您期望发生什么?

答案2

在我看来官方文档非常清楚,至少现在,在你提出问题几年后。:-) 你在更改文件时看到的问题是我意料之中的,而你在未更改文件时获得的成功可能仅仅是因为这些东西被缓存在内存中?

该文件系统及其所有后代文件系统均已卸载。

接收文件系统时无法访问。

在链接的文档中,我没有看到增量发送和完整发送快照之间的任何记录差异。相反,文件系统无法访问且卸载的措辞在我看来是相同的,文件系统可能已经存在,就像增量发送快照的情况一样。

相关内容