一、GlusterFS概述
概述:GlusterFS(Google File System)是一个开源的分布式文件系统,Gluster借助TCP/IP网络将存储资源分散存储在网络的不同节点,在通过汇聚为客户端提供统一的资源访问,在存储方面具有很强大的横向扩展能力,通过扩展不同的节点可以支持PB级别的存储容量:Bit、Byte、KB、MB、GB、TB、PB、EB、ZB、YB、DB、NB.

特点:
扩展性与高性能:通过Scale-out架构可以增加存储节点的方式来提高容量和性能(磁盘、计算、I/O资源都可以独立增加),Gluster弹性哈希(Elastic Hash)解决了Gluster服务对元数据服务器的依赖,Gluster采用弹性哈希算法来确定数据在chunk节点中的分布情况,无须元数据服务器,实现了存储的横向扩展,改善了元数据服务器节点的压力以及单点故障;
高可用性:GlusterFS通过配置不同类型的卷,可以对数据进行自动复制(类似于RAID1),即使某节点故障,也不影响数据的访问;
通用性:GlusterFS没有设置独立的私有数据文件系统,而是采用以往的ext4、ext3等,数据可以通过传统的磁盘访问方式被客户端所访问;
弹性卷管理:GlusterFS通过将数据存储在逻辑卷上,逻辑卷从逻辑存储池进行独立逻辑划分,逻辑存储池可以在线进行增加和删除,不会导致业务中断,逻辑卷的数量可以根据实际需求进行自行增加和缩减;
二、GlusterFS存储架构


专业术语:
Brick(存储块):存储池中节点对外提供存储服务的目录;
Volume(逻辑卷):一个逻辑卷是一组Brick的集合,卷是数据存储的逻辑设备,类似LVM中的逻辑卷,大部分GlusterFS管理操作都是在逻辑卷上进行的;
FUSE(用户空间文件系统):是一个内核模块,用户自行创建挂载的的文件系统;
VFS(接口):内核空间对用户空间提供的访问磁盘的接口;
Glusterd(后台管理进程):在存储集群中的每个节点上都要运行;
三、GlusterFS工作原理
数据访问流程

- 首先是在客户端,用户通过glusterfs的mount point 来读写数据, 对于用户来说, 集群系统的存在对用户是完全透明的, 用户感觉不到是操作本地系统还是远端的集群系统。
- 用户的这个操作被递交给 本地linux系统的VFS来处理。
- VFS 将数据递交给FUSE 内核文件系统:在启动 glusterfs 客户端以前, 需要想系统注册一个实际的文件系统FUSE,如上图所示,该文件系统与ext3在同一个层次上面,ext3 是对实际的磁盘进行处理,而 fuse 文件系统则是将数据通过/dev/fuse 这个设备文件递交给了glusterfs client端。所以我们可以将 fuse 文件系统理解为一个代理。
- 数据被 fuse 递交给 Glusterfs client 后,client 对数据进行一些指定的处理(所谓的指定,是按照client 配置文件据来进行的一系列处理, 我们在启动glusterfs client 时 需 要 指 定 这 个 文 件 , 其 默 认 位 置 :/etc/glusterfs/client.vol)。
- 在glusterfs client的处理末端,通过网络将数据递交给 Glusterfs Server,并且将数据写入到服务器所控制的存储设备上。
四、GlusterFS卷的类型
分布式卷、条带卷、复制卷、分布式条带卷、分布式复制卷、条带复制卷、分布式条带复制卷;
1. 分布式卷
分布式卷是GlusterFS的默认卷,在创建卷时,默认选项是创建分布式卷。在该模式下,并没有对文件

GlusterFS是一个开源的分布式文件系统,通过Scale-out架构实现扩展性和高性能,利用弹性哈希算法消除元数据服务器依赖。它支持多种卷类型,包括分布式、条带、复制等,提供高可用性和冗余性。在存储集群中,数据分布于多个节点,确保数据安全。搭建过程包括配置主机解析、安装GlusterFS、创建和启动卷,以及在客户端挂载和验证数据一致性。
最低0.47元/天 解锁文章
578

被折叠的 条评论
为什么被折叠?



