分布式、并行、容错的文件系统

Edd*_*ied 6 linux filesystems

有太多的选择,很难知道从哪里开始。我的要求是这些:

  • 在 Linux 上运行
  • 大多数文件的大小在 5-9 MB 之间。还会有大量的小型 jpg (100px x 100px)。
  • 所有文件都需要通过 http 访问。
  • 冗余——理想情况下,它将提供类似于 RAID 5 的 75% 的空间效率(在 RAID 5 中,这将这样计算:对于 4 个相同的磁盘,25% 的空间用于奇偶校验 => 75% 效率)
  • 必须支持数 PB 的数据
  • 可扩展的
  • 在商品硬件上运行

此外,我寻找这些品质,尽管它们不是“要求”:

  • 稳定、成熟的文件系统
  • 大量的动力和支持
  • 等等

我想要一些关于哪种文件系统最适合给定要求的输入。我组织中的一些人倾向于 MogileFS,但我不相信该项目的稳定性和动力。根据我有限的研究,GlusterFS 和 Lustre 似乎得到了更好的支持......

想法?

Jes*_*r M 6

实际上,我认为没有那么多现实的选择。按照优先顺序,我的选择是:

  1. 亚马逊 S3。满足您的所有要求,以及您的可选品质。拥有良好的正常运行时间和支持记录。它不是内部的;但这真的不是您可以解决的要求,使用VPN 访问进行外汇交易或只是使用旧的 HTTPS...如果 WAN 延迟和亚马逊定价适合您,S3 真的是我的首选。如果定价不适合您,那么我怀疑 DYI 解决方案最终会显着降低成本...
  2. MogileFS似乎完全符合您的要求。MogileFS 没有那么多活动,但这主要是因为它的(相对较少)用户按预期工作。
  3. Lustre背后有真正伟大的技术,是一个常规的本地 POSIX 文件系统(如果这对你有好处),并且多年来一直在不断更新。最大的问题是整个 Sun 与 Oracle 的合并是否会影响 Lustre。从长远来看,如果 Sun 打得好,那么将ZFS和 Lustre 放在一个屋檐下可能会带来非常好的结果……现在,我认为 Lustre 主要用于学术和商业 HPC 计划,而不是互联网应用程序——这可能是不真实的,但如果 Lustre 在 Internet 应用程序中表现良好,那么他们肯定不会很好地营销这一事实......

恕我直言,Hadoop 分布式文件系统 (HDFS) 不符合您的要求。HDFS 很棒,但它类似于 bigtable 的方法意味着它比上面的文件系统更难访问。当然,如果你真的在寻找大规模的可扩展性和长远的眼光,那么 HDFS 可能是正确的——雅虎、Facebook 和其他公司投资于 Hadoop 的增长。

一个评论,以上系统大部分都是将整个文件复制到2-3个节点来实现冗余。这比奇偶校验编码 / RAID 方案占用更多的空间,但它可以大规模管理,并且似乎是每个人都采用的解决方案。所以你不会得到你提到的 75% 的效率......


Kam*_*iel 4

如果是我,我会使用 GlusterFS。当前版本非常可靠,我知道 HPC 和互联网领域的一些大型安装中的人们在他们的生产系统中依赖它。您基本上可以通过根据需要布置组件来根据您的需求进行定制。与 Lustre 不同,它没有专用的元数据服务器,因此可以最大限度地减少中心故障点,并且更容易扩展设置。

不幸的是,我认为没有一种简单的方法可以在不降低性能的情况下满足 75% 的标准。

它确实在商用硬件上运行,但在使用 Infiniband 互连时,性能确实非常出色。幸运的是,现在IB的价格确实很低。

您可能想看看Scalable Informatics的人员及其 Jackrabbit 产品作为解决方案。他们在硬件上支持 GlusterFS,而且他们的解决方案的价格肯定可以与从头开始组装的成本相媲美。