目录
一.GFS概述
1、文件系统
①、文件系统组成
- 文件系统接口(API)
- 对对象管理的软件集合
- 对象及属性
②、文件系统的作用
- 从系统角度来看,文件系统是对文件存储设备的空间进行组织和备份
- 负责文件存储并对存入的文件进行保护和检索的系统
- 具体地说,它负责为用户建立文件、存入、读出、修改、转储文件、控制文件的存储
③.GFS专业术语
- Brick(块存储服务器)实际存储用户数据的服务器
- Volume本地文件系统的"分区"
- FUSE用户空间的文件系统(类别EXT4),”这是一个伪文件系统“,用户端的交换模块
- VFS(虚拟端口)内核态的虚拟文件系统,用户是提交请求给VFS 然后VFS交给FUSH,再交给GFS客户端,最后由客户端交给远端的存储
- Glusterd(服务)是运行再存储节点的进程(客户端运行的是gluster client)GFS使用过程中整个GFS之间的交换由Gluster client 和glusterd完成
④、 GFS 的特点
- 扩展性和高性能:可扩展性,扩展节点,通过多节点提高性能
- 高可用性:不存在单点故障,有备份机制,类似 Raid 的容灾机制
- 全局统一命名空间:集中化管理,类比 API 的性质/概念,系统里根据他命名所定义的隔离区域,是一个独立空间;统一的名称空间,与客户端交互,把请求存放至后端的块数据服务器
- 弹性卷管理:方便扩容及对后端存储集群的管理与维护,较为复杂
- 基于标准协议:基于标准化的文件使用协议,让 CentOS 兼容 GFS
二.GFS工作原理
- 外来请求通过挂载点时,linux 系统内核通过VFS接口,把请求发送到FUSE
- FUSE将数据交给内存的/dev/fuse,然后递交到GFS客户端
- GFS客户端对数据进行处理,并通过网络协议(如TCP、IB等),传输到GFS服务端
- GFS服务端接收到数据后,通过VFS接口,对数据进行相应的转存处理
三.GFS 卷类型
- 为了解决分布式文件数据索引、定位的复杂程度,而使用了HASH算法来辅助
- 分布式(平均分配)的好处:
- ① 当数据量越来越大的时候,相对每个存储节点的数据量(几率)是相等的
- ② 而如果考虑到单点故障问题,当数据存储再c存储节点,对此GFS是会有备份机制的,默认3备份,所以GFS本身的机制会对数据产生冗余,以此解决单点故障
①.卷类型
- 分布式卷
- 条带卷
- 复制卷
- 分布式条带卷
- 分布式复制卷
- 条带复制卷
- 分布式条带数据卷
分布式卷
文件通过 HASH 算法分布到所有 Brick Server 上,这种卷是 GlusterFS 的默认卷;以文件为单位根据 HASH 算法散列到不同的 Brick,其实只是扩大了磁盘空间,如果有一块磁盘损坏,数据也将丢失,属于文件级的 RAID0, 不具有容错能力。在该模式下,并没有对文件进行分块处理,文件直接存储在某个 Server 节点上。 由于直接使用本地文件系统进行文件存储,所以存取效率并没有提高,反而会因为网络通信的原因而有所降低。
特点
- 文件分布在不同的服务器,不具备冗余性
- 更容易和廉价地扩展卷的大小
- 单点故障会造成数据丢失
- 依赖底层的数据保护
条带卷
类似 RAID0,文件被分成数据块并以轮询的方式分布到多个 Brick Server 上,文件存储以数据块为单位,支持大文件存储, 文件越大,读取效率越高,但是不具备冗余性。
特点
- 数据被分割成更小块分布到块服务器群中的不同条带区
- 分布减少了负载且更小的文件加速了存取的速度
- 没有数据冗余
复制卷
将文件同步到多个 Brick 上,使其具备多个文件副本,属于文件级 RAID 1,具有容错能力。因为数据分散在多个 Brick 中,所以读性能得到很大提升,但写性能下降。复制卷具备冗余性,即使一个节点损坏,也不影响数据的正常使用。但因为要保存副本,所以磁盘利用率较低。
特点
- 卷中所有的服务器均保存一个完整的副本
- 卷的副本数量可由客户创建的时候决定
- 至少由两个块服务器或更多服务器
- 具备冗余性
分布式条带卷
Brick Server 数量是条带数(数据块分布的 Brick 数量)的倍数,兼具分布式卷和条带卷的特点。 主要用于大文件访问处理**,创建一个分布式条带卷最少需要 4 台服务器。**
分布式复制卷
分布式复制卷(Distribute Replica volume):Brick Server 数量是镜像数(数据副本数量)的倍数,兼具分布式卷和复制卷的特点,主要用于需要冗余的情况下。
条带复制卷
- 条带复制卷(Stripe Replica volume)类似 RAID 1 0,同时具有条带卷和复制卷的特点。
- 分布式条带复制卷(Distribute Stripe Replicavolume)三种基本卷的复合卷,通常用于类 Map Reduce 应用