目录
摘要
1、GFS是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。它运行于廉价的普通硬件上,并提供容错功能。它可以
给大量的用户提供总体性能较高的服务。
2、GFS 也就是 google File System,Google公司为了存储海量搜索数据而设计的专用文件系统。
一、GlusterFS概述
1.1、GlusterFS简介
1.1.1、开源的分布式文件系统
1.1.2、由存储服务器、客户端以及NFS/Samba存储网关组成
1.1.3、无元数据服务器
1.2、GlusterFS特点
1.2.1、扩展性和高性能
1.2.2、高可用性
1.2.3、全局统一命名空间
1.2.4、弹性卷管理
1.2.5、基于标准协议
1.3、GlusterFS术语
1.3.1、Brick
1.3.2、Volume
1.3.3、FUSE
1.3.4、VFS
1.3.5、Glusterd
1.4、模块化堆栈式架构
1.4.1、模块化、堆栈式的架构
1.4.2、通过对模块的组合,实现复杂的功能
二、GlusterFS工作原理
2.1、GlusterFS工作流程
2.2、弹性HASH算法
2.2.1、通过HASH算法得到一个32位的整数
2.2.2、划分为N个连续的子空间,每个空间对应一个Brick
2.2.3、弹性HASH算法的优点
①保证数据平均分布在每一个Brick中
②解决了对元数据服务器的依赖,进而解决了单点故障以及访问瓶颈
三、GlusterFS的卷类型
3.1、分布式卷
3.1.1、没有对文件进行分块处理
3.1.2、通过扩展文件属性保存HASH值
3.1.3、支持的底层文件系统有EXT3、EXT4、ZFS、XFS等
3.2、分布式卷的特点
3.2.1、文件分布在不同的服务器,不具备冗余性
3.2.2、更容易和廉价地扩展卷地大小
3.2.3、单点故障会造成数据丢失
3.2.4、依赖底层的数据保护
3.3、条带卷
3.3.1、根据偏移量将文件分层N块(N个条带节点),轮询地存储在每个Brick Server节点
3.3.2、存储大文件时,性能尤为突出
3.3.3、不具备冗余性,类型Reid0
3.4、条带卷的特点
3.4.1、数据被分割成更小块分布到块服务器群中的不同条带区
3.4.2、分布减少了负载且更小的文件加速了存取的速度
3.4.3、没有数据冗余
3.4.4、创建条带卷
创建了一个名为Stripe-volume的条带卷,文件将被分块轮询的存储在Server1:/dir1和Server2:/dir2两个Brick中
1 gluster volume create stripe-volume stripe 2 transport tcp server1:/dir1 server2:/dir2
3.7、分布式条带卷
3.7.1、兼顾分布式卷和条带卷的功能
3.7.2、主要用于大文件访问处理
3.7.3、至少最少需要4台服务器
3.7.4、创建分布式条带卷
创建了名为dis-stripe的分布式条带卷,配置分布式的条带卷时,卷中Brick所包含的存储服务器数必须是条带数的倍数(>=2倍)
1 gluster volume create dis-stripe stripe 2 transport tcp server1:/dir1 server2:/dir2 server3:/dir3 server4:/dir4
3.8、分布式复制卷
3.8.1、兼顾分布式卷和复制卷的功能
3.8.2、用于需要冗余的情况
3.8.3、创建分布式条带卷
创建了名为dis-rep的分布式条带卷,配置分布式的复制卷时,卷中Brick所包含的存储服务器数必须是条带数的倍数(>=2倍)
1 gluster volume create dis-rep replica 2 transport tcp server1:/dir1 server2:/dir2 server3:/dir3 server4:/dir4
四、GlusterFS部署
4.1、群集环境
4.2、卷类型
卷名称 |
卷类型 |
空间大小 |
Brick |
dis-volume |
分布式卷 |
9.6G |
node1(/sdb1) node2(/sdb1) |
stripe-volume |
条带卷 |
9.6G |
node3(/sdb1) node4(/sdb1) |
rep-volume |
复制卷 |
4.8G |
node1(/sdc1) node2(/sdc1) |
dis-stripe |
分布式条带卷 |
20G |
node1(/sdd1)node2(/sdd1) node3(/sdd1)node4(/sdd1) |
dis-rep |
分布式复制卷 |
9.6G |
node1(/sde1)node2(/sde1) node3(/sde1)node4(/sde1) |
4.3、部署
每个node节点上设置四个磁盘,每个磁盘5G
4.3.1、添加映射