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

发布时间:2020-05-20 22:59:32

来源:51CTO

阅读:260

作者:wx5d2c2d660c282

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文件存储服务器,GFS分布式文件存储系统(理论)相关推荐

  1. 从windows server的文件服务到分布式文件服务(一)

    一.序言 不知道大家是否考虑过服务器与终端机或者叫桌面机.工作站等的区别都有什么?也许你会说体积不同,也许你会说功能不同,甚至有些人会拉一个清单出来说说硬件上面的区别等.其实我最想说的是,两者最大的区 ...

  2. 从windows server的文件服务到分布式文件服务(二)

    四.默认共享描述 除非使用GHOST系统安装,当使用原版的系统光盘安装系统,默认安装会启动共享功能.说到共享,微软实际上提供了两种共享服务,一个就是打印机的共享服务,被称为"打印和文件服务& ...

  3. 企业文件存储服务器规划,企业文件存储服务器

    企业文件存储服务器 内容精选 换一换 鲲鹏BoostKit分布式存储使能套件特性清单 云硬盘(Elastic Volume Service,EVS)可以为裸金属服务器提供高可靠.高性能.规格丰富并且可 ...

  4. .net core 封装文件服务操作——分布式文件服务之OSS

    这里分享本人所写的文件微服务系统,在每个SAAS系统内,都或多或少的涉及到文件服务,我们既可以写的非常复杂,又可以写的简洁干练,不管怎么编写文件服务,但始终需要记住的是,一定要支持分布式文件服务,否则 ...

  5. 从windows server的文件服务到分布式文件服务(十)

    <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 九.  九.共 ...

  6. 从windows server的文件服务到分布式文件服务(八)

    (图7.381)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> ...

  7. linux复制文件通信方式,Linux分布式文件拷贝

    在开发过程中总会遇到这种情况,就是需要将一个文件从一个机器拷贝到其他的很多台机器中,最简单的方法是用U盘拷出来再一个一个机器的插进去拷贝,另一张方法则是利用飞鸽传书或者QQ等工具传输,但是都不是很方便 ...

  8. 从windows server的文件服务到分布式文件服务(九)

    八.共享文件夹的磁盘配额管理 磁盘配额管理,是在WINDOWS 2000 SERVER就开始拥有的功能,用于本地的磁盘配额管理.在文件服务中,如果我们只是提供共享的文件给用户读取,仅有管理员有权限往共 ...

  9. 共享文件服务器设置配额,从windows server的文件服务到分布式文件服务(九):共享文件夹的磁盘配额管理...

    八.共享文件夹的磁盘配额管理 磁盘配额管理,是在WINDOWS 2000 SERVER就开始拥有的功能,用于本地的磁盘配额管理.在文件服务中,如果我们只是提供共享的文件给用户读取,仅有管理员有权限往共 ...

最新文章

  1. 腾讯终于良心了!桌面混乱终于有救了
  2. AngularJS 实现的输入自动完成补充功能
  3. 从块结构谈表的存储参数与性能之间的关系
  4. 【spring boot基础知识】java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
  5. putty连接ubuntu虚拟机缓慢问题的解决
  6. DispatchAction和MappingDispatchAction区别
  7. Selenium实现网页自动签到的Python脚本-win11
  8. case 在oracle和mysql_Mysql oracle casewhen 完美应用
  9. python绘图——图片大小设置figsize
  10. Linux安装JDK步骤
  11. mysql 查询当前日期
  12. 摩尔定律已经走到尽头?
  13. linux crond定时任务,Linux之定时任务Crond使用
  14. Centos6、Centos7、Centos8关闭防火墙
  15. 特征工程的准备:特征理解
  16. 如何寻找基因的启动子——NCBI版
  17. 吉尔伯特定律(转载)
  18. qt中添加背景图片(stylesheet)
  19. AWS - Redshift - Unload 数据到S3产生的文件名
  20. 葫芦岛php,葫芦岛php培训

热门文章

  1. Unity DOTS技术浅析
  2. 2,type-c,USB3.0/3.1,PD快充协议最详细的讲解;USB 3.0 Standard-A和Standard-B的引脚定义
  3. php怎么比较数组长度_PHP获取数组长度的方法 函数参数的比较
  4. layui-Dtree树结构
  5. 程序员面试金典面试题 01.06. 字符串压缩
  6. 3-4-2 deque 容器的迭代器用法
  7. 工具篇3.5世界热力图
  8. 中国足球运动员当然有资格泡妞和逛夜店
  9. 欢迎大家和我一起从零开始学习机器学习,和你一样的初学者的学习周刊,不再担心学不懂机器学习,最简单最适合新手的博客开始了!
  10. java getmapping(_@getMapping与@postMapping详解