GlusterFS 分布式存储 及 GlusterFS在Ubuntu 18.04/16.04上的源码部署

一、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 工作原理; 数据访问程:

 

 

1. 首先是在客户端,用户通过 glusterfs 的 mount point 来读写数据, 对于用户来说, 集群 系统的存在对用户是完全透明的, 用户感觉不到是操作本地系统还是远端的集群系统。

2.  用户的这个操作被递交给 本地 linux 系统的 VFS 来处理。

3. VFS 将数据递交给 FUSE 内核文件系统:在启动 glusterfs 客户端以前, 需要想系统注册 一个实际的文件系统 FUSE,如上图所示,该文件系统与 ext3 在同一个层次上面,ext3 是对 实际的磁盘进行处理,而 fuse 文件系统则是将数据通过/dev/fuse 这个设备文件递交给了 glusterfs client 端。所以我们可以将 fuse 文件系统理解为一个代理。

4. 数据被 fuse 递交给 Glusterfs client 后,client 对数据进行一些指定的处理(所谓的指定, 是按照 client  配置文件据来进行的一系列处理, 我们在启动 glusterfs  client   时 需 要 指 定 这 个 文 件 , 其 默 认 位 置 :/etc/glusterfs/client.vol)。

5. 在 glusterfs client 的处理末端,通过网络将数据递交给 Glusterfs Server,并且将数据写入 到服务器所控制的存储设备上。

 

四、GlusterFS 卷的类型; 分布式卷、条带卷、复制卷、分布式条带卷、分布式复制卷、条带复制卷、分布式条带复 制卷;

1.  分布式卷

分布式卷是 GlusterFS 的默认卷,在创建卷时,默认选项是创建分布式卷。在该模式下,并 没有对文件进行分块处理,文件直接存储在某个 Server 节点上。由于使用本地文件系统, 所以存取效率并没有提高,反而会因为网络通信的原因而有所降低,另外支持超大型文件也 会有一定的难度,因为分布式卷不会对文件进行分块处理,一个文件要么在 Server1 上,要 么在 Serve2 上,不能分块同时存放在 Sever1 和 Server2 上;

 

 

特点:

文件分布在不同的服务器,不具备冗余性; 更容易且廉价地扩展卷的大小; 单点故障会造成数据丢失; 依赖底层的数据保护;

创建方法:

[root@gfs ~]# gluster volume create dis-volume server1:/dir1 server2:/dir2 

Creation of dis -volume has been successful Please start the volume to access data

 

2.条带卷

Stripe 模式相当于 RAIDO,在该模式下,根据偏移量将文件分成 N 块,轮询地存储在每个 Brick Server 节点。节点把每个数据块都作为普通文件存入本地文件系统中,通过扩展属性记录总 块数(Stripe-count) 和每块的序号(Stripe-index),在配置时指定的条带数必须等于卷中 Brick  所包含的存储服务器数,在存储大文件时,性能尤为突出,但是不具备冗余性;

 

 

特点:

 

数据被分割成更小块分布到块服务器群中的不同; 分布减少了负载且更小的文件提高了存取速度; 没有数据冗余;

创建方法:

[root@gfs ~]# gluster volume create stripe-volume stripe 2 transport tcp server1:/dir1 server2:/dir2

create of Stripe -volume has been successful please start the volume to access data

 

3.复制卷

也称为 AFR(AutGilePepliatio)相当于 RAD1,即同一文件保存一份或多份副本。每个节点上 保存相同的内容和目录结构。复制模式因为要保存副本,所以磁盘利用率较低,复制卷时, 复制数必须等于

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值