GlusterFS和ceph是开源领域很火的两个分布式文件系统。技术文章也有不少。这里只谈下个人的一些看法,大家讨论比较多就不提了。
GlusterFS的几大特点:
1.所见即所得,一个文件究竟长什么样,完全取决于client对于posix文件api的解释。副本怎么写,文件从哪里读,等等,都是client决策的。
2.keep is simple and stupid。每个posix的api,都转化为client段的一个rpc调用,每个rcp调用又由client和server端多个插件的pair组成。
3.堆栈式架构,plugin模式,每一种文件系统的特性(副本、预读等),只需要实现一个plugin即可, 当然这个plugin是用c写的一个so库,代码读取来有点复杂,需要有一定C语言功底。而且跟nginx的模块方式不同,nginx的模块是之间是水平关系,GlsuterFS的模块是垂直关系,堆栈式。