我正在寻找一个分布式文件系统,可以用于存储大量小文件(通常小于 1MB)。我想要的是:
- 2 个服务器自行安装文件系统并镜像数据
- 锁定支持(在可达节点之间)
- 在一个节点宕机并恢复后,采取某种尽力自动重新同步的方式
我所说的重新同步是指,即使两台服务器发生裂脑,我也可以接受它们执行读/写操作。如果另一台主机无法访问,本地进程获得锁定,我也可以接受。从重新同步中,我期望一段时间后只出现文件级一致视图 - 也就是说 - 如果x
在裂脑期间两个节点上的文件都被修改,我并不关心它们再次加入后哪个可用,只要它是完整文件,而不是一个块来自node1
,另一个块来自node2
。
有这样的解决方案吗?我发现 gluster 在文件锁定方面存在一些问题(即使在 3.1 中也是如此)。我还注意到,如果两个节点都发生裂脑,OCFS2 就会崩溃。还有哪个文件系统可以让我做我想做的事情?
答案1
答案2
格鲁斯特是另一个集群文件系统,但我不确定如果一个节点发生故障,它会如何工作
[MogileFS][2] 是一个开源分布式文件系统,可以处理许多小文件,并且应该不会出现单点故障。但是我认为这缺乏锁定支持。不确定在应用程序级别而不是在文件系统中实现锁定是否可行?
由于我是这里的新用户,我无法在答案中发布第二个超链接,但 MogileFS 会出现在 Google 上
/编辑:我看到您只有两台服务器。也许 DRBD 可以满足您的要求?
答案3
海藻FS针对大量小文件进行了优化。
但是没有“锁定支持”。在分布式系统中,最好避免锁定。您可以使用其他工具(例如 Redis)进行锁定。