GFS分布式文件系统

GFS简介

开源的分布式文件系统
由存储服务器、客户端以及NFS/Samba 存储网关组成
无元数据服务器
FS是文件系统

文件系统组成

文件系统接口
对对像管理的软件集合
对象及属性

专业术语

Brick:GFS中的存储单元,通过是一个受信存储池中的服务器的一个导出目录。可以通过主机名和目录名来标识,如’SERVER:EXPORT’
Volume:一组bricks的逻辑集合(卷)
FUSE:Filesystem Userspace是一个可加载的内核模块,其支持非特权用户创建自己的文件系统而不需要修改内核代码。通过在用户空间运行文件系统的代码通过FUSE代码与内核进行桥接。
VFS:虚拟文件系统
Glusterd:Gluster management daemon,要在trusted storage pool中所有的服务器上运行。
Node:一个拥有若干brick的设备
Client: 挂载了GFS卷的设备
RDMA:远程直接内存访问,支持不通过双方的OS进行直接内存访问。
RRDNS:round robin DNS是一种通过DNS轮转返回不同的设备以进行负载均衡的方法
Self-heal:用于后台运行检测复本卷中文件和目录的不一致性并解决这些不一致。
Split-brain:脑裂
Volfile:glusterfs进程的配置文件,通常位于/var/lib/glusterd/vols/volname

GFS特点

扩展性和高性能、高可用性、全局统一命名空间、弹性卷管理、基于标准协议

GFS工作原理

1、外来请求通过挂载点时,linux 系统内核通过VFS接口,把请求发送到FUSE
2、FUSE将数据交给内存的/dev/fuse,然后递交到GFS客户端
3、GFS客户端对数据进行处理,并通过网络协议(如TCP、IB等),传输到GFS服务端
4、GlusterFS client 收到数据后,client根据配置文件的配置对数据进行处理,通过网络将数据传递至远端的GlusterFS Server,并且将数据写入到服务器存储设备上

GFS卷

GFS卷类型

分布式卷
条带卷
复制卷
分布式条带卷
分布式复制卷
条带复制卷
分布式条带数据卷
2、三大基本卷的特点

分布式卷

没有对文件进行分块处理
通过扩展文件属性保存hash值
支持的底层文件系统有ext4、zfs、xfs等
文件分布在不同的服务器,不具备冗余性
可以灵活的扩展卷的大小
单点故障会造成数据丢失
依赖底层的数据保护

条带卷

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

复制卷

同一个文件保存一份或多份副本
因为要保存副本,所以磁盘利用率较低
若多个节点上的存储空间不一致,将按照木桶效应取最低节点的容量作为该卷的总容量
卷中所有的服务器均保存一个完整的副本
卷的副本数量可由客户创建的时候决定
至少有两个块服务器或更多服务器
具备冗余性

部署GFS集群

部署节点集群

关闭防火墙

磁盘分区,并进行挂载

配置各个节点的/etc/hosts文件

安装、启动GFS

#添加DNS,进行时间同步

添加节点到存储信任池中

#在每个node节点上查看群集状态

创建分布式卷,没有指定类型,默认创建的是分布式卷

指定类型为 stripe,数值为 2,且后面跟了 2 个 Brick Server,所以创建的是条带卷

指定类型为 replica,数值为 2,且后面跟了 2 个 Brick Server,所以创建的是复制卷

创建分布式条带卷

创建分布式复制卷

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

部署客户端

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

node1

在这里插入图片描述
在这里插入图片描述

node2

在这里插入图片描述
在这里插入图片描述

node3

在这里插入图片描述
在这里插入图片描述

node4

在这里插入图片描述

在这里插入图片描述

破坏测试

node2和node4的服务器进行挂机来模拟故障,然后在客户端上查看其他服务器的文件是否正常
在客户端(192.168.184.50)上查看文件是否正常

分布式卷数据查看,缺少demo5,这是在node2上的,不具备冗余挂起 node2 节点或者关闭glusterd服务来模拟故障

条带卷,无法访问,不具备冗余

复制卷,在node3和node4上的,关闭node4(192.168.184.40)进行测试,具有冗余客户端,仍然存在

分布式条带卷,不具备冗余

分布式复制卷,具有冗余

总结

1、客户端或应用程序通过GlusterFS的挂载点访问数据,对于用户来说,集群系统的存在对用户是完全透明的,用户感觉不到是操作本地系统还是远端的集群系统。
2、用户的这个操作被递交给 本地linux系统的VFS来处理。
3、VFS将数据递交给FUSE内核文件系统, fuse文件系统则是将数据通过/dev/fuse设备文件递交给了GlusterFS client端,所以, 我们可以将 fuse文件系统理解为一个代理。
4、GlusterFS client 收到数据后,client根据配置文件的配置对数据进行处理
5、通过网络将数据传递至远端的GlusterFS Server,并且将数据写入到服务器存储设备上

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值