简介

官方文档:https://docs.gluster.org/en/latest/Quick-Start-Guide/Architecture/

Glusterfs是一个开源的分布式文件系统,是Scale存储的核心,能够处理千数量级的客户端。是整合了许多存储块(server)通过Infiniband RDMA或者 Tcp/Ip方式互联的一个并行的网络文件系统。

  特征:

  • 容量可以按比例的扩展,且性能却不会因此而降低。
  • 廉价且使用简单,完全抽象在已有的文件系统之上。
  • 扩展和容错设计的比较合理,复杂度较低
  • 适应性强,部署方便,对环境依赖低,使用,调试和维护便利

glusterfs安装部署

  一般在企业中,采用的是分布式复制卷,因为有数据备份,数据相对安全。

  网络要求全部千兆环境,gluster 服务器至少有 2 块网卡,1 块网卡绑定供 gluster 使用,剩余一块分配管理网络 IP,用于系统管理。如果有条件购买万兆交换机,服务器配置万兆网卡,存储性能会更好。网络方面如果安全性要求较高,可以多网卡绑定。

 跨地区机房配置 Gluster,在中国网络格局下不适用。

  • 注意:GlusterFS将其动态生成的配置文件存储在/var/lib/glusterd中。如果在任何时候GlusterFS无法写入这些文件(例如,当后备文件系统已满),它至少会导致您的系统不稳定的行为; 或者更糟糕的是,让您的系统完全脱机。建议为/var/log等目录创建单独的分区,以确保不会发生这种情况。

GlusterFS创建术语

  • Brick: 最基本的存储单元,表示为trusted storage pool中输出的目录,供客户端挂载用。
  • Volume: 一个卷。在逻辑上由N个bricks组成.
  • FUSE: Unix-like OS上的可动态加载的模块,允许用户不用修改内核即可创建自己的文件系统。
  • Glusterd: Gluster management daemon,要在trusted storage pool中所有的服务器上运行。
  • POSIX: 一个标准,GlusterFS兼容。

基本卷介绍

分布式卷(类似raid 0但是数据不分片)默认

基于Hash算法将文件分布到所有的brick server上,只是单纯的扩大了磁盘空间,不具备冗余能力,数据丢了就丢了,由于distribute volume使用本地文件系统,因此存取效率并没有提高,相反会应为中间又加上了一层网络传输,效率反而降低了.另外本地存储设备的容量有限制,因此支持超大型文件会有一定的难度

 分布式卷部署地址:https://www.cnblogs.com/Mercury-linux/p/12052908.html

条带卷(类似raid 0)

类似Raid 0,文件分成数据块以Round Robin(循环)方式分布到brick server上,并发粒度是数据块,支持超大文件,大文件的读写性能高(因为他是分块存储,可以同时多个磁盘写入)

复制卷(类似Raid 1)

类似于Raid1,文件同步的复制到多个brick上,具有容错能力,写性能下降,读性能提升(待测),Replicated模式,也称作AFR(Auto File Replicated),同一个文件在多个镜像存储节点上保存多份,每个节点上都具有想用的目录结构和文件.replica volume是容器存储中较为推崇的一种

分部署条带卷

先组成条带式在组成分布式,集群节点最少4个节点,Brick server 数量是条带数的倍数,分布式的条带卷,volume和brick所包含的存储服务器必须是stripe的倍数,同时拥有分布式和条带式的功能.文件分布在四台文件存储服务器上, 创建卷的时候相邻的两个会组成条带,然后在组成分布式

分布式复制卷

Brick server是镜像数的倍数,先组合分布式在组合成复制卷,也是最少需要4台服务器,这个多少组成分布和多少个副本数是自己创建的时候定义的,官网有介绍

条带复制卷

先组合成条带式在组合成复制卷,先把数据分块存放,然后在完整复制,类似 RAID 10,同时具有条带卷和复制卷的特点

分布式条带复制卷

三种基础卷的合体

参考:

https://blog.51cto.com/13447608/2386830?source=dra

https://baijiahao.baidu.com/s?id=1612194635156434300&wfr=spider&for=pc

TFS:https://yq.aliyun.com/articles/224295

GlusterFS 分布式文件系统的更多相关文章

  1. GlusterFS 分布式文件系统的使用入门-管理GlusterFS卷

    GlusterFS 分布式文件系统的使用入门-管理GlusterFS卷 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.卷的扩容 您可以根据需要在群集联机且可用时扩展卷.例如,您 ...

  2. GlusterFS分布式文件系统部署及基本使用(CentOS 7.6)

    GlusterFS分布式文件系统部署及基本使用(CentOS 7.6) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Gluster File System 是一款自由软件,主要由 ...

  3. GlusterFS分布式文件系统高速管理

    TaoCloud XDFS基于GlusterFS开源分布式文件系统,进行了系统优化.project化.定制化和产品化工作,五年以上的实践积累了大量实践经验,包含客户案例.最佳实践.定制开发.咨询服务和 ...

  4. GlusterFS分布式文件系统的使用

    glusterfs是一款开源的分布式文件系统. 它具备高扩展.高可用及高性能等特性,由于其无元数据服务器的设计,使其真正实现了线性的扩展能力,使存储总容量可轻松达到PB级别,支持数千客户端并发访问. ...

  5. GlusterFS分布式文件系统部署

    GlusterFS是一个可伸缩的网络文件系统,使用常见的现成的硬件,您可以创建大型分布式存储流媒体解决方案.数据分析.和其他数据相关的任务.GlusterFS是自由和开源软件. 详细参考官网:http ...

  6. CentOS7.5 GlusterFS 分布式文件系统集群环境搭建

    环境准备: 系统版本:CentOS Linux release 7.5.1804 (Core) glusterfs:3.6.9 userspace-rcu-master: 硬件资源: 10.200.2 ...

  7. glusterfs分布式文件系统

    第一:安装依赖包: yum install libibverbs librdmacm xfsprogs nfs-utils rpcbind libaio liblvm2app  lvm2-devel ...

  8. glusterFS分布式文件系统的搭建

    准备工作 1.安装IBA yum install libradmacm librdmacm-devel libmlx4 infiniband-diags 2.配置IPOIB /etc/sysconfi ...

  9. GlusterFS分布式文件系统概述

    一.GlusterFS概述 GlusterFS是一个开源的分布式文件系统,同时也是Scale-Out存储解决方案Gluster的核心,在存储数据方面有强大的横向扩展能力,通过扩展不同的节点可以支持PB ...

随机推荐

  1. CommonJS、AMD、CMD、ES6——JavaScript模块化

    CommonJS规范:Node AMD规范:RequireJS CMD规范:SeaJS ES6模块

  2. moby、docker-ce与docker-ee的区别

    近期研究docker相关技术,发现官网分为moby.docker-ce与docker-ee不同板块,ce和ee版本好理解,但2017年开始又多出个Moby,开始有点凌乱,Google出如下解释,mar ...

  3. 02-初识CSS

    一. CSS介绍 CSS:Cascading Style Sheet,层叠样式表.CSS的作用就是给HTML页面标签添加各种样式,定义网页的显示效果.简单一句话:CSS将网页内容和显示样式进行分离,提 ...

  4. flask类装饰器

    from flask import Flask,request,views from functools import wraps app = Flask(__name__) #自定义登录装饰器 de ...

  5. mysql中的安全模式(sql_safe_updates)

    什么是安全模式 在mysql中,如果在update和delete没有加上where条件,数据将会全部修改.不只是初识mysql的开发者会遇到这个问题,工作有一定经验的工程师难免也会忘记写入where条 ...

  6. Selenium在IE浏览器中执行脚本时输入字符太慢问题解决方法

    问题描述: IE浏览器中执行Selenium脚本的时候发现输入文本的时候总是一个字符一个字符的输入,并且输入每个字符之间都隔几秒.   解决方案: 将使用的IE浏览器驱动由64位的换成32位的.

  7. C++多线程基础学习笔记(七)

    一.std::async和std::future的用法 std::async是一个函数模板,std::future是一个类模板 #include <iostream> #include & ...

  8. 坦克大战--Java类型 ---- (2)按键设置和用户名的输入

    一.实现思路(emmmm,这个地方我很大程度参照了别人的写法)   由于键盘按键众多,因此使用选择框JComboBox 进行按键选择,点击一个JButton 按钮后,读取所有选择框中的内容,然后存到一 ...

  9. [BZOJ 3117] [NOI1999]内存分配(STL)

    [BZOJ 3117] [NOI1999]内存分配(STL) 题面 内存是计算机重要的资源之一,程序运行的过程中必须对内存进行分配. 经典的内存分配过程是这样进行的: 1.内存以内存单元为基本单位,每 ...

  10. spark教程(12)-生态与原理

    spark 是目前非常流行的大数据计算框架. spark 生态 Spark core:包含 spark 的基本功能,定义了 RDD 的 API,其他 spark 库都基于 RDD 和 spark co ...