针对小文件的集群文件系统

针对小文件的集群文件系统

我正在寻找一个分布式文件系统,可以用于存储大量小文件(通常小于 1MB)。我想要的是:

  • 2 个服务器自行安装文件系统并镜像数据
  • 锁定支持(在可达节点之间)
  • 在一个节点宕机并恢复后,采取某种尽力自动重新同步的方式

我所说的重新同步是指,即使两台服务器发生裂脑,我也可以接受它们执行读/写操作。如果另一台主机无法访问,本地进程获得锁定,我也可以接受。从重新同步中,我期望一段时间后只出现文件级一致视图 - 也就是说 - 如果x在裂脑期间两个节点上的文件都被修改,我并不关心它们再次加入后哪个可用,只要它是完整文件,而不是一个块来自node1,另一个块来自node2

有这样的解决方案吗?我发现 gluster 在文件锁定方面存在一些问题(即使在 3.1 中也是如此)。我还注意到,如果两个节点都发生裂脑,OCFS2 就会崩溃。还有哪个文件系统可以让我做我想做的事情?

答案1

我推荐优秀蜥蜴FS农场金融系统尽管我不确定它们对锁的支持程度如何。

2019年更新:驼鹿是一个很好的选择。我不再推荐 LizardFS,因为它维护得很差……

答案2

格鲁斯特是另一个集群文件系统,但我不确定如果一个节点发生故障,它会如何工作

[MogileFS][2] 是一个开源分布式文件系统,可以处理许多小文件,并且应该不会出现单点故障。但是我认为这缺乏锁定支持。不确定在应用程序级别而不是在文件系统中实现锁定是否可行?

由于我是这里的新用户,我无法在答案中发布第二个超链接,但 MogileFS 会出现在 Google 上

/编辑:我看到您只有两台服务器。也许 DRBD 可以满足您的要求?

答案3

海藻FS针对大量小文件进行了优化。

但是没有“锁定支持”。在分布式系统中,最好避免锁定。您可以使用其他工具(例如 Redis)进行锁定。

相关内容