5

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

让我更具体一点:

  • 分布式意味着它可以优雅地处理客户端到服务器的延迟,就像您在全球公共互联网上发现的那样(300 毫秒及以上很常见)和偶尔的连接不稳定。这意味着需要非常好的客户端缓存(即带有回调)。NFS 不这样做。这也意味着无需 IPSEC VPN 即可对在线数据进行加密。

  • 高可用性意味着数据可以存储在多个服务器上,并且客户端足够聪明,可以在遇到问题时尝试另一台服务器。将这种智能放在客户端中非常重要,这就是为什么不能将这类东西移植到 NFS 上的原因。对于只读数据,这至少需要是可能的。这对于读写数据会很好,但我知道这很难。

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

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

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

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

谢谢,

4

1 回答 1

2

首先,您可以使用本地文件系统(使用 挂载)通过fscache工具使用cachefilesd(由Debian上的cachefilesd包提供-o user_xattr)缓存 NFS(使用 挂载) 。-o fsc

尽管您正在寻找的文件系统可能不存在,但恕我直言,两个项目非常接近并具有相当好的FUSE客户端实现:

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

于 2014-12-25T23:09:07.440 回答