分布式文件系统GlusterFS/GFS---让存储变得更高端

GlusterFS是一个开源的无元数据服务器的分布式文件系统,支持高容量扩展、高可用性和全局统一命名空间。其特点是弹性哈希算法、分布式卷管理和标准协议支持,提供包括分布式卷、条带卷、复制卷等多种卷类型,适用于大规模存储场景。在部署过程中,涉及服务器集群的配置、卷类型选择和客户端挂载等步骤。
摘要由CSDN通过智能技术生成

目录

一,概述

1,简介

2,GFS的特点

3,Gluster 术语

4,架构和工作流程

GlusterFS 工作流程

5,弹性HASH算法

6,GlusterFS 支持卷类型

二,GFS的部署


一,概述

1,简介

GlusterFS 是一个开源的分布式文件系统。 GlusterFS 主要由存储服务器(Brick Server)、客户端及 NFS/Samba 存储网关(可选, 根据需要选择使用)组成。GlusterFS 架构中最大的设计特点是没有元数据服务器组件,这有助于提升整个系统的 性能、可靠性和稳定性。

数据分为元数据和数据

  • 数据:实际数据

  • 元数据 :元数据即是文件的属性信息(文件名、权限(属主、属组)、大小、更新时间等)

传统的分布式文件系统大多通过元服务器来存储元数据,元数据包 含存储节点上的目录信息、目录结构等。这样的设计在浏览目录时效率非常高,但是也存在 一些缺陷,例如单点故障。一旦元数据服务器出现故障,即使节点具备再高的冗余性,整个 存储系统也将崩溃。

传统存储

 GlusterFS 分布式文件系统是基于无元服务器的设计,数据横向扩展 能力强,具备较高的可靠性及存储效率。GlusterFS同时也是Scale-out(横向扩展)存储解决方案Gluster的核心,在存储数据方面具有强大的横向扩展能力,通过扩展能够支持数PB存储容量和处理数千客户端。GlusterFS支持借助TCP/IP或InfiniBandRDNA网络(一种支持多并发链接的技术,具有高带宽、低时廷、高扩展性的特点)将物理分散分布的存储资源汇聚在一起,统一提供存储服务,并使用统一全局命名空间来管理数据。

GlusterFS

2,GFS的特点

扩展性和高性能

GlusterFS 利用双重特性来提供高容量存储解决方案 Scale-Out (横向扩展)架构通过增加存储节点的方式来提高存储容量和性能(磁盘、计算和 I/O 资源都可以独立增加),支持 10GbE 和 InfiniBand 等高速网络互联。

Gluster 弹性哈希(Elastic Hash)解决了 GlusterFS 对元数据服务器的依赖, GlusterFS 采用弹性哈希算法在存储池中定位数据,放弃了传统的通过元数据服 务器定位数据。GlusterFS 中可以智能地定位任意数据分片(将数据分片存储在 不同节点上),不需要查看索引或者向元数据服务器查询。这种设计机制实现了 存储的横向扩展, 改善了单点故障及性能瓶颈,真正实现了并行化数据访问。

高可用性

GlusterFS 通过配置某些类型的存储卷,可以对文件进行自动复制(类似 于 RAID1),即使某个节点出现故障,也不影响数据的访问。当数据出现不一致时, 自动修复功能能够把数据恢复到正确的状态,数据的修复是以增量的方式在后台执行, 不会占用太多系统资源。GlusterFS 可以支持所有的存储,因为它没有设计自己的私有数据文件格式,而是采用操作系统中标准的磁盘文件系统(如 EXT3、XFS 等)来 存储文件,数据可以使用传统访问磁盘的方式被访问。

全局统一命名空间

 全局统一命名空间将所有的存储资源聚集成一个单一的虚拟存储 池,对用户和应用屏蔽了物理存储信息。存储资源(类似于 LVM)可以根据生产环 境中的需要进行弹性扩展或收缩。在多节点场景中,全局统一命名空间还可以基于不 同节点做负载均衡,大大提高了存取效率。

弹性卷管理。

GlusterFS 通过将数据储存在逻辑卷中,逻辑卷从逻辑存储池进行独立 逻辑划分。逻辑存储池可以在线进行增加和移除,不会导致业务中断。逻辑卷可以根 据需求在线增长和缩减,并可以在多个节点中实现负载均衡。文件系统配置也可以实时在线进行更改并应用,从而可以适应工作负载条件变化或在线性能调优

基于标准协议

Gluster 存储服务支持 NFS、CIFS、HTTP、FTP、SMB 及 Gluster 原生协议,完全与 POSIX 标准兼容。现有应用程序不需要做任何修改就可以对 Gluster 中的数据进行访问,也可以使用专用 API 进行访问(效率更高),这在公有 云环境中部署 Gluster 时非常有用,Gluster 对云服务提供商专用 API 进行抽象,然 后提供标准 POSIX 接口

3,Gluster 术语

Brick(存储块):

主机池中由主机提供的用于物理存储的专用分区,是 GlusterFS 中的基本存储单元,同时也是用存储池中服务器上对外提供的存储目录。 存储目录的格式由服务器和目录的绝对路径构成,表示方法为 SERVER:EXPORT, 如 192.168.1.4:/ data/mydir/。

Volume(逻辑卷):

一个逻辑卷是一组 Brick 的集合。卷是数据存储的逻辑设备,类 似于 LVM 中的逻辑卷。大部分 Gluster 管理操作是在卷上进行的。

FUSE(Filesystem inUserspace):

是一个内核模块,允许用户创建自己的文件系统, 无须修改内核代码。

VFS:

内核空间对用户空间提供的访问磁盘的接口。

Glusterd(后台管理进程):

在存储群集中的每个节点上都要运行

4,架构和工作流程

GlusterFS 采用模块化、堆栈式的架构,可以根据需 求配置定制化的应用环境,如大文件存储、海量小文件存储、云存储、多传输协议应用等。 通过对模块进行各种组合,即可实现复杂的功能。例如 Replicate 模块可实现 RAID1,Stripe 模块可实现 RAID0,通过两者的组合可实现 RAID10 和 RAID01,同时获得更高的性能及可靠性。

GlusterFS 工作流程

(1) 客户端或应用程序通过 GlusterFS 的挂载点访问数据。 
(2) Linux 系统内核通过 VFS API 收到请求并处理。
(3) VFS 将数据递交给 FUSE 内核文件系统,并向系统注册一个实际的文件系统 FUSE, 而 FUSE 文件系统则是将数据通过/dev/fuse 设备文件递交给了 GlusterFS client 端。可以 将 FUSE 文件系统理解为一个代理。 
(4) GlusterFS client 收到数据后,client 根据配置文件对数据进行处理。 
(5) 经过 GlusterFS client 处理后,通过网络将数据传递至远端的 GlusterFS Server, 并且将数据写入服务器

5,弹性HASH算法

  • 保证数据平均分布在每个 Brick 中

  • 解决了对元数据服务器的依赖,进而解决了单点故障及访问瓶颈。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值