GFS分布式文件系统

时间:2024-04-14 07:29:46

一、glusterFS概述

  开源的分布式文件系统,只在扩展存储容量,提高性能并且通过多个互联网网络的存储节点进行冗余,确保数据的可用性一致性。

  1.1 glusterFS组成

  • 存储服务器
  • 客户端NFS/Samba存储网关
  • 无元数据服务器(保存数据的存放点)

二、glusterFS特点

  • 扩展性和高性能(分布式的特性)

  • 高可用性:冗余、容灾的能力

  • 全局统一命名空间

  • 弹性卷管理

  • 基于标准协议

三、glusterFS专业术语

  • Brick(存储块):单服务器,用于物理存储的专用分区

  • Volume(逻辑卷):一个逻辑卷是一组Brick的集合,大部分GFS都是在逻辑卷上进行。

  • FUSE:是一个内核模块,允许用户创建自己的文件系统(伪文件系统),无需修改内核代码

  • VFS:内核空间对用户控件提供的访问磁盘的接口

  • Glusterd(后台管理进程):服务端在集群集中的每个节点上都要运行

四、glusterFS工作原理

  客户端或应用程序通过GFS的挂载点访问数据,linux系统通过VFS接收到处理并请求,VFS将数据交个FUSE内和文件系统,fuse文件系统则是将数据通过/dev/fuse递交给了GFS客户端,GFS接收到这个数据并且对这个数据进行相应的处理,最后网络将数据传给GFS服务器上

五、弹性HASH算法

通过HASH算法得到一个32位的整数

划分为N个连续的子空间,每个空间对应一个Brick

  5.1 弹性HASH算法的优点

  • 解决数据平均分布在每个brick中
  • 解决对元数据服务器的依赖,进而解决了单点故障以及访问瓶颈

六、glusterFS卷的类型

类型 功能 特点 创建卷
分布式卷 没有对文件进行分块处理,通过扩展文件属性保存HASH值,支持的底层文件系统有EXT3、EXT4、ZFS、XFS
  1. 不具备冗余性
  2. 更容易和廉价地扩展逻辑卷大小
  3. 单点故障会造成数据丢失
  4. 依赖底层的数据保护
条带卷 根据偏移量将文件分成N快,轮询的存储在每个brick Server节点、存储大文件时,性能尤为突出、不具备冗余性
  1. 数据备份被分割成更小块分布到块服务群中的不同条带区
  2. 分布减少了负载且更小的文件加速了存取的速度
  3. 没有数据冗余
gluster volume create stripe-volume stripe 2 transport tcp server1:/dir1 server2:/dir2
复制卷 同一文件保存一份或多份副本,磁盘利用率较低,若多个节点上的存储空间不一致,将最低节点的容量作为该卷的总容量
  1. 卷中所有的服务器均保存一个完整的副本
  2. 卷的副本数量可由客户创建的时候决定
  3. 至少有两块服务器或更多服务器
  4. 具备冗余性
gluster volume create rep-volume replica 2 transport tcp server1://dir1 server2://dir2
分布式条带卷 兼顾分布卷和条带卷的功能,主要用用于大文件访问处理至少最少需要4台服务器
  1. 至少需要四台主机
  2. 不具备冗余性能
  3. 适用于高性能的存储
  4. brick必须是>=2
gluster volume create dis-stripe stripe 2 transport tcp server1:/dir1 server2:/dir2
分布式复制卷 兼顾分布式卷和复制卷的功能,用于需要冗余的情况
  1. 具备冗余性能
  2. 适用于高性能的存储
  3. 同时brick必须是>=2
条带复制卷
分布式条带复制卷