GlusterFS分布式文件系统

一、GlusterFS简介

  • GlusterFS 是一个开源的分布式文件系统。
  • 由存储服务器、客户端以及NFS/Samba存储网关(可选,根据需要选择使用)组成。
  • 没有元数据服务器组件,这有助于提升整个系统的性能、可靠性和稳定性

二、GlusterFS特点

2.1 扩展性和高性能

GlusterFS利用双重特性来提供高容量存储解决方案。

Scale-Out架构允许通过简单地增加存储节点的方式来提高存储容量和性能(磁盘、计算和I/O资源都可以独立增加),支持10GbE和InfiniBand等高速网络互联。
Gluster弹性哈希(ElasticHash) 解决了GlusterFS对元数据服务器的依赖,改善了单点故障和性能瓶颈,真正实现了并行化数据访问。GlusterFS采用弹性哈希算法在存储池中可以智能地定位任意数据分片(将数据分片存储在不同节点上),不需要查看索引或者向元数据服务器查询。

2.2 高可用性

GlusterFS可以对文件进行自动复制,如镜像或多次复制,从而确保数据总是可以访问,甚至是在硬件故障的情况下也能正常访问当数据出现不一致时,自我修复功能能够把数据恢复到正确的状态,数据的修复是以增量的方式在后台执行,几乎不会产生性能负载。
GlusterFS可以支持所有的存储,因为它没有设计自己的私有数据文件格式,而是采用操作系统中主流标准的磁盘文件系统(如EXT3、XFS等)来存储文件,因此数据可以使用传统访问磁盘的方式被访问。

2.3 全局统一命名空间

分布式存储中,将所有节点的命名空间整合为统一命名空间,将整个系统的所有节点的存储容量组成一个大的虛拟存储池,供前端主机访问这些节点完成数据读写操作。

2.4 弹性卷管理

GlusterFs通过将数据储存在逻辑卷中,逻辑卷从逻辑存储池进行独立逻辑划分而得到。
逻辑存储池可以在线进行增加和移除,不会导致业务中断。逻辑卷可以根据需求在线增长和缩减,并可以在多个节点中实现负载均衡。
文件系统配置也可以实时在线进行更改并应用,从而可以适应工作负载条件变化或在线性能调优。

2.5 基于标准协议

Gluster存储服务支持NFS、CIFS、HTTP、FTP、SMB 及Gluster原生协议,完全与POSIX标准(可移植操作系统接口)兼容。
现有应用程序不需要做任何修改就可以对Gluster中的数据进行访问,也可以使用专用API进行访问。

三、GlusterFS专业术语

###一个节点就是一台服务器

1. Brick(单独服务器)
###每一个Brick就是一个单独的服务器
###多个Brick(服务器)组合起来就是分布式文件系统

2. Volume(逻辑卷)
###一个逻辑卷是多个服务器组成,类型与LVM中的逻辑卷
###通过Volume扩大磁盘空间

3. FUSE(内核文件系统)
###数据写在磁盘上,利用FUSE保存到具体的文件系统
###允许用户创建自己的文件系统,无须修改内核代码

4. VFS(虚拟接口)
###用户空间访问内核空间,通过VFS来对接

5. Glussterd(后台服务)
###管理集群的配置和启动

四、GlusterFS工作原理

1. 客户端通过挂载点目录访问数据,数据交给VFS(虚拟接口),转换数据后给FUSE(内核文件系统)

2. FUSE把数据放在内存中(/dev/fuse)

3. 通过poll(指针)指向客户端处理数据

4. GFS(分布式文件系统)通过TCP网络模式给服务端

5. 服务端通过VFS(虚拟接口)保存在EXT3中

五、弹性hash算法原理

把数据通过hash算法,分布到每个节点中,来实现负载均衡

六、GFS支持的7中卷

1. 分布式卷
       1)没有分块处理,文件只能存在一个server中,效率不提升
       2)没有备份,一台坏了,数据就丢了
       3)依赖底层数据保护

2.条带卷
       1)没有数据备份
       2)被分成小块


       
3. 复制卷
       1)同一文件保存多份副本
        2)至少有两块服务器
       3)可以数据备份
        4)速度会降低

4. 分布式条带卷
        1)至少要四台主机
        2)能做高性能分布式存储
        3)没有冗余备份


        
5. 分布式复制卷
        1)至少要四台主机
        2)有冗余备份

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/802763.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

结合 linux 0.11 源码分析为什么 fork 函数会返回两个值

#(1)学习资料是这些书 以及赵炯博士的完全剖析。谢谢这些大师与网上优秀的文章。 #(2)看 linux 0.11 源码是 sourceinlight 4.这里附上一个安装包。 由本图可知, main 函数对 fork 函数的调用。 fork 函数实际是定…

掌握苹果电脑保养秘籍,全方位维护指南!

苹果电脑(Mac)凭借卓越的性能表现、精致的设计美学以及深入人心的操作系统体验赢得了全球用户的高度评价。不过,无论是哪款顶级配置的Mac产品,都需要经过适时且恰当的保养维护,才能持续展现最优性能。 苹果电脑维护小…

最新AI工具系统ChatGPT网站运营源码SparkAi系统V6.0版本,GPTs应用、AI绘画、AI换脸、垫图混图、Suno-v3-AI音乐生成大模型全支持

一、前言 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,那么如何搭建部署AI创作ChatGPT?小编这里写一个详细图文教程吧。已支持GPT…

Django之五种中间件定义类型—process_request、process_view、process_response.......

目录 1. 前言 2. 基础中间件 3. 如何自定义中间件 4. 五种自定义中间件类型 4.1 process_request 4.2 process_view 4.3 process_response 4.4 process_exception 4.5 process_template_response 5. 最后 1. 前言 哈喽,大家好,我是小K,今天咋们…

window安装maven和hadoop3.1.4

前面的文章已讲解如何安装idea和进行基本设置,本文主要带着大家安装配置好maven和hadoop. 大家不用去官网下载,直接使用我发给大家的压缩文件,注意解压后的文件夹不要放在中文目录下,课堂上我们讲解过原因。 这是我电脑上的路径&a…

App Inventor 2 SQLite 拓展

SQLite 拓展 此SQLite 拓展由中文网开发及维护,与 TaifunSQLite 功能类似,但TaifunSQLite是收费的,美刀。 文档及拓展下载地址: App Inventor 2 SQLite 拓展:超流行兼容主流SQL语法的迷你本地数据库引擎 App Invento…

018——红外遥控模块驱动开发(基于HS0038和I.MX6uLL)

目录 一、 模块介绍 1.1 简介 1.2 协议 二、 驱动代码 三、 应用代码 四、 实验 五、 程序优化 一、 模块介绍 1.1 简介 红外遥控被广泛应用于家用电器、工业控制和智能仪器系统中,像我们熟知的有电视机盒子遥控器、空调遥控器。红外遥控器系统分为发送端和…

【SCI绘图】【热力图系列1 R】多特征相关性分析热力图R语言实现

SCI,CCF,EI及核心期刊绘图宝典,爆款持续更新,助力科研! 本期分享: 【SCI绘图】【热力图系列1 R】多特征相关性分析热力图R语言实现 1.环境准备 library(gplots) library(RColorBrewer) 2.数据示例 ###…

宠物医院管理系统

文章目录 宠物医院管理系统一、系统演示二、项目介绍三、12000字论文参考四、系统部分页面展示五、部分代码展示六、底部获取项目源码和万字论文参考(9.9¥带走) 宠物医院管理系统 一、系统演示 宠物医院管理系统 二、项目介绍 语言&#xf…

基于YOLOv8的GC10-DET缺陷检测系统(Python源码+Pyqt6界面+数据集)

💡💡💡本文摘要:基于YOLOv8的GC10-DET缺陷检测系统,并阐述了整个数据制作和训练可视化过程,最后通过Pyside UI界面进行展示。 博主简介 AI小怪兽,YOLO骨灰级玩家,1)YOL…

JAVA并发编程(二)_线程池

JAVA线程池 1.1Java 线程池之 Executor 框架 为了实现线程池和管理线程池,JDK 给我们提供了基于 Executor 接口的一系列接口、抽象类、实现类,我们把它称作线程池的 Executor 框架,Executor 框架本质上是一个线程池; ​ Java 线…

Python的基础知识学习路线1—python简介与环境配置(最全路线,每部分附有代码操作结果)

一、Python简介 (1)发展史 Python是由创始人贵铎范罗萨姆(Guido van Rossum)在阿姆斯特丹于1989年圣诞节期间,为了打发圣诞节的无趣,开发的一个新的解释型脚本语言。之所以选中Python(大蟒蛇的…

免费SSL证书跟付费SSL证书有什么区别?

免费SSL证书与付费SSL证书的主要区别如下: 1. 类型与验证级别: - 免费SSL证书通常仅提供域名验证(DV),这是一种最基本的验证级别,仅验证域名的所有权,确认申请者对所申请域名的有效控制。 - 付费…

怎样买国债逆回购最划算,国债逆回购手续费是多少?1折

国债逆回购是一种以国债作为抵押物的贷款,是一种能为投资者提高闲置资金增值能力的金融品种。国债逆回购的优势有: 安全性高,因为国债是信用等级最高、违约风险最低的金融资产,而且国债逆回购是在证券交易所进行的受监管的交易 …

深度学习500问——Chapter06: 循环神经网络(RNN)(2)

文章目录 6.4 CNN和RNN的区别 6.5 RNNs与FNNs有什么区别 6.6 RNNs训练和传统ANN训练异同点 6.7 为什么RNN训练的时候Loss波动很大 6.8 标准RNN前向输出流程 6.9 BPTT算法推导 6.9 RNN中为什么会出现梯度消失 6.10 如何解决RNN中的梯度消失问题 6.4 CNN和RNN的区别 类别特点描述…

博客系统实现

一.准备工作 1.创建项目,把前端写好的博客静态页面拷贝到webapp目录中 2.引入依赖,这里主要用到servlet,mysql5.1.47,jacson2.15.0 3.找到右上角的edit configurations->smartTomcat->进行配置 4.数据库设计&#xff1a…

吴恩达深度学习 (week1,2)

文章目录 1、神经网络监督学习2、深度学习兴起原因3、深度学习二元分类4、深度学习Logistic 回归5、Logistic 回归损失函数6、深度学习梯度下降法7、深度学习向量法8、Python 中的广播9、上述学习总结10、大作业实现:rocket::rocket:(1)训练初始数据&…

Matlab进阶绘图第49期—气泡堆叠图

气泡堆叠图是堆叠图与气泡图的组合—在堆叠图每根柱子上方添加大小不同的气泡,用于表示另外一个数据变量(如每根柱子各组分的平均值)的大小。 本文利用自己制作的BarBubble工具,进行气泡堆叠图的绘制,先来看一下成品效…

从数据采集到可视化展示Node-Red二次开发4G模块

环境监测正逐步迈入数字化、智能化时代。Node-Red作为一种开源流式编程工具,以其强大的数据处理能力和设备集成便捷性,在构建环境监测数据站中发挥着至关重要的作用。钡铼技术支持Node-Red编程开发,支持BLIoTLink软网关和自定义开发非标协议。…

为什么 MySQL 采用 B+ 树作为索引?

资料来源 : 小林coding 小林官方网站 : 小林coding (xiaolincoding.com) 「为什么 MySQL 采用 B 树作为索引?」这句话,是不是在面试时经常出现。 要解释这个问题,其实不单单要从数据结构的角度出发,还要考虑磁盘 I/O 操作次数&am…