分布式文件系统 GlusterFS

2010-06-12 10:04

[Distributed file system]

文档

http://gluster.com/community/documentation/index.php/Gluster_Storage_Platform
http://gluster.com/community/documentation/index.php/GlusterFS_cookbook
最好的文档应该是git中的 user-guide.pdf

代码

git clone git://git.gluster.com/glusterfs.git
貌似在gnu还有一份拷贝,但是似乎两个版本有细微差距
GlusterFS 能使用 libibverbs,下载地址在 http://www.openfabrics.org/downloads/verbs/

对应于 configure 的结果中的 Infiniband verbs

FUSE client        : yes
Infiniband verbs   : no
epoll IO multiplex : yes
argp-standalone    : no
fusermount         : no

优点

1 结构清晰

  • libglusterfs
  • glusterfsd
  • booter
  • glusterfs
  • mod_gluster for apache/lighttpd 甚至支持 DAV

各司其职,每个模块功能都做到极致

2 支持多种 signal 控制
object dump
latency 评测
崩溃后会输出 backtrace(有可能不准确)
log rotate
功能不是很突出,但是这种编程、思维模式很好。

3 其 Translators 概念非常不错
号称实现了所有 filesystem operations, 内部有一个比VFS更精细的树状结构:
cluster/afr 貌似支持 raid1
type cluster/unify
type cluster/stripe
type cluster/dht

都是很有价值的功能

这是我最喜欢的分布式文件系统实现,缺点是卷的配置是固定的,动态添加节点应该是不可能的(至少得改变父节点的配置文件)。