一、Gluster概述
1.1 、gluster简介
- Glusterfs是一个开源的分布式文件系统,是Scale存储的核心,能够处理千数量级的客户端.在传统的解决 方案中Glusterfs能够灵活的结合物理的,虚拟的和云资源去体现高可用和企业级的性能存储.
- Glusterfs通过TCP/IP或InfiniBand RDMA网络链接将客户端的存储资块源聚集在一起,使用单一的全局命名空间来管理数据,磁盘和内存资源.
- Glusterfs基于堆叠的用户空间设计,可以为不同的工作负载提供高优的性能.
- Glusterfs支持运行在任何标准IP网络上标准应用程序的标准客户端,用户可以在全局统一的命名空间中使用NFS/CIFS等标准协议来访问应用数据.
1.2、Glusterfs主要特征
- 扩展性和高性能
- 高可用
- 全局统一命名空间
- 弹性hash算法
- 弹性卷管理
- 基于标准协议
1.3、工作原理:
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 时需要指定这个文件。
5) 在glusterfs client的处理末端,通过网络将数据递交给 Glusterfs Server,并且将数据写入到服务器所控制的存储设备上。
1.4、常用卷类型
分布(distributed)
复制(replicate)
条带(striped)
基本卷:
(1) distribute volume:分布式卷
(2) stripe volume:条带卷
(3) replica volume:复制卷
复合卷:
(4) distribute stripe volume:分布式条带卷
(5) distribute replica volume:分布式复制卷
(6) stripe replica volume:条带复制卷
(7) distribute stripe replicavolume:分布式条带复制卷
1.5、GlusterFSt的专业术语
brick GFS中的存储单元,通过是一个受信存储池中的服务器的一个导出目录。可以通过主机名和目录名来标识
volume 本地文件系统的“分区”,卷
FUSE : 内核文件系统,是一个可加载的内核模块,其支持非特权用户创建自己的文件系统而不需要修改内核代码。
通过在用户空间运行文件系统的代码通过FUSE代码与内核进行桥接,类比EXT4,这是一个“伪文件系统”
以本地文件系统为例,用户想要读写一个文件,会借助于EXT4文件系统,
然后把数据写在磁盘上,而如果是远端的GFS,客户端的请求则应该交给FUSE(伪文件系统),
就可以实现跨界点存储在GFS上
VFS(虚拟端口):内核态的虚拟文件系统,用户是先提交请求交给VFS
然后VFS交给FUSE 再交给GFS客户端,最后由客户端交给远端的存储
Glusterd:Gluster management daemon,要在trusted storage pool中所有的服务器上运行
二、分布式文件系统
2.1、文件系统
- 文件系统接口
- 对对像管理的软件集合
- 对象及属性
2.2、作用
从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。
具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取
2.3、挂载使用
除根文件系统以外的文件系统创建后要使用需要先挂载至挂载点后才可以被访问,挂载点即分区设备文件关联的某个目录文件,类比:NFS
三、部署 GlusterFS 群集
3.1、部署环境
主机 | IP地址 |
node1 | 192.168.30.6 |
node2 | 192.168.30.7 |
node3 | 192.168.30.8 |
node4 | 192.168.30.9 |
client | 192.168.30.5 |
磁盘与挂载点相对应