GlusterFS

  • 11.1 (2023年11月6日;穩定版本)[1]
編輯維基數據鏈接源代码库
  • github.com/gluster/glusterfs.git
編輯維基數據鏈接操作系统Linux, OS X, FreeBSD, NetBSD, OpenSolaris类型分布式文件系统许可协议GNU通用公共许可证第三版[2]网站www.gluster.org

Gluster是一个可水平拓展的网络文件系统。它是各种不同的存储服务器之上的组合,这些服务器由以太网或Infiniband RDMA网络互相融汇,最终形成一个大的并行网络文件系统。它有包括云计算在内的多重应用,诸如:生物信息学流媒体、文档存储和CDN等。Gluster是由GNU托管的自由软件,许可证是AGPL[3]。Gluster公司[4],是Gluster的首要商业赞助商,且提供商业产品以及基于Gluster的解决方案。

设计

Gluster是客户端-服务器架构。服务器一般被部署成存储砖(storage brick),每一台服务器运行一个名为glusterfsd 的守护进程,将本地文件系统导出为卷。Gluster的客户端进程通过TCP/IP,InfiniBand或SDP之上构建的自定义协议连接到服务器,使用可以叠加的翻译器(translator)将多个远程服务器上的虚拟卷组聚合起来。通常情况下,每个文件会被作为一个整体来存储,但是,将文件条带化存放在多个远程卷组也是可以实现的。客户端可以通过 FUSE 机制使用 GlusterFS 的原生协议,或者通过内置的服务端翻译器使用NFS v3 协议来挂载这个聚合的卷,或者直接使用 gfapi 客户端函数库来访问这个卷。客户端可以使用统一文件对象(Unified File and Object, UFO)翻译器来二次导出一个原生协议挂载,比如通过内核空间的 NFS v4 服务器、SAMBA 或是基于对象的 OpenStack Storage 协议。

大多数GlusterFS功能被实现为翻译器,包括了:

  • 基于文件的镜像[5]与赋值[6]技术
  • 基于文件的数据存储计算领域的数据带[7]技术
  • 基于文件的负载平衡[8]技术
  • 卷的双机备份[9]技术
  • 磁盘高速缓存[10]技术以及排产[11]

Gluster的设计遵循奥卡姆剃刀原則的简单性:尽管它导出一已存在,但是构建存储的决定权在于客户端翻译器。客户端自身都是没有状态的,互相之间没有交互。但是期望相互间的翻译器配置是一致的。这会引发内存一致性模型问题,但这种设计允许Gluster用商用硬件在规模上能达到数个拍字节,避免了通常影响分布式文件系统的紧内聚松耦合瓶颈。

另见

引用

  1. ^ Release 11.1. 2023年11月6日 [2023年11月18日]. 
  2. ^ Gluster 3.1: Understanding the GlusterFS License. Gluster Documentation. Gluster.org. [30 April 2014]. (原始内容存档于2016-05-03). 
  3. ^ AGPL(页面存档备份,存于互联网档案馆
  4. ^ Gluster公司. [2022-02-21]. (原始内容存档于2022-05-12). 
  5. ^ 镜像 (页面存档备份,存于互联网档案馆
  6. ^ 赋值 (页面存档备份,存于互联网档案馆
  7. ^ 数据带 (页面存档备份,存于互联网档案馆
  8. ^ 负载平衡 (页面存档备份,存于互联网档案馆
  9. ^ 双机备份 (页面存档备份,存于互联网档案馆
  10. ^ 磁盘高速缓存 (页面存档备份,存于互联网档案馆
  11. ^ 排产 (页面存档备份,存于互联网档案馆)技术