我们有一个Web服务器集群,当前在中央共享文件系统上存储临时文件(已被用户上传)。 限制是任何时候,包含共享文件系统的服务器在我们整个站点停机(或者至less是瘫痪)的时候。 我已经看过像Gluster和GridFS这样的解决scheme来创build一个容错文件系统,但是对于经常被创build和删除的临时文件,没有一个是理想的。 安全性也很重要,Gluster似乎没有任何encryption手段。
什么是一些好的容错分布式文件系统选项,具有安全性和处理频繁的文件创build/删除function?
警告:自以为是的内容。
分布式文件系统很糟糕。 有像cassandra和ceph这样的良好的分布式对象存储,但是顶层的任何文件系统仿真都是一个有问题的野兽,因为文件系统操作不能很好地映射到分布(locking,fsync()ing),并且抛弃了需要把代码放入内核来支持它们,而不是在你的应用程序中。
我非常感谢通过文件系统使所有内容可访问的简单性,但也许编写更多的代码和使用分布式对象存储库更容易。
openAFS —(打开Andrew文件系统)
取决于如何访问文件系统。 如果你不介意使用API调用,你可以做一些像S3一样简单的事情,或者让它在内部运行一个RIAK集群来获得类似的体验。
如果这太重了,你可以运行类似etcd( https://github.com/coreos/etcd )。 etcd被devise为在每个节点上运行,并且它的性能非常高,如果有更多的工作需要进行交互。