要从单个目录中提供数百万个文件,能够从数百个端点连接到驱动器,并且由于其他一些原因(为了避免基于gluster/nfs/all fs的网络解决方案),我想评估制作的可能性一个基于mongodb(或任何其他)的文件系统.
基本上,它像fusefs一样工作,每个文件都保存在mongo gridfs中.理论上,我这样做,
mount mongodbfs /mountPoint mongodb://localhost
然后当我说touch /mountPoint/test.txt这个文件被插入mongodb.这个FS还会将uid/gid和perms存储在文件中,我们可以向它发送数百个服务器,而且useradd不需要.我不打算包括FS的所有功能,只需要我们需要的功能.
我的问题是,我如何开始寻找资源,书籍,链接,人员,开发人员,帮助我实现这一目标?至少是一个概念证明.这可行吗?作为此类承诺的时间表,我应该期待什么?
请只考虑大量的小文件和文件夹.
ps:经过几天的研究后,我认为这是我的方向 http://www.ibm.com/developerworks/library/l-sc12.html http://www.flipcode.com/archives/Programming_a_Virtual_File_System -Part_I.shtml
ps2:我知道这项工作的难度.然而,我们愿意留出一个严肃的预算并愿意组建一个认真的团队来实施它 - 只有在我们确定这不是一个黑洞(因此问题)之后.
小智 6
你最常见的建议就是"使用FUSE".这是一个很好的建议,你应该注意它(因为Sciurus指出已经有gridfs-fuse,它非常接近你想要的).
也就是说,如果你想走漫长而艰难的痛苦之路(编写自己的文件系统),你几乎肯定想在当地大学学习操作系统课程,或者查看一些在线课程资料("写一篇简单的FS"通常是一个小项目.文件系统通常很糟糕,因为它们是学术玩具).接下来
使用Linux文件系统(Moshe Bar)并仔细阅读一些简单的文件系统驱动程序,以查看您需要执行的操作的基本框架.
至于时间轴,如果你是一个体面的编码器,你可以在几天到一周内写一个基本的文件系统(但它会很快).我甚至猜不到编写一个好的文件系统需要多长时间- 至少从20世纪70年代末/ 80年代初开始,UFS/FFS(BSD文件系统)一直在不断发展,并且改进/增强/错误修复仍然流行偶尔起来.Sun/Oracle的ZFS在其相对较短的(6年)生命中经历了20多次迭代,尽管其中大部分都与卷管理功能有关.
| 归档时间: |
|
| 查看次数: |
4181 次 |
| 最近记录: |