码迷,mamicode.com
首页 > 其他好文 > 详细

GFS分布式文件存储系统(理论)

时间:2019-12-26 14:42:29      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:工作   内核   调用   情况下   分布   syn   zfs   分块   dir   

GlusterFS概述

GlusterFS简介

?开源的分布式文件系统
?由存储服务器,客户端以及NFS/Samba存储网关组成
?无元数据服务器

技术图片

RDMA:负责数据传输

GlusterFS的特点

?扩展性和高性能
?高可用性
?全局统一的命名空间
?弹性卷管理
?基于标准协议

GlusterFS术语

?Brick : 存储节点
?Volume : 卷
?FUSE : 内核模块,用户端的交互模块
?VFS : 虚拟端口
?Glusterd : 服务

模块化堆栈架构

?模块化、堆栈式的架构
?通过对模块的组合,实现负责的功能

技术图片

GlusterFS工作模式

技术图片

?Application:客户端或应用程序通过GlusterFSync的挂载点访问数据
?VFS:linux系统内核通过VFS API收到请求并处理
?FUSE : VFS 将数据递交给FUSE内核文件系统,fuse文件系统则是将数据通过/dev/fuse设备文件递交给了GlusterFS client端
?GlusterFS Client ; 通过网络将数据传递至远端的GlusterFS Server,并且写入到服务器存储设备上

GlusterFS工作原理

GlusterFS工作流程

弹性HASH算法

?通过HASH算法得到一个32位的整数
?划分为N个连续的子空间,每个空间对应一个Brick
?弹性HASH算法的优点
? 保证数据平均分布在每一个Brink中
? 解决了对元数据服务器的依懒,进而解决了单点故障以及访问瓶颈

技术图片

四个Brick节点的GlusterFS卷,平均分配232次方的区间的范围空间

技术图片

通过hash算法去找到对应的brick节点的存储空间,去分配数据存储,去调用每一个节点数据

GlusterFS的卷类型

?分布式卷
?条带卷
?复制卷
?分布式条带卷
?分布式复制卷
?条带复制卷
?分布式条带复制卷

分布式卷

?没有对文件进行分块处理
?通过扩展文件属性保存HASH值
?支持底层文件系统有ext3、ext4、ZFS、XFS等

技术图片

分布式卷有如下特点

?文件分布在不同的服务器。不具备冗余性
?更容易和廉价地扩展卷的大小
?单点故障会造成数据丢失
?依懒底层的数据保护

创建分布式卷

创建一个名为dis-volume的分布式卷
文件将根据HASH分布在server1:/dir1、server2:/dir2和server3:/dir3中 
gluster volume create dis-volume server1:/dir1 server2:/dir2 

条带卷

?根据偏移量将文件分为N块(N个条带节点),轮询的存储在每个Brick Server节点
?存储大文件时,性能尤为突出
?不具备冗余性,类似Raid0

技术图片

从多个server中同时读取文件,效率提升

特点

?数据被分割成更小块分布到块服务器群中的不同条带区
?分布减少负载且更小的文件加速了存取的速度
?没有数据冗余

创建条带卷

创建一个名为Stripe-volume的条带卷
文件将被分块轮询的存储在Server1:/dir1和Server2:dir2两个Brick中
gluster volume create stripe-volume stripe 2 transport tcp server1:/dir1 server2:/dir2 

复制卷

?同一个文件保存一份或多分副本
?复制模式因为保存副本,所以磁盘利用率较低
?多个节点的存储空间不一致,那么将按照木桶效应取最低节点的容量作为该卷的总容量

技术图片

特点

?卷中所有的服务器均保存一个完整的副本
?卷的副本数量可以有客户创建的时候决定
?至少由两个块服务器或更多服务器
?具备冗余性

创建复制卷

创建名为rep-volume的复制卷、文件将同时存储两个副本 
gluster volume create rep-volume replica 2 transport tcp server1:/dir1 server2:/dir2 

分布式条带卷

?兼顾分布式卷和条带卷的功能
?主要用于大文件访问处理
?至少最少需要4台服务器

创建分布式条带卷

创建一个名为dis-stripe的分布式条带卷,配置分布式的条带卷时
卷中Brink所包含 的存储服务器数必须是条带数的倍数(>=2倍)
gluster volume create rep-volume stripe 2 transport tcp server1:/dir1 server2:/dir2 server3:/dir1 server4:/dir2 

分布式复制卷

?兼顾分布式卷和复制卷的功能
?用于需要冗余的情况下

技术图片

创建分布式复制卷

创建一个名为dis-rep的分布式条带卷,配置分布式条带卷的复制卷时
卷中Brink所包含的存储服务器必须是条带数的倍数(>=2倍)
gluster volume volume create rep-volume replica 2 transport tcp server1:/dir1 server2:/dir2 server3:/dir1 server4:/dir2

GFS分布式文件存储系统(理论)

标签:工作   内核   调用   情况下   分布   syn   zfs   分块   dir   

原文地址:https://blog.51cto.com/14449541/2461910

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!