OpenAFS 可以用作 NFS 吗?

OpenAFS 可以用作 NFS 吗?

我有一个仅在 Linux 上运行的应用程序,它将在明年生成约 500TB 的数据,所有这些数据都必须每天保存和备份。

你可能会想Linux 上的 ZFSonLinux或 btrfs,但它们并不是很稳定。

一种选择是拥有一个带有 ZFS 的 OmniOS 主机并通过 NFS 安装它,但这样就会存在文件锁定问题。

阅读有关开放AFS,他们写道文档

AFS 隐藏了其分布式特性,因此使用 AFS 文件看起来和感觉起来就像使用存储在本地机器上的文件一样。

问题

这是否意味着我可以使用 OpenAFS 代替 NFS,而不会出现 NFS 的文件锁定问题?

答案1

我对 NFS 不够熟悉,不知道您可能引用的具体锁定问题,但我通常听说 OpenAFS 使用全文件锁定效果更好,是的。

但是,OpenAFS 无法很好地处理跨不同机器的字节范围锁定(即锁定文件中的某些字节范围,而不是锁定整个文件)。如果您只从单个 Linux 客户端访问锁定的文件,那么应该没有问题,但如果您尝试协调跨多个 OpenAFS 客户端的锁定,那么这将不起作用。

我也不太清楚您为什么要使用任何网络文件系统,或者为什么不考虑其他传统的本地文件系统,如 XFS,甚至 ext4(这些可能无法满足您的要求,但不清楚除了存储 500TB 数据之外您的要求是什么……)。要清楚的是,OpenAFS 不会像 NFS 那样导出本地文件系统。存储在 OpenAFS 文件服务器中的数据以其自己的格式存储,因此您无法使用 OpenAFS 客户端以外的方式访问数据。也就是说,即使您在托管它们的服务器所在的同一台计算机上访问文件,也必须通过 AFS 协议等通过 OpenAFS 客户端。

还要注意,人们通常发现设置 OpenAFS 比 NFS 更复杂(至少对于非 Kerberos NFS 而言)。

相关内容