Gluster是一个大尺度文件系统。它是各种不同的存储伺服器之上的组合,这些伺服器由以太网或无限带宽技术Infiniband[3]以及远程直接内存访问RDMA[4]互相融汇,最终所形成的一个大的并行文件系统网络。它有包括云计算在内的多重应用,诸如:生物资讯学,文档存储。Gluster是由GNU托管的自由软件,许可证是AGPL[5]。Gluster公司[6],是Gluster的首要商业赞助商,且提供商业产品以及基于Gluster的解决方案。
设计
Gluster是Client/Server架构。伺服器典型的布置在存储卷上,每一台伺服器运行一个名为glusterfsd 的守护进程,将本地文件系统作为卷进行输出。Gluster的客户端进程通过TCP/IP,InfiniBand或SDP一类客户协议连接到伺服器,将远端卷组成一个大的所谓折叠式翻译器。最终的卷通过一种叫做FUSE[7]的用户空间文件机制机载到客户机。有大量文件应用的I/O同样可以用libglusterfs 客户端库来直接连接伺服器并内在的运行翻译器,而无需经过文件系统以及FUSE.大多数GlusterFS功能被实现为翻译器,包括了:
Gluster的设计遵循奥卡姆剃刀原则的简单性:尽管它导出一已存在,但是构建存储的决定权在于客户端翻译器。客户端自身都是没有状态的,互相之间没有交互。但是期望相互间的翻译器配置是一致的。这会引发内存一致性模型问题,但这种设计允许Gluster用商用硬件在规模上能达到数个拍字节,避免了通常影响分布式文件系统的紧内聚松耦合瓶颈。