一、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等 |
|
|
条带卷 | 根据偏移量将文件分成N快,轮询的存储在每个brick Server节点、存储大文件时,性能尤为突出、不具备冗余性 |
|
gluster volume create stripe-volume stripe 2 transport tcp server1:/dir1 server2:/dir2 |
复制卷 | 同一文件保存一份或多份副本,磁盘利用率较低,若多个节点上的存储空间不一致,将最低节点的容量作为该卷的总容量 |
|
gluster volume create rep-volume replica 2 transport tcp server1://dir1 server2://dir2 |
分布式条带卷 | 兼顾分布卷和条带卷的功能,主要用用于大文件访问处理,至少最少需要4台服务器 |
|
gluster volume create dis-stripe stripe 2 transport tcp server1:/dir1 server2:/dir2 |
分布式复制卷 | 兼顾分布式卷和复制卷的功能,用于需要冗余的情况 |
|
|
条带复制卷 | |||
分布式条带复制卷 |