是否有积极开发的分布式高可用性文件系统(适用于Linux)?

时间:2014-04-12 16:19:10

标签: filesystems nfs high-availability openafs

是否有积极开发的分布式,高可用性文件系统(适用于Linux)?

让我更具体一点:

  • 分布式意味着它优雅地处理客户端到服务器的延迟,就像您在全球公共互联网上找到的那样(300毫秒及以上),偶尔会出现连接性问题。这意味着需要非常好的客户端缓存(即使用回调)。 NFS不会这样做。它还意味着无需IPSEC VPN即可加密线上数据。

  • 高可用性意味着数据可以存储在多个服务器上,并且客户端足够智能,可以在遇到问题时尝试其他服务器。将智能放在客户端非常重要,这就是为什么这种事情不能被嫁接到NFS上的原因。对于只读数据,至少需要这样。这对于读写数据会很好,但我知道这很难。

  • 文件系统表示导出POSIX接口的内核驱动程序,并且在不可信任的客户端面前强制执行权限和访问控制。 SAN系统通常假设客户端值得信赖。

我是OpenAFS难民。我喜欢它,但在这一点上,我不能再接受它要求所有文件服务器有效地"有root"在所有其他文件服务器上。必须运行Kerberos基础设施的专有磁盘格式和开销(我不会在其他方面需要)也变得越来越成问题。

除了具有这些属性的OpenAFS之外,是否还有其他系统? Intermezzo和Coda可能有资格但不再是活跃的项目。 Lustre很酷,但似乎是专为超低延迟数据中心而设计的。 Ceph真棒,但不是真正的文件系统,更多的是在文件系统下运行的东西(是的,那里有CephFS,但它真的是Ceph的展示,并且明确没有生产就绪,并且那里有''没有时间表)。 Tahoe-LAFS很酷但它和GoogleFS并不是真正的文件系统,因为它们不会通过内核模块导出POSIX接口。我对GFS(全局文件系统)的理解是客户端可以直接操作磁盘上的数据结构,因此它们隐含了根级信任(这也是它快速的部分原因) - 正确我,如果我在这里错了。

需要开源,因为我无法将我的数据锁定在专有的东西中。我不介意为软件付费,但在这种情况下我不能成为人质。

谢谢,

1 个答案:

答案 0 :(得分:2)

首先,您可以使用本地文件系统(使用-o user_xattr挂载)使用 cachefilesd 缓存NFS(使用-o fsc挂载)(由cachefilesd提供)在Debian)至fscache设施上打包。

虽然您正在寻找的文件系统可能不存在,但IMHO两个项目与相当不错的FUSE客户端实现非常接近:

在评估 Ceph 很长一段时间后,我得出的结论是它有缺陷(在可预见的未来没有改进的希望)并且不适合严肃使用。 XtreemFS 也令人失望。我希望即将发布的OrangeFS版本3(承诺的数据完整性检查)可能不会太糟糕,但还有待观察......